@shepai/cli 1.175.1 → 1.176.0-pr532.55975f7

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 (234) hide show
  1. package/apis/json-schema/Language.yaml +1 -0
  2. package/dist/eslint.config.mjs +2 -0
  3. package/dist/packages/core/src/application/ports/output/services/i-browser-opener.d.ts +28 -0
  4. package/dist/packages/core/src/application/ports/output/services/i-browser-opener.d.ts.map +1 -0
  5. package/dist/packages/core/src/application/ports/output/services/i-browser-opener.js +13 -0
  6. package/dist/packages/core/src/application/ports/output/services/i-desktop-notifier.d.ts +29 -0
  7. package/dist/packages/core/src/application/ports/output/services/i-desktop-notifier.d.ts.map +1 -0
  8. package/dist/packages/core/src/application/ports/output/services/i-desktop-notifier.js +13 -0
  9. package/dist/packages/core/src/application/ports/output/services/index.d.ts +2 -0
  10. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  11. package/dist/packages/core/src/domain/generated/output.d.ts +1 -0
  12. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  13. package/dist/packages/core/src/domain/generated/output.js +1 -0
  14. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  15. package/dist/packages/core/src/infrastructure/di/container.js +5 -0
  16. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts.map +1 -1
  17. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.js +20 -6
  18. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
  19. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +27 -4
  20. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.d.ts.map +1 -1
  21. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.js +31 -5
  22. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.d.ts +14 -0
  23. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.d.ts.map +1 -1
  24. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.js +63 -0
  25. package/dist/packages/core/src/infrastructure/services/browser-opener.service.d.ts +2 -1
  26. package/dist/packages/core/src/infrastructure/services/browser-opener.service.d.ts.map +1 -1
  27. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
  28. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +57 -10
  29. package/dist/packages/core/src/infrastructure/services/notifications/desktop-notifier.d.ts +2 -1
  30. package/dist/packages/core/src/infrastructure/services/notifications/desktop-notifier.d.ts.map +1 -1
  31. package/dist/src/presentation/cli/commands/daemon/start-daemon.d.ts +1 -1
  32. package/dist/src/presentation/cli/commands/daemon/start-daemon.js +2 -3
  33. package/dist/src/presentation/cli/commands/ui.command.js +1 -2
  34. package/dist/translations/ar/common.json +1 -0
  35. package/dist/translations/de/common.json +1 -0
  36. package/dist/translations/en/common.json +1 -0
  37. package/dist/translations/es/common.json +1 -0
  38. package/dist/translations/fr/common.json +1 -0
  39. package/dist/translations/he/common.json +1 -0
  40. package/dist/translations/pt/common.json +1 -0
  41. package/dist/translations/ru/common.json +1 -0
  42. package/dist/translations/uk/cli.json +631 -0
  43. package/dist/translations/uk/common.json +56 -0
  44. package/dist/translations/uk/tui.json +134 -0
  45. package/dist/translations/uk/web.json +615 -0
  46. package/dist/tsconfig.build.tsbuildinfo +1 -1
  47. package/package.json +10 -2
  48. package/web/.next/BUILD_ID +1 -1
  49. package/web/.next/build-manifest.json +2 -2
  50. package/web/.next/fallback-build-manifest.json +2 -2
  51. package/web/.next/prerender-manifest.json +3 -3
  52. package/web/.next/required-server-files.js +3 -3
  53. package/web/.next/required-server-files.json +3 -3
  54. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  55. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  56. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  57. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  58. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  59. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  60. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
  61. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  62. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  63. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +38 -38
  64. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  65. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  66. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +38 -38
  67. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  68. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  69. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  70. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  71. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  72. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  73. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  74. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  75. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  76. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  77. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  78. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
  79. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  80. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  81. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +38 -38
  82. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  83. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  84. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +38 -38
  85. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  86. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  87. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  88. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  89. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  90. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  91. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  92. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  93. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  94. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  95. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  96. package/web/.next/server/app/_global-error.html +2 -2
  97. package/web/.next/server/app/_global-error.rsc +1 -1
  98. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  99. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  100. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  101. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  102. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  103. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  104. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  105. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  106. package/web/.next/server/app/features/page/server-reference-manifest.json +6 -6
  107. package/web/.next/server/app/features/page.js.nft.json +1 -1
  108. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  109. package/web/.next/server/app/settings/page/server-reference-manifest.json +9 -9
  110. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  111. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  112. package/web/.next/server/app/skills/page/server-reference-manifest.json +13 -13
  113. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  114. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  115. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  116. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  117. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  118. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  119. package/web/.next/server/app/version/page.js.nft.json +1 -1
  120. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  121. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  122. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js +1 -1
  123. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js.map +1 -1
  124. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  125. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  126. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js +1 -1
  127. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js.map +1 -1
  128. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js +1 -1
  129. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js.map +1 -1
  130. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js +1 -1
  131. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js.map +1 -1
  132. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  133. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  134. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  135. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  136. package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js +1 -1
  137. package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js.map +1 -1
  138. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +1 -1
  139. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +1 -1
  140. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  141. package/web/.next/server/chunks/ssr/[root-of-the-server]__51ec77a8._.js +1 -1
  142. package/web/.next/server/chunks/ssr/[root-of-the-server]__51ec77a8._.js.map +1 -1
  143. package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js +2 -2
  144. package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js +1 -1
  145. package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js.map +1 -1
  146. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +1 -1
  147. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +1 -1
  148. package/web/.next/server/chunks/ssr/[root-of-the-server]__86ff0bc5._.js +1 -1
  149. package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js +1 -1
  150. package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js.map +1 -1
  151. package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js +1 -1
  152. package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js.map +1 -1
  153. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +1 -1
  154. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -1
  155. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  156. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  157. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  158. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  159. package/web/.next/server/chunks/ssr/_1879404a._.js +1 -1
  160. package/web/.next/server/chunks/ssr/_295fffde._.js +1 -1
  161. package/web/.next/server/chunks/ssr/_295fffde._.js.map +1 -1
  162. package/web/.next/server/chunks/ssr/_45496654._.js +1 -1
  163. package/web/.next/server/chunks/ssr/_45496654._.js.map +1 -1
  164. package/web/.next/server/chunks/ssr/_4cbb7f95._.js +1 -1
  165. package/web/.next/server/chunks/ssr/_4cbb7f95._.js.map +1 -1
  166. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  167. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  168. package/web/.next/server/chunks/ssr/_6abfa39e._.js +1 -1
  169. package/web/.next/server/chunks/ssr/_6abfa39e._.js.map +1 -1
  170. package/web/.next/server/chunks/ssr/{_ce75a825._.js → _77c0fcf9._.js} +2 -2
  171. package/web/.next/server/chunks/ssr/{_ce75a825._.js.map → _77c0fcf9._.js.map} +1 -1
  172. package/web/.next/server/chunks/ssr/{_81ef821b._.js → _793a1cb7._.js} +2 -2
  173. package/web/.next/server/chunks/ssr/{_81ef821b._.js.map → _793a1cb7._.js.map} +1 -1
  174. package/web/.next/server/chunks/ssr/{_f1776188._.js → _a422bf2a._.js} +2 -2
  175. package/web/.next/server/chunks/ssr/{_f1776188._.js.map → _a422bf2a._.js.map} +1 -1
  176. package/web/.next/server/chunks/ssr/_d9c0a97a._.js +1 -1
  177. package/web/.next/server/chunks/ssr/_f8c55130._.js +1 -1
  178. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  179. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  180. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  181. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
  182. package/web/.next/server/chunks/ssr/src_presentation_web_17d39233._.js +1 -1
  183. package/web/.next/server/chunks/ssr/src_presentation_web_17d39233._.js.map +1 -1
  184. package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js +2 -2
  185. package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js.map +1 -1
  186. package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js +2 -2
  187. package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js.map +1 -1
  188. package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js +1 -1
  189. package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js.map +1 -1
  190. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js +1 -1
  191. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js.map +1 -1
  192. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js +1 -1
  193. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js.map +1 -1
  194. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js +1 -1
  195. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js.map +1 -1
  196. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  197. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  198. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  199. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  200. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  201. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  202. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  203. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +1 -1
  204. package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js +1 -1
  205. package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js.map +1 -1
  206. package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.js +1 -1
  207. package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.js.map +1 -1
  208. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +1 -1
  209. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -1
  210. package/web/.next/server/pages/500.html +2 -2
  211. package/web/.next/server/server-reference-manifest.js +1 -1
  212. package/web/.next/server/server-reference-manifest.json +50 -50
  213. package/web/.next/static/chunks/{eb951d647c1f92e6.js → 1a8cc3e8ac883e2b.js} +1 -1
  214. package/web/.next/static/chunks/{09b21da62ffd89d6.js → 262a67a49e0743d3.js} +1 -1
  215. package/web/.next/static/chunks/{b5218d35112c5b4b.js → 386002a2691bb9dd.js} +2 -2
  216. package/web/.next/static/chunks/48f23973606404cc.js +1 -0
  217. package/web/.next/static/chunks/{03219e57ab4dab05.js → 579e6b70db6929d2.js} +1 -1
  218. package/web/.next/static/chunks/{ed450778c582887c.js → 588683f02d5605e2.js} +3 -3
  219. package/web/.next/static/chunks/{bf0d2eba02ad69a4.js → 5b7e43202de8c1a8.js} +1 -1
  220. package/web/.next/static/chunks/68e2b24b5b7e759f.js +1 -0
  221. package/web/.next/static/chunks/{20e831d121ae5518.js → 80585fc16812ae67.js} +1 -1
  222. package/web/.next/static/chunks/{3240913baa13b564.js → 8a4b6bb1caff13d0.js} +1 -1
  223. package/web/.next/static/chunks/{7b5bdecb2b254cd5.js → 978573b264d5a2e9.js} +3 -3
  224. package/web/.next/static/chunks/{df22a970881f1da8.js → bdbc503ea4c3d1dd.js} +1 -1
  225. package/web/.next/static/chunks/{feeecb1dc1648817.js → e3ab14d58f1667b8.js} +1 -1
  226. package/web/.next/static/chunks/{b49ab0b290e9342d.js → e8444bf5f6c35f8b.js} +1 -1
  227. package/web/.next/static/chunks/{34073c7071fbc0bc.js → f3b1b43984c55f62.js} +1 -1
  228. package/web/.next/static/chunks/f9d948464ed409cb.js +1 -0
  229. package/web/.next/static/chunks/523caed4f5a9a78f.js +0 -1
  230. package/web/.next/static/chunks/b65e555419a0c664.js +0 -1
  231. package/web/.next/static/chunks/fe1670b9aae7de08.js +0 -1
  232. /package/web/.next/static/{JskTxIiYLT1ye2ta1GTlv → u4W37utlCfyawzGY7QsKP}/_buildManifest.js +0 -0
  233. /package/web/.next/static/{JskTxIiYLT1ye2ta1GTlv → u4W37utlCfyawzGY7QsKP}/_clientMiddlewareManifest.json +0 -0
  234. /package/web/.next/static/{JskTxIiYLT1ye2ta1GTlv → u4W37utlCfyawzGY7QsKP}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"git-pr.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/git/git-pr.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-pr.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/git/git-pr.service.ts"],"names":[],"mappings":"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"}
