@shepai/cli 1.182.1-pr550.9abbae3 → 1.183.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 (194) hide show
  1. package/package.json +1 -1
  2. package/web/.next/BUILD_ID +1 -1
  3. package/web/.next/build-manifest.json +2 -2
  4. package/web/.next/fallback-build-manifest.json +2 -2
  5. package/web/.next/prerender-manifest.json +3 -3
  6. package/web/.next/required-server-files.js +2 -2
  7. package/web/.next/required-server-files.json +2 -2
  8. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +32 -32
  9. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  10. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  11. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +30 -30
  12. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  13. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  14. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +33 -33
  15. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  16. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  17. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +41 -41
  18. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  19. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  20. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +41 -41
  21. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  22. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  23. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +31 -31
  24. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  25. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  26. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
  27. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  28. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  29. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +30 -30
  30. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  31. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  32. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +33 -33
  33. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  34. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  35. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +41 -41
  36. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  37. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  38. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +41 -41
  39. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  40. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  41. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +30 -30
  42. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  43. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  44. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +31 -31
  45. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  46. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  47. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
  48. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  49. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  50. package/web/.next/server/app/_global-error.html +2 -2
  51. package/web/.next/server/app/_global-error.rsc +1 -1
  52. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  53. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  54. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  55. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  56. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  57. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +7 -7
  58. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  59. package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +16 -16
  60. package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
  61. package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
  62. package/web/.next/server/app/applications/page/server-reference-manifest.json +15 -15
  63. package/web/.next/server/app/applications/page.js.nft.json +1 -1
  64. package/web/.next/server/app/applications/page_client-reference-manifest.js +1 -1
  65. package/web/.next/server/app/features/page/server-reference-manifest.json +7 -7
  66. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  67. package/web/.next/server/app/settings/page/server-reference-manifest.json +10 -10
  68. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  69. package/web/.next/server/app/skills/page/server-reference-manifest.json +15 -15
  70. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  71. package/web/.next/server/app/tools/page/server-reference-manifest.json +13 -13
  72. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  73. package/web/.next/server/app/version/page/server-reference-manifest.json +7 -7
  74. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  75. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  76. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4f9eef62.js +1 -1
  77. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4f9eef62.js.map +1 -1
  78. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_ffa16a22.js +1 -1
  79. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_ffa16a22.js.map +1 -1
  80. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_a1a998f9.js +1 -1
  81. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_a1a998f9.js.map +1 -1
  82. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  83. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  84. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  85. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  86. package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js +1 -1
  87. package/web/.next/server/chunks/ssr/[root-of-the-server]__04f4895b._.js +1 -1
  88. package/web/.next/server/chunks/ssr/[root-of-the-server]__04f4895b._.js.map +1 -1
  89. package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js +1 -1
  90. package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js.map +1 -1
  91. package/web/.next/server/chunks/ssr/[root-of-the-server]__1925bef0._.js +1 -1
  92. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js +1 -1
  93. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js.map +1 -1
  94. package/web/.next/server/chunks/ssr/[root-of-the-server]__4ee8be85._.js +1 -1
  95. package/web/.next/server/chunks/ssr/[root-of-the-server]__a48af49f._.js +1 -1
  96. package/web/.next/server/chunks/ssr/[root-of-the-server]__a48af49f._.js.map +1 -1
  97. package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js +1 -1
  98. package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js.map +1 -1
  99. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js +1 -1
  100. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js.map +1 -1
  101. package/web/.next/server/chunks/ssr/[root-of-the-server]__e0aa2bcb._.js +1 -1
  102. package/web/.next/server/chunks/ssr/[root-of-the-server]__e0aa2bcb._.js.map +1 -1
  103. package/web/.next/server/chunks/ssr/[root-of-the-server]__e265da61._.js +1 -1
  104. package/web/.next/server/chunks/ssr/[root-of-the-server]__ef0b8905._.js +2 -2
  105. package/web/.next/server/chunks/ssr/[root-of-the-server]__ef0b8905._.js.map +1 -1
  106. package/web/.next/server/chunks/ssr/[root-of-the-server]__fe5db6b2._.js +1 -1
  107. package/web/.next/server/chunks/ssr/[root-of-the-server]__fe5db6b2._.js.map +1 -1
  108. package/web/.next/server/chunks/ssr/{_7e5e3270._.js → _037e85c7._.js} +2 -2
  109. package/web/.next/server/chunks/ssr/{_7e5e3270._.js.map → _037e85c7._.js.map} +1 -1
  110. package/web/.next/server/chunks/ssr/{_17af2817._.js → _133ae3de._.js} +2 -2
  111. package/web/.next/server/chunks/ssr/{_17af2817._.js.map → _133ae3de._.js.map} +1 -1
  112. package/web/.next/server/chunks/ssr/{_0f9d0acd._.js → _35294e79._.js} +2 -2
  113. package/web/.next/server/chunks/ssr/{_0f9d0acd._.js.map → _35294e79._.js.map} +1 -1
  114. package/web/.next/server/chunks/ssr/_519d77a9._.js +1 -1
  115. package/web/.next/server/chunks/ssr/_519d77a9._.js.map +1 -1
  116. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  117. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  118. package/web/.next/server/chunks/ssr/{_b4cc51d4._.js → _82db03fd._.js} +2 -2
  119. package/web/.next/server/chunks/ssr/{_b4cc51d4._.js.map → _82db03fd._.js.map} +1 -1
  120. package/web/.next/server/chunks/ssr/_9173e475._.js +2 -2
  121. package/web/.next/server/chunks/ssr/_9173e475._.js.map +1 -1
  122. package/web/.next/server/chunks/ssr/_946a7fc6._.js +1 -1
  123. package/web/.next/server/chunks/ssr/_946a7fc6._.js.map +1 -1
  124. package/web/.next/server/chunks/ssr/{_58b8982b._.js → _a08047ef._.js} +2 -2
  125. package/web/.next/server/chunks/ssr/{_58b8982b._.js.map → _a08047ef._.js.map} +1 -1
  126. package/web/.next/server/chunks/ssr/{_b5093a26._.js → _d4c0792b._.js} +2 -2
  127. package/web/.next/server/chunks/ssr/{_b5093a26._.js.map → _d4c0792b._.js.map} +1 -1
  128. package/web/.next/server/chunks/ssr/_e61d032d._.js +3 -0
  129. package/web/.next/server/chunks/ssr/{_f20557ff._.js.map → _e61d032d._.js.map} +1 -1
  130. package/web/.next/server/chunks/ssr/_e65abbd1._.js +1 -1
  131. package/web/.next/server/chunks/ssr/_e65abbd1._.js.map +1 -1
  132. package/web/.next/server/chunks/ssr/_f86fc1bf._.js +1 -1
  133. package/web/.next/server/chunks/ssr/_f86fc1bf._.js.map +1 -1
  134. package/web/.next/server/chunks/ssr/_f8c55130._.js +1 -1
  135. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  136. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  137. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  138. package/web/.next/server/chunks/ssr/src_presentation_web_47181610._.js +1 -1
  139. package/web/.next/server/chunks/ssr/src_presentation_web_47181610._.js.map +1 -1
  140. package/web/.next/server/chunks/ssr/src_presentation_web_5d3f4199._.js +1 -1
  141. package/web/.next/server/chunks/ssr/src_presentation_web_5d3f4199._.js.map +1 -1
  142. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js +1 -1
  143. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js.map +1 -1
  144. package/web/.next/server/chunks/ssr/src_presentation_web_61d96ba8._.js +1 -1
  145. package/web/.next/server/chunks/ssr/src_presentation_web_61d96ba8._.js.map +1 -1
  146. package/web/.next/server/chunks/ssr/src_presentation_web_6994959a._.js +1 -1
  147. package/web/.next/server/chunks/ssr/src_presentation_web_6994959a._.js.map +1 -1
  148. package/web/.next/server/chunks/ssr/src_presentation_web_77dadf68._.js +3 -3
  149. package/web/.next/server/chunks/ssr/src_presentation_web_77dadf68._.js.map +1 -1
  150. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +1 -1
  151. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +1 -1
  152. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_c3f6f57e.js +1 -1
  153. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_c3f6f57e.js.map +1 -1
  154. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js +1 -1
  155. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js.map +1 -1
  156. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_8514dfcd._.js +3 -3
  157. package/web/.next/server/chunks/ssr/src_presentation_web_b95ed206._.js +1 -1
  158. package/web/.next/server/chunks/ssr/src_presentation_web_b95ed206._.js.map +1 -1
  159. package/web/.next/server/chunks/ssr/src_presentation_web_c543cf3e._.js +1 -1
  160. package/web/.next/server/chunks/ssr/src_presentation_web_c543cf3e._.js.map +1 -1
  161. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  162. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  163. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js +1 -1
  164. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js.map +1 -1
  165. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  166. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  167. package/web/.next/server/pages/500.html +2 -2
  168. package/web/.next/server/server-reference-manifest.js +1 -1
  169. package/web/.next/server/server-reference-manifest.json +54 -54
  170. package/web/.next/static/chunks/019e71634c720ede.js +1 -0
  171. package/web/.next/static/chunks/{3aaae7ceefe72828.js → 040c5ff84a8ae1a3.js} +1 -1
  172. package/web/.next/static/chunks/{71c7fe96accaab17.js → 092ac28f5a4422a0.js} +2 -2
  173. package/web/.next/static/chunks/{d0bcde99ca2878d1.js → 0bd78b0cf1c1421f.js} +1 -1
  174. package/web/.next/static/chunks/{a9d2a436d682fded.js → 18c21c4f9f58b69a.js} +3 -3
  175. package/web/.next/static/chunks/{9d9bf7403612ae86.js → 2b5aea3575387b3a.js} +1 -1
  176. package/web/.next/static/chunks/{ae2fcb50ea0d8652.js → 3219b06f6a34e573.js} +1 -1
  177. package/web/.next/static/chunks/4a7cf3b09e0495a4.js +1 -0
  178. package/web/.next/static/chunks/{897771202f55ecfe.js → 54d1d5a646a12d76.js} +1 -1
  179. package/web/.next/static/chunks/{05becd66afb22d37.js → 553be530f22710a7.js} +1 -1
  180. package/web/.next/static/chunks/{b8acda37576199f1.js → 6a88df64eaeb6322.js} +1 -1
  181. package/web/.next/static/chunks/{3d1543ff12dfaff1.js → 6d8cae68371a845d.js} +1 -1
  182. package/web/.next/static/chunks/{4b8bedfda131650a.js → 78607d521d916531.js} +1 -1
  183. package/web/.next/static/chunks/{1bd2a325f95d3211.js → 7d5a7551d452463d.js} +1 -1
  184. package/web/.next/static/chunks/{792fffaa4af33248.js → 80e778136b2f4c92.js} +1 -1
  185. package/web/.next/static/chunks/{83ba6946af31cdc4.js → a62fb058d660bea3.js} +3 -3
  186. package/web/.next/static/chunks/e0ae4dbd97b7af4c.js +1 -0
  187. package/web/.next/static/chunks/{7b6c91400184cb4d.js → f70998ac93012aef.js} +1 -1
  188. package/web/.next/server/chunks/ssr/_f20557ff._.js +0 -3
  189. package/web/.next/static/chunks/53f12c1844f881af.js +0 -1
  190. package/web/.next/static/chunks/c788a245f6898401.js +0 -1
  191. package/web/.next/static/chunks/ed714d3a13ff6c16.js +0 -1
  192. /package/web/.next/static/{tAvYhk4e_F_yStLz4wtDg → t-O8eMjJCUhhtd6CgtTXI}/_buildManifest.js +0 -0
  193. /package/web/.next/static/{tAvYhk4e_F_yStLz4wtDg → t-O8eMjJCUhhtd6CgtTXI}/_clientMiddlewareManifest.json +0 -0
  194. /package/web/.next/static/{tAvYhk4e_F_yStLz4wtDg → t-O8eMjJCUhhtd6CgtTXI}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[40652,a=>{"use strict";var b=a.i(12656),c=a.i(96960),d=a.i(69845),e=a.i(50488),f=a.i(63698),g=a.i(3195),h=a.i(28002),i=a.i(50490),j=a.i(5698),k=a.i(98410),l=a.i(72016),m=a.i(88064),n=a.i(56957),o=a.i(12882),p=a.i(53170),q=a.i(92548),r=a.i(91498),s=a.i(84494),t=a.i(25700);let u=(0,t.default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);var v=a.i(33511),w=a.i(65298),x=a.i(38019);let y=(0,t.default)("file-check-corner",[["path",{d:"M10.5 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v6",key:"g5mvt7"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m14 20 2 2 4-4",key:"15kota"}]]);var z=a.i(85536);a.i(78454);var A=a.i(24255);a.i(49235);var B=a.i(85080),C=a.i(82934),D=a.i(41305),E=a.i(55628),F=a.i(18662),G=a.i(21333),H=a.i(61544),I=a.i(91250);let J="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-8 items-center justify-center rounded-[3px] disabled:opacity-40",K="bg-border/60 mx-1.5 h-5 w-px shrink-0";function L({data:a,initialTab:p}){let q=(0,G.useFeatureFlags)(),r=(0,d.useRouter)(),s=(0,d.usePathname)().startsWith("/repository/"),[t,u]=(0,c.useState)(p??"overview"),[v,w]=(0,c.useState)(!1),x=(0,E.useRepositoryActions)(a.repositoryPath?{repositoryId:a.id,repositoryPath:a.repositoryPath}:null),y=(0,c.useCallback)(()=>{r.push("/")},[r]),I=(0,F.useDeployAction)(a.repositoryPath?{targetId:a.repositoryPath,targetType:"repository",repositoryPath:a.repositoryPath}:null),L="Booting"===I.status||"Ready"===I.status,M=(0,c.useCallback)(()=>{a.repositoryPath&&(navigator.clipboard.writeText(a.repositoryPath),w(!0),setTimeout(()=>w(!1),2e3))},[a.repositoryPath]),N=a.id?`repo-${a.id}`:`repo-${a.name}`;return(0,b.jsx)(A.BaseDrawer,{open:s,onClose:y,size:"lg",modal:!1,"data-testid":"repository-drawer",children:(0,b.jsxs)(D.Tabs,{value:t,onValueChange:u,className:"flex min-h-0 flex-1 flex-col",children:[(0,b.jsxs)(D.TabsList,{className:"bg-muted/50 h-auto w-full shrink-0 justify-start gap-0 rounded-none border-b p-0",children:[(0,b.jsxs)(D.TabsTrigger,{value:"overview",className:"text-muted-foreground hover:bg-muted hover:text-foreground data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:border-t-primary [&:not([data-state=active])]:border-r-border relative h-auto rounded-none border-t-2 border-r border-t-transparent border-r-transparent bg-transparent px-3.5 py-2.5 text-[13px] font-normal shadow-none transition-none last:border-r-transparent data-[state=active]:shadow-none",children:[(0,b.jsx)(n.LayoutDashboard,{className:"mr-1.5 size-4"}),"Overview"]}),(0,b.jsxs)(D.TabsTrigger,{value:"chat",className:"text-muted-foreground hover:bg-muted hover:text-foreground data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:border-t-primary [&:not([data-state=active])]:border-r-border relative h-auto rounded-none border-t-2 border-r border-t-transparent border-r-transparent bg-transparent px-3.5 py-2.5 text-[13px] font-normal shadow-none transition-none last:border-r-transparent data-[state=active]:shadow-none",children:[(0,b.jsx)(o.MessageSquare,{className:"mr-1.5 size-4"}),"Chat"]})]}),(0,b.jsxs)("div",{className:"bg-muted/40 shrink-0 border-b",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-4 pe-10 pt-2.5 pb-2","data-testid":"repository-drawer-header",children:[(0,b.jsx)("h2",{className:"text-foreground min-w-0 truncate text-base font-semibold tracking-tight",children:a.name}),a.repositoryPath?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-muted-foreground/40 text-xs",children:"/"}),(0,b.jsx)("span",{className:"text-muted-foreground min-w-0 truncate font-mono text-[11px]",children:a.repositoryPath})]}):null]}),a.repositoryPath?(0,b.jsx)("div",{"data-testid":"repository-drawer-toolbar",children:(0,b.jsxs)("div",{className:"flex h-9 items-center px-1.5",children:[(0,b.jsxs)(C.TooltipProvider,{delayDuration:300,children:[(0,b.jsxs)("div",{className:"flex items-center",children:[(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",className:J,onClick:x.openInIde,disabled:x.ideLoading,"aria-label":"Open in IDE",children:x.ideLoading?(0,b.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(e.Code2,{className:"size-4"})})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",className:"text-xs",children:"Open in IDE"})]}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",className:J,onClick:x.openInShell,disabled:x.shellLoading,"aria-label":"Open terminal",children:x.shellLoading?(0,b.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(f.Terminal,{className:"size-4"})})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",className:"text-xs",children:"Open terminal"})]}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",className:J,onClick:x.openFolder,disabled:x.folderLoading,"aria-label":"Open folder",children:x.folderLoading?(0,b.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(g.FolderOpen,{className:"size-4"})})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",className:"text-xs",children:"Open folder"})]}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",className:J,onClick:M,"aria-label":"Copy path",children:v?(0,b.jsx)(l.Check,{className:"size-3.5 text-green-500"}):(0,b.jsx)(k.Copy,{className:"size-4"})})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",className:"text-xs",children:v?"Copied!":"Copy path"})]})]}),a.id&&q.gitRebaseSync?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:K}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",className:J,onClick:x.syncMain,disabled:x.syncLoading,"aria-label":"Sync main",children:x.syncLoading?(0,b.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(h.RefreshCw,{className:"size-4"})})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",className:"text-xs",children:"Sync main"})]})]}):null,q.envDeploy?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:K}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",disabled:I.deployLoading||I.stopLoading,onClick:L?I.stop:I.deploy,className:(0,z.cn)("inline-flex size-7 items-center justify-center rounded-[3px] disabled:opacity-40",L?"text-red-500 hover:bg-red-500/10 hover:text-red-400":"text-green-500 hover:bg-green-500/10 hover:text-green-400"),"aria-label":L?"Stop dev server":"Start dev server",children:I.deployLoading||I.stopLoading?(0,b.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):L?(0,b.jsx)(j.Square,{className:"size-4"}):(0,b.jsx)(i.Play,{className:"size-4"})})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",className:"text-xs",children:L?"Stop dev server":"Start dev server"})]}),L?(0,b.jsx)(B.DeploymentStatusBadge,{status:I.status,url:I.url,targetId:a.repositoryPath}):null]}):null]}),(0,b.jsx)("div",{className:"flex-1"})]})}):null]}),(0,b.jsx)(D.TabsContent,{value:"overview",className:"mt-0 flex-1 overflow-y-auto",children:(0,b.jsx)(P,{data:a,syncError:x.syncError})}),(0,b.jsx)(D.TabsContent,{value:"chat",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:(0,b.jsx)(H.ChatTab,{featureId:N,worktreePath:a.repositoryPath})})]})})}function M({icon:a,title:c,children:d}){return(0,b.jsxs)("div",{className:"px-3 pt-4 pb-1",children:[(0,b.jsxs)("div",{className:"text-foreground mb-2 flex items-center gap-1.5 text-sm font-semibold tracking-wider uppercase",children:[(0,b.jsx)(a,{className:"size-4 opacity-50"}),c]}),d]})}function N({children:a,className:c}){return(0,b.jsx)("div",{className:(0,z.cn)("bg-muted/60 rounded-md border border-transparent p-3",c),children:a})}function O({label:a,children:c}){return(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"text-foreground/40 text-[11px] font-medium tracking-wider uppercase",children:a}),(0,b.jsx)("span",{className:"text-sm leading-snug",children:c})]})}function P({data:a,syncError:d}){let[e,f]=(0,c.useState)(null),[g,h]=(0,c.useState)(!1);if((0,c.useEffect)(()=>{if(!a.repositoryPath)return;let b=!1;return h(!0),(0,I.getGitRepoInfo)(a.repositoryPath,8).then(a=>{b||f(a)}).catch(()=>{}).finally(()=>{b||h(!1)}),()=>{b=!0}},[a.repositoryPath]),!a.repositoryPath)return null;let i=e?.workingTree,j=i&&(i.staged>0||i.modified>0||i.untracked>0),k=e?.diffStats;return(0,b.jsxs)("div",{className:"pb-4",children:[g?(0,b.jsxs)("div",{className:"text-foreground/40 flex items-center gap-2 px-4 py-8 text-sm",children:[(0,b.jsx)(m.Loader2,{className:"size-4 animate-spin"})," Loading repository info..."]}):null,e?(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-2 px-3 pt-3",children:[(0,b.jsx)(N,{children:(0,b.jsxs)(O,{label:"Branch",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)(p.GitBranch,{className:"text-foreground/30 size-3.5 shrink-0"}),(0,b.jsx)("code",{className:"font-mono text-sm",children:e.currentBranch??a.branch??"—"})]}),null!=a.behindCount&&a.behindCount>0?(0,b.jsxs)("span",{className:"mt-0.5 block text-xs text-orange-600 dark:text-orange-400",children:[a.behindCount," behind default"]}):null]})}),(0,b.jsx)(N,{children:(0,b.jsx)(O,{label:"Working Tree",children:j?(0,b.jsxs)("div",{className:"flex flex-wrap gap-x-3 gap-y-0.5",children:[i.staged>0?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-sm text-green-600 dark:text-green-400",children:[(0,b.jsx)(y,{className:"size-3.5"})," ",i.staged," staged"]}):null,i.modified>0?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-sm text-amber-600 dark:text-amber-400",children:[(0,b.jsx)(w.FileEdit,{className:"size-3.5"})," ",i.modified," modified"]}):null,i.untracked>0?(0,b.jsxs)("span",{className:"text-foreground/50 inline-flex items-center gap-1 text-sm",children:[(0,b.jsx)(x.FilePlus,{className:"size-3.5"})," ",i.untracked," untracked"]}):null]}):(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm text-green-600 dark:text-green-400",children:[(0,b.jsx)(l.Check,{className:"size-3.5"})," Clean"]})})}),k?(0,b.jsx)(N,{children:(0,b.jsx)(O,{label:"Uncommitted Changes",children:(0,b.jsxs)("div",{className:"flex items-center gap-3 text-sm",children:[(0,b.jsxs)("span",{children:[k.filesChanged," file",1!==k.filesChanged?"s":""]}),(0,b.jsxs)("span",{className:"text-green-600 dark:text-green-400",children:["+",k.insertions]}),(0,b.jsxs)("span",{className:"text-red-500 dark:text-red-400",children:["-",k.deletions]})]})})}):null,e.remotes.length>0?(0,b.jsx)(N,{children:(0,b.jsx)(O,{label:"Remote",children:e.remotes.map(a=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm",children:[(0,b.jsx)(s.Globe,{className:"text-foreground/30 size-3.5 shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:a.url.replace(/\.git$/,"").replace(/^https?:\/\/([^@]+@)?/,"").replace(/x-access-token:[^@]+@/,"")})]},a.name))})}):null,e.stashCount>0?(0,b.jsx)(N,{children:(0,b.jsx)(O,{label:"Stashes",children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm",children:[(0,b.jsx)(v.Archive,{className:"text-foreground/30 size-3.5 shrink-0"}),e.stashCount," stash",1!==e.stashCount?"es":""]})})}):null,e.tags.length>0?(0,b.jsx)(N,{children:(0,b.jsx)(O,{label:"Tags",children:(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:e.tags.map(a=>(0,b.jsxs)("span",{className:"bg-foreground/[0.04] inline-flex items-center gap-0.5 rounded px-1.5 py-0.5 text-xs",children:[(0,b.jsx)(u,{className:"text-foreground/30 size-2.5"}),a]},a))})})}):null]}):null,e&&e.commits.length>0?(0,b.jsx)(M,{icon:q.GitCommitHorizontal,title:"Recent Commits",children:(0,b.jsxs)("div",{className:"relative ml-3",children:[(0,b.jsx)("div",{className:"bg-border absolute top-2 bottom-2 left-[5px] w-px"}),e.commits.map((a,c)=>(0,b.jsxs)("div",{className:"group relative flex gap-3 py-1.5",children:[(0,b.jsx)("div",{className:(0,z.cn)("relative z-10 mt-1.5 size-[11px] shrink-0 rounded-full border-2",0===c?"border-primary bg-primary":"border-border bg-background group-hover:border-foreground/30")}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("p",{className:"min-w-0 truncate text-sm leading-snug",children:a.subject}),(0,b.jsx)("code",{className:"text-foreground/30 shrink-0 font-mono text-[11px]",children:a.shortHash})]}),(0,b.jsxs)("div",{className:"text-foreground/40 mt-0.5 flex items-center gap-2 text-xs",children:[(0,b.jsx)("span",{children:a.author}),(0,b.jsx)("span",{children:"·"}),(0,b.jsx)("span",{children:a.relativeDate}),a.branch?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"·"}),(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5",children:[(0,b.jsx)(p.GitBranch,{className:"size-3"}),a.branch]})]}):null]})]})]},a.hash))]})}):null,e&&e.branches.length>1?(0,b.jsx)(M,{icon:p.GitBranch,title:"Branches",children:(0,b.jsx)("div",{className:"flex flex-col",children:[...e.branches].sort((a,b)=>{let c,d,e,f;return a.isCurrent&&!b.isCurrent?-1:!a.isCurrent&&b.isCurrent?1:(c=a.name,/^(main|master)$/.test(c)&&(d=b.name,!/^(main|master)$/.test(d)))?-1:+(e=a.name,!!(!/^(main|master)$/.test(e)&&(f=b.name,/^(main|master)$/.test(f))))}).map(a=>(0,b.jsxs)("div",{className:(0,z.cn)("flex items-center justify-between rounded px-2 py-1.5",a.isCurrent&&"bg-muted/60"),children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm",children:[a.isCurrent?(0,b.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-green-500"}):/^(main|master)$/.test(a.name)?(0,b.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-blue-500"}):(0,b.jsx)("span",{className:"bg-foreground/10 size-2 shrink-0 rounded-full"}),(0,b.jsx)("code",{className:"font-mono text-[13px]",children:a.name}),a.isCurrent?(0,b.jsx)("span",{className:"text-foreground/40 text-[10px]",children:"current"}):null]}),(0,b.jsx)("span",{className:"text-foreground/40 text-xs",children:a.lastCommitDate})]},a.name))})}):null,d?(0,b.jsx)(M,{icon:r.AlertTriangle,title:"Issues",children:(0,b.jsx)(N,{className:"bg-destructive/5 border-transparent",children:(0,b.jsx)("p",{className:"text-destructive text-sm",children:d})})}):null]})}a.s(["RepositoryDrawerClient",()=>L],40652)}];