@@ -216,6 +216,27 @@ let GitPrService = class GitPrService {
216
216
  }
217
217
  async localMergeSquash(cwd, featureBranch, baseBranch, commitMessage, hasRemote = false) {
218
218
  try {
219
+ // Clean up any stale merge/rebase state and dirty index BEFORE checkout.
220
+ // A previous failed merge may have left the repo in a merge state, causing
221
+ // "you need to resolve your current index first" on checkout.
222
+ try {
223
+ await this.execFile('git', ['merge', '--abort'], { cwd });
224
+ }
225
+ catch {
226
+ // No merge in progress — expected, non-fatal
227
+ }
228
+ try {
229
+ await this.execFile('git', ['reset', '--hard', 'HEAD'], { cwd });
230
+ }
231
+ catch {
232
+ // Reset failure is non-fatal
233
+ }
234
+ try {
235
+ await this.execFile('git', ['clean', '-fd'], { cwd });
236
+ }
237
+ catch {
238
+ // Clean failure is non-fatal
239
+ }
219
240
  // Fetch latest from remote if available
220
241
  if (hasRemote) {
221
242
  try {
@@ -236,16 +257,42 @@ let GitPrService = class GitPrService {
236
257
  // Pull failure is non-fatal — proceed with local state
237
258
  }
238
259
  }
239
- // Clean untracked files that may conflict with the merge (e.g. files created
240
- // by a prior agent call that leaked into the original repo directory)
260
+ // Squash merge the feature branch.
261
+ // git merge --squash writes conflict info to STDOUT (not stderr), so the
262
+ // error.message from execFile won't contain "CONFLICT". We must check
263
+ // error.stdout to detect conflicts and include it in diagnostics.
241
264
  try {
242
- await this.execFile('git', ['clean', '-fd'], { cwd });
265
+ await this.execFile('git', ['merge', '--squash', featureBranch], { cwd });
243
266
  }
244
- catch {
245
- // Clean failure is non-fatal
267
+ catch (mergeError) {
268
+ // Abort the in-progress merge to leave the repo clean
269
+ try {
270
+ await this.execFile('git', ['merge', '--abort'], { cwd });
271
+ }
272
+ catch {
273
+ // merge --abort may fail if there's no merge in progress; non-fatal
274
+ try {
275
+ await this.execFile('git', ['reset', '--merge'], { cwd });
276
+ }
277
+ catch {
278
+ // Last-resort cleanup; non-fatal
279
+ }
280
+ }
281
+ // Check stdout for CONFLICT text (git merge --squash puts it there, not stderr)
282
+ const stdout = mergeError?.stdout ?? '';
283
+ const stderr = mergeError?.stderr ?? '';
284
+ const combined = `${stdout}\n${stderr}`;
285
+ const mergeMsg = mergeError instanceof Error ? mergeError.message : String(mergeError);
286
+ if (combined.includes('CONFLICT') ||
287
+ combined.includes('conflict') ||
288
+ mergeMsg.includes('CONFLICT') ||
289
+ mergeMsg.includes('conflict')) {
290
+ throw new GitPrError(`Merge conflict while squash-merging ${featureBranch} into ${baseBranch}: ${combined.trim()}`, GitPrErrorCode.MERGE_CONFLICT, mergeError instanceof Error ? mergeError : undefined);
291
+ }
292
+ // Include stdout in the error for better diagnostics
293
+ const detail = combined.trim() || mergeMsg;
294
+ throw new GitPrError(`Local squash merge failed: ${detail}`, GitPrErrorCode.GIT_ERROR, mergeError instanceof Error ? mergeError : undefined);
246
295
  }
247
- // Squash merge the feature branch
248
- await this.execFile('git', ['merge', '--squash', featureBranch], { cwd });
249
296
  // Commit the squash merge (skip if nothing to commit — branches may be equivalent)
250
297
  const { stdout: status } = await this.execFile('git', ['status', '--porcelain'], { cwd });
251
298
  if (status.trim().length > 0) {
@@ -274,11 +321,11 @@ let GitPrService = class GitPrService {
274
321
  }
275
322
  }
276
323
  catch (error) {
324
+ // Re-throw GitPrErrors as-is (already properly classified above)
325
+ if (error instanceof GitPrError)
326
+ throw error;
277
327
  const message = error instanceof Error ? error.message : String(error);
278
328
  const cause = error instanceof Error ? error : undefined;
279
- if (message.includes('CONFLICT') || message.includes('conflict')) {
280
- throw new GitPrError(`Merge conflict while squash-merging ${featureBranch} into ${baseBranch}: ${message}`, GitPrErrorCode.MERGE_CONFLICT, cause);
281
- }
282
329
  throw new GitPrError(`Local squash merge failed: ${message}`, GitPrErrorCode.GIT_ERROR, cause);
283
330
  }
284
331
  }
@@ -9,7 +9,8 @@
9
9
  * - Title truncated to 100 chars, body to 500 chars
10
10
  * - Errors are caught and logged (never thrown)
11
11
  */
12
- export declare class DesktopNotifier {
12
+ import type { IDesktopNotifier } from '../../../application/ports/output/services/i-desktop-notifier.js';
13
+ export declare class DesktopNotifier implements IDesktopNotifier {
13
14
  /**
14
15
  * Send a native OS desktop notification.
15
16
  *
@@ -1 +1 @@
1
- {"version":3,"file":"desktop-notifier.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/notifications/desktop-notifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,qBAAa,eAAe;IAC1B;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAYvC,OAAO,CAAC,QAAQ;CAIjB"}
1
+ {"version":3,"file":"desktop-notifier.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/notifications/desktop-notifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kEAAkE,CAAC;AAMzG,qBAAa,eAAgB,YAAW,gBAAgB;IACtD;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAYvC,OAAO,CAAC,QAAQ;CAIjB"}
@@ -14,7 +14,7 @@
14
14
  * 4. Wait briefly to confirm the child is alive; surface stderr on crash
15
15
  * 5. Write daemon.json atomically via IDaemonService
16
16
  * 6. Print formatted URL to stdout
17
- * 7. Open browser via BrowserOpenerService
17
+ * 7. Open browser via IBrowserOpener (resolved from DI container)
18
18
  */
19
19
  export interface StartDaemonOptions {
20
20
  port?: number;
@@ -14,14 +14,13 @@
14
14
  * 4. Wait briefly to confirm the child is alive; surface stderr on crash
15
15
  * 5. Write daemon.json atomically via IDaemonService
16
16
  * 6. Print formatted URL to stdout
17
- * 7. Open browser via BrowserOpenerService
17
+ * 7. Open browser via IBrowserOpener (resolved from DI container)
18
18
  */
19
19
  import { spawn } from 'node:child_process';
20
20
  import { closeSync, openSync, renameSync, existsSync } from 'node:fs';
21
21
  import http from 'node:http';
22
22
  import { container } from '../../../../../packages/core/src/infrastructure/di/container.js';
23
23
  import { findAvailablePort, DEFAULT_PORT } from '../../../../../packages/core/src/infrastructure/services/port.service.js';
24
- import { BrowserOpenerService } from '../../../../../packages/core/src/infrastructure/services/browser-opener.service.js';
25
24
  import { getDaemonLogPath } from '../../../../../packages/core/src/infrastructure/services/filesystem/shep-directory.service.js';
26
25
  import { fmt, messages, spinner } from '../../ui/index.js';
27
26
  import { getCliI18n } from '../../i18n.js';
@@ -116,7 +115,7 @@ export async function startDaemon(opts = {}) {
116
115
  }
117
116
  }
118
117
  messages.newline();
119
- const opener = new BrowserOpenerService({ warn: messages.warning });
118
+ const opener = container.resolve('IBrowserOpener');
120
119
  opener.open(url);
121
120
  }
122
121
  /**
@@ -23,7 +23,6 @@ import { initializeNotificationWatcher, getNotificationWatcher, } from '../../..
23
23
  import { initializePrSyncWatcher, getPrSyncWatcher, } from '../../../../packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.js';
24
24
  import { initializeAutoArchiveWatcher, getAutoArchiveWatcher, } from '../../../../packages/core/src/infrastructure/services/auto-archive/auto-archive-watcher.service.js';
25
25
  import { getExistingConnection } from '../../../../packages/core/src/infrastructure/persistence/sqlite/connection.js';
26
- import { BrowserOpenerService } from '../../../../packages/core/src/infrastructure/services/browser-opener.service.js';
27
26
  import { colors, fmt, messages } from '../ui/index.js';
28
27
  import { getCliI18n } from '../i18n.js';
29
28
  function parsePort(value) {
@@ -83,7 +82,7 @@ Examples:
83
82
  messages.newline();
84
83
  // Auto-open browser (unless --no-open)
85
84
  if (options.open !== false) {
86
- const opener = new BrowserOpenerService({ warn: messages.warning });
85
+ const opener = container.resolve('IBrowserOpener');
87
86
  opener.open(url);
88
87
  }
89
88
  // Handle graceful shutdown via SIGINT/SIGTERM
@@ -44,6 +44,7 @@
44
44
  },
45
45
  "language": {
46
46
  "en": "الإنجليزية",
47
+ "uk": "الأوكرانية",
47
48
  "ru": "الروسية",
48
49
  "pt": "البرتغالية",
49
50
  "es": "الإسبانية",
@@ -44,6 +44,7 @@
44
44
  },
45
45
  "language": {
46
46
  "en": "Englisch",
47
+ "uk": "Ukrainisch",
47
48
  "ru": "Russisch",
48
49
  "pt": "Portugiesisch",
49
50
  "es": "Spanisch",
@@ -44,6 +44,7 @@
44
44
  },
45
45
  "language": {
46
46
  "en": "English",
47
+ "uk": "Ukrainian",
47
48
  "ru": "Russian",
48
49
  "pt": "Portuguese",
49
50
  "es": "Spanish",
@@ -44,6 +44,7 @@
44
44
  },
45
45
  "language": {
46
46
  "en": "Inglés",
47
+ "uk": "Ucraniano",
47
48
  "ru": "Ruso",
48
49
  "pt": "Portugués",
49
50
  "es": "Español",
@@ -44,6 +44,7 @@
44
44
  },
45
45
  "language": {
46
46
  "en": "Anglais",
47
+ "uk": "Ukrainien",
47
48
  "ru": "Russe",
48
49
  "pt": "Portugais",
49
50
  "es": "Espagnol",
@@ -44,6 +44,7 @@
44
44
  },
45
45
  "language": {
46
46
  "en": "אנגלית",
47
+ "uk": "אוקראינית",
47
48
  "ru": "רוסית",
48
49
  "pt": "פורטוגזית",
49
50
  "es": "ספרדית",
@@ -44,6 +44,7 @@
44
44
  },
45
45
  "language": {
46
46
  "en": "Inglês",
47
+ "uk": "Ucraniano",
47
48
  "ru": "Russo",
48
49
  "pt": "Português",
49
50
  "es": "Espanhol",
@@ -44,6 +44,7 @@
44
44
  },
45
45
  "language": {
46
46
  "en": "Английский",
47
+ "uk": "Украинский",
47
48
  "ru": "Русский",
48
49
  "pt": "Португальский",
49
50
  "es": "Испанский",