1
+ module.exports=[40652,a=>{"use strict";var b=a.i(12656),c=a.i(96960),d=a.i(69845),e=a.i(50488),f=a.i(63698),g=a.i(3195),h=a.i(28002),i=a.i(50490),j=a.i(5698),k=a.i(98410),l=a.i(72016),m=a.i(88064),n=a.i(56957),o=a.i(12882),p=a.i(53170),q=a.i(92548),r=a.i(91498),s=a.i(84494),t=a.i(25700);let u=(0,t.default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);var v=a.i(33511),w=a.i(65298),x=a.i(38019);let y=(0,t.default)("file-check-corner",[["path",{d:"M10.5 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v6",key:"g5mvt7"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m14 20 2 2 4-4",key:"15kota"}]]);var z=a.i(85536);a.i(78454);var A=a.i(24255);a.i(49235);var B=a.i(85080),C=a.i(82934),D=a.i(41305),E=a.i(55628),F=a.i(18662),G=a.i(21333),H=a.i(61544),I=a.i(64099);let J="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-8 items-center justify-center rounded-[3px] disabled:opacity-40",K="bg-border/60 mx-1.5 h-5 w-px shrink-0";function L({data:a,initialTab:p}){let q=(0,G.useFeatureFlags)(),r=(0,d.useRouter)(),s=(0,d.usePathname)().startsWith("/repository/"),[t,u]=(0,c.useState)(p??"overview"),[v,w]=(0,c.useState)(!1),x=(0,E.useRepositoryActions)(a.repositoryPath?{repositoryId:a.id,repositoryPath:a.repositoryPath}:null),y=(0,c.useCallback)(()=>{r.push("/")},[r]),I=(0,F.useDeployAction)(a.repositoryPath?{targetId:a.repositoryPath,targetType:"repository",repositoryPath:a.repositoryPath}:null),L="Booting"===I.status||"Ready"===I.status,M=(0,c.useCallback)(()=>{a.repositoryPath&&(navigator.clipboard.writeText(a.repositoryPath),w(!0),setTimeout(()=>w(!1),2e3))},[a.repositoryPath]),N=a.id?`repo-${a.id}`:`repo-${a.name}`;return(0,b.jsx)(A.BaseDrawer,{open:s,onClose:y,size:"lg",modal:!1,"data-testid":"repository-drawer",children:(0,b.jsxs)(D.Tabs,{value:t,onValueChange:u,className:"flex min-h-0 flex-1 flex-col",children:[(0,b.jsxs)(D.TabsList,{className:"bg-muted/50 h-auto w-full shrink-0 justify-start gap-0 rounded-none border-b p-0",children:[(0,b.jsxs)(D.TabsTrigger,{value:"overview",className:"text-muted-foreground hover:bg-muted hover:text-foreground data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:border-t-primary [&:not([data-state=active])]:border-r-border relative h-auto rounded-none border-t-2 border-r border-t-transparent border-r-transparent bg-transparent px-3.5 py-2.5 text-[13px] font-normal shadow-none transition-none last:border-r-transparent data-[state=active]:shadow-none",children:[(0,b.jsx)(n.LayoutDashboard,{className:"mr-1.5 size-4"}),"Overview"]}),(0,b.jsxs)(D.TabsTrigger,{value:"chat",className:"text-muted-foreground hover:bg-muted hover:text-foreground data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:border-t-primary [&:not([data-state=active])]:border-r-border relative h-auto rounded-none border-t-2 border-r border-t-transparent border-r-transparent bg-transparent px-3.5 py-2.5 text-[13px] font-normal shadow-none transition-none last:border-r-transparent data-[state=active]:shadow-none",children:[(0,b.jsx)(o.MessageSquare,{className:"mr-1.5 size-4"}),"Chat"]})]}),(0,b.jsxs)("div",{className:"bg-muted/40 shrink-0 border-b",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-4 pe-10 pt-2.5 pb-2","data-testid":"repository-drawer-header",children:[(0,b.jsx)("h2",{className:"text-foreground min-w-0 truncate text-base font-semibold tracking-tight",children:a.name}),a.repositoryPath?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-muted-foreground/40 text-xs",children:"/"}),(0,b.jsx)("span",{className:"text-muted-foreground min-w-0 truncate font-mono text-[11px]",children:a.repositoryPath})]}):null]}),a.repositoryPath?(0,b.jsx)("div",{"data-testid":"repository-drawer-toolbar",children:(0,b.jsxs)("div",{className:"flex h-9 items-center px-1.5",children:[(0,b.jsxs)(C.TooltipProvider,{delayDuration:300,children:[(0,b.jsxs)("div",{className:"flex items-center",children:[(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",className:J,onClick:x.openInIde,disabled:x.ideLoading,"aria-label":"Open in IDE",children:x.ideLoading?(0,b.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(e.Code2,{className:"size-4"})})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",className:"text-xs",children:"Open in IDE"})]}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",className:J,onClick:x.openInShell,disabled:x.shellLoading,"aria-label":"Open terminal",children:x.shellLoading?(0,b.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(f.Terminal,{className:"size-4"})})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",className:"text-xs",children:"Open terminal"})]}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",className:J,onClick:x.openFolder,disabled:x.folderLoading,"aria-label":"Open folder",children:x.folderLoading?(0,b.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(g.FolderOpen,{className:"size-4"})})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",className:"text-xs",children:"Open folder"})]}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",className:J,onClick:M,"aria-label":"Copy path",children:v?(0,b.jsx)(l.Check,{className:"size-3.5 text-green-500"}):(0,b.jsx)(k.Copy,{className:"size-4"})})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",className:"text-xs",children:v?"Copied!":"Copy path"})]})]}),a.id&&q.gitRebaseSync?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:K}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",className:J,onClick:x.syncMain,disabled:x.syncLoading,"aria-label":"Sync main",children:x.syncLoading?(0,b.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(h.RefreshCw,{className:"size-4"})})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",className:"text-xs",children:"Sync main"})]})]}):null,q.envDeploy?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:K}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",disabled:I.deployLoading||I.stopLoading,onClick:L?I.stop:I.deploy,className:(0,z.cn)("inline-flex size-7 items-center justify-center rounded-[3px] disabled:opacity-40",L?"text-red-500 hover:bg-red-500/10 hover:text-red-400":"text-green-500 hover:bg-green-500/10 hover:text-green-400"),"aria-label":L?"Stop dev server":"Start dev server",children:I.deployLoading||I.stopLoading?(0,b.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):L?(0,b.jsx)(j.Square,{className:"size-4"}):(0,b.jsx)(i.Play,{className:"size-4"})})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",className:"text-xs",children:L?"Stop dev server":"Start dev server"})]}),L?(0,b.jsx)(B.DeploymentStatusBadge,{status:I.status,url:I.url,targetId:a.repositoryPath}):null]}):null]}),(0,b.jsx)("div",{className:"flex-1"})]})}):null]}),(0,b.jsx)(D.TabsContent,{value:"overview",className:"mt-0 flex-1 overflow-y-auto",children:(0,b.jsx)(P,{data:a,syncError:x.syncError})}),(0,b.jsx)(D.TabsContent,{value:"chat",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:(0,b.jsx)(H.ChatTab,{featureId:N,worktreePath:a.repositoryPath})})]})})}function M({icon:a,title:c,children:d}){return(0,b.jsxs)("div",{className:"px-3 pt-4 pb-1",children:[(0,b.jsxs)("div",{className:"text-foreground mb-2 flex items-center gap-1.5 text-sm font-semibold tracking-wider uppercase",children:[(0,b.jsx)(a,{className:"size-4 opacity-50"}),c]}),d]})}function N({children:a,className:c}){return(0,b.jsx)("div",{className:(0,z.cn)("bg-muted/60 rounded-md border border-transparent p-3",c),children:a})}function O({label:a,children:c}){return(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"text-foreground/40 text-[11px] font-medium tracking-wider uppercase",children:a}),(0,b.jsx)("span",{className:"text-sm leading-snug",children:c})]})}function P({data:a,syncError:d}){let[e,f]=(0,c.useState)(null),[g,h]=(0,c.useState)(!1);if((0,c.useEffect)(()=>{if(!a.repositoryPath)return;let b=!1;return h(!0),(0,I.getGitRepoInfo)(a.repositoryPath,8).then(a=>{b||f(a)}).catch(()=>{}).finally(()=>{b||h(!1)}),()=>{b=!0}},[a.repositoryPath]),!a.repositoryPath)return null;let i=e?.workingTree,j=i&&(i.staged>0||i.modified>0||i.untracked>0),k=e?.diffStats;return(0,b.jsxs)("div",{className:"pb-4",children:[g?(0,b.jsxs)("div",{className:"text-foreground/40 flex items-center gap-2 px-4 py-8 text-sm",children:[(0,b.jsx)(m.Loader2,{className:"size-4 animate-spin"})," Loading repository info..."]}):null,e?(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-2 px-3 pt-3",children:[(0,b.jsx)(N,{children:(0,b.jsxs)(O,{label:"Branch",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)(p.GitBranch,{className:"text-foreground/30 size-3.5 shrink-0"}),(0,b.jsx)("code",{className:"font-mono text-sm",children:e.currentBranch??a.branch??"—"})]}),null!=a.behindCount&&a.behindCount>0?(0,b.jsxs)("span",{className:"mt-0.5 block text-xs text-orange-600 dark:text-orange-400",children:[a.behindCount," behind default"]}):null]})}),(0,b.jsx)(N,{children:(0,b.jsx)(O,{label:"Working Tree",children:j?(0,b.jsxs)("div",{className:"flex flex-wrap gap-x-3 gap-y-0.5",children:[i.staged>0?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-sm text-green-600 dark:text-green-400",children:[(0,b.jsx)(y,{className:"size-3.5"})," ",i.staged," staged"]}):null,i.modified>0?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-sm text-amber-600 dark:text-amber-400",children:[(0,b.jsx)(w.FileEdit,{className:"size-3.5"})," ",i.modified," modified"]}):null,i.untracked>0?(0,b.jsxs)("span",{className:"text-foreground/50 inline-flex items-center gap-1 text-sm",children:[(0,b.jsx)(x.FilePlus,{className:"size-3.5"})," ",i.untracked," untracked"]}):null]}):(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm text-green-600 dark:text-green-400",children:[(0,b.jsx)(l.Check,{className:"size-3.5"})," Clean"]})})}),k?(0,b.jsx)(N,{children:(0,b.jsx)(O,{label:"Uncommitted Changes",children:(0,b.jsxs)("div",{className:"flex items-center gap-3 text-sm",children:[(0,b.jsxs)("span",{children:[k.filesChanged," file",1!==k.filesChanged?"s":""]}),(0,b.jsxs)("span",{className:"text-green-600 dark:text-green-400",children:["+",k.insertions]}),(0,b.jsxs)("span",{className:"text-red-500 dark:text-red-400",children:["-",k.deletions]})]})})}):null,e.remotes.length>0?(0,b.jsx)(N,{children:(0,b.jsx)(O,{label:"Remote",children:e.remotes.map(a=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm",children:[(0,b.jsx)(s.Globe,{className:"text-foreground/30 size-3.5 shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:a.url.replace(/\.git$/,"").replace(/^https?:\/\/([^@]+@)?/,"").replace(/x-access-token:[^@]+@/,"")})]},a.name))})}):null,e.stashCount>0?(0,b.jsx)(N,{children:(0,b.jsx)(O,{label:"Stashes",children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm",children:[(0,b.jsx)(v.Archive,{className:"text-foreground/30 size-3.5 shrink-0"}),e.stashCount," stash",1!==e.stashCount?"es":""]})})}):null,e.tags.length>0?(0,b.jsx)(N,{children:(0,b.jsx)(O,{label:"Tags",children:(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:e.tags.map(a=>(0,b.jsxs)("span",{className:"bg-foreground/[0.04] inline-flex items-center gap-0.5 rounded px-1.5 py-0.5 text-xs",children:[(0,b.jsx)(u,{className:"text-foreground/30 size-2.5"}),a]},a))})})}):null]}):null,e&&e.commits.length>0?(0,b.jsx)(M,{icon:q.GitCommitHorizontal,title:"Recent Commits",children:(0,b.jsxs)("div",{className:"relative ml-3",children:[(0,b.jsx)("div",{className:"bg-border absolute top-2 bottom-2 left-[5px] w-px"}),e.commits.map((a,c)=>(0,b.jsxs)("div",{className:"group relative flex gap-3 py-1.5",children:[(0,b.jsx)("div",{className:(0,z.cn)("relative z-10 mt-1.5 size-[11px] shrink-0 rounded-full border-2",0===c?"border-primary bg-primary":"border-border bg-background group-hover:border-foreground/30")}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("p",{className:"min-w-0 truncate text-sm leading-snug",children:a.subject}),(0,b.jsx)("code",{className:"text-foreground/30 shrink-0 font-mono text-[11px]",children:a.shortHash})]}),(0,b.jsxs)("div",{className:"text-foreground/40 mt-0.5 flex items-center gap-2 text-xs",children:[(0,b.jsx)("span",{children:a.author}),(0,b.jsx)("span",{children:"·"}),(0,b.jsx)("span",{children:a.relativeDate}),a.branch?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"·"}),(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5",children:[(0,b.jsx)(p.GitBranch,{className:"size-3"}),a.branch]})]}):null]})]})]},a.hash))]})}):null,e&&e.branches.length>1?(0,b.jsx)(M,{icon:p.GitBranch,title:"Branches",children:(0,b.jsx)("div",{className:"flex flex-col",children:[...e.branches].sort((a,b)=>{let c,d,e,f;return a.isCurrent&&!b.isCurrent?-1:!a.isCurrent&&b.isCurrent?1:(c=a.name,/^(main|master)$/.test(c)&&(d=b.name,!/^(main|master)$/.test(d)))?-1:+(e=a.name,!!(!/^(main|master)$/.test(e)&&(f=b.name,/^(main|master)$/.test(f))))}).map(a=>(0,b.jsxs)("div",{className:(0,z.cn)("flex items-center justify-between rounded px-2 py-1.5",a.isCurrent&&"bg-muted/60"),children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm",children:[a.isCurrent?(0,b.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-green-500"}):/^(main|master)$/.test(a.name)?(0,b.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-blue-500"}):(0,b.jsx)("span",{className:"bg-foreground/10 size-2 shrink-0 rounded-full"}),(0,b.jsx)("code",{className:"font-mono text-[13px]",children:a.name}),a.isCurrent?(0,b.jsx)("span",{className:"text-foreground/40 text-[10px]",children:"current"}):null]}),(0,b.jsx)("span",{className:"text-foreground/40 text-xs",children:a.lastCommitDate})]},a.name))})}):null,d?(0,b.jsx)(M,{icon:r.AlertTriangle,title:"Issues",children:(0,b.jsx)(N,{className:"bg-destructive/5 border-transparent",children:(0,b.jsx)("p",{className:"text-destructive text-sm",children:d})})}):null]})}a.s(["RepositoryDrawerClient",()=>L],40652)}];
2
2
 
3
3
  //# sourceMappingURL=f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[24860,19720,a=>{"use strict";var b=a.i(92658),c=a.i(33244),d=a.i(12581);async function e(){let{workflow:a}=(0,c.getSettings)();return{approvalGates:{allowPrd:a.approvalGateDefaults.allowPrd,allowPlan:a.approvalGateDefaults.allowPlan,allowMerge:a.approvalGateDefaults.allowMerge},push:a.approvalGateDefaults.pushOnImplementationComplete,openPr:a.openPrOnImplementationComplete,ciWatchEnabled:a.ciWatchEnabled,enableEvidence:a.enableEvidence,commitEvidence:a.commitEvidence,fast:a.defaultFastMode,injectSkills:a.skillInjection?.enabled??!1}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"00197d3a6ef254114ae015d89c9192cdec4d9bbac6",null),a.s(["getWorkflowDefaults",()=>e],24860);var f=a.i(96380);let g=new Set(["ADMIN","MAINTAIN","WRITE"]);async function h(a){try{let b=(0,f.resolve)("IGitHubRepositoryService"),c=await b.getViewerPermission(a);return{canPushDirectly:g.has(c)}}catch{return{canPushDirectly:!1}}}(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"40e3b04fa9a1f937d436007743423ae063bd45d9a5",null),a.s(["getViewerPermission",()=>h],19720)},25637,a=>{"use strict";var b=a.i(23504),c=a.i(8115),d=a.i(27900),e=a.i(12513),f=a.i(73101),g=a.i(54775),h=a.i(65324),i=a.i(33841),j=a.i(46646),k=a.i(68378),l=a.i(68670),m=a.i(85321),n=a.i(84095),o=a.i(56799),p=a.i(80496),q=a.i(93225),r=a.i(94691),s=a.i(77710),t=a.i(45395),u=a.i(76707),v=a.i(10528),w=a.i(50845),x=a.i(26604),y=a.i(54723),z=a.i(18942),A=a.i(42886),B=a.i(49560),C=a.i(39353),D=a.i(95072),E=a.i(29207),F=a.i(24860),G=a.i(19720),H=a.i(77605);a.s([],313),a.i(313),a.s(["00197d3a6ef254114ae015d89c9192cdec4d9bbac6",()=>F.getWorkflowDefaults,"0076b3d42ef15994d8670dee6da36b75eab086f592",()=>c.checkAllAgentsStatus,"00dcc709a01f0569bfed0d0fd913bb2ae5820dc7b8",()=>e.pickFolder,"00f239232cd033d64ef90f37a6a00a7d3d9ce90753",()=>b.getAllAgentModels,"00f95796b31f9a01fee1c8cabf36739e0626fb895b",()=>g.listGitHubOrganizations,"40061c1a99024f4c0916f2ad90f9af3b2a4f99bdff",()=>h.importGitHubRepository,"4007c40d988784c0b9cc291fff583c56299825ace2",()=>t.createApplication,"4019e9b366eba6e7ae533d69ad430786e1d105d3f7",()=>D.deleteApplication,"4033fa30fe771d213d836267fca1d2bc348edc0463",()=>B.addRepository,"4035315500c0fdbe957490a4576599fe4e10362d00",()=>k.deployApplication,"40387bb1c96ffc89cb38570b2d92252ea9553593ea",()=>n.openIde,"403dc454070c72dd97868a0d66397a112bb429aa23",()=>p.openFolder,"405797f8b8319ac6933f44b97b53ed69b7d74f720d",()=>m.getDeploymentStatus,"4075f02c367a5dde2c84769f546b9fd9b17ebbd20c",()=>E.getFeatureMetadata,"407777b8d49490f756be2a48c39ffbb3c69010bf47",()=>o.openShell,"4080e8abd8dccdccdcffa041ededc81a57388866e4",()=>j.deployRepository,"4084f24e87bf49d86e3fe8f7f9bcaad7d237dc025f",()=>H.createFeature,"40881f084c3e4fceddc63e1cc21c2bcc21650c5959",()=>u.createProjectFolder,"408c526d74b1227a231a476bd11bf3f73246a2a8bd",()=>v.archiveFeature,"409b2b7c453b85ebe22be32a1abbb566f8aac0461c",()=>f.listGitHubRepositories,"40a0177b9f2aa86822c61e9a614f071fe7717b8bda",()=>s.createProjectAndFeature,"40a6fc1a9d123177a769c05d5478144ebc3264f197",()=>z.stopFeature,"40b4eeeb2999f5dd298c7eeb72e866dd706847cb43",()=>i.deployFeature,"40b6be2e695ac64cea2ea7e061df3df9b9e8c668e5",()=>l.stopDeployment,"40ba330bb57038c106e2cb5a9706214e74b6f4bc60",()=>r.getDeploymentLogs,"40c46ad4e0e3b0f93e0dd39ba080a68bb790db6b85",()=>A.unarchiveFeature,"40d46f342a5068b30bbe13eb5d331318d858d0244e",()=>y.startFeature,"40e2f984567eba20b462bc917f0c779f3b7f2edba3",()=>x.resumeFeature,"40e3b04fa9a1f937d436007743423ae063bd45d9a5",()=>G.getViewerPermission,"40e5ff0dc2321899262d6aecf5d972433293138faf",()=>q.syncRepository,"602f8e351e233f77d1163d32b17d0c0b7c5a3e5059",()=>d.updateAgentAndModel,"60f772bd3d6eee8bb874a9dc740c638f04b189228d",()=>C.deleteRepository,"78104a10bad3e45e6914a57cc4073a82d3632e9640",()=>w.deleteFeature],25637)}];
1
+ module.exports=[24860,19720,a=>{"use strict";var b=a.i(92658),c=a.i(33244),d=a.i(12581);async function e(){let{workflow:a}=(0,c.getSettings)();return{approvalGates:{allowPrd:a.approvalGateDefaults.allowPrd,allowPlan:a.approvalGateDefaults.allowPlan,allowMerge:a.approvalGateDefaults.allowMerge},push:a.approvalGateDefaults.pushOnImplementationComplete,openPr:a.openPrOnImplementationComplete,ciWatchEnabled:a.ciWatchEnabled,enableEvidence:a.enableEvidence,commitEvidence:a.commitEvidence,fast:a.defaultFastMode,injectSkills:a.skillInjection?.enabled??!1}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"009b2eebb24492818967fe4ceb71a68aff9493f1ee",null),a.s(["getWorkflowDefaults",()=>e],24860);var f=a.i(96380);let g=new Set(["ADMIN","MAINTAIN","WRITE"]);async function h(a){try{let b=(0,f.resolve)("IGitHubRepositoryService"),c=await b.getViewerPermission(a);return{canPushDirectly:g.has(c)}}catch{return{canPushDirectly:!1}}}(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"40c0af35a93210890daf635d8591a65315a5d61a27",null),a.s(["getViewerPermission",()=>h],19720)},25637,a=>{"use strict";var b=a.i(23504),c=a.i(8115),d=a.i(27900),e=a.i(12513),f=a.i(73101),g=a.i(54775),h=a.i(65324),i=a.i(33841),j=a.i(46646),k=a.i(68378),l=a.i(68670),m=a.i(85321),n=a.i(84095),o=a.i(56799),p=a.i(80496),q=a.i(93225),r=a.i(94691),s=a.i(77710),t=a.i(45395),u=a.i(76707),v=a.i(10528),w=a.i(50845),x=a.i(26604),y=a.i(54723),z=a.i(18942),A=a.i(42886),B=a.i(49560),C=a.i(39353),D=a.i(95072),E=a.i(29207),F=a.i(24860),G=a.i(19720),H=a.i(77605);a.s([],313),a.i(313),a.s(["0090375660d2bf0df09932302bb2d6896c322ddc2f",()=>g.listGitHubOrganizations,"009691a6cd3b2c2ef91fbc73255d2709b6c5d051c4",()=>e.pickFolder,"009b2eebb24492818967fe4ceb71a68aff9493f1ee",()=>F.getWorkflowDefaults,"00dbbf086a7ef425edbbc5cb9795264e9a155bd40b",()=>c.checkAllAgentsStatus,"00f373462bd571a1792715325fb5184a126c445327",()=>b.getAllAgentModels,"400b887a616cbf773d1916f3c9befda61ada388bbd",()=>x.resumeFeature,"4019757a68b2ab125dac7b85cd2e1dac22da3db6c5",()=>i.deployFeature,"401e7b7f484afefb6755fb3d3f2c2a4c3ed1ec3f99",()=>o.openShell,"40227fbf1f06087486d930f2be73341e7ed80091c3",()=>n.openIde,"4026e56be70d948dc3268ab6e2f2886a1104d8cd07",()=>s.createProjectAndFeature,"402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40",()=>r.getDeploymentLogs,"402cdb26f49257eeb71728b1b3e61835d9fcf99014",()=>A.unarchiveFeature,"4031ecccb7cd5c86319137da2af0a51b0c0f8e0d95",()=>f.listGitHubRepositories,"4058d4d774b9a00d4ea404dc2e1dffd3559a13fa1e",()=>l.stopDeployment,"4066f99f07b348d08962c2d7639dd18f214b5947e1",()=>E.getFeatureMetadata,"40726cf93f7ac7e2721f95270a9e1add6a92c81e35",()=>y.startFeature,"407ae360e1c587f168a62691f5fbb902cc30239161",()=>p.openFolder,"40895ee90ed9c02eb9b0d9db928e937cde07a407a4",()=>h.importGitHubRepository,"408ebe4b532992092d18a9b513f7f54038544f0585",()=>k.deployApplication,"40948fe1c9352411e89edf299ed1e8f51bce06bee4",()=>j.deployRepository,"40967a1f7fb638f1a5c3db0578e8e9496de2aa9b41",()=>D.deleteApplication,"40a57525e1106170a91c42e7c7f3fa9a53481100c8",()=>q.syncRepository,"40bf7f0efdba8ee98115b817c2be5858318a7f47e8",()=>z.stopFeature,"40c0af35a93210890daf635d8591a65315a5d61a27",()=>G.getViewerPermission,"40c3e4f1640509f222ee938f58e619fb9dc9e885ad",()=>m.getDeploymentStatus,"40d0e3402652c3ee7206eb31e80d3ae87ece9b492e",()=>H.createFeature,"40d591435cbf5e2844d6b0f56fb270938d5c8489e7",()=>u.createProjectFolder,"40d9f11e8b5a5014c05d6e7c71d286bc3e3cf967f9",()=>B.addRepository,"40efbe9d403a44d886e0e48abc4980547033c4d898",()=>v.archiveFeature,"40f8c300c4c7d5f53c5c9434afc2eaaa9da4769348",()=>t.createApplication,"606a87dde2ab8df2216d158a8b5e396110073e0a9b",()=>C.deleteRepository,"60b4cbab57a503aa7c536cfc32583da15139bead1a",()=>d.updateAgentAndModel,"78ffe5e01b8dbdc2aea6bf9627a1d57fc4f618024c",()=>w.deleteFeature],25637)}];
2
2
 
3
3
  //# sourceMappingURL=src_presentation_web_47181610._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-workflow-defaults.ts","../../../../../../../src/presentation/web/app/actions/get-viewer-permission.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/%40drawer/create/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["'use server';\n\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\n\nexport interface WorkflowDefaults {\n approvalGates: {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge: boolean;\n };\n push: boolean;\n openPr: boolean;\n ciWatchEnabled: boolean;\n enableEvidence: boolean;\n commitEvidence: boolean;\n fast: boolean;\n injectSkills: boolean;\n}\n\nexport async function getWorkflowDefaults(): Promise<WorkflowDefaults> {\n const settings = getSettings();\n const { workflow } = settings;\n\n return {\n approvalGates: {\n allowPrd: workflow.approvalGateDefaults.allowPrd,\n allowPlan: workflow.approvalGateDefaults.allowPlan,\n allowMerge: workflow.approvalGateDefaults.allowMerge,\n },\n push: workflow.approvalGateDefaults.pushOnImplementationComplete,\n openPr: workflow.openPrOnImplementationComplete,\n ciWatchEnabled: workflow.ciWatchEnabled,\n enableEvidence: workflow.enableEvidence,\n commitEvidence: workflow.commitEvidence,\n fast: workflow.defaultFastMode,\n injectSkills: workflow.skillInjection?.enabled ?? false,\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IGitHubRepositoryService } from '@shepai/core/application/ports/output/services/github-repository-service.interface';\n\n/** Permissions that grant direct push access to a repository. */\nconst PUSH_PERMISSIONS = new Set(['ADMIN', 'MAINTAIN', 'WRITE']);\n\nexport async function getViewerPermission(repoPath: string): Promise<{ canPushDirectly: boolean }> {\n try {\n const service = resolve<IGitHubRepositoryService>('IGitHubRepositoryService');\n const permission = await service.getViewerPermission(repoPath);\n return { canPushDirectly: PUSH_PERMISSIONS.has(permission) };\n } catch {\n return { canPushDirectly: false };\n }\n}\n","export {getAllAgentModels as '00f239232cd033d64ef90f37a6a00a7d3d9ce90753'} from 'ACTIONS_MODULE0'\nexport {checkAllAgentsStatus as '0076b3d42ef15994d8670dee6da36b75eab086f592'} from 'ACTIONS_MODULE1'\nexport {updateAgentAndModel as '602f8e351e233f77d1163d32b17d0c0b7c5a3e5059'} from 'ACTIONS_MODULE2'\nexport {pickFolder as '00dcc709a01f0569bfed0d0fd913bb2ae5820dc7b8'} from 'ACTIONS_MODULE3'\nexport {listGitHubRepositories as '409b2b7c453b85ebe22be32a1abbb566f8aac0461c'} from 'ACTIONS_MODULE4'\nexport {listGitHubOrganizations as '00f95796b31f9a01fee1c8cabf36739e0626fb895b'} from 'ACTIONS_MODULE5'\nexport {importGitHubRepository as '40061c1a99024f4c0916f2ad90f9af3b2a4f99bdff'} from 'ACTIONS_MODULE6'\nexport {deployFeature as '40b4eeeb2999f5dd298c7eeb72e866dd706847cb43'} from 'ACTIONS_MODULE7'\nexport {deployRepository as '4080e8abd8dccdccdcffa041ededc81a57388866e4'} from 'ACTIONS_MODULE8'\nexport {deployApplication as '4035315500c0fdbe957490a4576599fe4e10362d00'} from 'ACTIONS_MODULE9'\nexport {stopDeployment as '40b6be2e695ac64cea2ea7e061df3df9b9e8c668e5'} from 'ACTIONS_MODULE10'\nexport {getDeploymentStatus as '405797f8b8319ac6933f44b97b53ed69b7d74f720d'} from 'ACTIONS_MODULE11'\nexport {openIde as '40387bb1c96ffc89cb38570b2d92252ea9553593ea'} from 'ACTIONS_MODULE12'\nexport {openShell as '407777b8d49490f756be2a48c39ffbb3c69010bf47'} from 'ACTIONS_MODULE13'\nexport {openFolder as '403dc454070c72dd97868a0d66397a112bb429aa23'} from 'ACTIONS_MODULE14'\nexport {syncRepository as '40e5ff0dc2321899262d6aecf5d972433293138faf'} from 'ACTIONS_MODULE15'\nexport {getDeploymentLogs as '40ba330bb57038c106e2cb5a9706214e74b6f4bc60'} from 'ACTIONS_MODULE16'\nexport {createProjectAndFeature as '40a0177b9f2aa86822c61e9a614f071fe7717b8bda'} from 'ACTIONS_MODULE17'\nexport {createApplication as '4007c40d988784c0b9cc291fff583c56299825ace2'} from 'ACTIONS_MODULE18'\nexport {createProjectFolder as '40881f084c3e4fceddc63e1cc21c2bcc21650c5959'} from 'ACTIONS_MODULE19'\nexport {archiveFeature as '408c526d74b1227a231a476bd11bf3f73246a2a8bd'} from 'ACTIONS_MODULE20'\nexport {deleteFeature as '78104a10bad3e45e6914a57cc4073a82d3632e9640'} from 'ACTIONS_MODULE21'\nexport {resumeFeature as '40e2f984567eba20b462bc917f0c779f3b7f2edba3'} from 'ACTIONS_MODULE22'\nexport {startFeature as '40d46f342a5068b30bbe13eb5d331318d858d0244e'} from 'ACTIONS_MODULE23'\nexport {stopFeature as '40a6fc1a9d123177a769c05d5478144ebc3264f197'} from 'ACTIONS_MODULE24'\nexport {unarchiveFeature as '40c46ad4e0e3b0f93e0dd39ba080a68bb790db6b85'} from 'ACTIONS_MODULE25'\nexport {addRepository as '4033fa30fe771d213d836267fca1d2bc348edc0463'} from 'ACTIONS_MODULE26'\nexport {deleteRepository as '60f772bd3d6eee8bb874a9dc740c638f04b189228d'} from 'ACTIONS_MODULE27'\nexport {deleteApplication as '4019e9b366eba6e7ae533d69ad430786e1d105d3f7'} from 'ACTIONS_MODULE28'\nexport {getFeatureMetadata as '4075f02c367a5dde2c84769f546b9fd9b17ebbd20c'} from 'ACTIONS_MODULE29'\nexport {getWorkflowDefaults as '00197d3a6ef254114ae015d89c9192cdec4d9bbac6'} from 'ACTIONS_MODULE30'\nexport {getViewerPermission as '40e3b04fa9a1f937d436007743423ae063bd45d9a5'} from 'ACTIONS_MODULE31'\nexport {createFeature as '4084f24e87bf49d86e3fe8f7f9bcaad7d237dc025f'} from 'ACTIONS_MODULE32'\nexport {getViewerPermission as '40e3b04fa9a1f937d436007743423ae063bd45d9a5'} from 'ACTIONS_MODULE31'\n"],"names":[],"mappings":"8DAEA,EAAA,EAAA,CAAA,CAAA,oBAiBO,eAAe,IAEpB,GAAM,UAAE,CAAQ,CAAE,CADD,CAAA,CACI,CADJ,EAAA,WAAA,AAAW,IAG5B,MAAO,CACL,cAAe,CACb,SAAU,EAAS,oBAAoB,CAAC,QAAQ,CAChD,UAAW,EAAS,oBAAoB,CAAC,SAAS,CAClD,WAAY,EAAS,oBAAoB,CAAC,UAAU,AACtD,EACA,KAAM,EAAS,oBAAoB,CAAC,4BAA4B,CAChE,OAAQ,EAAS,8BAA8B,CAC/C,eAAgB,EAAS,cAAc,CACvC,eAAgB,EAAS,cAAc,CACvC,eAAgB,EAAS,cAAc,CACvC,KAAM,EAAS,eAAe,CAC9B,aAAc,EAAS,cAAc,EAAE,UAAW,CACpD,CACF,iCAlBsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,+CCjBtB,IAAA,EAAA,EAAA,CAAA,CAAA,OAIA,IAAM,EAAmB,IAAI,IAAI,CAAC,QAAS,WAAY,QAAQ,EAExD,eAAe,EAAoB,CAAgB,EACxD,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAA2B,4BAC5C,EAAa,MAAM,EAAQ,mBAAmB,CAAC,GACrD,MAAO,CAAE,gBAAiB,EAAiB,GAAG,CAAC,EAAY,CAC7D,CAAE,KAAM,CACN,MAAO,CAAE,gBAAiB,EAAM,CAClC,CACF,iCARsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,uECRtB,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-workflow-defaults.ts","../../../../../../../src/presentation/web/app/actions/get-viewer-permission.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/%40drawer/create/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["'use server';\n\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\n\nexport interface WorkflowDefaults {\n approvalGates: {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge: boolean;\n };\n push: boolean;\n openPr: boolean;\n ciWatchEnabled: boolean;\n enableEvidence: boolean;\n commitEvidence: boolean;\n fast: boolean;\n injectSkills: boolean;\n}\n\nexport async function getWorkflowDefaults(): Promise<WorkflowDefaults> {\n const settings = getSettings();\n const { workflow } = settings;\n\n return {\n approvalGates: {\n allowPrd: workflow.approvalGateDefaults.allowPrd,\n allowPlan: workflow.approvalGateDefaults.allowPlan,\n allowMerge: workflow.approvalGateDefaults.allowMerge,\n },\n push: workflow.approvalGateDefaults.pushOnImplementationComplete,\n openPr: workflow.openPrOnImplementationComplete,\n ciWatchEnabled: workflow.ciWatchEnabled,\n enableEvidence: workflow.enableEvidence,\n commitEvidence: workflow.commitEvidence,\n fast: workflow.defaultFastMode,\n injectSkills: workflow.skillInjection?.enabled ?? false,\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IGitHubRepositoryService } from '@shepai/core/application/ports/output/services/github-repository-service.interface';\n\n/** Permissions that grant direct push access to a repository. */\nconst PUSH_PERMISSIONS = new Set(['ADMIN', 'MAINTAIN', 'WRITE']);\n\nexport async function getViewerPermission(repoPath: string): Promise<{ canPushDirectly: boolean }> {\n try {\n const service = resolve<IGitHubRepositoryService>('IGitHubRepositoryService');\n const permission = await service.getViewerPermission(repoPath);\n return { canPushDirectly: PUSH_PERMISSIONS.has(permission) };\n } catch {\n return { canPushDirectly: false };\n }\n}\n","export {getAllAgentModels as '00f373462bd571a1792715325fb5184a126c445327'} from 'ACTIONS_MODULE0'\nexport {checkAllAgentsStatus as '00dbbf086a7ef425edbbc5cb9795264e9a155bd40b'} from 'ACTIONS_MODULE1'\nexport {updateAgentAndModel as '60b4cbab57a503aa7c536cfc32583da15139bead1a'} from 'ACTIONS_MODULE2'\nexport {pickFolder as '009691a6cd3b2c2ef91fbc73255d2709b6c5d051c4'} from 'ACTIONS_MODULE3'\nexport {listGitHubRepositories as '4031ecccb7cd5c86319137da2af0a51b0c0f8e0d95'} from 'ACTIONS_MODULE4'\nexport {listGitHubOrganizations as '0090375660d2bf0df09932302bb2d6896c322ddc2f'} from 'ACTIONS_MODULE5'\nexport {importGitHubRepository as '40895ee90ed9c02eb9b0d9db928e937cde07a407a4'} from 'ACTIONS_MODULE6'\nexport {deployFeature as '4019757a68b2ab125dac7b85cd2e1dac22da3db6c5'} from 'ACTIONS_MODULE7'\nexport {deployRepository as '40948fe1c9352411e89edf299ed1e8f51bce06bee4'} from 'ACTIONS_MODULE8'\nexport {deployApplication as '408ebe4b532992092d18a9b513f7f54038544f0585'} from 'ACTIONS_MODULE9'\nexport {stopDeployment as '4058d4d774b9a00d4ea404dc2e1dffd3559a13fa1e'} from 'ACTIONS_MODULE10'\nexport {getDeploymentStatus as '40c3e4f1640509f222ee938f58e619fb9dc9e885ad'} from 'ACTIONS_MODULE11'\nexport {openIde as '40227fbf1f06087486d930f2be73341e7ed80091c3'} from 'ACTIONS_MODULE12'\nexport {openShell as '401e7b7f484afefb6755fb3d3f2c2a4c3ed1ec3f99'} from 'ACTIONS_MODULE13'\nexport {openFolder as '407ae360e1c587f168a62691f5fbb902cc30239161'} from 'ACTIONS_MODULE14'\nexport {syncRepository as '40a57525e1106170a91c42e7c7f3fa9a53481100c8'} from 'ACTIONS_MODULE15'\nexport {getDeploymentLogs as '402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40'} from 'ACTIONS_MODULE16'\nexport {createProjectAndFeature as '4026e56be70d948dc3268ab6e2f2886a1104d8cd07'} from 'ACTIONS_MODULE17'\nexport {createApplication as '40f8c300c4c7d5f53c5c9434afc2eaaa9da4769348'} from 'ACTIONS_MODULE18'\nexport {createProjectFolder as '40d591435cbf5e2844d6b0f56fb270938d5c8489e7'} from 'ACTIONS_MODULE19'\nexport {archiveFeature as '40efbe9d403a44d886e0e48abc4980547033c4d898'} from 'ACTIONS_MODULE20'\nexport {deleteFeature as '78ffe5e01b8dbdc2aea6bf9627a1d57fc4f618024c'} from 'ACTIONS_MODULE21'\nexport {resumeFeature as '400b887a616cbf773d1916f3c9befda61ada388bbd'} from 'ACTIONS_MODULE22'\nexport {startFeature as '40726cf93f7ac7e2721f95270a9e1add6a92c81e35'} from 'ACTIONS_MODULE23'\nexport {stopFeature as '40bf7f0efdba8ee98115b817c2be5858318a7f47e8'} from 'ACTIONS_MODULE24'\nexport {unarchiveFeature as '402cdb26f49257eeb71728b1b3e61835d9fcf99014'} from 'ACTIONS_MODULE25'\nexport {addRepository as '40d9f11e8b5a5014c05d6e7c71d286bc3e3cf967f9'} from 'ACTIONS_MODULE26'\nexport {deleteRepository as '606a87dde2ab8df2216d158a8b5e396110073e0a9b'} from 'ACTIONS_MODULE27'\nexport {deleteApplication as '40967a1f7fb638f1a5c3db0578e8e9496de2aa9b41'} from 'ACTIONS_MODULE28'\nexport {getFeatureMetadata as '4066f99f07b348d08962c2d7639dd18f214b5947e1'} from 'ACTIONS_MODULE29'\nexport {getWorkflowDefaults as '009b2eebb24492818967fe4ceb71a68aff9493f1ee'} from 'ACTIONS_MODULE30'\nexport {getViewerPermission as '40c0af35a93210890daf635d8591a65315a5d61a27'} from 'ACTIONS_MODULE31'\nexport {createFeature as '40d0e3402652c3ee7206eb31e80d3ae87ece9b492e'} from 'ACTIONS_MODULE32'\nexport {getViewerPermission as '40c0af35a93210890daf635d8591a65315a5d61a27'} from 'ACTIONS_MODULE31'\n"],"names":[],"mappings":"8DAEA,EAAA,EAAA,CAAA,CAAA,oBAiBO,eAAe,IAEpB,GAAM,UAAE,CAAQ,CAAE,CADD,CAAA,CACI,CADJ,EAAA,WAAA,AAAW,IAG5B,MAAO,CACL,cAAe,CACb,SAAU,EAAS,oBAAoB,CAAC,QAAQ,CAChD,UAAW,EAAS,oBAAoB,CAAC,SAAS,CAClD,WAAY,EAAS,oBAAoB,CAAC,UAAU,AACtD,EACA,KAAM,EAAS,oBAAoB,CAAC,4BAA4B,CAChE,OAAQ,EAAS,8BAA8B,CAC/C,eAAgB,EAAS,cAAc,CACvC,eAAgB,EAAS,cAAc,CACvC,eAAgB,EAAS,cAAc,CACvC,KAAM,EAAS,eAAe,CAC9B,aAAc,EAAS,cAAc,EAAE,UAAW,CACpD,CACF,iCAlBsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,+CCjBtB,IAAA,EAAA,EAAA,CAAA,CAAA,OAIA,IAAM,EAAmB,IAAI,IAAI,CAAC,QAAS,WAAY,QAAQ,EAExD,eAAe,EAAoB,CAAgB,EACxD,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAA2B,4BAC5C,EAAa,MAAM,EAAQ,mBAAmB,CAAC,GACrD,MAAO,CAAE,gBAAiB,EAAiB,GAAG,CAAC,EAAY,CAC7D,CAAE,KAAM,CACN,MAAO,CAAE,gBAAiB,EAAM,CAClC,CACF,iCARsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,uECRtB,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
@@ -1,3 +1,3 @@
1
- module.exports=[35556,a=>{"use strict";var b=a.i(92658),c=a.i(74533),d=a.i(12057),e=a.i(12581);let f=(0,d.promisify)(c.execFile);async function g(a,b){let{stdout:c}=await f("git",b,{cwd:a,timeout:5e3});return c.trim()}async function h(a,b=8){if(!a.trim())return{commits:[],branches:[],remotes:[],tags:[],stashCount:0,currentBranch:"",diffStats:null,workingTree:{staged:0,modified:0,untracked:0},error:"Repository path is required"};let c=await Promise.allSettled([g(a,["log",`--max-count=${b}`,"--format=%H%x00%h%x00%s%x00%an%x00%cr","--no-color"]),g(a,["branch","--show-current"]),g(a,["branch","--sort=-committerdate","--format=%(HEAD)%(refname:short)%00%(committerdate:relative)","--no-color"]),g(a,["remote","-v"]),g(a,["tag","--sort=-creatordate","-l","--format=%(refname:short)"]),g(a,["stash","list"]),g(a,["status","--porcelain"]),g(a,["diff","HEAD","--shortstat"])]),d=a=>"fulfilled"===c[a].status?c[a].value:"",e=d(0).split("\n").filter(Boolean).map(a=>{let[b,c,d,e,f]=a.split("\0");return{hash:b,shortHash:c,subject:d,author:e,relativeDate:f}}),f=d(1);e.length>0&&f&&(e[0].branch=f);let i=d(2).split("\n").filter(Boolean).slice(0,10).map(a=>{let b=a.startsWith("*"),[c,d]=(b?a.slice(1):a).split("\0");return{name:c.trim(),isCurrent:b,lastCommitDate:d?.trim()??""}}),j=new Map;d(3).split("\n").filter(Boolean).forEach(a=>{let b=a.match(/^(\S+)\s+(\S+)\s+\(fetch\)/);if(b){let a=b[2].replace(/\/\/[^@]+@/,"//").replace(/x-access-token:[^@]+@/,"");j.set(b[1],a)}});let k=Array.from(j,([a,b])=>({name:a,url:b})),l=d(4).split("\n").filter(Boolean).slice(0,5),m=d(5).split("\n").filter(Boolean).length,n=d(6).split("\n").filter(Boolean),o={staged:0,modified:0,untracked:0};for(let a of n){let b=a[0],c=a[1];"?"===b&&"?"===c?o.untracked++:" "!==b&&"?"!==b&&o.staged++," "!==c&&"?"!==c&&o.modified++}let p=null,q=d(7);if(q){let a=q.match(/(\d+) file/),b=q.match(/(\d+) insertion/),c=q.match(/(\d+) deletion/);p={filesChanged:a?parseInt(a[1],10):0,insertions:b?parseInt(b[1],10):0,deletions:c?parseInt(c[1],10):0}}return{commits:e,branches:i,remotes:k,tags:l,stashCount:m,currentBranch:f,diffStats:p,workingTree:o}}async function i(a,b=10){let c=await h(a,b);return{entries:c.commits,error:c.error}}(0,e.ensureServerEntryExports)([h,i]),(0,b.registerServerReference)(h,"6002b2efcb7fde75490fcaaaad63e50ef66e24d622",null),(0,b.registerServerReference)(i,"601fe1e89e4d174d6214845715916e3a9aadd9fe32",null),a.s(["getGitRepoInfo",()=>h])},12358,a=>{"use strict";var b=a.i(23504),c=a.i(8115),d=a.i(27900),e=a.i(12513),f=a.i(73101),g=a.i(54775),h=a.i(65324),i=a.i(33841),j=a.i(46646),k=a.i(68378),l=a.i(68670),m=a.i(85321),n=a.i(84095),o=a.i(56799),p=a.i(80496),q=a.i(93225),r=a.i(94691),s=a.i(77710),t=a.i(45395),u=a.i(76707),v=a.i(10528),w=a.i(50845),x=a.i(26604),y=a.i(54723),z=a.i(18942),A=a.i(42886),B=a.i(49560),C=a.i(39353),D=a.i(95072),E=a.i(29207),F=a.i(35556);a.s([],6524),a.i(6524),a.s(["0076b3d42ef15994d8670dee6da36b75eab086f592",()=>c.checkAllAgentsStatus,"00dcc709a01f0569bfed0d0fd913bb2ae5820dc7b8",()=>e.pickFolder,"00f239232cd033d64ef90f37a6a00a7d3d9ce90753",()=>b.getAllAgentModels,"00f95796b31f9a01fee1c8cabf36739e0626fb895b",()=>g.listGitHubOrganizations,"40061c1a99024f4c0916f2ad90f9af3b2a4f99bdff",()=>h.importGitHubRepository,"4007c40d988784c0b9cc291fff583c56299825ace2",()=>t.createApplication,"4019e9b366eba6e7ae533d69ad430786e1d105d3f7",()=>D.deleteApplication,"4033fa30fe771d213d836267fca1d2bc348edc0463",()=>B.addRepository,"4035315500c0fdbe957490a4576599fe4e10362d00",()=>k.deployApplication,"40387bb1c96ffc89cb38570b2d92252ea9553593ea",()=>n.openIde,"403dc454070c72dd97868a0d66397a112bb429aa23",()=>p.openFolder,"405797f8b8319ac6933f44b97b53ed69b7d74f720d",()=>m.getDeploymentStatus,"4075f02c367a5dde2c84769f546b9fd9b17ebbd20c",()=>E.getFeatureMetadata,"407777b8d49490f756be2a48c39ffbb3c69010bf47",()=>o.openShell,"4080e8abd8dccdccdcffa041ededc81a57388866e4",()=>j.deployRepository,"40881f084c3e4fceddc63e1cc21c2bcc21650c5959",()=>u.createProjectFolder,"408c526d74b1227a231a476bd11bf3f73246a2a8bd",()=>v.archiveFeature,"409b2b7c453b85ebe22be32a1abbb566f8aac0461c",()=>f.listGitHubRepositories,"40a0177b9f2aa86822c61e9a614f071fe7717b8bda",()=>s.createProjectAndFeature,"40a6fc1a9d123177a769c05d5478144ebc3264f197",()=>z.stopFeature,"40b4eeeb2999f5dd298c7eeb72e866dd706847cb43",()=>i.deployFeature,"40b6be2e695ac64cea2ea7e061df3df9b9e8c668e5",()=>l.stopDeployment,"40ba330bb57038c106e2cb5a9706214e74b6f4bc60",()=>r.getDeploymentLogs,"40c46ad4e0e3b0f93e0dd39ba080a68bb790db6b85",()=>A.unarchiveFeature,"40d46f342a5068b30bbe13eb5d331318d858d0244e",()=>y.startFeature,"40e2f984567eba20b462bc917f0c779f3b7f2edba3",()=>x.resumeFeature,"40e5ff0dc2321899262d6aecf5d972433293138faf",()=>q.syncRepository,"6002b2efcb7fde75490fcaaaad63e50ef66e24d622",()=>F.getGitRepoInfo,"602f8e351e233f77d1163d32b17d0c0b7c5a3e5059",()=>d.updateAgentAndModel,"60f772bd3d6eee8bb874a9dc740c638f04b189228d",()=>C.deleteRepository,"78104a10bad3e45e6914a57cc4073a82d3632e9640",()=>w.deleteFeature],12358)}];
1
+ module.exports=[35556,a=>{"use strict";var b=a.i(92658),c=a.i(74533),d=a.i(12057),e=a.i(12581);let f=(0,d.promisify)(c.execFile);async function g(a,b){let{stdout:c}=await f("git",b,{cwd:a,timeout:5e3});return c.trim()}async function h(a,b=8){if(!a.trim())return{commits:[],branches:[],remotes:[],tags:[],stashCount:0,currentBranch:"",diffStats:null,workingTree:{staged:0,modified:0,untracked:0},error:"Repository path is required"};let c=await Promise.allSettled([g(a,["log",`--max-count=${b}`,"--format=%H%x00%h%x00%s%x00%an%x00%cr","--no-color"]),g(a,["branch","--show-current"]),g(a,["branch","--sort=-committerdate","--format=%(HEAD)%(refname:short)%00%(committerdate:relative)","--no-color"]),g(a,["remote","-v"]),g(a,["tag","--sort=-creatordate","-l","--format=%(refname:short)"]),g(a,["stash","list"]),g(a,["status","--porcelain"]),g(a,["diff","HEAD","--shortstat"])]),d=a=>"fulfilled"===c[a].status?c[a].value:"",e=d(0).split("\n").filter(Boolean).map(a=>{let[b,c,d,e,f]=a.split("\0");return{hash:b,shortHash:c,subject:d,author:e,relativeDate:f}}),f=d(1);e.length>0&&f&&(e[0].branch=f);let i=d(2).split("\n").filter(Boolean).slice(0,10).map(a=>{let b=a.startsWith("*"),[c,d]=(b?a.slice(1):a).split("\0");return{name:c.trim(),isCurrent:b,lastCommitDate:d?.trim()??""}}),j=new Map;d(3).split("\n").filter(Boolean).forEach(a=>{let b=a.match(/^(\S+)\s+(\S+)\s+\(fetch\)/);if(b){let a=b[2].replace(/\/\/[^@]+@/,"//").replace(/x-access-token:[^@]+@/,"");j.set(b[1],a)}});let k=Array.from(j,([a,b])=>({name:a,url:b})),l=d(4).split("\n").filter(Boolean).slice(0,5),m=d(5).split("\n").filter(Boolean).length,n=d(6).split("\n").filter(Boolean),o={staged:0,modified:0,untracked:0};for(let a of n){let b=a[0],c=a[1];"?"===b&&"?"===c?o.untracked++:" "!==b&&"?"!==b&&o.staged++," "!==c&&"?"!==c&&o.modified++}let p=null,q=d(7);if(q){let a=q.match(/(\d+) file/),b=q.match(/(\d+) insertion/),c=q.match(/(\d+) deletion/);p={filesChanged:a?parseInt(a[1],10):0,insertions:b?parseInt(b[1],10):0,deletions:c?parseInt(c[1],10):0}}return{commits:e,branches:i,remotes:k,tags:l,stashCount:m,currentBranch:f,diffStats:p,workingTree:o}}async function i(a,b=10){let c=await h(a,b);return{entries:c.commits,error:c.error}}(0,e.ensureServerEntryExports)([h,i]),(0,b.registerServerReference)(h,"60056cb1d88afe7b000b79614b93edfc589e20dfdb",null),(0,b.registerServerReference)(i,"60d09cdb708d3b0cfa0e6be3558887cc6fd471ebe8",null),a.s(["getGitRepoInfo",()=>h])},12358,a=>{"use strict";var b=a.i(23504),c=a.i(8115),d=a.i(27900),e=a.i(12513),f=a.i(73101),g=a.i(54775),h=a.i(65324),i=a.i(33841),j=a.i(46646),k=a.i(68378),l=a.i(68670),m=a.i(85321),n=a.i(84095),o=a.i(56799),p=a.i(80496),q=a.i(93225),r=a.i(94691),s=a.i(77710),t=a.i(45395),u=a.i(76707),v=a.i(10528),w=a.i(50845),x=a.i(26604),y=a.i(54723),z=a.i(18942),A=a.i(42886),B=a.i(49560),C=a.i(39353),D=a.i(95072),E=a.i(29207),F=a.i(35556);a.s([],6524),a.i(6524),a.s(["0090375660d2bf0df09932302bb2d6896c322ddc2f",()=>g.listGitHubOrganizations,"009691a6cd3b2c2ef91fbc73255d2709b6c5d051c4",()=>e.pickFolder,"00dbbf086a7ef425edbbc5cb9795264e9a155bd40b",()=>c.checkAllAgentsStatus,"00f373462bd571a1792715325fb5184a126c445327",()=>b.getAllAgentModels,"400b887a616cbf773d1916f3c9befda61ada388bbd",()=>x.resumeFeature,"4019757a68b2ab125dac7b85cd2e1dac22da3db6c5",()=>i.deployFeature,"401e7b7f484afefb6755fb3d3f2c2a4c3ed1ec3f99",()=>o.openShell,"40227fbf1f06087486d930f2be73341e7ed80091c3",()=>n.openIde,"4026e56be70d948dc3268ab6e2f2886a1104d8cd07",()=>s.createProjectAndFeature,"402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40",()=>r.getDeploymentLogs,"402cdb26f49257eeb71728b1b3e61835d9fcf99014",()=>A.unarchiveFeature,"4031ecccb7cd5c86319137da2af0a51b0c0f8e0d95",()=>f.listGitHubRepositories,"4058d4d774b9a00d4ea404dc2e1dffd3559a13fa1e",()=>l.stopDeployment,"4066f99f07b348d08962c2d7639dd18f214b5947e1",()=>E.getFeatureMetadata,"40726cf93f7ac7e2721f95270a9e1add6a92c81e35",()=>y.startFeature,"407ae360e1c587f168a62691f5fbb902cc30239161",()=>p.openFolder,"40895ee90ed9c02eb9b0d9db928e937cde07a407a4",()=>h.importGitHubRepository,"408ebe4b532992092d18a9b513f7f54038544f0585",()=>k.deployApplication,"40948fe1c9352411e89edf299ed1e8f51bce06bee4",()=>j.deployRepository,"40967a1f7fb638f1a5c3db0578e8e9496de2aa9b41",()=>D.deleteApplication,"40a57525e1106170a91c42e7c7f3fa9a53481100c8",()=>q.syncRepository,"40bf7f0efdba8ee98115b817c2be5858318a7f47e8",()=>z.stopFeature,"40c3e4f1640509f222ee938f58e619fb9dc9e885ad",()=>m.getDeploymentStatus,"40d591435cbf5e2844d6b0f56fb270938d5c8489e7",()=>u.createProjectFolder,"40d9f11e8b5a5014c05d6e7c71d286bc3e3cf967f9",()=>B.addRepository,"40efbe9d403a44d886e0e48abc4980547033c4d898",()=>v.archiveFeature,"40f8c300c4c7d5f53c5c9434afc2eaaa9da4769348",()=>t.createApplication,"60056cb1d88afe7b000b79614b93edfc589e20dfdb",()=>F.getGitRepoInfo,"606a87dde2ab8df2216d158a8b5e396110073e0a9b",()=>C.deleteRepository,"60b4cbab57a503aa7c536cfc32583da15139bead1a",()=>d.updateAgentAndModel,"78ffe5e01b8dbdc2aea6bf9627a1d57fc4f618024c",()=>w.deleteFeature],12358)}];
2
2
 
3
3
  //# sourceMappingURL=src_presentation_web_5d3f4199._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-git-log.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/repository/%5BrepositoryId%5D/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["'use server';\n\nimport { execFile } from 'node:child_process';\nimport { promisify } from 'node:util';\n\nconst execFileAsync = promisify(execFile);\n\nasync function git(cwd: string, args: string[]): Promise<string> {\n const { stdout } = await execFileAsync('git', args, { cwd, timeout: 5000 });\n return stdout.trim();\n}\n\nexport interface GitLogEntry {\n hash: string;\n shortHash: string;\n subject: string;\n author: string;\n relativeDate: string;\n branch?: string;\n}\n\nexport interface GitBranchInfo {\n name: string;\n isCurrent: boolean;\n lastCommitDate: string;\n}\n\nexport interface GitRemoteInfo {\n name: string;\n url: string;\n}\n\nexport interface GitWorkingTreeStatus {\n staged: number;\n modified: number;\n untracked: number;\n}\n\nexport interface GitDiffStats {\n filesChanged: number;\n insertions: number;\n deletions: number;\n}\n\nexport interface GitRepoInfo {\n commits: GitLogEntry[];\n branches: GitBranchInfo[];\n remotes: GitRemoteInfo[];\n tags: string[];\n stashCount: number;\n currentBranch: string;\n diffStats: GitDiffStats | null;\n workingTree: GitWorkingTreeStatus;\n error?: string;\n}\n\nexport async function getGitRepoInfo(\n repositoryPath: string,\n commitLimit = 8\n): Promise<GitRepoInfo> {\n const empty: GitRepoInfo = {\n commits: [],\n branches: [],\n remotes: [],\n tags: [],\n stashCount: 0,\n currentBranch: '',\n diffStats: null,\n workingTree: { staged: 0, modified: 0, untracked: 0 },\n };\n\n if (!repositoryPath.trim()) {\n return { ...empty, error: 'Repository path is required' };\n }\n\n const results = await Promise.allSettled([\n // 0: commits\n git(repositoryPath, [\n 'log',\n `--max-count=${commitLimit}`,\n '--format=%H%x00%h%x00%s%x00%an%x00%cr',\n '--no-color',\n ]),\n // 1: current branch\n git(repositoryPath, ['branch', '--show-current']),\n // 2: branches with dates\n git(repositoryPath, [\n 'branch',\n '--sort=-committerdate',\n '--format=%(HEAD)%(refname:short)%00%(committerdate:relative)',\n '--no-color',\n ]),\n // 3: remotes\n git(repositoryPath, ['remote', '-v']),\n // 4: tags (recent 5)\n git(repositoryPath, ['tag', '--sort=-creatordate', '-l', '--format=%(refname:short)']),\n // 5: stash count\n git(repositoryPath, ['stash', 'list']),\n // 6: working tree status\n git(repositoryPath, ['status', '--porcelain']),\n // 7: diff stats (uncommitted — includes staged + unstaged vs HEAD)\n git(repositoryPath, ['diff', 'HEAD', '--shortstat']),\n ]);\n\n const val = (i: number) => (results[i].status === 'fulfilled' ? results[i].value : '');\n\n // Parse commits\n const commits: GitLogEntry[] = val(0)\n .split('\\n')\n .filter(Boolean)\n .map((line: string) => {\n const [hash, shortHash, subject, author, relativeDate] = line.split('\\0');\n return { hash, shortHash, subject, author, relativeDate };\n });\n\n const currentBranch = val(1);\n if (commits.length > 0 && currentBranch) {\n commits[0].branch = currentBranch;\n }\n\n // Parse branches\n const branches: GitBranchInfo[] = val(2)\n .split('\\n')\n .filter(Boolean)\n .slice(0, 10)\n .map((line: string) => {\n const isCurrent = line.startsWith('*');\n const clean = isCurrent ? line.slice(1) : line;\n const [name, lastCommitDate] = clean.split('\\0');\n return { name: name.trim(), isCurrent, lastCommitDate: lastCommitDate?.trim() ?? '' };\n });\n\n // Parse remotes (dedup fetch/push)\n const remoteMap = new Map<string, string>();\n val(3)\n .split('\\n')\n .filter(Boolean)\n .forEach((line: string) => {\n const match = line.match(/^(\\S+)\\s+(\\S+)\\s+\\(fetch\\)/);\n if (match) {\n // Strip credentials/tokens from URL before sending to client\n const sanitized = match[2].replace(/\\/\\/[^@]+@/, '//').replace(/x-access-token:[^@]+@/, '');\n remoteMap.set(match[1], sanitized);\n }\n });\n const remotes: GitRemoteInfo[] = Array.from(remoteMap, ([name, url]) => ({ name, url }));\n\n // Parse tags (top 5)\n const tags = val(4).split('\\n').filter(Boolean).slice(0, 5);\n\n // Stash count\n const stashCount = val(5).split('\\n').filter(Boolean).length;\n\n // Working tree status\n const statusLines = val(6).split('\\n').filter(Boolean);\n const workingTree: GitWorkingTreeStatus = { staged: 0, modified: 0, untracked: 0 };\n for (const line of statusLines) {\n const x = line[0];\n const y = line[1];\n if (x === '?' && y === '?') workingTree.untracked++;\n else if (x !== ' ' && x !== '?') workingTree.staged++;\n if (y !== ' ' && y !== '?') workingTree.modified++;\n }\n\n // Diff stats\n let diffStats: GitDiffStats | null = null;\n const diffLine = val(7);\n if (diffLine) {\n const files = diffLine.match(/(\\d+) file/);\n const ins = diffLine.match(/(\\d+) insertion/);\n const del = diffLine.match(/(\\d+) deletion/);\n diffStats = {\n filesChanged: files ? parseInt(files[1], 10) : 0,\n insertions: ins ? parseInt(ins[1], 10) : 0,\n deletions: del ? parseInt(del[1], 10) : 0,\n };\n }\n\n return { commits, branches, remotes, tags, stashCount, currentBranch, diffStats, workingTree };\n}\n\n// Keep backward compat\nexport async function getGitLog(\n repositoryPath: string,\n limit = 10\n): Promise<{ entries: GitLogEntry[]; error?: string }> {\n const info = await getGitRepoInfo(repositoryPath, limit);\n return { entries: info.commits, error: info.error };\n}\n","export {getAllAgentModels as '00f239232cd033d64ef90f37a6a00a7d3d9ce90753'} from 'ACTIONS_MODULE0'\nexport {checkAllAgentsStatus as '0076b3d42ef15994d8670dee6da36b75eab086f592'} from 'ACTIONS_MODULE1'\nexport {updateAgentAndModel as '602f8e351e233f77d1163d32b17d0c0b7c5a3e5059'} from 'ACTIONS_MODULE2'\nexport {pickFolder as '00dcc709a01f0569bfed0d0fd913bb2ae5820dc7b8'} from 'ACTIONS_MODULE3'\nexport {listGitHubRepositories as '409b2b7c453b85ebe22be32a1abbb566f8aac0461c'} from 'ACTIONS_MODULE4'\nexport {listGitHubOrganizations as '00f95796b31f9a01fee1c8cabf36739e0626fb895b'} from 'ACTIONS_MODULE5'\nexport {importGitHubRepository as '40061c1a99024f4c0916f2ad90f9af3b2a4f99bdff'} from 'ACTIONS_MODULE6'\nexport {deployFeature as '40b4eeeb2999f5dd298c7eeb72e866dd706847cb43'} from 'ACTIONS_MODULE7'\nexport {deployRepository as '4080e8abd8dccdccdcffa041ededc81a57388866e4'} from 'ACTIONS_MODULE8'\nexport {deployApplication as '4035315500c0fdbe957490a4576599fe4e10362d00'} from 'ACTIONS_MODULE9'\nexport {stopDeployment as '40b6be2e695ac64cea2ea7e061df3df9b9e8c668e5'} from 'ACTIONS_MODULE10'\nexport {getDeploymentStatus as '405797f8b8319ac6933f44b97b53ed69b7d74f720d'} from 'ACTIONS_MODULE11'\nexport {openIde as '40387bb1c96ffc89cb38570b2d92252ea9553593ea'} from 'ACTIONS_MODULE12'\nexport {openShell as '407777b8d49490f756be2a48c39ffbb3c69010bf47'} from 'ACTIONS_MODULE13'\nexport {openFolder as '403dc454070c72dd97868a0d66397a112bb429aa23'} from 'ACTIONS_MODULE14'\nexport {syncRepository as '40e5ff0dc2321899262d6aecf5d972433293138faf'} from 'ACTIONS_MODULE15'\nexport {getDeploymentLogs as '40ba330bb57038c106e2cb5a9706214e74b6f4bc60'} from 'ACTIONS_MODULE16'\nexport {createProjectAndFeature as '40a0177b9f2aa86822c61e9a614f071fe7717b8bda'} from 'ACTIONS_MODULE17'\nexport {createApplication as '4007c40d988784c0b9cc291fff583c56299825ace2'} from 'ACTIONS_MODULE18'\nexport {createProjectFolder as '40881f084c3e4fceddc63e1cc21c2bcc21650c5959'} from 'ACTIONS_MODULE19'\nexport {archiveFeature as '408c526d74b1227a231a476bd11bf3f73246a2a8bd'} from 'ACTIONS_MODULE20'\nexport {deleteFeature as '78104a10bad3e45e6914a57cc4073a82d3632e9640'} from 'ACTIONS_MODULE21'\nexport {resumeFeature as '40e2f984567eba20b462bc917f0c779f3b7f2edba3'} from 'ACTIONS_MODULE22'\nexport {startFeature as '40d46f342a5068b30bbe13eb5d331318d858d0244e'} from 'ACTIONS_MODULE23'\nexport {stopFeature as '40a6fc1a9d123177a769c05d5478144ebc3264f197'} from 'ACTIONS_MODULE24'\nexport {unarchiveFeature as '40c46ad4e0e3b0f93e0dd39ba080a68bb790db6b85'} from 'ACTIONS_MODULE25'\nexport {addRepository as '4033fa30fe771d213d836267fca1d2bc348edc0463'} from 'ACTIONS_MODULE26'\nexport {deleteRepository as '60f772bd3d6eee8bb874a9dc740c638f04b189228d'} from 'ACTIONS_MODULE27'\nexport {deleteApplication as '4019e9b366eba6e7ae533d69ad430786e1d105d3f7'} from 'ACTIONS_MODULE28'\nexport {getFeatureMetadata as '4075f02c367a5dde2c84769f546b9fd9b17ebbd20c'} from 'ACTIONS_MODULE29'\nexport {getGitRepoInfo as '6002b2efcb7fde75490fcaaaad63e50ef66e24d622'} from 'ACTIONS_MODULE30'\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-git-log.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/repository/%5BrepositoryId%5D/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["'use server';\n\nimport { execFile } from 'node:child_process';\nimport { promisify } from 'node:util';\n\nconst execFileAsync = promisify(execFile);\n\nasync function git(cwd: string, args: string[]): Promise<string> {\n const { stdout } = await execFileAsync('git', args, { cwd, timeout: 5000 });\n return stdout.trim();\n}\n\nexport interface GitLogEntry {\n hash: string;\n shortHash: string;\n subject: string;\n author: string;\n relativeDate: string;\n branch?: string;\n}\n\nexport interface GitBranchInfo {\n name: string;\n isCurrent: boolean;\n lastCommitDate: string;\n}\n\nexport interface GitRemoteInfo {\n name: string;\n url: string;\n}\n\nexport interface GitWorkingTreeStatus {\n staged: number;\n modified: number;\n untracked: number;\n}\n\nexport interface GitDiffStats {\n filesChanged: number;\n insertions: number;\n deletions: number;\n}\n\nexport interface GitRepoInfo {\n commits: GitLogEntry[];\n branches: GitBranchInfo[];\n remotes: GitRemoteInfo[];\n tags: string[];\n stashCount: number;\n currentBranch: string;\n diffStats: GitDiffStats | null;\n workingTree: GitWorkingTreeStatus;\n error?: string;\n}\n\nexport async function getGitRepoInfo(\n repositoryPath: string,\n commitLimit = 8\n): Promise<GitRepoInfo> {\n const empty: GitRepoInfo = {\n commits: [],\n branches: [],\n remotes: [],\n tags: [],\n stashCount: 0,\n currentBranch: '',\n diffStats: null,\n workingTree: { staged: 0, modified: 0, untracked: 0 },\n };\n\n if (!repositoryPath.trim()) {\n return { ...empty, error: 'Repository path is required' };\n }\n\n const results = await Promise.allSettled([\n // 0: commits\n git(repositoryPath, [\n 'log',\n `--max-count=${commitLimit}`,\n '--format=%H%x00%h%x00%s%x00%an%x00%cr',\n '--no-color',\n ]),\n // 1: current branch\n git(repositoryPath, ['branch', '--show-current']),\n // 2: branches with dates\n git(repositoryPath, [\n 'branch',\n '--sort=-committerdate',\n '--format=%(HEAD)%(refname:short)%00%(committerdate:relative)',\n '--no-color',\n ]),\n // 3: remotes\n git(repositoryPath, ['remote', '-v']),\n // 4: tags (recent 5)\n git(repositoryPath, ['tag', '--sort=-creatordate', '-l', '--format=%(refname:short)']),\n // 5: stash count\n git(repositoryPath, ['stash', 'list']),\n // 6: working tree status\n git(repositoryPath, ['status', '--porcelain']),\n // 7: diff stats (uncommitted — includes staged + unstaged vs HEAD)\n git(repositoryPath, ['diff', 'HEAD', '--shortstat']),\n ]);\n\n const val = (i: number) => (results[i].status === 'fulfilled' ? results[i].value : '');\n\n // Parse commits\n const commits: GitLogEntry[] = val(0)\n .split('\\n')\n .filter(Boolean)\n .map((line: string) => {\n const [hash, shortHash, subject, author, relativeDate] = line.split('\\0');\n return { hash, shortHash, subject, author, relativeDate };\n });\n\n const currentBranch = val(1);\n if (commits.length > 0 && currentBranch) {\n commits[0].branch = currentBranch;\n }\n\n // Parse branches\n const branches: GitBranchInfo[] = val(2)\n .split('\\n')\n .filter(Boolean)\n .slice(0, 10)\n .map((line: string) => {\n const isCurrent = line.startsWith('*');\n const clean = isCurrent ? line.slice(1) : line;\n const [name, lastCommitDate] = clean.split('\\0');\n return { name: name.trim(), isCurrent, lastCommitDate: lastCommitDate?.trim() ?? '' };\n });\n\n // Parse remotes (dedup fetch/push)\n const remoteMap = new Map<string, string>();\n val(3)\n .split('\\n')\n .filter(Boolean)\n .forEach((line: string) => {\n const match = line.match(/^(\\S+)\\s+(\\S+)\\s+\\(fetch\\)/);\n if (match) {\n // Strip credentials/tokens from URL before sending to client\n const sanitized = match[2].replace(/\\/\\/[^@]+@/, '//').replace(/x-access-token:[^@]+@/, '');\n remoteMap.set(match[1], sanitized);\n }\n });\n const remotes: GitRemoteInfo[] = Array.from(remoteMap, ([name, url]) => ({ name, url }));\n\n // Parse tags (top 5)\n const tags = val(4).split('\\n').filter(Boolean).slice(0, 5);\n\n // Stash count\n const stashCount = val(5).split('\\n').filter(Boolean).length;\n\n // Working tree status\n const statusLines = val(6).split('\\n').filter(Boolean);\n const workingTree: GitWorkingTreeStatus = { staged: 0, modified: 0, untracked: 0 };\n for (const line of statusLines) {\n const x = line[0];\n const y = line[1];\n if (x === '?' && y === '?') workingTree.untracked++;\n else if (x !== ' ' && x !== '?') workingTree.staged++;\n if (y !== ' ' && y !== '?') workingTree.modified++;\n }\n\n // Diff stats\n let diffStats: GitDiffStats | null = null;\n const diffLine = val(7);\n if (diffLine) {\n const files = diffLine.match(/(\\d+) file/);\n const ins = diffLine.match(/(\\d+) insertion/);\n const del = diffLine.match(/(\\d+) deletion/);\n diffStats = {\n filesChanged: files ? parseInt(files[1], 10) : 0,\n insertions: ins ? parseInt(ins[1], 10) : 0,\n deletions: del ? parseInt(del[1], 10) : 0,\n };\n }\n\n return { commits, branches, remotes, tags, stashCount, currentBranch, diffStats, workingTree };\n}\n\n// Keep backward compat\nexport async function getGitLog(\n repositoryPath: string,\n limit = 10\n): Promise<{ entries: GitLogEntry[]; error?: string }> {\n const info = await getGitRepoInfo(repositoryPath, limit);\n return { entries: info.commits, error: info.error };\n}\n","export {getAllAgentModels as '00f373462bd571a1792715325fb5184a126c445327'} from 'ACTIONS_MODULE0'\nexport {checkAllAgentsStatus as '00dbbf086a7ef425edbbc5cb9795264e9a155bd40b'} from 'ACTIONS_MODULE1'\nexport {updateAgentAndModel as '60b4cbab57a503aa7c536cfc32583da15139bead1a'} from 'ACTIONS_MODULE2'\nexport {pickFolder as '009691a6cd3b2c2ef91fbc73255d2709b6c5d051c4'} from 'ACTIONS_MODULE3'\nexport {listGitHubRepositories as '4031ecccb7cd5c86319137da2af0a51b0c0f8e0d95'} from 'ACTIONS_MODULE4'\nexport {listGitHubOrganizations as '0090375660d2bf0df09932302bb2d6896c322ddc2f'} from 'ACTIONS_MODULE5'\nexport {importGitHubRepository as '40895ee90ed9c02eb9b0d9db928e937cde07a407a4'} from 'ACTIONS_MODULE6'\nexport {deployFeature as '4019757a68b2ab125dac7b85cd2e1dac22da3db6c5'} from 'ACTIONS_MODULE7'\nexport {deployRepository as '40948fe1c9352411e89edf299ed1e8f51bce06bee4'} from 'ACTIONS_MODULE8'\nexport {deployApplication as '408ebe4b532992092d18a9b513f7f54038544f0585'} from 'ACTIONS_MODULE9'\nexport {stopDeployment as '4058d4d774b9a00d4ea404dc2e1dffd3559a13fa1e'} from 'ACTIONS_MODULE10'\nexport {getDeploymentStatus as '40c3e4f1640509f222ee938f58e619fb9dc9e885ad'} from 'ACTIONS_MODULE11'\nexport {openIde as '40227fbf1f06087486d930f2be73341e7ed80091c3'} from 'ACTIONS_MODULE12'\nexport {openShell as '401e7b7f484afefb6755fb3d3f2c2a4c3ed1ec3f99'} from 'ACTIONS_MODULE13'\nexport {openFolder as '407ae360e1c587f168a62691f5fbb902cc30239161'} from 'ACTIONS_MODULE14'\nexport {syncRepository as '40a57525e1106170a91c42e7c7f3fa9a53481100c8'} from 'ACTIONS_MODULE15'\nexport {getDeploymentLogs as '402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40'} from 'ACTIONS_MODULE16'\nexport {createProjectAndFeature as '4026e56be70d948dc3268ab6e2f2886a1104d8cd07'} from 'ACTIONS_MODULE17'\nexport {createApplication as '40f8c300c4c7d5f53c5c9434afc2eaaa9da4769348'} from 'ACTIONS_MODULE18'\nexport {createProjectFolder as '40d591435cbf5e2844d6b0f56fb270938d5c8489e7'} from 'ACTIONS_MODULE19'\nexport {archiveFeature as '40efbe9d403a44d886e0e48abc4980547033c4d898'} from 'ACTIONS_MODULE20'\nexport {deleteFeature as '78ffe5e01b8dbdc2aea6bf9627a1d57fc4f618024c'} from 'ACTIONS_MODULE21'\nexport {resumeFeature as '400b887a616cbf773d1916f3c9befda61ada388bbd'} from 'ACTIONS_MODULE22'\nexport {startFeature as '40726cf93f7ac7e2721f95270a9e1add6a92c81e35'} from 'ACTIONS_MODULE23'\nexport {stopFeature as '40bf7f0efdba8ee98115b817c2be5858318a7f47e8'} from 'ACTIONS_MODULE24'\nexport {unarchiveFeature as '402cdb26f49257eeb71728b1b3e61835d9fcf99014'} from 'ACTIONS_MODULE25'\nexport {addRepository as '40d9f11e8b5a5014c05d6e7c71d286bc3e3cf967f9'} from 'ACTIONS_MODULE26'\nexport {deleteRepository as '606a87dde2ab8df2216d158a8b5e396110073e0a9b'} from 'ACTIONS_MODULE27'\nexport {deleteApplication as '40967a1f7fb638f1a5c3db0578e8e9496de2aa9b41'} from 'ACTIONS_MODULE28'\nexport {getFeatureMetadata as '4066f99f07b348d08962c2d7639dd18f214b5947e1'} from 'ACTIONS_MODULE29'\nexport {getGitRepoInfo as '60056cb1d88afe7b000b79614b93edfc589e20dfdb'} from 'ACTIONS_MODULE30'\n"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- module.exports=[94691,a=>{"use strict";var b=a.i(92658),c=a.i(96380);async function d(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,a.i(12581).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"40ba330bb57038c106e2cb5a9706214e74b6f4bc60",null),a.s(["getDeploymentLogs",()=>d])},17249,a=>{"use strict";var b=a.i(23504),c=a.i(8115),d=a.i(27900),e=a.i(12513),f=a.i(73101),g=a.i(54775),h=a.i(65324),i=a.i(94691),j=a.i(33841),k=a.i(46646),l=a.i(68378),m=a.i(68670),n=a.i(85321);a.s([],7543),a.i(7543),a.s(["0076b3d42ef15994d8670dee6da36b75eab086f592",()=>c.checkAllAgentsStatus,"00dcc709a01f0569bfed0d0fd913bb2ae5820dc7b8",()=>e.pickFolder,"00f239232cd033d64ef90f37a6a00a7d3d9ce90753",()=>b.getAllAgentModels,"00f95796b31f9a01fee1c8cabf36739e0626fb895b",()=>g.listGitHubOrganizations,"40061c1a99024f4c0916f2ad90f9af3b2a4f99bdff",()=>h.importGitHubRepository,"4035315500c0fdbe957490a4576599fe4e10362d00",()=>l.deployApplication,"405797f8b8319ac6933f44b97b53ed69b7d74f720d",()=>n.getDeploymentStatus,"4080e8abd8dccdccdcffa041ededc81a57388866e4",()=>k.deployRepository,"409b2b7c453b85ebe22be32a1abbb566f8aac0461c",()=>f.listGitHubRepositories,"40b4eeeb2999f5dd298c7eeb72e866dd706847cb43",()=>j.deployFeature,"40b6be2e695ac64cea2ea7e061df3df9b9e8c668e5",()=>m.stopDeployment,"40ba330bb57038c106e2cb5a9706214e74b6f4bc60",()=>i.getDeploymentLogs,"602f8e351e233f77d1163d32b17d0c0b7c5a3e5059",()=>d.updateAgentAndModel],17249)}];
1
+ module.exports=[94691,a=>{"use strict";var b=a.i(92658),c=a.i(96380);async function d(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,a.i(12581).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40",null),a.s(["getDeploymentLogs",()=>d])},17249,a=>{"use strict";var b=a.i(23504),c=a.i(8115),d=a.i(27900),e=a.i(12513),f=a.i(73101),g=a.i(54775),h=a.i(65324),i=a.i(94691),j=a.i(33841),k=a.i(46646),l=a.i(68378),m=a.i(68670),n=a.i(85321);a.s([],7543),a.i(7543),a.s(["0090375660d2bf0df09932302bb2d6896c322ddc2f",()=>g.listGitHubOrganizations,"009691a6cd3b2c2ef91fbc73255d2709b6c5d051c4",()=>e.pickFolder,"00dbbf086a7ef425edbbc5cb9795264e9a155bd40b",()=>c.checkAllAgentsStatus,"00f373462bd571a1792715325fb5184a126c445327",()=>b.getAllAgentModels,"4019757a68b2ab125dac7b85cd2e1dac22da3db6c5",()=>j.deployFeature,"402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40",()=>i.getDeploymentLogs,"4031ecccb7cd5c86319137da2af0a51b0c0f8e0d95",()=>f.listGitHubRepositories,"4058d4d774b9a00d4ea404dc2e1dffd3559a13fa1e",()=>m.stopDeployment,"40895ee90ed9c02eb9b0d9db928e937cde07a407a4",()=>h.importGitHubRepository,"408ebe4b532992092d18a9b513f7f54038544f0585",()=>l.deployApplication,"40948fe1c9352411e89edf299ed1e8f51bce06bee4",()=>k.deployRepository,"40c3e4f1640509f222ee938f58e619fb9dc9e885ad",()=>n.getDeploymentStatus,"60b4cbab57a503aa7c536cfc32583da15139bead1a",()=>d.updateAgentAndModel],17249)}];
2
2
 
3
3
  //# sourceMappingURL=src_presentation_web_6159fef8._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-deployment-logs.ts","../../../../../../../src/presentation/web/.next-internal/server/app/tools/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n IDeploymentService,\n LogEntry,\n} from '@shepai/core/application/ports/output/services/deployment-service.interface';\n\nexport async function getDeploymentLogs(targetId: string): Promise<LogEntry[] | null> {\n if (!targetId?.trim()) {\n return null;\n }\n\n const deploymentService = resolve<IDeploymentService>('IDeploymentService');\n return deploymentService.getLogs(targetId);\n}\n","export {getAllAgentModels as '00f239232cd033d64ef90f37a6a00a7d3d9ce90753'} from 'ACTIONS_MODULE0'\nexport {checkAllAgentsStatus as '0076b3d42ef15994d8670dee6da36b75eab086f592'} from 'ACTIONS_MODULE1'\nexport {updateAgentAndModel as '602f8e351e233f77d1163d32b17d0c0b7c5a3e5059'} from 'ACTIONS_MODULE2'\nexport {pickFolder as '00dcc709a01f0569bfed0d0fd913bb2ae5820dc7b8'} from 'ACTIONS_MODULE3'\nexport {listGitHubRepositories as '409b2b7c453b85ebe22be32a1abbb566f8aac0461c'} from 'ACTIONS_MODULE4'\nexport {listGitHubOrganizations as '00f95796b31f9a01fee1c8cabf36739e0626fb895b'} from 'ACTIONS_MODULE5'\nexport {importGitHubRepository as '40061c1a99024f4c0916f2ad90f9af3b2a4f99bdff'} from 'ACTIONS_MODULE6'\nexport {getDeploymentLogs as '40ba330bb57038c106e2cb5a9706214e74b6f4bc60'} from 'ACTIONS_MODULE7'\nexport {deployFeature as '40b4eeeb2999f5dd298c7eeb72e866dd706847cb43'} from 'ACTIONS_MODULE8'\nexport {deployRepository as '4080e8abd8dccdccdcffa041ededc81a57388866e4'} from 'ACTIONS_MODULE9'\nexport {deployApplication as '4035315500c0fdbe957490a4576599fe4e10362d00'} from 'ACTIONS_MODULE10'\nexport {stopDeployment as '40b6be2e695ac64cea2ea7e061df3df9b9e8c668e5'} from 'ACTIONS_MODULE11'\nexport {getDeploymentStatus as '405797f8b8319ac6933f44b97b53ed69b7d74f720d'} from 'ACTIONS_MODULE12'\n"],"names":[],"mappings":"wDAEA,EAAA,EAAA,CAAA,CAAA,OAMO,eAAe,EAAkB,CAAgB,SACtD,AAAK,GAAU,CAAX,MAIsB,AACnB,CALgB,AAIG,EAAA,EAAA,OAAA,AAAO,EAAqB,sBAC7B,OAAO,CAAC,GAJxB,IAKX,0CAPsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,+DCRtB,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-deployment-logs.ts","../../../../../../../src/presentation/web/.next-internal/server/app/tools/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n IDeploymentService,\n LogEntry,\n} from '@shepai/core/application/ports/output/services/deployment-service.interface';\n\nexport async function getDeploymentLogs(targetId: string): Promise<LogEntry[] | null> {\n if (!targetId?.trim()) {\n return null;\n }\n\n const deploymentService = resolve<IDeploymentService>('IDeploymentService');\n return deploymentService.getLogs(targetId);\n}\n","export {getAllAgentModels as '00f373462bd571a1792715325fb5184a126c445327'} from 'ACTIONS_MODULE0'\nexport {checkAllAgentsStatus as '00dbbf086a7ef425edbbc5cb9795264e9a155bd40b'} from 'ACTIONS_MODULE1'\nexport {updateAgentAndModel as '60b4cbab57a503aa7c536cfc32583da15139bead1a'} from 'ACTIONS_MODULE2'\nexport {pickFolder as '009691a6cd3b2c2ef91fbc73255d2709b6c5d051c4'} from 'ACTIONS_MODULE3'\nexport {listGitHubRepositories as '4031ecccb7cd5c86319137da2af0a51b0c0f8e0d95'} from 'ACTIONS_MODULE4'\nexport {listGitHubOrganizations as '0090375660d2bf0df09932302bb2d6896c322ddc2f'} from 'ACTIONS_MODULE5'\nexport {importGitHubRepository as '40895ee90ed9c02eb9b0d9db928e937cde07a407a4'} from 'ACTIONS_MODULE6'\nexport {getDeploymentLogs as '402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40'} from 'ACTIONS_MODULE7'\nexport {deployFeature as '4019757a68b2ab125dac7b85cd2e1dac22da3db6c5'} from 'ACTIONS_MODULE8'\nexport {deployRepository as '40948fe1c9352411e89edf299ed1e8f51bce06bee4'} from 'ACTIONS_MODULE9'\nexport {deployApplication as '408ebe4b532992092d18a9b513f7f54038544f0585'} from 'ACTIONS_MODULE10'\nexport {stopDeployment as '4058d4d774b9a00d4ea404dc2e1dffd3559a13fa1e'} from 'ACTIONS_MODULE11'\nexport {getDeploymentStatus as '40c3e4f1640509f222ee938f58e619fb9dc9e885ad'} from 'ACTIONS_MODULE12'\n"],"names":[],"mappings":"wDAEA,EAAA,EAAA,CAAA,CAAA,OAMO,eAAe,EAAkB,CAAgB,SACtD,AAAK,GAAU,CAAX,MAIsB,AACnB,CALgB,AAIG,EAAA,EAAA,OAAA,AAAO,EAAqB,sBAC7B,OAAO,CAAC,GAJxB,IAKX,0CAPsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,+DCRtB,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
@@ -1,3 +1,3 @@
1
- module.exports=[24860,19720,a=>{"use strict";var b=a.i(92658),c=a.i(33244),d=a.i(12581);async function e(){let{workflow:a}=(0,c.getSettings)();return{approvalGates:{allowPrd:a.approvalGateDefaults.allowPrd,allowPlan:a.approvalGateDefaults.allowPlan,allowMerge:a.approvalGateDefaults.allowMerge},push:a.approvalGateDefaults.pushOnImplementationComplete,openPr:a.openPrOnImplementationComplete,ciWatchEnabled:a.ciWatchEnabled,enableEvidence:a.enableEvidence,commitEvidence:a.commitEvidence,fast:a.defaultFastMode,injectSkills:a.skillInjection?.enabled??!1}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"00197d3a6ef254114ae015d89c9192cdec4d9bbac6",null),a.s(["getWorkflowDefaults",()=>e],24860);var f=a.i(96380);let g=new Set(["ADMIN","MAINTAIN","WRITE"]);async function h(a){try{let b=(0,f.resolve)("IGitHubRepositoryService"),c=await b.getViewerPermission(a);return{canPushDirectly:g.has(c)}}catch{return{canPushDirectly:!1}}}(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"40e3b04fa9a1f937d436007743423ae063bd45d9a5",null),a.s(["getViewerPermission",()=>h],19720)},23761,a=>{"use strict";var b=a.i(23504),c=a.i(8115),d=a.i(27900),e=a.i(12513),f=a.i(73101),g=a.i(54775),h=a.i(65324),i=a.i(33841),j=a.i(46646),k=a.i(68378),l=a.i(68670),m=a.i(85321),n=a.i(84095),o=a.i(56799),p=a.i(80496),q=a.i(93225),r=a.i(94691),s=a.i(77710),t=a.i(45395),u=a.i(76707),v=a.i(10528),w=a.i(50845),x=a.i(26604),y=a.i(54723),z=a.i(18942),A=a.i(42886),B=a.i(49560),C=a.i(39353),D=a.i(95072),E=a.i(29207),F=a.i(24860),G=a.i(19720),H=a.i(77605);a.s([],29023),a.i(29023),a.s(["00197d3a6ef254114ae015d89c9192cdec4d9bbac6",()=>F.getWorkflowDefaults,"0076b3d42ef15994d8670dee6da36b75eab086f592",()=>c.checkAllAgentsStatus,"00dcc709a01f0569bfed0d0fd913bb2ae5820dc7b8",()=>e.pickFolder,"00f239232cd033d64ef90f37a6a00a7d3d9ce90753",()=>b.getAllAgentModels,"00f95796b31f9a01fee1c8cabf36739e0626fb895b",()=>g.listGitHubOrganizations,"40061c1a99024f4c0916f2ad90f9af3b2a4f99bdff",()=>h.importGitHubRepository,"4007c40d988784c0b9cc291fff583c56299825ace2",()=>t.createApplication,"4019e9b366eba6e7ae533d69ad430786e1d105d3f7",()=>D.deleteApplication,"4033fa30fe771d213d836267fca1d2bc348edc0463",()=>B.addRepository,"4035315500c0fdbe957490a4576599fe4e10362d00",()=>k.deployApplication,"40387bb1c96ffc89cb38570b2d92252ea9553593ea",()=>n.openIde,"403dc454070c72dd97868a0d66397a112bb429aa23",()=>p.openFolder,"405797f8b8319ac6933f44b97b53ed69b7d74f720d",()=>m.getDeploymentStatus,"4075f02c367a5dde2c84769f546b9fd9b17ebbd20c",()=>E.getFeatureMetadata,"407777b8d49490f756be2a48c39ffbb3c69010bf47",()=>o.openShell,"4080e8abd8dccdccdcffa041ededc81a57388866e4",()=>j.deployRepository,"4084f24e87bf49d86e3fe8f7f9bcaad7d237dc025f",()=>H.createFeature,"40881f084c3e4fceddc63e1cc21c2bcc21650c5959",()=>u.createProjectFolder,"408c526d74b1227a231a476bd11bf3f73246a2a8bd",()=>v.archiveFeature,"409b2b7c453b85ebe22be32a1abbb566f8aac0461c",()=>f.listGitHubRepositories,"40a0177b9f2aa86822c61e9a614f071fe7717b8bda",()=>s.createProjectAndFeature,"40a6fc1a9d123177a769c05d5478144ebc3264f197",()=>z.stopFeature,"40b4eeeb2999f5dd298c7eeb72e866dd706847cb43",()=>i.deployFeature,"40b6be2e695ac64cea2ea7e061df3df9b9e8c668e5",()=>l.stopDeployment,"40ba330bb57038c106e2cb5a9706214e74b6f4bc60",()=>r.getDeploymentLogs,"40c46ad4e0e3b0f93e0dd39ba080a68bb790db6b85",()=>A.unarchiveFeature,"40d46f342a5068b30bbe13eb5d331318d858d0244e",()=>y.startFeature,"40e2f984567eba20b462bc917f0c779f3b7f2edba3",()=>x.resumeFeature,"40e3b04fa9a1f937d436007743423ae063bd45d9a5",()=>G.getViewerPermission,"40e5ff0dc2321899262d6aecf5d972433293138faf",()=>q.syncRepository,"602f8e351e233f77d1163d32b17d0c0b7c5a3e5059",()=>d.updateAgentAndModel,"60f772bd3d6eee8bb874a9dc740c638f04b189228d",()=>C.deleteRepository,"78104a10bad3e45e6914a57cc4073a82d3632e9640",()=>w.deleteFeature],23761)}];
1
+ module.exports=[24860,19720,a=>{"use strict";var b=a.i(92658),c=a.i(33244),d=a.i(12581);async function e(){let{workflow:a}=(0,c.getSettings)();return{approvalGates:{allowPrd:a.approvalGateDefaults.allowPrd,allowPlan:a.approvalGateDefaults.allowPlan,allowMerge:a.approvalGateDefaults.allowMerge},push:a.approvalGateDefaults.pushOnImplementationComplete,openPr:a.openPrOnImplementationComplete,ciWatchEnabled:a.ciWatchEnabled,enableEvidence:a.enableEvidence,commitEvidence:a.commitEvidence,fast:a.defaultFastMode,injectSkills:a.skillInjection?.enabled??!1}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"009b2eebb24492818967fe4ceb71a68aff9493f1ee",null),a.s(["getWorkflowDefaults",()=>e],24860);var f=a.i(96380);let g=new Set(["ADMIN","MAINTAIN","WRITE"]);async function h(a){try{let b=(0,f.resolve)("IGitHubRepositoryService"),c=await b.getViewerPermission(a);return{canPushDirectly:g.has(c)}}catch{return{canPushDirectly:!1}}}(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"40c0af35a93210890daf635d8591a65315a5d61a27",null),a.s(["getViewerPermission",()=>h],19720)},23761,a=>{"use strict";var b=a.i(23504),c=a.i(8115),d=a.i(27900),e=a.i(12513),f=a.i(73101),g=a.i(54775),h=a.i(65324),i=a.i(33841),j=a.i(46646),k=a.i(68378),l=a.i(68670),m=a.i(85321),n=a.i(84095),o=a.i(56799),p=a.i(80496),q=a.i(93225),r=a.i(94691),s=a.i(77710),t=a.i(45395),u=a.i(76707),v=a.i(10528),w=a.i(50845),x=a.i(26604),y=a.i(54723),z=a.i(18942),A=a.i(42886),B=a.i(49560),C=a.i(39353),D=a.i(95072),E=a.i(29207),F=a.i(24860),G=a.i(19720),H=a.i(77605);a.s([],29023),a.i(29023),a.s(["0090375660d2bf0df09932302bb2d6896c322ddc2f",()=>g.listGitHubOrganizations,"009691a6cd3b2c2ef91fbc73255d2709b6c5d051c4",()=>e.pickFolder,"009b2eebb24492818967fe4ceb71a68aff9493f1ee",()=>F.getWorkflowDefaults,"00dbbf086a7ef425edbbc5cb9795264e9a155bd40b",()=>c.checkAllAgentsStatus,"00f373462bd571a1792715325fb5184a126c445327",()=>b.getAllAgentModels,"400b887a616cbf773d1916f3c9befda61ada388bbd",()=>x.resumeFeature,"4019757a68b2ab125dac7b85cd2e1dac22da3db6c5",()=>i.deployFeature,"401e7b7f484afefb6755fb3d3f2c2a4c3ed1ec3f99",()=>o.openShell,"40227fbf1f06087486d930f2be73341e7ed80091c3",()=>n.openIde,"4026e56be70d948dc3268ab6e2f2886a1104d8cd07",()=>s.createProjectAndFeature,"402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40",()=>r.getDeploymentLogs,"402cdb26f49257eeb71728b1b3e61835d9fcf99014",()=>A.unarchiveFeature,"4031ecccb7cd5c86319137da2af0a51b0c0f8e0d95",()=>f.listGitHubRepositories,"4058d4d774b9a00d4ea404dc2e1dffd3559a13fa1e",()=>l.stopDeployment,"4066f99f07b348d08962c2d7639dd18f214b5947e1",()=>E.getFeatureMetadata,"40726cf93f7ac7e2721f95270a9e1add6a92c81e35",()=>y.startFeature,"407ae360e1c587f168a62691f5fbb902cc30239161",()=>p.openFolder,"40895ee90ed9c02eb9b0d9db928e937cde07a407a4",()=>h.importGitHubRepository,"408ebe4b532992092d18a9b513f7f54038544f0585",()=>k.deployApplication,"40948fe1c9352411e89edf299ed1e8f51bce06bee4",()=>j.deployRepository,"40967a1f7fb638f1a5c3db0578e8e9496de2aa9b41",()=>D.deleteApplication,"40a57525e1106170a91c42e7c7f3fa9a53481100c8",()=>q.syncRepository,"40bf7f0efdba8ee98115b817c2be5858318a7f47e8",()=>z.stopFeature,"40c0af35a93210890daf635d8591a65315a5d61a27",()=>G.getViewerPermission,"40c3e4f1640509f222ee938f58e619fb9dc9e885ad",()=>m.getDeploymentStatus,"40d0e3402652c3ee7206eb31e80d3ae87ece9b492e",()=>H.createFeature,"40d591435cbf5e2844d6b0f56fb270938d5c8489e7",()=>u.createProjectFolder,"40d9f11e8b5a5014c05d6e7c71d286bc3e3cf967f9",()=>B.addRepository,"40efbe9d403a44d886e0e48abc4980547033c4d898",()=>v.archiveFeature,"40f8c300c4c7d5f53c5c9434afc2eaaa9da4769348",()=>t.createApplication,"606a87dde2ab8df2216d158a8b5e396110073e0a9b",()=>C.deleteRepository,"60b4cbab57a503aa7c536cfc32583da15139bead1a",()=>d.updateAgentAndModel,"78ffe5e01b8dbdc2aea6bf9627a1d57fc4f618024c",()=>w.deleteFeature],23761)}];
2
2
 
3
3
  //# sourceMappingURL=src_presentation_web_61d96ba8._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-workflow-defaults.ts","../../../../../../../src/presentation/web/app/actions/get-viewer-permission.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/create/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["'use server';\n\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\n\nexport interface WorkflowDefaults {\n approvalGates: {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge: boolean;\n };\n push: boolean;\n openPr: boolean;\n ciWatchEnabled: boolean;\n enableEvidence: boolean;\n commitEvidence: boolean;\n fast: boolean;\n injectSkills: boolean;\n}\n\nexport async function getWorkflowDefaults(): Promise<WorkflowDefaults> {\n const settings = getSettings();\n const { workflow } = settings;\n\n return {\n approvalGates: {\n allowPrd: workflow.approvalGateDefaults.allowPrd,\n allowPlan: workflow.approvalGateDefaults.allowPlan,\n allowMerge: workflow.approvalGateDefaults.allowMerge,\n },\n push: workflow.approvalGateDefaults.pushOnImplementationComplete,\n openPr: workflow.openPrOnImplementationComplete,\n ciWatchEnabled: workflow.ciWatchEnabled,\n enableEvidence: workflow.enableEvidence,\n commitEvidence: workflow.commitEvidence,\n fast: workflow.defaultFastMode,\n injectSkills: workflow.skillInjection?.enabled ?? false,\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IGitHubRepositoryService } from '@shepai/core/application/ports/output/services/github-repository-service.interface';\n\n/** Permissions that grant direct push access to a repository. */\nconst PUSH_PERMISSIONS = new Set(['ADMIN', 'MAINTAIN', 'WRITE']);\n\nexport async function getViewerPermission(repoPath: string): Promise<{ canPushDirectly: boolean }> {\n try {\n const service = resolve<IGitHubRepositoryService>('IGitHubRepositoryService');\n const permission = await service.getViewerPermission(repoPath);\n return { canPushDirectly: PUSH_PERMISSIONS.has(permission) };\n } catch {\n return { canPushDirectly: false };\n }\n}\n","export {getAllAgentModels as '00f239232cd033d64ef90f37a6a00a7d3d9ce90753'} from 'ACTIONS_MODULE0'\nexport {checkAllAgentsStatus as '0076b3d42ef15994d8670dee6da36b75eab086f592'} from 'ACTIONS_MODULE1'\nexport {updateAgentAndModel as '602f8e351e233f77d1163d32b17d0c0b7c5a3e5059'} from 'ACTIONS_MODULE2'\nexport {pickFolder as '00dcc709a01f0569bfed0d0fd913bb2ae5820dc7b8'} from 'ACTIONS_MODULE3'\nexport {listGitHubRepositories as '409b2b7c453b85ebe22be32a1abbb566f8aac0461c'} from 'ACTIONS_MODULE4'\nexport {listGitHubOrganizations as '00f95796b31f9a01fee1c8cabf36739e0626fb895b'} from 'ACTIONS_MODULE5'\nexport {importGitHubRepository as '40061c1a99024f4c0916f2ad90f9af3b2a4f99bdff'} from 'ACTIONS_MODULE6'\nexport {deployFeature as '40b4eeeb2999f5dd298c7eeb72e866dd706847cb43'} from 'ACTIONS_MODULE7'\nexport {deployRepository as '4080e8abd8dccdccdcffa041ededc81a57388866e4'} from 'ACTIONS_MODULE8'\nexport {deployApplication as '4035315500c0fdbe957490a4576599fe4e10362d00'} from 'ACTIONS_MODULE9'\nexport {stopDeployment as '40b6be2e695ac64cea2ea7e061df3df9b9e8c668e5'} from 'ACTIONS_MODULE10'\nexport {getDeploymentStatus as '405797f8b8319ac6933f44b97b53ed69b7d74f720d'} from 'ACTIONS_MODULE11'\nexport {openIde as '40387bb1c96ffc89cb38570b2d92252ea9553593ea'} from 'ACTIONS_MODULE12'\nexport {openShell as '407777b8d49490f756be2a48c39ffbb3c69010bf47'} from 'ACTIONS_MODULE13'\nexport {openFolder as '403dc454070c72dd97868a0d66397a112bb429aa23'} from 'ACTIONS_MODULE14'\nexport {syncRepository as '40e5ff0dc2321899262d6aecf5d972433293138faf'} from 'ACTIONS_MODULE15'\nexport {getDeploymentLogs as '40ba330bb57038c106e2cb5a9706214e74b6f4bc60'} from 'ACTIONS_MODULE16'\nexport {createProjectAndFeature as '40a0177b9f2aa86822c61e9a614f071fe7717b8bda'} from 'ACTIONS_MODULE17'\nexport {createApplication as '4007c40d988784c0b9cc291fff583c56299825ace2'} from 'ACTIONS_MODULE18'\nexport {createProjectFolder as '40881f084c3e4fceddc63e1cc21c2bcc21650c5959'} from 'ACTIONS_MODULE19'\nexport {archiveFeature as '408c526d74b1227a231a476bd11bf3f73246a2a8bd'} from 'ACTIONS_MODULE20'\nexport {deleteFeature as '78104a10bad3e45e6914a57cc4073a82d3632e9640'} from 'ACTIONS_MODULE21'\nexport {resumeFeature as '40e2f984567eba20b462bc917f0c779f3b7f2edba3'} from 'ACTIONS_MODULE22'\nexport {startFeature as '40d46f342a5068b30bbe13eb5d331318d858d0244e'} from 'ACTIONS_MODULE23'\nexport {stopFeature as '40a6fc1a9d123177a769c05d5478144ebc3264f197'} from 'ACTIONS_MODULE24'\nexport {unarchiveFeature as '40c46ad4e0e3b0f93e0dd39ba080a68bb790db6b85'} from 'ACTIONS_MODULE25'\nexport {addRepository as '4033fa30fe771d213d836267fca1d2bc348edc0463'} from 'ACTIONS_MODULE26'\nexport {deleteRepository as '60f772bd3d6eee8bb874a9dc740c638f04b189228d'} from 'ACTIONS_MODULE27'\nexport {deleteApplication as '4019e9b366eba6e7ae533d69ad430786e1d105d3f7'} from 'ACTIONS_MODULE28'\nexport {getFeatureMetadata as '4075f02c367a5dde2c84769f546b9fd9b17ebbd20c'} from 'ACTIONS_MODULE29'\nexport {getWorkflowDefaults as '00197d3a6ef254114ae015d89c9192cdec4d9bbac6'} from 'ACTIONS_MODULE30'\nexport {getViewerPermission as '40e3b04fa9a1f937d436007743423ae063bd45d9a5'} from 'ACTIONS_MODULE31'\nexport {createFeature as '4084f24e87bf49d86e3fe8f7f9bcaad7d237dc025f'} from 'ACTIONS_MODULE32'\nexport {getViewerPermission as '40e3b04fa9a1f937d436007743423ae063bd45d9a5'} from 'ACTIONS_MODULE31'\n"],"names":[],"mappings":"8DAEA,EAAA,EAAA,CAAA,CAAA,oBAiBO,eAAe,IAEpB,GAAM,UAAE,CAAQ,CAAE,CADD,CAAA,CACI,CADJ,EAAA,WAAA,AAAW,IAG5B,MAAO,CACL,cAAe,CACb,SAAU,EAAS,oBAAoB,CAAC,QAAQ,CAChD,UAAW,EAAS,oBAAoB,CAAC,SAAS,CAClD,WAAY,EAAS,oBAAoB,CAAC,UAAU,AACtD,EACA,KAAM,EAAS,oBAAoB,CAAC,4BAA4B,CAChE,OAAQ,EAAS,8BAA8B,CAC/C,eAAgB,EAAS,cAAc,CACvC,eAAgB,EAAS,cAAc,CACvC,eAAgB,EAAS,cAAc,CACvC,KAAM,EAAS,eAAe,CAC9B,aAAc,EAAS,cAAc,EAAE,UAAW,CACpD,CACF,iCAlBsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,+CCjBtB,IAAA,EAAA,EAAA,CAAA,CAAA,OAIA,IAAM,EAAmB,IAAI,IAAI,CAAC,QAAS,WAAY,QAAQ,EAExD,eAAe,EAAoB,CAAgB,EACxD,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAA2B,4BAC5C,EAAa,MAAM,EAAQ,mBAAmB,CAAC,GACrD,MAAO,CAAE,gBAAiB,EAAiB,GAAG,CAAC,EAAY,CAC7D,CAAE,KAAM,CACN,MAAO,CAAE,gBAAiB,EAAM,CAClC,CACF,iCARsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,uECRtB,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-workflow-defaults.ts","../../../../../../../src/presentation/web/app/actions/get-viewer-permission.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/create/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["'use server';\n\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\n\nexport interface WorkflowDefaults {\n approvalGates: {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge: boolean;\n };\n push: boolean;\n openPr: boolean;\n ciWatchEnabled: boolean;\n enableEvidence: boolean;\n commitEvidence: boolean;\n fast: boolean;\n injectSkills: boolean;\n}\n\nexport async function getWorkflowDefaults(): Promise<WorkflowDefaults> {\n const settings = getSettings();\n const { workflow } = settings;\n\n return {\n approvalGates: {\n allowPrd: workflow.approvalGateDefaults.allowPrd,\n allowPlan: workflow.approvalGateDefaults.allowPlan,\n allowMerge: workflow.approvalGateDefaults.allowMerge,\n },\n push: workflow.approvalGateDefaults.pushOnImplementationComplete,\n openPr: workflow.openPrOnImplementationComplete,\n ciWatchEnabled: workflow.ciWatchEnabled,\n enableEvidence: workflow.enableEvidence,\n commitEvidence: workflow.commitEvidence,\n fast: workflow.defaultFastMode,\n injectSkills: workflow.skillInjection?.enabled ?? false,\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IGitHubRepositoryService } from '@shepai/core/application/ports/output/services/github-repository-service.interface';\n\n/** Permissions that grant direct push access to a repository. */\nconst PUSH_PERMISSIONS = new Set(['ADMIN', 'MAINTAIN', 'WRITE']);\n\nexport async function getViewerPermission(repoPath: string): Promise<{ canPushDirectly: boolean }> {\n try {\n const service = resolve<IGitHubRepositoryService>('IGitHubRepositoryService');\n const permission = await service.getViewerPermission(repoPath);\n return { canPushDirectly: PUSH_PERMISSIONS.has(permission) };\n } catch {\n return { canPushDirectly: false };\n }\n}\n","export {getAllAgentModels as '00f373462bd571a1792715325fb5184a126c445327'} from 'ACTIONS_MODULE0'\nexport {checkAllAgentsStatus as '00dbbf086a7ef425edbbc5cb9795264e9a155bd40b'} from 'ACTIONS_MODULE1'\nexport {updateAgentAndModel as '60b4cbab57a503aa7c536cfc32583da15139bead1a'} from 'ACTIONS_MODULE2'\nexport {pickFolder as '009691a6cd3b2c2ef91fbc73255d2709b6c5d051c4'} from 'ACTIONS_MODULE3'\nexport {listGitHubRepositories as '4031ecccb7cd5c86319137da2af0a51b0c0f8e0d95'} from 'ACTIONS_MODULE4'\nexport {listGitHubOrganizations as '0090375660d2bf0df09932302bb2d6896c322ddc2f'} from 'ACTIONS_MODULE5'\nexport {importGitHubRepository as '40895ee90ed9c02eb9b0d9db928e937cde07a407a4'} from 'ACTIONS_MODULE6'\nexport {deployFeature as '4019757a68b2ab125dac7b85cd2e1dac22da3db6c5'} from 'ACTIONS_MODULE7'\nexport {deployRepository as '40948fe1c9352411e89edf299ed1e8f51bce06bee4'} from 'ACTIONS_MODULE8'\nexport {deployApplication as '408ebe4b532992092d18a9b513f7f54038544f0585'} from 'ACTIONS_MODULE9'\nexport {stopDeployment as '4058d4d774b9a00d4ea404dc2e1dffd3559a13fa1e'} from 'ACTIONS_MODULE10'\nexport {getDeploymentStatus as '40c3e4f1640509f222ee938f58e619fb9dc9e885ad'} from 'ACTIONS_MODULE11'\nexport {openIde as '40227fbf1f06087486d930f2be73341e7ed80091c3'} from 'ACTIONS_MODULE12'\nexport {openShell as '401e7b7f484afefb6755fb3d3f2c2a4c3ed1ec3f99'} from 'ACTIONS_MODULE13'\nexport {openFolder as '407ae360e1c587f168a62691f5fbb902cc30239161'} from 'ACTIONS_MODULE14'\nexport {syncRepository as '40a57525e1106170a91c42e7c7f3fa9a53481100c8'} from 'ACTIONS_MODULE15'\nexport {getDeploymentLogs as '402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40'} from 'ACTIONS_MODULE16'\nexport {createProjectAndFeature as '4026e56be70d948dc3268ab6e2f2886a1104d8cd07'} from 'ACTIONS_MODULE17'\nexport {createApplication as '40f8c300c4c7d5f53c5c9434afc2eaaa9da4769348'} from 'ACTIONS_MODULE18'\nexport {createProjectFolder as '40d591435cbf5e2844d6b0f56fb270938d5c8489e7'} from 'ACTIONS_MODULE19'\nexport {archiveFeature as '40efbe9d403a44d886e0e48abc4980547033c4d898'} from 'ACTIONS_MODULE20'\nexport {deleteFeature as '78ffe5e01b8dbdc2aea6bf9627a1d57fc4f618024c'} from 'ACTIONS_MODULE21'\nexport {resumeFeature as '400b887a616cbf773d1916f3c9befda61ada388bbd'} from 'ACTIONS_MODULE22'\nexport {startFeature as '40726cf93f7ac7e2721f95270a9e1add6a92c81e35'} from 'ACTIONS_MODULE23'\nexport {stopFeature as '40bf7f0efdba8ee98115b817c2be5858318a7f47e8'} from 'ACTIONS_MODULE24'\nexport {unarchiveFeature as '402cdb26f49257eeb71728b1b3e61835d9fcf99014'} from 'ACTIONS_MODULE25'\nexport {addRepository as '40d9f11e8b5a5014c05d6e7c71d286bc3e3cf967f9'} from 'ACTIONS_MODULE26'\nexport {deleteRepository as '606a87dde2ab8df2216d158a8b5e396110073e0a9b'} from 'ACTIONS_MODULE27'\nexport {deleteApplication as '40967a1f7fb638f1a5c3db0578e8e9496de2aa9b41'} from 'ACTIONS_MODULE28'\nexport {getFeatureMetadata as '4066f99f07b348d08962c2d7639dd18f214b5947e1'} from 'ACTIONS_MODULE29'\nexport {getWorkflowDefaults as '009b2eebb24492818967fe4ceb71a68aff9493f1ee'} from 'ACTIONS_MODULE30'\nexport {getViewerPermission as '40c0af35a93210890daf635d8591a65315a5d61a27'} from 'ACTIONS_MODULE31'\nexport {createFeature as '40d0e3402652c3ee7206eb31e80d3ae87ece9b492e'} from 'ACTIONS_MODULE32'\nexport {getViewerPermission as '40c0af35a93210890daf635d8591a65315a5d61a27'} from 'ACTIONS_MODULE31'\n"],"names":[],"mappings":"8DAEA,EAAA,EAAA,CAAA,CAAA,oBAiBO,eAAe,IAEpB,GAAM,UAAE,CAAQ,CAAE,CADD,CAAA,CACI,CADJ,EAAA,WAAA,AAAW,IAG5B,MAAO,CACL,cAAe,CACb,SAAU,EAAS,oBAAoB,CAAC,QAAQ,CAChD,UAAW,EAAS,oBAAoB,CAAC,SAAS,CAClD,WAAY,EAAS,oBAAoB,CAAC,UAAU,AACtD,EACA,KAAM,EAAS,oBAAoB,CAAC,4BAA4B,CAChE,OAAQ,EAAS,8BAA8B,CAC/C,eAAgB,EAAS,cAAc,CACvC,eAAgB,EAAS,cAAc,CACvC,eAAgB,EAAS,cAAc,CACvC,KAAM,EAAS,eAAe,CAC9B,aAAc,EAAS,cAAc,EAAE,UAAW,CACpD,CACF,iCAlBsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,+CCjBtB,IAAA,EAAA,EAAA,CAAA,CAAA,OAIA,IAAM,EAAmB,IAAI,IAAI,CAAC,QAAS,WAAY,QAAQ,EAExD,eAAe,EAAoB,CAAgB,EACxD,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAA2B,4BAC5C,EAAa,MAAM,EAAQ,mBAAmB,CAAC,GACrD,MAAO,CAAE,gBAAiB,EAAiB,GAAG,CAAC,EAAY,CAC7D,CAAE,KAAM,CACN,MAAO,CAAE,gBAAiB,EAAM,CAClC,CACF,iCARsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,uECRtB,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
@@ -1,3 +1,3 @@
1
- module.exports=[35556,a=>{"use strict";var b=a.i(92658),c=a.i(74533),d=a.i(12057),e=a.i(12581);let f=(0,d.promisify)(c.execFile);async function g(a,b){let{stdout:c}=await f("git",b,{cwd:a,timeout:5e3});return c.trim()}async function h(a,b=8){if(!a.trim())return{commits:[],branches:[],remotes:[],tags:[],stashCount:0,currentBranch:"",diffStats:null,workingTree:{staged:0,modified:0,untracked:0},error:"Repository path is required"};let c=await Promise.allSettled([g(a,["log",`--max-count=${b}`,"--format=%H%x00%h%x00%s%x00%an%x00%cr","--no-color"]),g(a,["branch","--show-current"]),g(a,["branch","--sort=-committerdate","--format=%(HEAD)%(refname:short)%00%(committerdate:relative)","--no-color"]),g(a,["remote","-v"]),g(a,["tag","--sort=-creatordate","-l","--format=%(refname:short)"]),g(a,["stash","list"]),g(a,["status","--porcelain"]),g(a,["diff","HEAD","--shortstat"])]),d=a=>"fulfilled"===c[a].status?c[a].value:"",e=d(0).split("\n").filter(Boolean).map(a=>{let[b,c,d,e,f]=a.split("\0");return{hash:b,shortHash:c,subject:d,author:e,relativeDate:f}}),f=d(1);e.length>0&&f&&(e[0].branch=f);let i=d(2).split("\n").filter(Boolean).slice(0,10).map(a=>{let b=a.startsWith("*"),[c,d]=(b?a.slice(1):a).split("\0");return{name:c.trim(),isCurrent:b,lastCommitDate:d?.trim()??""}}),j=new Map;d(3).split("\n").filter(Boolean).forEach(a=>{let b=a.match(/^(\S+)\s+(\S+)\s+\(fetch\)/);if(b){let a=b[2].replace(/\/\/[^@]+@/,"//").replace(/x-access-token:[^@]+@/,"");j.set(b[1],a)}});let k=Array.from(j,([a,b])=>({name:a,url:b})),l=d(4).split("\n").filter(Boolean).slice(0,5),m=d(5).split("\n").filter(Boolean).length,n=d(6).split("\n").filter(Boolean),o={staged:0,modified:0,untracked:0};for(let a of n){let b=a[0],c=a[1];"?"===b&&"?"===c?o.untracked++:" "!==b&&"?"!==b&&o.staged++," "!==c&&"?"!==c&&o.modified++}let p=null,q=d(7);if(q){let a=q.match(/(\d+) file/),b=q.match(/(\d+) insertion/),c=q.match(/(\d+) deletion/);p={filesChanged:a?parseInt(a[1],10):0,insertions:b?parseInt(b[1],10):0,deletions:c?parseInt(c[1],10):0}}return{commits:e,branches:i,remotes:k,tags:l,stashCount:m,currentBranch:f,diffStats:p,workingTree:o}}async function i(a,b=10){let c=await h(a,b);return{entries:c.commits,error:c.error}}(0,e.ensureServerEntryExports)([h,i]),(0,b.registerServerReference)(h,"6002b2efcb7fde75490fcaaaad63e50ef66e24d622",null),(0,b.registerServerReference)(i,"601fe1e89e4d174d6214845715916e3a9aadd9fe32",null),a.s(["getGitRepoInfo",()=>h])},80224,a=>{"use strict";var b=a.i(23504),c=a.i(8115),d=a.i(27900),e=a.i(12513),f=a.i(73101),g=a.i(54775),h=a.i(65324),i=a.i(33841),j=a.i(46646),k=a.i(68378),l=a.i(68670),m=a.i(85321),n=a.i(84095),o=a.i(56799),p=a.i(80496),q=a.i(93225),r=a.i(94691),s=a.i(77710),t=a.i(45395),u=a.i(76707),v=a.i(10528),w=a.i(50845),x=a.i(26604),y=a.i(54723),z=a.i(18942),A=a.i(42886),B=a.i(49560),C=a.i(39353),D=a.i(95072),E=a.i(29207),F=a.i(35556);a.s([],18920),a.i(18920),a.s(["0076b3d42ef15994d8670dee6da36b75eab086f592",()=>c.checkAllAgentsStatus,"00dcc709a01f0569bfed0d0fd913bb2ae5820dc7b8",()=>e.pickFolder,"00f239232cd033d64ef90f37a6a00a7d3d9ce90753",()=>b.getAllAgentModels,"00f95796b31f9a01fee1c8cabf36739e0626fb895b",()=>g.listGitHubOrganizations,"40061c1a99024f4c0916f2ad90f9af3b2a4f99bdff",()=>h.importGitHubRepository,"4007c40d988784c0b9cc291fff583c56299825ace2",()=>t.createApplication,"4019e9b366eba6e7ae533d69ad430786e1d105d3f7",()=>D.deleteApplication,"4033fa30fe771d213d836267fca1d2bc348edc0463",()=>B.addRepository,"4035315500c0fdbe957490a4576599fe4e10362d00",()=>k.deployApplication,"40387bb1c96ffc89cb38570b2d92252ea9553593ea",()=>n.openIde,"403dc454070c72dd97868a0d66397a112bb429aa23",()=>p.openFolder,"405797f8b8319ac6933f44b97b53ed69b7d74f720d",()=>m.getDeploymentStatus,"4075f02c367a5dde2c84769f546b9fd9b17ebbd20c",()=>E.getFeatureMetadata,"407777b8d49490f756be2a48c39ffbb3c69010bf47",()=>o.openShell,"4080e8abd8dccdccdcffa041ededc81a57388866e4",()=>j.deployRepository,"40881f084c3e4fceddc63e1cc21c2bcc21650c5959",()=>u.createProjectFolder,"408c526d74b1227a231a476bd11bf3f73246a2a8bd",()=>v.archiveFeature,"409b2b7c453b85ebe22be32a1abbb566f8aac0461c",()=>f.listGitHubRepositories,"40a0177b9f2aa86822c61e9a614f071fe7717b8bda",()=>s.createProjectAndFeature,"40a6fc1a9d123177a769c05d5478144ebc3264f197",()=>z.stopFeature,"40b4eeeb2999f5dd298c7eeb72e866dd706847cb43",()=>i.deployFeature,"40b6be2e695ac64cea2ea7e061df3df9b9e8c668e5",()=>l.stopDeployment,"40ba330bb57038c106e2cb5a9706214e74b6f4bc60",()=>r.getDeploymentLogs,"40c46ad4e0e3b0f93e0dd39ba080a68bb790db6b85",()=>A.unarchiveFeature,"40d46f342a5068b30bbe13eb5d331318d858d0244e",()=>y.startFeature,"40e2f984567eba20b462bc917f0c779f3b7f2edba3",()=>x.resumeFeature,"40e5ff0dc2321899262d6aecf5d972433293138faf",()=>q.syncRepository,"6002b2efcb7fde75490fcaaaad63e50ef66e24d622",()=>F.getGitRepoInfo,"602f8e351e233f77d1163d32b17d0c0b7c5a3e5059",()=>d.updateAgentAndModel,"60f772bd3d6eee8bb874a9dc740c638f04b189228d",()=>C.deleteRepository,"78104a10bad3e45e6914a57cc4073a82d3632e9640",()=>w.deleteFeature],80224)}];
1
+ module.exports=[35556,a=>{"use strict";var b=a.i(92658),c=a.i(74533),d=a.i(12057),e=a.i(12581);let f=(0,d.promisify)(c.execFile);async function g(a,b){let{stdout:c}=await f("git",b,{cwd:a,timeout:5e3});return c.trim()}async function h(a,b=8){if(!a.trim())return{commits:[],branches:[],remotes:[],tags:[],stashCount:0,currentBranch:"",diffStats:null,workingTree:{staged:0,modified:0,untracked:0},error:"Repository path is required"};let c=await Promise.allSettled([g(a,["log",`--max-count=${b}`,"--format=%H%x00%h%x00%s%x00%an%x00%cr","--no-color"]),g(a,["branch","--show-current"]),g(a,["branch","--sort=-committerdate","--format=%(HEAD)%(refname:short)%00%(committerdate:relative)","--no-color"]),g(a,["remote","-v"]),g(a,["tag","--sort=-creatordate","-l","--format=%(refname:short)"]),g(a,["stash","list"]),g(a,["status","--porcelain"]),g(a,["diff","HEAD","--shortstat"])]),d=a=>"fulfilled"===c[a].status?c[a].value:"",e=d(0).split("\n").filter(Boolean).map(a=>{let[b,c,d,e,f]=a.split("\0");return{hash:b,shortHash:c,subject:d,author:e,relativeDate:f}}),f=d(1);e.length>0&&f&&(e[0].branch=f);let i=d(2).split("\n").filter(Boolean).slice(0,10).map(a=>{let b=a.startsWith("*"),[c,d]=(b?a.slice(1):a).split("\0");return{name:c.trim(),isCurrent:b,lastCommitDate:d?.trim()??""}}),j=new Map;d(3).split("\n").filter(Boolean).forEach(a=>{let b=a.match(/^(\S+)\s+(\S+)\s+\(fetch\)/);if(b){let a=b[2].replace(/\/\/[^@]+@/,"//").replace(/x-access-token:[^@]+@/,"");j.set(b[1],a)}});let k=Array.from(j,([a,b])=>({name:a,url:b})),l=d(4).split("\n").filter(Boolean).slice(0,5),m=d(5).split("\n").filter(Boolean).length,n=d(6).split("\n").filter(Boolean),o={staged:0,modified:0,untracked:0};for(let a of n){let b=a[0],c=a[1];"?"===b&&"?"===c?o.untracked++:" "!==b&&"?"!==b&&o.staged++," "!==c&&"?"!==c&&o.modified++}let p=null,q=d(7);if(q){let a=q.match(/(\d+) file/),b=q.match(/(\d+) insertion/),c=q.match(/(\d+) deletion/);p={filesChanged:a?parseInt(a[1],10):0,insertions:b?parseInt(b[1],10):0,deletions:c?parseInt(c[1],10):0}}return{commits:e,branches:i,remotes:k,tags:l,stashCount:m,currentBranch:f,diffStats:p,workingTree:o}}async function i(a,b=10){let c=await h(a,b);return{entries:c.commits,error:c.error}}(0,e.ensureServerEntryExports)([h,i]),(0,b.registerServerReference)(h,"60056cb1d88afe7b000b79614b93edfc589e20dfdb",null),(0,b.registerServerReference)(i,"60d09cdb708d3b0cfa0e6be3558887cc6fd471ebe8",null),a.s(["getGitRepoInfo",()=>h])},80224,a=>{"use strict";var b=a.i(23504),c=a.i(8115),d=a.i(27900),e=a.i(12513),f=a.i(73101),g=a.i(54775),h=a.i(65324),i=a.i(33841),j=a.i(46646),k=a.i(68378),l=a.i(68670),m=a.i(85321),n=a.i(84095),o=a.i(56799),p=a.i(80496),q=a.i(93225),r=a.i(94691),s=a.i(77710),t=a.i(45395),u=a.i(76707),v=a.i(10528),w=a.i(50845),x=a.i(26604),y=a.i(54723),z=a.i(18942),A=a.i(42886),B=a.i(49560),C=a.i(39353),D=a.i(95072),E=a.i(29207),F=a.i(35556);a.s([],18920),a.i(18920),a.s(["0090375660d2bf0df09932302bb2d6896c322ddc2f",()=>g.listGitHubOrganizations,"009691a6cd3b2c2ef91fbc73255d2709b6c5d051c4",()=>e.pickFolder,"00dbbf086a7ef425edbbc5cb9795264e9a155bd40b",()=>c.checkAllAgentsStatus,"00f373462bd571a1792715325fb5184a126c445327",()=>b.getAllAgentModels,"400b887a616cbf773d1916f3c9befda61ada388bbd",()=>x.resumeFeature,"4019757a68b2ab125dac7b85cd2e1dac22da3db6c5",()=>i.deployFeature,"401e7b7f484afefb6755fb3d3f2c2a4c3ed1ec3f99",()=>o.openShell,"40227fbf1f06087486d930f2be73341e7ed80091c3",()=>n.openIde,"4026e56be70d948dc3268ab6e2f2886a1104d8cd07",()=>s.createProjectAndFeature,"402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40",()=>r.getDeploymentLogs,"402cdb26f49257eeb71728b1b3e61835d9fcf99014",()=>A.unarchiveFeature,"4031ecccb7cd5c86319137da2af0a51b0c0f8e0d95",()=>f.listGitHubRepositories,"4058d4d774b9a00d4ea404dc2e1dffd3559a13fa1e",()=>l.stopDeployment,"4066f99f07b348d08962c2d7639dd18f214b5947e1",()=>E.getFeatureMetadata,"40726cf93f7ac7e2721f95270a9e1add6a92c81e35",()=>y.startFeature,"407ae360e1c587f168a62691f5fbb902cc30239161",()=>p.openFolder,"40895ee90ed9c02eb9b0d9db928e937cde07a407a4",()=>h.importGitHubRepository,"408ebe4b532992092d18a9b513f7f54038544f0585",()=>k.deployApplication,"40948fe1c9352411e89edf299ed1e8f51bce06bee4",()=>j.deployRepository,"40967a1f7fb638f1a5c3db0578e8e9496de2aa9b41",()=>D.deleteApplication,"40a57525e1106170a91c42e7c7f3fa9a53481100c8",()=>q.syncRepository,"40bf7f0efdba8ee98115b817c2be5858318a7f47e8",()=>z.stopFeature,"40c3e4f1640509f222ee938f58e619fb9dc9e885ad",()=>m.getDeploymentStatus,"40d591435cbf5e2844d6b0f56fb270938d5c8489e7",()=>u.createProjectFolder,"40d9f11e8b5a5014c05d6e7c71d286bc3e3cf967f9",()=>B.addRepository,"40efbe9d403a44d886e0e48abc4980547033c4d898",()=>v.archiveFeature,"40f8c300c4c7d5f53c5c9434afc2eaaa9da4769348",()=>t.createApplication,"60056cb1d88afe7b000b79614b93edfc589e20dfdb",()=>F.getGitRepoInfo,"606a87dde2ab8df2216d158a8b5e396110073e0a9b",()=>C.deleteRepository,"60b4cbab57a503aa7c536cfc32583da15139bead1a",()=>d.updateAgentAndModel,"78ffe5e01b8dbdc2aea6bf9627a1d57fc4f618024c",()=>w.deleteFeature],80224)}];
2
2
 
3
3
  //# sourceMappingURL=src_presentation_web_6994959a._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-git-log.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/%40drawer/repository/%5BrepositoryId%5D/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["'use server';\n\nimport { execFile } from 'node:child_process';\nimport { promisify } from 'node:util';\n\nconst execFileAsync = promisify(execFile);\n\nasync function git(cwd: string, args: string[]): Promise<string> {\n const { stdout } = await execFileAsync('git', args, { cwd, timeout: 5000 });\n return stdout.trim();\n}\n\nexport interface GitLogEntry {\n hash: string;\n shortHash: string;\n subject: string;\n author: string;\n relativeDate: string;\n branch?: string;\n}\n\nexport interface GitBranchInfo {\n name: string;\n isCurrent: boolean;\n lastCommitDate: string;\n}\n\nexport interface GitRemoteInfo {\n name: string;\n url: string;\n}\n\nexport interface GitWorkingTreeStatus {\n staged: number;\n modified: number;\n untracked: number;\n}\n\nexport interface GitDiffStats {\n filesChanged: number;\n insertions: number;\n deletions: number;\n}\n\nexport interface GitRepoInfo {\n commits: GitLogEntry[];\n branches: GitBranchInfo[];\n remotes: GitRemoteInfo[];\n tags: string[];\n stashCount: number;\n currentBranch: string;\n diffStats: GitDiffStats | null;\n workingTree: GitWorkingTreeStatus;\n error?: string;\n}\n\nexport async function getGitRepoInfo(\n repositoryPath: string,\n commitLimit = 8\n): Promise<GitRepoInfo> {\n const empty: GitRepoInfo = {\n commits: [],\n branches: [],\n remotes: [],\n tags: [],\n stashCount: 0,\n currentBranch: '',\n diffStats: null,\n workingTree: { staged: 0, modified: 0, untracked: 0 },\n };\n\n if (!repositoryPath.trim()) {\n return { ...empty, error: 'Repository path is required' };\n }\n\n const results = await Promise.allSettled([\n // 0: commits\n git(repositoryPath, [\n 'log',\n `--max-count=${commitLimit}`,\n '--format=%H%x00%h%x00%s%x00%an%x00%cr',\n '--no-color',\n ]),\n // 1: current branch\n git(repositoryPath, ['branch', '--show-current']),\n // 2: branches with dates\n git(repositoryPath, [\n 'branch',\n '--sort=-committerdate',\n '--format=%(HEAD)%(refname:short)%00%(committerdate:relative)',\n '--no-color',\n ]),\n // 3: remotes\n git(repositoryPath, ['remote', '-v']),\n // 4: tags (recent 5)\n git(repositoryPath, ['tag', '--sort=-creatordate', '-l', '--format=%(refname:short)']),\n // 5: stash count\n git(repositoryPath, ['stash', 'list']),\n // 6: working tree status\n git(repositoryPath, ['status', '--porcelain']),\n // 7: diff stats (uncommitted — includes staged + unstaged vs HEAD)\n git(repositoryPath, ['diff', 'HEAD', '--shortstat']),\n ]);\n\n const val = (i: number) => (results[i].status === 'fulfilled' ? results[i].value : '');\n\n // Parse commits\n const commits: GitLogEntry[] = val(0)\n .split('\\n')\n .filter(Boolean)\n .map((line: string) => {\n const [hash, shortHash, subject, author, relativeDate] = line.split('\\0');\n return { hash, shortHash, subject, author, relativeDate };\n });\n\n const currentBranch = val(1);\n if (commits.length > 0 && currentBranch) {\n commits[0].branch = currentBranch;\n }\n\n // Parse branches\n const branches: GitBranchInfo[] = val(2)\n .split('\\n')\n .filter(Boolean)\n .slice(0, 10)\n .map((line: string) => {\n const isCurrent = line.startsWith('*');\n const clean = isCurrent ? line.slice(1) : line;\n const [name, lastCommitDate] = clean.split('\\0');\n return { name: name.trim(), isCurrent, lastCommitDate: lastCommitDate?.trim() ?? '' };\n });\n\n // Parse remotes (dedup fetch/push)\n const remoteMap = new Map<string, string>();\n val(3)\n .split('\\n')\n .filter(Boolean)\n .forEach((line: string) => {\n const match = line.match(/^(\\S+)\\s+(\\S+)\\s+\\(fetch\\)/);\n if (match) {\n // Strip credentials/tokens from URL before sending to client\n const sanitized = match[2].replace(/\\/\\/[^@]+@/, '//').replace(/x-access-token:[^@]+@/, '');\n remoteMap.set(match[1], sanitized);\n }\n });\n const remotes: GitRemoteInfo[] = Array.from(remoteMap, ([name, url]) => ({ name, url }));\n\n // Parse tags (top 5)\n const tags = val(4).split('\\n').filter(Boolean).slice(0, 5);\n\n // Stash count\n const stashCount = val(5).split('\\n').filter(Boolean).length;\n\n // Working tree status\n const statusLines = val(6).split('\\n').filter(Boolean);\n const workingTree: GitWorkingTreeStatus = { staged: 0, modified: 0, untracked: 0 };\n for (const line of statusLines) {\n const x = line[0];\n const y = line[1];\n if (x === '?' && y === '?') workingTree.untracked++;\n else if (x !== ' ' && x !== '?') workingTree.staged++;\n if (y !== ' ' && y !== '?') workingTree.modified++;\n }\n\n // Diff stats\n let diffStats: GitDiffStats | null = null;\n const diffLine = val(7);\n if (diffLine) {\n const files = diffLine.match(/(\\d+) file/);\n const ins = diffLine.match(/(\\d+) insertion/);\n const del = diffLine.match(/(\\d+) deletion/);\n diffStats = {\n filesChanged: files ? parseInt(files[1], 10) : 0,\n insertions: ins ? parseInt(ins[1], 10) : 0,\n deletions: del ? parseInt(del[1], 10) : 0,\n };\n }\n\n return { commits, branches, remotes, tags, stashCount, currentBranch, diffStats, workingTree };\n}\n\n// Keep backward compat\nexport async function getGitLog(\n repositoryPath: string,\n limit = 10\n): Promise<{ entries: GitLogEntry[]; error?: string }> {\n const info = await getGitRepoInfo(repositoryPath, limit);\n return { entries: info.commits, error: info.error };\n}\n","export {getAllAgentModels as '00f239232cd033d64ef90f37a6a00a7d3d9ce90753'} from 'ACTIONS_MODULE0'\nexport {checkAllAgentsStatus as '0076b3d42ef15994d8670dee6da36b75eab086f592'} from 'ACTIONS_MODULE1'\nexport {updateAgentAndModel as '602f8e351e233f77d1163d32b17d0c0b7c5a3e5059'} from 'ACTIONS_MODULE2'\nexport {pickFolder as '00dcc709a01f0569bfed0d0fd913bb2ae5820dc7b8'} from 'ACTIONS_MODULE3'\nexport {listGitHubRepositories as '409b2b7c453b85ebe22be32a1abbb566f8aac0461c'} from 'ACTIONS_MODULE4'\nexport {listGitHubOrganizations as '00f95796b31f9a01fee1c8cabf36739e0626fb895b'} from 'ACTIONS_MODULE5'\nexport {importGitHubRepository as '40061c1a99024f4c0916f2ad90f9af3b2a4f99bdff'} from 'ACTIONS_MODULE6'\nexport {deployFeature as '40b4eeeb2999f5dd298c7eeb72e866dd706847cb43'} from 'ACTIONS_MODULE7'\nexport {deployRepository as '4080e8abd8dccdccdcffa041ededc81a57388866e4'} from 'ACTIONS_MODULE8'\nexport {deployApplication as '4035315500c0fdbe957490a4576599fe4e10362d00'} from 'ACTIONS_MODULE9'\nexport {stopDeployment as '40b6be2e695ac64cea2ea7e061df3df9b9e8c668e5'} from 'ACTIONS_MODULE10'\nexport {getDeploymentStatus as '405797f8b8319ac6933f44b97b53ed69b7d74f720d'} from 'ACTIONS_MODULE11'\nexport {openIde as '40387bb1c96ffc89cb38570b2d92252ea9553593ea'} from 'ACTIONS_MODULE12'\nexport {openShell as '407777b8d49490f756be2a48c39ffbb3c69010bf47'} from 'ACTIONS_MODULE13'\nexport {openFolder as '403dc454070c72dd97868a0d66397a112bb429aa23'} from 'ACTIONS_MODULE14'\nexport {syncRepository as '40e5ff0dc2321899262d6aecf5d972433293138faf'} from 'ACTIONS_MODULE15'\nexport {getDeploymentLogs as '40ba330bb57038c106e2cb5a9706214e74b6f4bc60'} from 'ACTIONS_MODULE16'\nexport {createProjectAndFeature as '40a0177b9f2aa86822c61e9a614f071fe7717b8bda'} from 'ACTIONS_MODULE17'\nexport {createApplication as '4007c40d988784c0b9cc291fff583c56299825ace2'} from 'ACTIONS_MODULE18'\nexport {createProjectFolder as '40881f084c3e4fceddc63e1cc21c2bcc21650c5959'} from 'ACTIONS_MODULE19'\nexport {archiveFeature as '408c526d74b1227a231a476bd11bf3f73246a2a8bd'} from 'ACTIONS_MODULE20'\nexport {deleteFeature as '78104a10bad3e45e6914a57cc4073a82d3632e9640'} from 'ACTIONS_MODULE21'\nexport {resumeFeature as '40e2f984567eba20b462bc917f0c779f3b7f2edba3'} from 'ACTIONS_MODULE22'\nexport {startFeature as '40d46f342a5068b30bbe13eb5d331318d858d0244e'} from 'ACTIONS_MODULE23'\nexport {stopFeature as '40a6fc1a9d123177a769c05d5478144ebc3264f197'} from 'ACTIONS_MODULE24'\nexport {unarchiveFeature as '40c46ad4e0e3b0f93e0dd39ba080a68bb790db6b85'} from 'ACTIONS_MODULE25'\nexport {addRepository as '4033fa30fe771d213d836267fca1d2bc348edc0463'} from 'ACTIONS_MODULE26'\nexport {deleteRepository as '60f772bd3d6eee8bb874a9dc740c638f04b189228d'} from 'ACTIONS_MODULE27'\nexport {deleteApplication as '4019e9b366eba6e7ae533d69ad430786e1d105d3f7'} from 'ACTIONS_MODULE28'\nexport {getFeatureMetadata as '4075f02c367a5dde2c84769f546b9fd9b17ebbd20c'} from 'ACTIONS_MODULE29'\nexport {getGitRepoInfo as '6002b2efcb7fde75490fcaaaad63e50ef66e24d622'} from 'ACTIONS_MODULE30'\n"],"names":[],"mappings":"wDAEA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,oBAEA,IAAM,EAAgB,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,EAAA,QAAQ,EAExC,eAAe,EAAI,CAAW,CAAE,CAAc,EAC5C,GAAM,QAAE,CAAM,CAAE,CAAG,MAAM,EAAc,MAAO,EAAM,KAAE,EAAK,QAAS,GAAK,GACzE,OAAO,EAAO,IAAI,EACpB,CA8CO,eAAe,EACpB,CAAsB,CACtB,EAAc,CAAC,EAaf,GAAI,CAAC,EAAe,IAAI,GACtB,CAD0B,KACnB,CAXP,QAAS,EAAE,CACX,SAAU,EAAE,CACZ,QAAS,EAAE,CACX,KAAM,EAAE,CACR,WAAY,EACZ,cAAe,GACf,UAAW,KACX,YAAa,CAAE,OAAQ,EAAG,SAAU,EAAG,UAAW,CAAE,EAIjC,MAAO,6BAA8B,EAG1D,IAAM,EAAU,MAAM,QAAQ,UAAU,CAAC,CAEvC,EAAI,EAAgB,CAClB,MACA,CAAC,YAAY,EAAE,EAAA,CAAa,CAC5B,wCACA,aACD,EAED,EAAI,EAAgB,CAAC,SAAU,iBAAiB,EAEhD,EAAI,EAAgB,CAClB,SACA,wBACA,+DACA,aACD,EAED,EAAI,EAAgB,CAAC,SAAU,KAAK,EAEpC,EAAI,EAAgB,CAAC,MAAO,sBAAuB,KAAM,4BAA4B,EAErF,EAAI,EAAgB,CAAC,QAAS,OAAO,EAErC,EAAI,EAAgB,CAAC,SAAU,cAAc,EAE7C,EAAI,EAAgB,CAAC,OAAQ,OAAQ,cAAc,EACpD,EAEK,EAAM,AAAC,GAAqC,cAAtB,CAAO,CAAC,EAAE,CAAC,MAAM,CAAmB,CAAO,CAAC,EAAE,CAAC,KAAK,CAAG,GAG7E,EAAyB,EAAI,GAChC,KAAK,CAAC,MACN,MAAM,CAAC,SACP,GAAG,CAAC,AAAC,IACJ,GAAM,CAAC,EAAM,EAAW,EAAS,EAAQ,EAAa,CAAG,EAAK,KAAK,CAAC,MACpE,MAAO,MAAE,YAAM,UAAW,SAAS,EAAQ,cAAa,CAC1D,GAEI,EAAgB,EAAI,GACtB,EAAQ,MAAM,CAAG,GAAK,IACxB,CAAO,CAAC,EAAE,CAAC,MAAM,AADsB,CACnB,CAAA,EAItB,IAAM,EAA4B,EAAI,GACnC,KAAK,CAAC,MACN,MAAM,CAAC,SACP,KAAK,CAAC,EAAG,IACT,GAAG,CAAC,AAAC,IACJ,IAAM,EAAY,EAAK,UAAU,CAAC,KAE5B,CAAC,EAAM,EAAe,CAAG,CADjB,EAAY,EAAK,KAAK,CAAC,GAAK,CAAA,EACL,KAAK,CAAC,MAC3C,MAAO,CAAE,KAAM,EAAK,IAAI,aAAI,EAAW,eAAgB,GAAgB,QAAU,EAAG,CACtF,GAGI,EAAY,IAAI,IACtB,EAAI,GACD,KAAK,CAAC,MACN,MAAM,CAAC,SACP,OAAO,CAAE,AAAD,IACP,IAAM,EAAQ,EAAK,KAAK,CAAC,8BACzB,GAAI,EAAO,CAET,IAAM,EAAY,CAAK,CAAC,EAAE,CAAC,OAAO,CAAC,aAAc,MAAM,OAAO,CAAC,wBAAyB,IACxF,EAAU,GAAG,CAAC,CAAK,CAAC,EAAE,CAAE,EAC1B,CACF,GACF,IAAM,EAA2B,MAAM,IAAI,CAAC,EAAW,CAAC,CAAC,EAAM,EAAI,GAAK,CAAC,MAAE,MAAM,EAAI,CAAC,EAGhF,EAAO,EAAI,GAAG,KAAK,CAAC,MAAM,MAAM,CAAC,SAAS,KAAK,CAAC,EAAG,GAGnD,EAAa,EAAI,GAAG,KAAK,CAAC,MAAM,MAAM,CAAC,SAAS,MAAM,CAGtD,EAAc,EAAI,GAAG,KAAK,CAAC,MAAM,MAAM,CAAC,SACxC,EAAoC,CAAE,OAAQ,EAAG,SAAU,EAAG,UAAW,CAAE,EACjF,IAAK,IAAM,KAAQ,EAAa,CAC9B,IAAM,EAAI,CAAI,CAAC,EAAE,CACX,EAAI,CAAI,CAAC,EAAE,CACP,MAAN,GAAmB,MAAN,EAAW,EAAY,SAAS,GAClC,MAAN,GAAmB,MAAN,GAAW,EAAY,MAAM,GACzC,MAAN,GAAmB,MAAN,GAAW,EAAY,QAAQ,EAClD,CAGA,IAAI,EAAiC,KAC/B,EAAW,EAAI,GACrB,GAAI,EAAU,CACZ,IAAM,EAAQ,EAAS,KAAK,CAAC,cACvB,EAAM,EAAS,KAAK,CAAC,mBACrB,EAAM,EAAS,KAAK,CAAC,kBAC3B,EAAY,CACV,aAAc,EAAQ,SAAS,CAAK,CAAC,EAAE,CAAE,IAAM,EAC/C,WAAY,EAAM,SAAS,CAAG,CAAC,EAAE,CAAE,IAAM,EACzC,UAAW,EAAM,SAAS,CAAG,CAAC,EAAE,CAAE,IAAM,CAC1C,CACF,CAEA,MAAO,SAAE,EAAS,mBAAU,OAAS,aAAM,gBAAY,YAAe,cAAW,CAAY,CAC/F,CAGO,eAAe,EACpB,CAAsB,CACtB,EAAQ,EAAE,EAEV,IAAM,EAAO,MAAM,EAAe,EAAgB,GAClD,MAAO,CAAE,QAAS,EAAK,OAAO,CAAE,MAAO,EAAK,KAAK,AAAC,CACpD,iCApIsB,EA8HA,IA9HA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,MA8HA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,4DCtLtB,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-git-log.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/%40drawer/repository/%5BrepositoryId%5D/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["'use server';\n\nimport { execFile } from 'node:child_process';\nimport { promisify } from 'node:util';\n\nconst execFileAsync = promisify(execFile);\n\nasync function git(cwd: string, args: string[]): Promise<string> {\n const { stdout } = await execFileAsync('git', args, { cwd, timeout: 5000 });\n return stdout.trim();\n}\n\nexport interface GitLogEntry {\n hash: string;\n shortHash: string;\n subject: string;\n author: string;\n relativeDate: string;\n branch?: string;\n}\n\nexport interface GitBranchInfo {\n name: string;\n isCurrent: boolean;\n lastCommitDate: string;\n}\n\nexport interface GitRemoteInfo {\n name: string;\n url: string;\n}\n\nexport interface GitWorkingTreeStatus {\n staged: number;\n modified: number;\n untracked: number;\n}\n\nexport interface GitDiffStats {\n filesChanged: number;\n insertions: number;\n deletions: number;\n}\n\nexport interface GitRepoInfo {\n commits: GitLogEntry[];\n branches: GitBranchInfo[];\n remotes: GitRemoteInfo[];\n tags: string[];\n stashCount: number;\n currentBranch: string;\n diffStats: GitDiffStats | null;\n workingTree: GitWorkingTreeStatus;\n error?: string;\n}\n\nexport async function getGitRepoInfo(\n repositoryPath: string,\n commitLimit = 8\n): Promise<GitRepoInfo> {\n const empty: GitRepoInfo = {\n commits: [],\n branches: [],\n remotes: [],\n tags: [],\n stashCount: 0,\n currentBranch: '',\n diffStats: null,\n workingTree: { staged: 0, modified: 0, untracked: 0 },\n };\n\n if (!repositoryPath.trim()) {\n return { ...empty, error: 'Repository path is required' };\n }\n\n const results = await Promise.allSettled([\n // 0: commits\n git(repositoryPath, [\n 'log',\n `--max-count=${commitLimit}`,\n '--format=%H%x00%h%x00%s%x00%an%x00%cr',\n '--no-color',\n ]),\n // 1: current branch\n git(repositoryPath, ['branch', '--show-current']),\n // 2: branches with dates\n git(repositoryPath, [\n 'branch',\n '--sort=-committerdate',\n '--format=%(HEAD)%(refname:short)%00%(committerdate:relative)',\n '--no-color',\n ]),\n // 3: remotes\n git(repositoryPath, ['remote', '-v']),\n // 4: tags (recent 5)\n git(repositoryPath, ['tag', '--sort=-creatordate', '-l', '--format=%(refname:short)']),\n // 5: stash count\n git(repositoryPath, ['stash', 'list']),\n // 6: working tree status\n git(repositoryPath, ['status', '--porcelain']),\n // 7: diff stats (uncommitted — includes staged + unstaged vs HEAD)\n git(repositoryPath, ['diff', 'HEAD', '--shortstat']),\n ]);\n\n const val = (i: number) => (results[i].status === 'fulfilled' ? results[i].value : '');\n\n // Parse commits\n const commits: GitLogEntry[] = val(0)\n .split('\\n')\n .filter(Boolean)\n .map((line: string) => {\n const [hash, shortHash, subject, author, relativeDate] = line.split('\\0');\n return { hash, shortHash, subject, author, relativeDate };\n });\n\n const currentBranch = val(1);\n if (commits.length > 0 && currentBranch) {\n commits[0].branch = currentBranch;\n }\n\n // Parse branches\n const branches: GitBranchInfo[] = val(2)\n .split('\\n')\n .filter(Boolean)\n .slice(0, 10)\n .map((line: string) => {\n const isCurrent = line.startsWith('*');\n const clean = isCurrent ? line.slice(1) : line;\n const [name, lastCommitDate] = clean.split('\\0');\n return { name: name.trim(), isCurrent, lastCommitDate: lastCommitDate?.trim() ?? '' };\n });\n\n // Parse remotes (dedup fetch/push)\n const remoteMap = new Map<string, string>();\n val(3)\n .split('\\n')\n .filter(Boolean)\n .forEach((line: string) => {\n const match = line.match(/^(\\S+)\\s+(\\S+)\\s+\\(fetch\\)/);\n if (match) {\n // Strip credentials/tokens from URL before sending to client\n const sanitized = match[2].replace(/\\/\\/[^@]+@/, '//').replace(/x-access-token:[^@]+@/, '');\n remoteMap.set(match[1], sanitized);\n }\n });\n const remotes: GitRemoteInfo[] = Array.from(remoteMap, ([name, url]) => ({ name, url }));\n\n // Parse tags (top 5)\n const tags = val(4).split('\\n').filter(Boolean).slice(0, 5);\n\n // Stash count\n const stashCount = val(5).split('\\n').filter(Boolean).length;\n\n // Working tree status\n const statusLines = val(6).split('\\n').filter(Boolean);\n const workingTree: GitWorkingTreeStatus = { staged: 0, modified: 0, untracked: 0 };\n for (const line of statusLines) {\n const x = line[0];\n const y = line[1];\n if (x === '?' && y === '?') workingTree.untracked++;\n else if (x !== ' ' && x !== '?') workingTree.staged++;\n if (y !== ' ' && y !== '?') workingTree.modified++;\n }\n\n // Diff stats\n let diffStats: GitDiffStats | null = null;\n const diffLine = val(7);\n if (diffLine) {\n const files = diffLine.match(/(\\d+) file/);\n const ins = diffLine.match(/(\\d+) insertion/);\n const del = diffLine.match(/(\\d+) deletion/);\n diffStats = {\n filesChanged: files ? parseInt(files[1], 10) : 0,\n insertions: ins ? parseInt(ins[1], 10) : 0,\n deletions: del ? parseInt(del[1], 10) : 0,\n };\n }\n\n return { commits, branches, remotes, tags, stashCount, currentBranch, diffStats, workingTree };\n}\n\n// Keep backward compat\nexport async function getGitLog(\n repositoryPath: string,\n limit = 10\n): Promise<{ entries: GitLogEntry[]; error?: string }> {\n const info = await getGitRepoInfo(repositoryPath, limit);\n return { entries: info.commits, error: info.error };\n}\n","export {getAllAgentModels as '00f373462bd571a1792715325fb5184a126c445327'} from 'ACTIONS_MODULE0'\nexport {checkAllAgentsStatus as '00dbbf086a7ef425edbbc5cb9795264e9a155bd40b'} from 'ACTIONS_MODULE1'\nexport {updateAgentAndModel as '60b4cbab57a503aa7c536cfc32583da15139bead1a'} from 'ACTIONS_MODULE2'\nexport {pickFolder as '009691a6cd3b2c2ef91fbc73255d2709b6c5d051c4'} from 'ACTIONS_MODULE3'\nexport {listGitHubRepositories as '4031ecccb7cd5c86319137da2af0a51b0c0f8e0d95'} from 'ACTIONS_MODULE4'\nexport {listGitHubOrganizations as '0090375660d2bf0df09932302bb2d6896c322ddc2f'} from 'ACTIONS_MODULE5'\nexport {importGitHubRepository as '40895ee90ed9c02eb9b0d9db928e937cde07a407a4'} from 'ACTIONS_MODULE6'\nexport {deployFeature as '4019757a68b2ab125dac7b85cd2e1dac22da3db6c5'} from 'ACTIONS_MODULE7'\nexport {deployRepository as '40948fe1c9352411e89edf299ed1e8f51bce06bee4'} from 'ACTIONS_MODULE8'\nexport {deployApplication as '408ebe4b532992092d18a9b513f7f54038544f0585'} from 'ACTIONS_MODULE9'\nexport {stopDeployment as '4058d4d774b9a00d4ea404dc2e1dffd3559a13fa1e'} from 'ACTIONS_MODULE10'\nexport {getDeploymentStatus as '40c3e4f1640509f222ee938f58e619fb9dc9e885ad'} from 'ACTIONS_MODULE11'\nexport {openIde as '40227fbf1f06087486d930f2be73341e7ed80091c3'} from 'ACTIONS_MODULE12'\nexport {openShell as '401e7b7f484afefb6755fb3d3f2c2a4c3ed1ec3f99'} from 'ACTIONS_MODULE13'\nexport {openFolder as '407ae360e1c587f168a62691f5fbb902cc30239161'} from 'ACTIONS_MODULE14'\nexport {syncRepository as '40a57525e1106170a91c42e7c7f3fa9a53481100c8'} from 'ACTIONS_MODULE15'\nexport {getDeploymentLogs as '402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40'} from 'ACTIONS_MODULE16'\nexport {createProjectAndFeature as '4026e56be70d948dc3268ab6e2f2886a1104d8cd07'} from 'ACTIONS_MODULE17'\nexport {createApplication as '40f8c300c4c7d5f53c5c9434afc2eaaa9da4769348'} from 'ACTIONS_MODULE18'\nexport {createProjectFolder as '40d591435cbf5e2844d6b0f56fb270938d5c8489e7'} from 'ACTIONS_MODULE19'\nexport {archiveFeature as '40efbe9d403a44d886e0e48abc4980547033c4d898'} from 'ACTIONS_MODULE20'\nexport {deleteFeature as '78ffe5e01b8dbdc2aea6bf9627a1d57fc4f618024c'} from 'ACTIONS_MODULE21'\nexport {resumeFeature as '400b887a616cbf773d1916f3c9befda61ada388bbd'} from 'ACTIONS_MODULE22'\nexport {startFeature as '40726cf93f7ac7e2721f95270a9e1add6a92c81e35'} from 'ACTIONS_MODULE23'\nexport {stopFeature as '40bf7f0efdba8ee98115b817c2be5858318a7f47e8'} from 'ACTIONS_MODULE24'\nexport {unarchiveFeature as '402cdb26f49257eeb71728b1b3e61835d9fcf99014'} from 'ACTIONS_MODULE25'\nexport {addRepository as '40d9f11e8b5a5014c05d6e7c71d286bc3e3cf967f9'} from 'ACTIONS_MODULE26'\nexport {deleteRepository as '606a87dde2ab8df2216d158a8b5e396110073e0a9b'} from 'ACTIONS_MODULE27'\nexport {deleteApplication as '40967a1f7fb638f1a5c3db0578e8e9496de2aa9b41'} from 'ACTIONS_MODULE28'\nexport {getFeatureMetadata as '4066f99f07b348d08962c2d7639dd18f214b5947e1'} from 'ACTIONS_MODULE29'\nexport {getGitRepoInfo as '60056cb1d88afe7b000b79614b93edfc589e20dfdb'} from 'ACTIONS_MODULE30'\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- module.exports=[95072,a=>{"use strict";var b=a.i(92658),c=a.i(96380);async function d(a){if(!a?.trim())return{error:"Application ID is required"};try{let b=(0,c.resolve)("DeleteApplicationUseCase");return await b.execute(a),{}}catch(a){return{error:a instanceof Error?a.message:"Failed to delete application"}}}(0,a.i(12581).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"4019e9b366eba6e7ae533d69ad430786e1d105d3f7",null),a.s(["deleteApplication",()=>d])},77710,77605,45395,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a){let{description:b,repositoryPath:d,attachments:e,sessionId:f,approvalGates:g,push:h,openPr:i,parentId:j,fast:k,pending:l,forkAndPr:m,commitSpecs:n,ciWatchEnabled:o,enableEvidence:p,commitEvidence:q,agentType:r,model:s,rebaseBeforeBranch:t,injectSkills:u}=a;if(!b?.trim())return{error:"description is required"};if(!d?.trim())return{error:"repositoryPath is required"};let v=function(a,b){if(!b||0===b.length)return a;let c=b.map(a=>a.notes?.trim()?`@${a.path} [Note: ${a.notes.trim()}]`:`@${a.path}`).join(" ");return`${a}
1
+ module.exports=[95072,a=>{"use strict";var b=a.i(92658),c=a.i(96380);async function d(a){if(!a?.trim())return{error:"Application ID is required"};try{let b=(0,c.resolve)("DeleteApplicationUseCase");return await b.execute(a),{}}catch(a){return{error:a instanceof Error?a.message:"Failed to delete application"}}}(0,a.i(12581).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"40967a1f7fb638f1a5c3db0578e8e9496de2aa9b41",null),a.s(["deleteApplication",()=>d])},77710,77605,45395,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a){let{description:b,repositoryPath:d,attachments:e,sessionId:f,approvalGates:g,push:h,openPr:i,parentId:j,fast:k,pending:l,forkAndPr:m,commitSpecs:n,ciWatchEnabled:o,enableEvidence:p,commitEvidence:q,agentType:r,model:s,rebaseBeforeBranch:t,injectSkills:u}=a;if(!b?.trim())return{error:"description is required"};if(!d?.trim())return{error:"repositoryPath is required"};let v=function(a,b){if(!b||0===b.length)return a;let c=b.map(a=>a.notes?.trim()?`@${a.path} [Note: ${a.notes.trim()}]`:`@${a.path}`).join(" ");return`${a}
2
2
 
3
- ${c}`}(b,e),w={allowPrd:g?.allowPrd??!1,allowPlan:g?.allowPlan??!1,allowMerge:g?.allowMerge??!1};try{let a=(0,c.resolve)("CreateFeatureUseCase"),{feature:e,shouldSpawn:g}=await a.createRecord({userInput:v,repositoryPath:d,approvalGates:w,push:h??!1,openPr:i??!1,...j?{parentId:j}:{},description:b,...k?{fast:k}:{},...l?{pending:l}:{},...null!=m?{forkAndPr:m}:{},...null!=n?{commitSpecs:n}:{},...null!=o?{ciWatchEnabled:o}:{},...null!=p?{enableEvidence:p}:{},...null!=q?{commitEvidence:q}:{},...r?{agentType:r}:{},...s?{model:s}:{},...null!=t?{rebaseBeforeBranch:t}:{},...null!=u?{injectSkills:u}:{}});return a.initializeAndSpawn(e,{userInput:v,repositoryPath:d,approvalGates:w,push:h??!1,openPr:i??!1,...j?{parentId:j}:{},...k?{fast:k}:{},...l?{pending:l}:{},...null!=m?{forkAndPr:m}:{},...null!=n?{commitSpecs:n}:{},...null!=o?{ciWatchEnabled:o}:{},...null!=p?{enableEvidence:p}:{},...null!=q?{commitEvidence:q}:{},...r?{agentType:r}:{},...s?{model:s}:{},...f?{sessionId:f}:{},...null!=t?{rebaseBeforeBranch:t}:{},...null!=u?{injectSkills:u}:{}},g).catch(a=>{console.error("[createFeature] initializeAndSpawn failed:",a)}),{feature:e}}catch(a){return{error:a instanceof Error?a.message:"Failed to create feature"}}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"4084f24e87bf49d86e3fe8f7f9bcaad7d237dc025f",null),a.s(["createFeature",()=>e],77605);let f=`\
3
+ ${c}`}(b,e),w={allowPrd:g?.allowPrd??!1,allowPlan:g?.allowPlan??!1,allowMerge:g?.allowMerge??!1};try{let a=(0,c.resolve)("CreateFeatureUseCase"),{feature:e,shouldSpawn:g}=await a.createRecord({userInput:v,repositoryPath:d,approvalGates:w,push:h??!1,openPr:i??!1,...j?{parentId:j}:{},description:b,...k?{fast:k}:{},...l?{pending:l}:{},...null!=m?{forkAndPr:m}:{},...null!=n?{commitSpecs:n}:{},...null!=o?{ciWatchEnabled:o}:{},...null!=p?{enableEvidence:p}:{},...null!=q?{commitEvidence:q}:{},...r?{agentType:r}:{},...s?{model:s}:{},...null!=t?{rebaseBeforeBranch:t}:{},...null!=u?{injectSkills:u}:{}});return a.initializeAndSpawn(e,{userInput:v,repositoryPath:d,approvalGates:w,push:h??!1,openPr:i??!1,...j?{parentId:j}:{},...k?{fast:k}:{},...l?{pending:l}:{},...null!=m?{forkAndPr:m}:{},...null!=n?{commitSpecs:n}:{},...null!=o?{ciWatchEnabled:o}:{},...null!=p?{enableEvidence:p}:{},...null!=q?{commitEvidence:q}:{},...r?{agentType:r}:{},...s?{model:s}:{},...f?{sessionId:f}:{},...null!=t?{rebaseBeforeBranch:t}:{},...null!=u?{injectSkills:u}:{}},g).catch(a=>{console.error("[createFeature] initializeAndSpawn failed:",a)}),{feature:e}}catch(a){return{error:a instanceof Error?a.message:"Failed to create feature"}}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"40d0e3402652c3ee7206eb31e80d3ae87ece9b492e",null),a.s(["createFeature",()=>e],77605);let f=`\
4
4
  ## Project Requirements
5
5
 
6
6
  Build this as a **React application** using Vite as the build tool.
@@ -27,6 +27,6 @@ Build this as a **React application** using Vite as the build tool.
27
27
  ---
28
28
 
29
29
  ## What to Build
30
- `;async function g(a){let{description:b,attachments:d,agentType:g,model:h}=a;if(!b?.trim())return{error:"Description is required"};try{let i=(0,c.resolve)("CreateProjectUseCase"),j=await i.execute({name:b.trim().split(/\s+/).slice(0,6).join(" ")});if(!j.ok)return{error:j.error};let k=j.path,l=(0,c.resolve)("AddRepositoryUseCase"),m=await l.execute({path:k}),n=f+b.trim(),o=await e({description:n,repositoryPath:k,attachments:d,agentType:g,model:h,fast:a.fast});if(o.error)return{error:o.error};return{feature:o.feature,repository:m,repositoryPath:k}}catch(a){return{error:a instanceof Error?a.message:"Failed to create project"}}}async function h(a){if(!a.description?.trim())return{error:"Description is required"};try{let b=(0,c.resolve)("CreateApplicationUseCase"),d=await b.execute({description:a.description.trim(),agentType:a.agentType,modelOverride:a.modelOverride,initialPrompt:a.initialPrompt});return{application:d.application,repositoryPath:d.repositoryPath}}catch(a){return{error:a instanceof Error?a.message:"Failed to create application"}}}(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"40a0177b9f2aa86822c61e9a614f071fe7717b8bda",null),a.s(["createProjectAndFeature",()=>g],77710),(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"4007c40d988784c0b9cc291fff583c56299825ace2",null),a.s(["createApplication",()=>h],45395)},73474,a=>{"use strict";var b=a.i(23504),c=a.i(8115),d=a.i(27900),e=a.i(12513),f=a.i(73101),g=a.i(54775),h=a.i(65324),i=a.i(33841),j=a.i(46646),k=a.i(68378),l=a.i(68670),m=a.i(85321),n=a.i(77710),o=a.i(45395),p=a.i(95072);a.s([],79352),a.i(79352),a.s(["0076b3d42ef15994d8670dee6da36b75eab086f592",()=>c.checkAllAgentsStatus,"00dcc709a01f0569bfed0d0fd913bb2ae5820dc7b8",()=>e.pickFolder,"00f239232cd033d64ef90f37a6a00a7d3d9ce90753",()=>b.getAllAgentModels,"00f95796b31f9a01fee1c8cabf36739e0626fb895b",()=>g.listGitHubOrganizations,"40061c1a99024f4c0916f2ad90f9af3b2a4f99bdff",()=>h.importGitHubRepository,"4007c40d988784c0b9cc291fff583c56299825ace2",()=>o.createApplication,"4019e9b366eba6e7ae533d69ad430786e1d105d3f7",()=>p.deleteApplication,"4035315500c0fdbe957490a4576599fe4e10362d00",()=>k.deployApplication,"405797f8b8319ac6933f44b97b53ed69b7d74f720d",()=>m.getDeploymentStatus,"4080e8abd8dccdccdcffa041ededc81a57388866e4",()=>j.deployRepository,"409b2b7c453b85ebe22be32a1abbb566f8aac0461c",()=>f.listGitHubRepositories,"40a0177b9f2aa86822c61e9a614f071fe7717b8bda",()=>n.createProjectAndFeature,"40b4eeeb2999f5dd298c7eeb72e866dd706847cb43",()=>i.deployFeature,"40b6be2e695ac64cea2ea7e061df3df9b9e8c668e5",()=>l.stopDeployment,"602f8e351e233f77d1163d32b17d0c0b7c5a3e5059",()=>d.updateAgentAndModel],73474)}];
30
+ `;async function g(a){let{description:b,attachments:d,agentType:g,model:h}=a;if(!b?.trim())return{error:"Description is required"};try{let i=(0,c.resolve)("CreateProjectUseCase"),j=await i.execute({name:b.trim().split(/\s+/).slice(0,6).join(" ")});if(!j.ok)return{error:j.error};let k=j.path,l=(0,c.resolve)("AddRepositoryUseCase"),m=await l.execute({path:k}),n=f+b.trim(),o=await e({description:n,repositoryPath:k,attachments:d,agentType:g,model:h,fast:a.fast});if(o.error)return{error:o.error};return{feature:o.feature,repository:m,repositoryPath:k}}catch(a){return{error:a instanceof Error?a.message:"Failed to create project"}}}async function h(a){if(!a.description?.trim())return{error:"Description is required"};try{let b=(0,c.resolve)("CreateApplicationUseCase"),d=await b.execute({description:a.description.trim(),agentType:a.agentType,modelOverride:a.modelOverride,initialPrompt:a.initialPrompt});return{application:d.application,repositoryPath:d.repositoryPath}}catch(a){return{error:a instanceof Error?a.message:"Failed to create application"}}}(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"4026e56be70d948dc3268ab6e2f2886a1104d8cd07",null),a.s(["createProjectAndFeature",()=>g],77710),(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"40f8c300c4c7d5f53c5c9434afc2eaaa9da4769348",null),a.s(["createApplication",()=>h],45395)},73474,a=>{"use strict";var b=a.i(23504),c=a.i(8115),d=a.i(27900),e=a.i(12513),f=a.i(73101),g=a.i(54775),h=a.i(65324),i=a.i(33841),j=a.i(46646),k=a.i(68378),l=a.i(68670),m=a.i(85321),n=a.i(77710),o=a.i(45395),p=a.i(95072);a.s([],79352),a.i(79352),a.s(["0090375660d2bf0df09932302bb2d6896c322ddc2f",()=>g.listGitHubOrganizations,"009691a6cd3b2c2ef91fbc73255d2709b6c5d051c4",()=>e.pickFolder,"00dbbf086a7ef425edbbc5cb9795264e9a155bd40b",()=>c.checkAllAgentsStatus,"00f373462bd571a1792715325fb5184a126c445327",()=>b.getAllAgentModels,"4019757a68b2ab125dac7b85cd2e1dac22da3db6c5",()=>i.deployFeature,"4026e56be70d948dc3268ab6e2f2886a1104d8cd07",()=>n.createProjectAndFeature,"4031ecccb7cd5c86319137da2af0a51b0c0f8e0d95",()=>f.listGitHubRepositories,"4058d4d774b9a00d4ea404dc2e1dffd3559a13fa1e",()=>l.stopDeployment,"40895ee90ed9c02eb9b0d9db928e937cde07a407a4",()=>h.importGitHubRepository,"408ebe4b532992092d18a9b513f7f54038544f0585",()=>k.deployApplication,"40948fe1c9352411e89edf299ed1e8f51bce06bee4",()=>j.deployRepository,"40967a1f7fb638f1a5c3db0578e8e9496de2aa9b41",()=>p.deleteApplication,"40c3e4f1640509f222ee938f58e619fb9dc9e885ad",()=>m.getDeploymentStatus,"40f8c300c4c7d5f53c5c9434afc2eaaa9da4769348",()=>o.createApplication,"60b4cbab57a503aa7c536cfc32583da15139bead1a",()=>d.updateAgentAndModel],73474)}];
31
31
 
32
32
  //# sourceMappingURL=src_presentation_web_77dadf68._.js.map