@shepai/cli 1.202.1-pr606.60460ac → 1.202.2

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 (372) 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/react-loadable-manifest.json +4 -4
  9. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +37 -37
  10. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  11. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  12. package/web/.next/server/app/(dashboard)/@drawer/chat/page/react-loadable-manifest.json +4 -4
  13. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +35 -35
  14. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  15. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  16. package/web/.next/server/app/(dashboard)/@drawer/create/page/react-loadable-manifest.json +4 -4
  17. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +38 -38
  18. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  19. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  20. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/react-loadable-manifest.json +4 -4
  21. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +47 -47
  22. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  23. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  24. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/react-loadable-manifest.json +4 -4
  25. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +47 -47
  26. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  27. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  28. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +4 -4
  29. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +36 -36
  30. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  31. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  32. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/react-loadable-manifest.json +4 -4
  33. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +36 -36
  34. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  35. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  36. package/web/.next/server/app/(dashboard)/chat/page/react-loadable-manifest.json +4 -4
  37. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +35 -35
  38. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  39. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  40. package/web/.next/server/app/(dashboard)/control-center/page/react-loadable-manifest.json +4 -4
  41. package/web/.next/server/app/(dashboard)/control-center/page/server-reference-manifest.json +35 -35
  42. package/web/.next/server/app/(dashboard)/control-center/page.js.nft.json +1 -1
  43. package/web/.next/server/app/(dashboard)/control-center/page_client-reference-manifest.js +1 -1
  44. package/web/.next/server/app/(dashboard)/create/page/react-loadable-manifest.json +4 -4
  45. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +38 -38
  46. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  47. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  48. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/react-loadable-manifest.json +4 -4
  49. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +47 -47
  50. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  51. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  52. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/react-loadable-manifest.json +4 -4
  53. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +47 -47
  54. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  55. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  56. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +4 -4
  57. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +36 -36
  58. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  59. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  60. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/react-loadable-manifest.json +4 -4
  61. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +36 -36
  62. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  63. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  64. package/web/.next/server/app/_global-error.html +2 -2
  65. package/web/.next/server/app/_global-error.rsc +1 -1
  66. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  67. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  68. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  69. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  70. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  71. package/web/.next/server/app/_not-found/page/react-loadable-manifest.json +4 -4
  72. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +9 -9
  73. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  74. package/web/.next/server/app/agent-questions/page/react-loadable-manifest.json +4 -4
  75. package/web/.next/server/app/agent-questions/page/server-reference-manifest.json +11 -11
  76. package/web/.next/server/app/agent-questions/page_client-reference-manifest.js +1 -1
  77. package/web/.next/server/app/agents/[agentType]/page/react-loadable-manifest.json +4 -4
  78. package/web/.next/server/app/agents/[agentType]/page/server-reference-manifest.json +13 -13
  79. package/web/.next/server/app/agents/[agentType]/page_client-reference-manifest.js +1 -1
  80. package/web/.next/server/app/agents/page/react-loadable-manifest.json +4 -4
  81. package/web/.next/server/app/agents/page/server-reference-manifest.json +10 -10
  82. package/web/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  83. package/web/.next/server/app/application/[id]/page/react-loadable-manifest.json +4 -4
  84. package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +18 -18
  85. package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
  86. package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
  87. package/web/.next/server/app/application/[id]/supervisor/page/react-loadable-manifest.json +4 -4
  88. package/web/.next/server/app/application/[id]/supervisor/page/server-reference-manifest.json +10 -10
  89. package/web/.next/server/app/application/[id]/supervisor/page_client-reference-manifest.js +1 -1
  90. package/web/.next/server/app/applications/page/react-loadable-manifest.json +4 -4
  91. package/web/.next/server/app/applications/page/server-reference-manifest.json +20 -20
  92. package/web/.next/server/app/applications/page.js.nft.json +1 -1
  93. package/web/.next/server/app/applications/page_client-reference-manifest.js +1 -1
  94. package/web/.next/server/app/features/page/react-loadable-manifest.json +4 -4
  95. package/web/.next/server/app/features/page/server-reference-manifest.json +31 -31
  96. package/web/.next/server/app/features/page.js.nft.json +1 -1
  97. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  98. package/web/.next/server/app/onboarding/page/react-loadable-manifest.json +4 -4
  99. package/web/.next/server/app/onboarding/page/server-reference-manifest.json +9 -9
  100. package/web/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  101. package/web/.next/server/app/page/react-loadable-manifest.json +4 -4
  102. package/web/.next/server/app/page/server-reference-manifest.json +9 -9
  103. package/web/.next/server/app/page_client-reference-manifest.js +1 -1
  104. package/web/.next/server/app/projects/[slug]/items/[itemId]/page/react-loadable-manifest.json +4 -4
  105. package/web/.next/server/app/projects/[slug]/items/[itemId]/page/server-reference-manifest.json +16 -16
  106. package/web/.next/server/app/projects/[slug]/items/[itemId]/page_client-reference-manifest.js +1 -1
  107. package/web/.next/server/app/projects/[slug]/page/react-loadable-manifest.json +4 -4
  108. package/web/.next/server/app/projects/[slug]/page/server-reference-manifest.json +28 -28
  109. package/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  110. package/web/.next/server/app/projects/[slug]/pages/page/react-loadable-manifest.json +4 -4
  111. package/web/.next/server/app/projects/[slug]/pages/page/server-reference-manifest.json +12 -12
  112. package/web/.next/server/app/projects/[slug]/pages/page_client-reference-manifest.js +1 -1
  113. package/web/.next/server/app/projects/[slug]/settings/page/react-loadable-manifest.json +4 -4
  114. package/web/.next/server/app/projects/[slug]/settings/page/server-reference-manifest.json +18 -18
  115. package/web/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
  116. package/web/.next/server/app/projects/page/react-loadable-manifest.json +4 -4
  117. package/web/.next/server/app/projects/page/server-reference-manifest.json +10 -10
  118. package/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  119. package/web/.next/server/app/settings/page/react-loadable-manifest.json +4 -4
  120. package/web/.next/server/app/settings/page/server-reference-manifest.json +15 -15
  121. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  122. package/web/.next/server/app/skills/page/react-loadable-manifest.json +4 -4
  123. package/web/.next/server/app/skills/page/server-reference-manifest.json +17 -17
  124. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  125. package/web/.next/server/app/supervisor/feature/[featureId]/page/react-loadable-manifest.json +4 -4
  126. package/web/.next/server/app/supervisor/feature/[featureId]/page/server-reference-manifest.json +10 -10
  127. package/web/.next/server/app/supervisor/feature/[featureId]/page_client-reference-manifest.js +1 -1
  128. package/web/.next/server/app/supervisor/page/react-loadable-manifest.json +4 -4
  129. package/web/.next/server/app/supervisor/page/server-reference-manifest.json +10 -10
  130. package/web/.next/server/app/supervisor/page_client-reference-manifest.js +1 -1
  131. package/web/.next/server/app/supervisor/repo/[repositoryId]/page/react-loadable-manifest.json +4 -4
  132. package/web/.next/server/app/supervisor/repo/[repositoryId]/page/server-reference-manifest.json +10 -10
  133. package/web/.next/server/app/supervisor/repo/[repositoryId]/page_client-reference-manifest.js +1 -1
  134. package/web/.next/server/app/tools/page/react-loadable-manifest.json +4 -4
  135. package/web/.next/server/app/tools/page/server-reference-manifest.json +15 -15
  136. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  137. package/web/.next/server/app/version/page/react-loadable-manifest.json +4 -4
  138. package/web/.next/server/app/version/page/server-reference-manifest.json +9 -9
  139. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  140. package/web/.next/server/chunks/[root-of-the-server]__10e976f3._.js +1 -1
  141. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agent-questions_page_actions_4b694f8d.js +1 -1
  142. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agent-questions_page_actions_4b694f8d.js.map +1 -1
  143. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agents_[agentType]_page_actions_103679a6.js +1 -1
  144. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agents_[agentType]_page_actions_103679a6.js.map +1 -1
  145. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_projects_[slug]_pages_page_actions_19d50f6c.js +1 -1
  146. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_projects_[slug]_pages_page_actions_19d50f6c.js.map +1 -1
  147. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js +1 -1
  148. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js.map +1 -1
  149. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.js +1 -1
  150. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.js.map +1 -1
  151. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  152. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  153. package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js +1 -1
  154. package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js.map +1 -1
  155. package/web/.next/server/chunks/ssr/[root-of-the-server]__0af8610a._.js +3 -3
  156. package/web/.next/server/chunks/ssr/[root-of-the-server]__0af8610a._.js.map +1 -1
  157. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b652a2f._.js +1 -1
  158. package/web/.next/server/chunks/ssr/{[root-of-the-server]__8b73253b._.js → [root-of-the-server]__2e388ba3._.js} +2 -2
  159. package/web/.next/server/chunks/ssr/{[root-of-the-server]__8b73253b._.js.map → [root-of-the-server]__2e388ba3._.js.map} +1 -1
  160. package/web/.next/server/chunks/ssr/[root-of-the-server]__56cf47e7._.js +1 -1
  161. package/web/.next/server/chunks/ssr/[root-of-the-server]__56cf47e7._.js.map +1 -1
  162. package/web/.next/server/chunks/ssr/[root-of-the-server]__648730d4._.js +1 -1
  163. package/web/.next/server/chunks/ssr/[root-of-the-server]__68df6415._.js +1 -1
  164. package/web/.next/server/chunks/ssr/[root-of-the-server]__68df6415._.js.map +1 -1
  165. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bc6bf96._.js +1 -1
  166. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bc6bf96._.js.map +1 -1
  167. package/web/.next/server/chunks/ssr/[root-of-the-server]__9852cb08._.js +2 -2
  168. package/web/.next/server/chunks/ssr/[root-of-the-server]__9852cb08._.js.map +1 -1
  169. package/web/.next/server/chunks/ssr/[root-of-the-server]__a1167cec._.js +1 -1
  170. package/web/.next/server/chunks/ssr/[root-of-the-server]__a1167cec._.js.map +1 -1
  171. package/web/.next/server/chunks/ssr/[root-of-the-server]__a12d0ad7._.js +3 -0
  172. package/web/.next/server/chunks/ssr/{[root-of-the-server]__52ca7f88._.js.map → [root-of-the-server]__a12d0ad7._.js.map} +1 -1
  173. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba699bec._.js +1 -1
  174. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba699bec._.js.map +1 -1
  175. package/web/.next/server/chunks/ssr/[root-of-the-server]__e0741ee1._.js +1 -1
  176. package/web/.next/server/chunks/ssr/[root-of-the-server]__e0fa59e6._.js +1 -1
  177. package/web/.next/server/chunks/ssr/[root-of-the-server]__e0fa59e6._.js.map +1 -1
  178. package/web/.next/server/chunks/ssr/[root-of-the-server]__ea26ff90._.js +3 -3
  179. package/web/.next/server/chunks/ssr/[root-of-the-server]__ff0095e3._.js +1 -1
  180. package/web/.next/server/chunks/ssr/_07036593._.js +1 -1
  181. package/web/.next/server/chunks/ssr/_07036593._.js.map +1 -1
  182. package/web/.next/server/chunks/ssr/_0d2a7595._.js +1 -1
  183. package/web/.next/server/chunks/ssr/_0d2a7595._.js.map +1 -1
  184. package/web/.next/server/chunks/ssr/_101de7c3._.js +1 -1
  185. package/web/.next/server/chunks/ssr/_101de7c3._.js.map +1 -1
  186. package/web/.next/server/chunks/ssr/{_db111d21._.js → _10f54ace._.js} +2 -2
  187. package/web/.next/server/chunks/ssr/{_db111d21._.js.map → _10f54ace._.js.map} +1 -1
  188. package/web/.next/server/chunks/ssr/_24fca3cf._.js +1 -1
  189. package/web/.next/server/chunks/ssr/_24fca3cf._.js.map +1 -1
  190. package/web/.next/server/chunks/ssr/{_6ff832ad._.js → _2759af76._.js} +2 -2
  191. package/web/.next/server/chunks/ssr/{_6ff832ad._.js.map → _2759af76._.js.map} +1 -1
  192. package/web/.next/server/chunks/ssr/_2bc48f3d._.js +1 -1
  193. package/web/.next/server/chunks/ssr/_2bc48f3d._.js.map +1 -1
  194. package/web/.next/server/chunks/ssr/{_fb539286._.js → _2bef1982._.js} +2 -2
  195. package/web/.next/server/chunks/ssr/{_fb539286._.js.map → _2bef1982._.js.map} +1 -1
  196. package/web/.next/server/chunks/ssr/_32f66845._.js +1 -1
  197. package/web/.next/server/chunks/ssr/_408848e6._.js +1 -1
  198. package/web/.next/server/chunks/ssr/_408848e6._.js.map +1 -1
  199. package/web/.next/server/chunks/ssr/_40e02782._.js +1 -1
  200. package/web/.next/server/chunks/ssr/_40e02782._.js.map +1 -1
  201. package/web/.next/server/chunks/ssr/_486d45d6._.js +1 -1
  202. package/web/.next/server/chunks/ssr/_486d45d6._.js.map +1 -1
  203. package/web/.next/server/chunks/ssr/{_824d5772._.js → _498cba11._.js} +2 -2
  204. package/web/.next/server/chunks/ssr/{_824d5772._.js.map → _498cba11._.js.map} +1 -1
  205. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  206. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  207. package/web/.next/server/chunks/ssr/_5cbb0e22._.js +1 -1
  208. package/web/.next/server/chunks/ssr/_5cbb0e22._.js.map +1 -1
  209. package/web/.next/server/chunks/ssr/{_5a3edc88._.js → _673be4f1._.js} +2 -2
  210. package/web/.next/server/chunks/ssr/{_5a3edc88._.js.map → _673be4f1._.js.map} +1 -1
  211. package/web/.next/server/chunks/ssr/_7ba67729._.js +1 -1
  212. package/web/.next/server/chunks/ssr/_7ba67729._.js.map +1 -1
  213. package/web/.next/server/chunks/ssr/_805ae1aa._.js +1 -1
  214. package/web/.next/server/chunks/ssr/_805ae1aa._.js.map +1 -1
  215. package/web/.next/server/chunks/ssr/_87cf18c3._.js +1 -1
  216. package/web/.next/server/chunks/ssr/_87cf18c3._.js.map +1 -1
  217. package/web/.next/server/chunks/ssr/_8a700ff4._.js +1 -1
  218. package/web/.next/server/chunks/ssr/_8a700ff4._.js.map +1 -1
  219. package/web/.next/server/chunks/ssr/_95b97274._.js +1 -1
  220. package/web/.next/server/chunks/ssr/_95b97274._.js.map +1 -1
  221. package/web/.next/server/chunks/ssr/{_fbcfaf3a._.js → _9d18d1b1._.js} +2 -2
  222. package/web/.next/server/chunks/ssr/{_fbcfaf3a._.js.map → _9d18d1b1._.js.map} +1 -1
  223. package/web/.next/server/chunks/ssr/{_70ff64a1._.js → _a93687e6._.js} +2 -2
  224. package/web/.next/server/chunks/ssr/{_70ff64a1._.js.map → _a93687e6._.js.map} +1 -1
  225. package/web/.next/server/chunks/ssr/_c2e196ee._.js +1 -1
  226. package/web/.next/server/chunks/ssr/_c2e196ee._.js.map +1 -1
  227. package/web/.next/server/chunks/ssr/_ca3b7bf7._.js +1 -1
  228. package/web/.next/server/chunks/ssr/_ca3b7bf7._.js.map +1 -1
  229. package/web/.next/server/chunks/ssr/_d53224a9._.js +1 -1
  230. package/web/.next/server/chunks/ssr/_d53224a9._.js.map +1 -1
  231. package/web/.next/server/chunks/ssr/_d573dcc2._.js +1 -1
  232. package/web/.next/server/chunks/ssr/_e2671e14._.js +1 -1
  233. package/web/.next/server/chunks/ssr/_e2671e14._.js.map +1 -1
  234. package/web/.next/server/chunks/ssr/_ecd45b17._.js +1 -1
  235. package/web/.next/server/chunks/ssr/_ecd45b17._.js.map +1 -1
  236. package/web/.next/server/chunks/ssr/{_f0d45e47._.js → _f46d2018._.js} +2 -2
  237. package/web/.next/server/chunks/ssr/{_f0d45e47._.js.map → _f46d2018._.js.map} +1 -1
  238. package/web/.next/server/chunks/ssr/_f602cc9f._.js +1 -1
  239. package/web/.next/server/chunks/ssr/_f602cc9f._.js.map +1 -1
  240. package/web/.next/server/chunks/ssr/{_20a56008._.js → _f71954a5._.js} +2 -2
  241. package/web/.next/server/chunks/ssr/{_20a56008._.js.map → _f71954a5._.js.map} +1 -1
  242. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  243. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  244. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  245. package/web/.next/server/chunks/ssr/src_presentation_web_0e291f0b._.js +1 -1
  246. package/web/.next/server/chunks/ssr/src_presentation_web_0e291f0b._.js.map +1 -1
  247. package/web/.next/server/chunks/ssr/{src_presentation_web_40673f0c._.js → src_presentation_web_16c83ab4._.js} +2 -2
  248. package/web/.next/server/chunks/ssr/{src_presentation_web_40673f0c._.js.map → src_presentation_web_16c83ab4._.js.map} +1 -1
  249. package/web/.next/server/chunks/ssr/src_presentation_web_1d8d177f._.js +1 -1
  250. package/web/.next/server/chunks/ssr/src_presentation_web_1d8d177f._.js.map +1 -1
  251. package/web/.next/server/chunks/ssr/src_presentation_web_450b58fc._.js +1 -1
  252. package/web/.next/server/chunks/ssr/src_presentation_web_450b58fc._.js.map +1 -1
  253. package/web/.next/server/chunks/ssr/src_presentation_web_47727150._.js +1 -1
  254. package/web/.next/server/chunks/ssr/src_presentation_web_47727150._.js.map +1 -1
  255. package/web/.next/server/chunks/ssr/src_presentation_web_64fcfc84._.js +1 -1
  256. package/web/.next/server/chunks/ssr/src_presentation_web_64fcfc84._.js.map +1 -1
  257. package/web/.next/server/chunks/ssr/src_presentation_web_74b7bdb2._.js +1 -1
  258. package/web/.next/server/chunks/ssr/src_presentation_web_74b7bdb2._.js.map +1 -1
  259. package/web/.next/server/chunks/ssr/src_presentation_web_82aeca34._.js +1 -1
  260. package/web/.next/server/chunks/ssr/src_presentation_web_82aeca34._.js.map +1 -1
  261. package/web/.next/server/chunks/ssr/src_presentation_web_8a564d47._.js +1 -1
  262. package/web/.next/server/chunks/ssr/src_presentation_web_8a564d47._.js.map +1 -1
  263. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +1 -1
  264. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +1 -1
  265. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_f4f3fad9.js +1 -1
  266. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_f4f3fad9.js.map +1 -1
  267. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_agents_page_actions_d4bd4711.js +1 -1
  268. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_agents_page_actions_d4bd4711.js.map +1 -1
  269. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_onboarding_page_actions_bb695e8d.js +1 -1
  270. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_onboarding_page_actions_bb695e8d.js.map +1 -1
  271. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_page_actions_ac47e420.js +1 -1
  272. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_page_actions_ac47e420.js.map +1 -1
  273. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_projects_page_actions_c91a23a8.js +1 -1
  274. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_projects_page_actions_c91a23a8.js.map +1 -1
  275. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_63c2d912.js +1 -1
  276. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_63c2d912.js.map +1 -1
  277. package/web/.next/server/chunks/ssr/src_presentation_web_a53a3da6._.js +1 -1
  278. package/web/.next/server/chunks/ssr/src_presentation_web_a53a3da6._.js.map +1 -1
  279. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_246617fe._.js +3 -3
  280. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js +1 -1
  281. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js.map +1 -1
  282. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_9453ce8b._.js +1 -1
  283. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js +1 -1
  284. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js.map +1 -1
  285. package/web/.next/server/chunks/ssr/src_presentation_web_app_features_feature-tree-page-client_tsx_34c5cbbf._.js +1 -1
  286. package/web/.next/server/chunks/ssr/src_presentation_web_b1b3c26c._.js +1 -1
  287. package/web/.next/server/chunks/ssr/src_presentation_web_b1b3c26c._.js.map +1 -1
  288. package/web/.next/server/chunks/ssr/src_presentation_web_b98a4353._.js +1 -1
  289. package/web/.next/server/chunks/ssr/src_presentation_web_b98a4353._.js.map +1 -1
  290. package/web/.next/server/chunks/ssr/src_presentation_web_c96ca051._.js +1 -1
  291. package/web/.next/server/chunks/ssr/src_presentation_web_c96ca051._.js.map +1 -1
  292. package/web/.next/server/chunks/ssr/{src_presentation_web_e812a69b._.js → src_presentation_web_cb0d2c28._.js} +2 -2
  293. package/web/.next/server/chunks/ssr/{src_presentation_web_e812a69b._.js.map → src_presentation_web_cb0d2c28._.js.map} +1 -1
  294. package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js +1 -1
  295. package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js.map +1 -1
  296. package/web/.next/server/chunks/ssr/src_presentation_web_components_agent-editor_agent-editor-tabs_tsx_d5a954b4._.js +1 -1
  297. package/web/.next/server/chunks/ssr/src_presentation_web_components_agent-editor_agent-editor-tabs_tsx_d5a954b4._.js.map +1 -1
  298. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  299. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  300. package/web/.next/server/chunks/ssr/src_presentation_web_d3858f16._.js +1 -1
  301. package/web/.next/server/chunks/ssr/src_presentation_web_d3858f16._.js.map +1 -1
  302. package/web/.next/server/chunks/ssr/src_presentation_web_d7f8130c._.js +1 -1
  303. package/web/.next/server/chunks/ssr/src_presentation_web_d7f8130c._.js.map +1 -1
  304. package/web/.next/server/chunks/ssr/src_presentation_web_dddd8ccd._.js +1 -1
  305. package/web/.next/server/chunks/ssr/src_presentation_web_dddd8ccd._.js.map +1 -1
  306. package/web/.next/server/chunks/ssr/src_presentation_web_e13d58b0._.js +1 -1
  307. package/web/.next/server/chunks/ssr/src_presentation_web_e13d58b0._.js.map +1 -1
  308. package/web/.next/server/chunks/ssr/src_presentation_web_ee94a9aa._.js +1 -1
  309. package/web/.next/server/chunks/ssr/src_presentation_web_ee94a9aa._.js.map +1 -1
  310. package/web/.next/server/chunks/ssr/src_presentation_web_f0fcfdff._.js +1 -1
  311. package/web/.next/server/chunks/ssr/src_presentation_web_f0fcfdff._.js.map +1 -1
  312. package/web/.next/server/chunks/ssr/src_presentation_web_f17e8516._.js +1 -1
  313. package/web/.next/server/chunks/ssr/src_presentation_web_f17e8516._.js.map +1 -1
  314. package/web/.next/server/chunks/ssr/src_presentation_web_f7180fec._.js +1 -1
  315. package/web/.next/server/chunks/ssr/src_presentation_web_f7180fec._.js.map +1 -1
  316. package/web/.next/server/pages/500.html +2 -2
  317. package/web/.next/server/server-reference-manifest.js +1 -1
  318. package/web/.next/server/server-reference-manifest.json +111 -111
  319. package/web/.next/static/chunks/{5faa828877b1e669.js → 03dda23205877d8b.js} +1 -1
  320. package/web/.next/static/chunks/{4bf4f333302e24a4.js → 054e3a5f5ff4db71.js} +1 -1
  321. package/web/.next/static/chunks/{a868014dbe1b4e42.js → 06e58041911c290b.js} +1 -1
  322. package/web/.next/static/chunks/{b5ff852fee23795d.js → 089ef5b749d79ebd.js} +1 -1
  323. package/web/.next/static/chunks/{1a093b13a9d6952e.js → 0d106010c498c198.js} +2 -2
  324. package/web/.next/static/chunks/193e5a0540757f5e.js +1 -0
  325. package/web/.next/static/chunks/{9abc3e68af98e636.js → 25111a2f2597f500.js} +1 -1
  326. package/web/.next/static/chunks/285e724d07901ef6.js +1 -0
  327. package/web/.next/static/chunks/{3c396f63ebefe875.js → 2b2bfc0465b18a7d.js} +1 -1
  328. package/web/.next/static/chunks/{6af99a08ccacdbce.js → 2b436562e69d2827.js} +1 -1
  329. package/web/.next/static/chunks/{8c96a835b3b0dc44.js → 2e3844d0ac487ac7.js} +1 -1
  330. package/web/.next/static/chunks/325859b8a9482427.js +1 -0
  331. package/web/.next/static/chunks/{2773e7b2587bc9cc.js → 44ab458ceb89d85d.js} +1 -1
  332. package/web/.next/static/chunks/4fdf36904f5421a6.js +1 -0
  333. package/web/.next/static/chunks/59004c65d552581c.js +1 -0
  334. package/web/.next/static/chunks/{0edcdc8a2dd06b7a.js → 5c4837e88a3431b8.js} +1 -1
  335. package/web/.next/static/chunks/{a131f868af7f1f7c.js → 74cdd562eb663f72.js} +1 -1
  336. package/web/.next/static/chunks/{0315591c972888a6.js → 7670d76d4ee743e6.js} +1 -1
  337. package/web/.next/static/chunks/{02d88da9fd656fcd.js → 83fc784ce05a701e.js} +1 -1
  338. package/web/.next/static/chunks/{460cedaa85c821e7.js → 8dd4fdd20b103a66.js} +1 -1
  339. package/web/.next/static/chunks/9336bdc7fc319282.js +1 -0
  340. package/web/.next/static/chunks/9d285565922b2de7.js +1 -0
  341. package/web/.next/static/chunks/{45eeca36eabbed23.js → 9f7f2a11937d87eb.js} +1 -1
  342. package/web/.next/static/chunks/{c3931fdbae836be6.js → a7c7bcfb6f7696a3.js} +1 -1
  343. package/web/.next/static/chunks/{9f7985e2a73929a2.js → a8f57d2a12849f32.js} +1 -1
  344. package/web/.next/static/chunks/{0e1c933065a1100a.js → abe98954ccdf29db.js} +1 -1
  345. package/web/.next/static/chunks/{4378715fa2b5e7de.js → b05808da85e8b34c.js} +1 -1
  346. package/web/.next/static/chunks/{b5dc7979d66caa38.js → b5f83e5e1dad23d5.js} +1 -1
  347. package/web/.next/static/chunks/{6d2074fa3453d333.js → b8293a56f257e5a2.js} +1 -1
  348. package/web/.next/static/chunks/{bc5b87e4068ba11d.js → c61c5e97c76dc733.js} +1 -1
  349. package/web/.next/static/chunks/c6b411bf31744ca7.js +1 -0
  350. package/web/.next/static/chunks/{bdaa907bf3d1d932.js → c732d6cc4c5e4343.js} +1 -1
  351. package/web/.next/static/chunks/{25a200f055ae5cba.js → d214d6a670f48d79.js} +1 -1
  352. package/web/.next/static/chunks/{6901861cb53ab483.js → d7b17a93a26e97c8.js} +1 -1
  353. package/web/.next/static/chunks/{a0325f77bbccc63d.js → d8f14fac959a6bd0.js} +1 -1
  354. package/web/.next/static/chunks/{24ea54516dc249c0.js → d98912f5b6cf4938.js} +1 -1
  355. package/web/.next/static/chunks/{21500b3fe3754296.js → df79667c16344317.js} +1 -1
  356. package/web/.next/static/chunks/{05e8df10619fb980.js → ec8f19328ad1ecd4.js} +1 -1
  357. package/web/.next/static/chunks/{e6e6ba783b2e4d14.js → f0157331838ac962.js} +1 -1
  358. package/web/.next/static/chunks/{c687ed21b9518d73.js → f757d865fae71faf.js} +1 -1
  359. package/web/.next/static/chunks/fb3cbb7f575a7128.js +1 -0
  360. package/web/.next/server/chunks/ssr/[root-of-the-server]__52ca7f88._.js +0 -3
  361. package/web/.next/static/chunks/03d7b81c2554d52f.js +0 -1
  362. package/web/.next/static/chunks/15acdaaea57bb459.js +0 -1
  363. package/web/.next/static/chunks/39fe1c1397d5483b.js +0 -1
  364. package/web/.next/static/chunks/495883829026f13f.js +0 -1
  365. package/web/.next/static/chunks/4b3a4f416a6eb1ac.js +0 -1
  366. package/web/.next/static/chunks/4b4160f36cf2a3d6.js +0 -1
  367. package/web/.next/static/chunks/7269537b2188650d.js +0 -1
  368. package/web/.next/static/chunks/b1534b2f3d814fef.js +0 -1
  369. package/web/.next/static/chunks/f6dc1ba364203bb2.js +0 -1
  370. /package/web/.next/static/{My4IQDygZ4BFTXkkKanja → 9zd-B2rWybTaAgE74IKiK}/_buildManifest.js +0 -0
  371. /package/web/.next/static/{My4IQDygZ4BFTXkkKanja → 9zd-B2rWybTaAgE74IKiK}/_clientMiddlewareManifest.json +0 -0
  372. /package/web/.next/static/{My4IQDygZ4BFTXkkKanja → 9zd-B2rWybTaAgE74IKiK}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/delete-application.ts","../../../../../../../src/presentation/web/app/actions/deploy-feature.ts","../../../../../../../packages/core/src/infrastructure/services/deployment/deployment-logger.ts","../../../../../../../src/presentation/web/app/actions/deploy-repository.ts","../../../../../../../packages/core/src/domain/errors/application-not-found.error.ts","../../../../../../../packages/core/src/domain/errors/application-repository-not-on-disk.error.ts","../../../../../../../packages/core/src/domain/errors/cannot-deploy-self.error.ts","../../../../../../../src/presentation/web/app/actions/deploy-application.ts","../../../../../../../src/presentation/web/app/actions/stop-deployment.ts","../../../../../../../src/presentation/web/app/actions/get-deployment-status.ts","../../../../../../../src/presentation/web/app/actions/create-project-and-feature.ts","../../../../../../../src/presentation/web/app/actions/compose-user-input.ts","../../../../../../../src/presentation/web/app/actions/create-feature.ts","../../../../../../../src/presentation/web/app/actions/create-application.ts","../../../../../../../src/presentation/web/.next-internal/server/app/applications/page/actions.js%20%28server%20actions%20loader%29","../../../../../../../src/presentation/web/app/actions/open-directory.ts","../../../../../../../src/presentation/web/app/actions/list-deployments.ts","../../../../../../../src/presentation/web/app/actions/adopt-local-directory.ts"],"sourcesContent":["'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { DeleteApplicationUseCase } from '@shepai/core/application/use-cases/applications/delete-application.use-case';\n\nexport async function deleteApplication(id: string): Promise<{ error?: string }> {\n if (!id?.trim()) {\n return { error: 'Application ID is required' };\n }\n\n try {\n const useCase = resolve<DeleteApplicationUseCase>('DeleteApplicationUseCase');\n await useCase.execute(id);\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete application';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport { createDeploymentLogger } from '@shepai/core/infrastructure/services/deployment/deployment-logger';\nimport type { StartFeatureDeploymentUseCase } from '@shepai/core/application/use-cases/deployments/start-feature-deployment.use-case';\nimport type { DeploymentState } from '@shepai/core/domain/generated/output';\n\nconst log = createDeploymentLogger('[deployFeature]');\n\nexport async function deployFeature(\n featureId: string\n): Promise<{ success: boolean; error?: string; state?: DeploymentState }> {\n log.info(`called — featureId=\"${featureId}\"`);\n\n try {\n const useCase = resolve<StartFeatureDeploymentUseCase>('StartFeatureDeploymentUseCase');\n const status = await useCase.execute(featureId);\n log.info(`start succeeded — state=${status.state}`);\n return { success: true, state: status.state };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to deploy feature';\n log.error(`error: ${message}`, error);\n return { success: false, error: message };\n }\n}\n","/* eslint-disable no-console */\n\n/**\n * Debug-gated logger for deployment services.\n *\n * - `info` and `debug` only emit when `process.env.DEBUG` is set.\n * - `warn` and `error` always emit (they indicate real problems).\n */\n\nconst noop = () => undefined;\n\nexport function createDeploymentLogger(prefix: string) {\n const isDebug = !!process.env.DEBUG;\n\n return {\n info: isDebug ? (...args: unknown[]) => console.info(prefix, ...args) : noop,\n debug: isDebug ? (...args: unknown[]) => console.debug(prefix, ...args) : noop,\n warn: (...args: unknown[]) => console.warn(prefix, ...args),\n error: (...args: unknown[]) => console.error(prefix, ...args),\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport { createDeploymentLogger } from '@shepai/core/infrastructure/services/deployment/deployment-logger';\nimport type { StartRepositoryDeploymentUseCase } from '@shepai/core/application/use-cases/deployments/start-repository-deployment.use-case';\nimport type { DeploymentState } from '@shepai/core/domain/generated/output';\n\nconst log = createDeploymentLogger('[deployRepository]');\n\nexport async function deployRepository(\n repositoryPath: string\n): Promise<{ success: boolean; error?: string; state?: DeploymentState }> {\n log.info(`called — repositoryPath=\"${repositoryPath}\"`);\n\n try {\n const useCase = resolve<StartRepositoryDeploymentUseCase>('StartRepositoryDeploymentUseCase');\n const status = await useCase.execute(repositoryPath);\n log.info(`start succeeded — state=${status.state}`);\n return { success: true, state: status.state };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to deploy repository';\n log.error(`error: ${message}`, error);\n return { success: false, error: message };\n }\n}\n","/**\n * Application Not Found Error\n *\n * Thrown by application use cases when an application lookup by id\n * does not find a matching record in the repository.\n */\nexport class ApplicationNotFoundError extends Error {\n readonly code = 'APPLICATION_NOT_FOUND';\n constructor(public readonly applicationId: string) {\n super(`Application ${applicationId} not found`);\n this.name = 'ApplicationNotFoundError';\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","/**\n * Application Repository Not On Disk Error\n *\n * Thrown by deployment use cases when an application's repositoryPath no\n * longer exists on the local filesystem — e.g. the user deleted the folder\n * out from under us. The caller (CLI / TUI / Web) should surface this as a\n * recoverable precondition failure, not an internal error.\n */\nexport class ApplicationRepositoryNotOnDiskError extends Error {\n readonly code = 'APPLICATION_REPOSITORY_NOT_ON_DISK';\n constructor(\n public readonly applicationId: string,\n public readonly repositoryPath: string\n ) {\n super(`Repository path does not exist: ${repositoryPath}`);\n this.name = 'ApplicationRepositoryNotOnDiskError';\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","/**\n * Cannot Deploy Self Error\n *\n * Thrown by deployment use cases when the target repository is the same\n * directory (or a worktree of) the currently running Shep instance.\n * Spawning a nested Shep dev server would collide on the shared\n * ~/.shep/data SQLite database.\n */\nexport class CannotDeploySelfError extends Error {\n readonly code = 'CANNOT_DEPLOY_SELF';\n constructor(public readonly repositoryPath: string) {\n super('Cannot start a dev server for the repository Shep is running from');\n this.name = 'CannotDeploySelfError';\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { StartApplicationDeploymentUseCase } from '@shepai/core/application/use-cases/deployments/start-application-deployment.use-case';\nimport { ApplicationNotFoundError } from '@shepai/core/domain/errors/application-not-found.error';\nimport { ApplicationRepositoryNotOnDiskError } from '@shepai/core/domain/errors/application-repository-not-on-disk.error';\nimport { CannotDeploySelfError } from '@shepai/core/domain/errors/cannot-deploy-self.error';\nimport type { DeploymentState } from '@shepai/core/domain/generated/output';\n\n/**\n * Start a local dev server for an application.\n *\n * Thin server action: parses input, delegates to\n * `StartApplicationDeploymentUseCase`, and maps domain errors to the\n * action's historical response shape.\n *\n * All orchestration (repo lookup, filesystem precondition, self-instance\n * guard, `.start()` call, logging) lives in the use case — see\n * `packages/core/src/application/use-cases/deployments/\n * start-application-deployment.use-case.ts`.\n */\nexport async function deployApplication(\n applicationId: string\n): Promise<{ success: boolean; error?: string; state?: DeploymentState }> {\n if (!applicationId?.trim()) {\n return { success: false, error: 'applicationId is required' };\n }\n\n try {\n const useCase = resolve<StartApplicationDeploymentUseCase>('StartApplicationDeploymentUseCase');\n const result = await useCase.execute({ applicationId });\n return { success: true, state: result.state };\n } catch (error: unknown) {\n if (error instanceof ApplicationNotFoundError) {\n return { success: false, error: `Application not found: ${applicationId}` };\n }\n if (error instanceof ApplicationRepositoryNotOnDiskError) {\n return {\n success: false,\n error: `Repository path does not exist: ${error.repositoryPath}`,\n };\n }\n if (error instanceof CannotDeploySelfError) {\n return {\n success: false,\n error: 'Cannot start a dev server for the repository Shep is running from',\n };\n }\n const message = error instanceof Error ? error.message : 'Failed to deploy application';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { StopDeploymentUseCase } from '@shepai/core/application/use-cases/deployments/stop-deployment.use-case';\n\nexport async function stopDeployment(\n targetId: string\n): Promise<{ success: boolean; error?: string }> {\n try {\n const useCase = resolve<StopDeploymentUseCase>('StopDeploymentUseCase');\n await useCase.execute(targetId);\n return { success: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to stop deployment';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetDeploymentStatusUseCase } from '@shepai/core/application/use-cases/deployments/get-deployment-status.use-case';\nimport type { DeploymentStatus } from '@shepai/core/application/ports/output/services/deployment-service.interface';\n\nexport async function getDeploymentStatus(targetId: string): Promise<DeploymentStatus | null> {\n const useCase = resolve<GetDeploymentStatusUseCase>('GetDeploymentStatusUseCase');\n return useCase.execute(targetId);\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateProjectUseCase } from '@shepai/core/application/use-cases/projects/create-project.use-case';\nimport type { AddRepositoryUseCase } from '@shepai/core/application/use-cases/repositories/add-repository.use-case';\nimport type { Feature, Repository } from '@shepai/core/domain/generated/output';\nimport { createFeature } from './create-feature';\n\ninterface QuickFeatureInput {\n description: string;\n attachments?: { path: string; name: string; notes?: string }[];\n agentType?: string;\n model?: string;\n fast?: boolean;\n}\n\n/**\n * Default project instructions prepended to the user's description.\n * These ensure that even a vague one-liner from a non-technical user\n * results in a well-structured, runnable React application.\n */\nconst PROJECT_PREAMBLE = `\\\n## Project Requirements\n\nBuild this as a **React application** using Vite as the build tool.\n\n### Structure\n- Initialize with \\`npm create vite@latest . -- --template react-ts\\` scaffolding\n- Organize code into clear folders: \\`src/components/\\`, \\`src/pages/\\`, \\`src/assets/\\`\n- Use TypeScript throughout\n- Include a working \\`package.json\\` with all dependencies\n\n### Design & UI\n- Create a polished, production-quality interface — not a prototype\n- Use modern CSS (CSS modules or Tailwind CSS) with thoughtful spacing, typography, and color\n- Make it fully responsive (mobile-first)\n- Add subtle micro-interactions: hover states, transitions, focus rings\n- Use professional placeholder content (realistic text, not lorem ipsum)\n- Pick a cohesive color palette and apply it consistently\n\n### Quality\n- Every component should be self-contained and reusable\n- Include proper HTML semantics and accessibility (ARIA labels, alt text, keyboard nav)\n- The app must start successfully with \\`npm install && npm run dev\\`\n\n---\n\n## What to Build\n`;\n\n/**\n * Derive a concise project name from a free-form description.\n * Takes the first handful of meaningful words — `CreateProjectUseCase`\n * will then slugify + cap length for the actual directory name.\n */\nfunction deriveProjectName(description: string): string {\n return description.trim().split(/\\s+/).slice(0, 6).join(' ');\n}\n\nexport async function createProjectAndFeature(input: QuickFeatureInput): Promise<{\n feature?: Feature;\n repository?: Repository;\n repositoryPath?: string;\n error?: string;\n}> {\n const { description, attachments, agentType, model } = input;\n\n if (!description?.trim()) {\n return { error: 'Description is required' };\n }\n\n try {\n const createProject = resolve<CreateProjectUseCase>('CreateProjectUseCase');\n const projectResult = await createProject.execute({\n name: deriveProjectName(description),\n });\n if (!projectResult.ok) {\n return { error: projectResult.error };\n }\n const projectPath = projectResult.path;\n\n const addRepo = resolve<AddRepositoryUseCase>('AddRepositoryUseCase');\n const repository = await addRepo.execute({ path: projectPath });\n\n // Enrich the user's prompt with project-quality instructions\n const enrichedDescription = PROJECT_PREAMBLE + description.trim();\n\n const featureResult = await createFeature({\n description: enrichedDescription,\n repositoryPath: projectPath,\n attachments,\n agentType,\n model,\n fast: input.fast,\n });\n\n if (featureResult.error) {\n return { error: featureResult.error };\n }\n\n return {\n feature: featureResult.feature,\n repository,\n repositoryPath: projectPath,\n };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create project';\n return { error: message };\n }\n}\n","interface Attachment {\n path: string;\n name: string;\n notes?: string;\n}\n\nexport function composeUserInput(\n description: string,\n attachments: Attachment[] | undefined\n): string {\n if (!attachments || attachments.length === 0) {\n return description;\n }\n\n const refs = attachments\n .map((a) => (a.notes?.trim() ? `@${a.path} [Note: ${a.notes.trim()}]` : `@${a.path}`))\n .join(' ');\n return `${description}\\n\\n${refs}`;\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateFeatureUseCase } from '@shepai/core/application/use-cases/features/create/create-feature.use-case';\nimport type { Feature } from '@shepai/core/domain/generated/output';\nimport { composeUserInput } from './compose-user-input';\n\ninterface Attachment {\n path: string;\n name: string;\n notes?: string;\n}\n\ninterface ApprovalGates {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge: boolean;\n}\n\ninterface CreateFeatureInput {\n description: string;\n repositoryPath: string;\n attachments?: Attachment[];\n sessionId?: string;\n approvalGates?: {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge?: boolean;\n };\n push?: boolean;\n openPr?: boolean;\n parentId?: string;\n /** When true, skip SDLC phases and implement directly from the prompt. */\n fast?: boolean;\n /** When true, create the feature in pending state (no agent spawned). */\n pending?: boolean;\n /** Fork repo and create PR to upstream at merge time. */\n forkAndPr?: boolean;\n /** Commit specs/evidences into the repo (default: true, auto-false when forkAndPr). */\n commitSpecs?: boolean;\n /** Enable CI watch/fix loop after push. */\n ciWatchEnabled?: boolean;\n /** Enable evidence collection after implementation. */\n enableEvidence?: boolean;\n /** Commit evidence to PR. */\n commitEvidence?: boolean;\n /** Optional agent type override for this feature run */\n agentType?: string;\n /** Optional model identifier for this feature run */\n model?: string;\n /** Sync main from remote before creating the feature branch (default: true). */\n rebaseBeforeBranch?: boolean;\n /** Inject curated skills into the feature worktree. */\n injectSkills?: boolean;\n /** When the drawer was launched scoped to an Application, the\n * application's domain UUID. Persisted on the Feature so the canvas can\n * render an app→feature parent edge. */\n applicationId?: string;\n}\n\nexport async function createFeature(\n input: CreateFeatureInput\n): Promise<{ feature?: Feature; error?: string }> {\n const {\n description,\n repositoryPath,\n attachments,\n sessionId,\n approvalGates,\n push,\n openPr,\n parentId,\n fast,\n pending,\n forkAndPr,\n commitSpecs,\n ciWatchEnabled,\n enableEvidence,\n commitEvidence,\n agentType,\n model,\n rebaseBeforeBranch,\n injectSkills,\n applicationId,\n } = input;\n\n if (!description?.trim()) {\n return { error: 'description is required' };\n }\n\n if (!repositoryPath?.trim()) {\n return { error: 'repositoryPath is required' };\n }\n\n const userInput = composeUserInput(description, attachments);\n const gates: ApprovalGates = {\n allowPrd: approvalGates?.allowPrd ?? false,\n allowPlan: approvalGates?.allowPlan ?? false,\n allowMerge: approvalGates?.allowMerge ?? false,\n };\n\n try {\n const createFeatureUseCase = resolve<CreateFeatureUseCase>('CreateFeatureUseCase');\n\n // Phase 1 (fast): create DB record with real UUID — returns immediately\n const { feature, shouldSpawn } = await createFeatureUseCase.createRecord({\n userInput,\n repositoryPath,\n approvalGates: gates,\n push: push ?? false,\n openPr: openPr ?? false,\n ...(parentId ? { parentId } : {}),\n description,\n ...(fast ? { fast } : {}),\n ...(pending ? { pending } : {}),\n ...(forkAndPr != null ? { forkAndPr } : {}),\n ...(commitSpecs != null ? { commitSpecs } : {}),\n ...(ciWatchEnabled != null ? { ciWatchEnabled } : {}),\n ...(enableEvidence != null ? { enableEvidence } : {}),\n ...(commitEvidence != null ? { commitEvidence } : {}),\n ...(agentType ? { agentType } : {}),\n ...(model ? { model } : {}),\n ...(rebaseBeforeBranch != null ? { rebaseBeforeBranch } : {}),\n ...(injectSkills != null ? { injectSkills } : {}),\n ...(applicationId ? { applicationId } : {}),\n });\n\n // Phase 2 (background): metadata generation, worktree, spec, agent spawn\n // Fire-and-forget — the UI gets the real feature ID immediately\n createFeatureUseCase\n .initializeAndSpawn(\n feature,\n {\n userInput,\n repositoryPath,\n approvalGates: gates,\n push: push ?? false,\n openPr: openPr ?? false,\n ...(parentId ? { parentId } : {}),\n ...(fast ? { fast } : {}),\n ...(pending ? { pending } : {}),\n ...(forkAndPr != null ? { forkAndPr } : {}),\n ...(commitSpecs != null ? { commitSpecs } : {}),\n ...(ciWatchEnabled != null ? { ciWatchEnabled } : {}),\n ...(enableEvidence != null ? { enableEvidence } : {}),\n ...(commitEvidence != null ? { commitEvidence } : {}),\n ...(agentType ? { agentType } : {}),\n ...(model ? { model } : {}),\n ...(sessionId ? { sessionId } : {}),\n ...(rebaseBeforeBranch != null ? { rebaseBeforeBranch } : {}),\n ...(injectSkills != null ? { injectSkills } : {}),\n ...(applicationId ? { applicationId } : {}),\n },\n shouldSpawn\n )\n .catch((err: unknown) => {\n // eslint-disable-next-line no-console\n console.error('[createFeature] initializeAndSpawn failed:', err);\n });\n\n return { feature };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create feature';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateApplicationUseCase } from '@shepai/core/application/use-cases/applications/create-application.use-case';\nimport type { Application } from '@shepai/core/domain/generated/output';\n\ninterface CreateApplicationInput {\n description: string;\n agentType?: string;\n modelOverride?: string;\n /**\n * When provided, the use case ALSO sends this as the first message of\n * the application's interactive chat session — wrapped server-side\n * with the full application-creation prompt (Shep persona, mission,\n * opinionated stack, workflow, quality bar, definition of done) by\n * the IApplicationCreationPromptBuilder adapter.\n *\n * Awaiting this BEFORE the client navigates guarantees that the chat\n * page's SSR load of chat state already includes the message — it\n * renders on first paint, no extra round trip.\n */\n initialPrompt?: string;\n}\n\n/**\n * Thin server-action wrapper around CreateApplicationUseCase.\n *\n * All orchestration (slug allocation, project scaffold, app persistence,\n * prompt building, first-message dispatch) lives inside the use case so\n * every presentation layer (Web / CLI / TUI) gets identical behavior\n * from a single call.\n */\nexport async function createApplication(\n input: CreateApplicationInput\n): Promise<{ application?: Application; repositoryPath?: string; error?: string }> {\n if (!input.description?.trim()) {\n return { error: 'Description is required' };\n }\n\n try {\n const useCase = resolve<CreateApplicationUseCase>('CreateApplicationUseCase');\n const result = await useCase.execute({\n description: input.description.trim(),\n agentType: input.agentType,\n modelOverride: input.modelOverride,\n initialPrompt: input.initialPrompt,\n });\n return { application: result.application, repositoryPath: result.repositoryPath };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create application';\n return { error: message };\n }\n}\n","export {pickFolder as '0015f0a240c29915a74257d5ff2d7d15b32c6a778d'} from 'ACTIONS_MODULE0'\nexport {getDefaultAgentAndModel as '006ff5a74754817b8a495d7ba26e66c354851f6c99'} from 'ACTIONS_MODULE1'\nexport {getAllAgentModels as '00d43390ab8112b0e6ec134ef3485ab210e36f7842'} from 'ACTIONS_MODULE2'\nexport {checkAllAgentsStatus as '00d2c30c2b08e36b014924412d0cd61610cd91c78e'} from 'ACTIONS_MODULE3'\nexport {updateAgentAndModel as '60036293085b1751ff35875b7762b2353bb09757b5'} from 'ACTIONS_MODULE4'\nexport {globalSearch as '40fcb38a7daafc835826043ee30ef771eae2a2f635'} from 'ACTIONS_MODULE5'\nexport {listGitHubRepositories as '403ab98df2cf8db571b47142cd90ab7c7f297fa90f'} from 'ACTIONS_MODULE6'\nexport {listGitHubOrganizations as '00613a83ba2b2619c9ef46303abae5aded26339bc3'} from 'ACTIONS_MODULE7'\nexport {importGitHubRepository as '40e011f8f2f54f36460ff5310dd49178590a992d44'} from 'ACTIONS_MODULE8'\nexport {deployFeature as '401846920f6fb739e32233d9d6a6df7945b8621c00'} from 'ACTIONS_MODULE9'\nexport {deployRepository as '408a28f520d819792447d4b47d9b73a5ddf7296469'} from 'ACTIONS_MODULE10'\nexport {deployApplication as '4005923232df16201d86b35c46dbbe719725cbcd26'} from 'ACTIONS_MODULE11'\nexport {stopDeployment as '409ab95b1ec58ad7dd578b018e11d5bd766839f8bc'} from 'ACTIONS_MODULE12'\nexport {getDeploymentStatus as '40ed3ea24841c9c4280513ab004dcdbce3d545bcdb'} from 'ACTIONS_MODULE13'\nexport {createProjectAndFeature as '40ba17f62f174f4f88aa0ea4a373db347247ae1171'} from 'ACTIONS_MODULE14'\nexport {createApplication as '40f744f8f8785a86cc8dc9487da8d64ca353d264af'} from 'ACTIONS_MODULE15'\nexport {deleteApplication as '40af1b8d14947496efa0de09d2e46341cfadd226ac'} from 'ACTIONS_MODULE16'\nexport {openDirectory as '40ecacce01b9461b3e7e0325069bc19126fe980841'} from 'ACTIONS_MODULE17'\nexport {listDeployments as '00ad19b30c66b798476855eee8c99ef61a175cd38a'} from 'ACTIONS_MODULE18'\nexport {adoptLocalDirectory as '40da8d2a61971df4b48469f401ac402d2d14c32d89'} from 'ACTIONS_MODULE19'\n","'use server';\n\nimport { spawn } from 'node:child_process';\nimport { existsSync } from 'node:fs';\n\n/**\n * Open a local directory in the OS file manager (Finder / Explorer / Nautilus).\n * Fire-and-forget — we don't wait for the explorer to close.\n */\nexport async function openDirectory(dirPath: string): Promise<{ error?: string }> {\n if (!dirPath) return { error: 'No path provided' };\n\n // Normalise Windows backslashes for cross-platform safety.\n const normalized = dirPath.replace(/\\\\/g, '/');\n\n if (!existsSync(normalized)) {\n return { error: `Directory not found: ${normalized}` };\n }\n\n const cmd =\n process.platform === 'darwin'\n ? ['open', normalized]\n : process.platform === 'win32'\n ? ['explorer', normalized.replace(/\\//g, '\\\\')]\n : ['xdg-open', normalized];\n\n spawn(cmd[0]!, cmd.slice(1), {\n detached: true,\n stdio: 'ignore',\n windowsHide: true,\n }).unref();\n\n return {};\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ListDeploymentsUseCase } from '@shepai/core/application/use-cases/deployments/list-deployments.use-case';\nimport type { DeploymentStatusEntry } from '@shepai/core/application/ports/output/services/deployment-service.interface';\n\nexport async function listDeployments(): Promise<DeploymentStatusEntry[]> {\n const useCase = resolve<ListDeploymentsUseCase>('ListDeploymentsUseCase');\n return useCase.execute();\n}\n","'use server';\n\nimport { randomUUID } from 'node:crypto';\nimport path from 'node:path';\nimport { resolve } from '@/lib/server-container';\nimport type { IApplicationRepository } from '@shepai/core/application/ports/output/repositories/application-repository.interface';\nimport { ApplicationStatus } from '@shepai/core/domain/generated/output';\n\n/**\n * Create an Application entity pointing at an EXISTING local directory.\n *\n * Unlike `createApplication` (which scaffolds a brand-new project),\n * this action registers a directory the user already has on disk — e.g.\n * an existing Next.js or Vite repo. No scaffold is run; the folder is\n * used as-is and `setupComplete` is set to `true` so the application\n * page doesn't try to re-scaffold it.\n *\n * The display name is derived from the folder's base name so the card\n * shows something human-readable immediately.\n */\nexport async function adoptLocalDirectory(input: {\n repositoryPath: string;\n}): Promise<{ applicationId?: string; error?: string }> {\n const normalizedPath = input.repositoryPath.replace(/\\\\/g, '/');\n const folderName = path.basename(normalizedPath);\n\n if (!folderName) {\n return { error: 'Could not determine folder name from path' };\n }\n\n try {\n const appRepo = resolve<IApplicationRepository>('IApplicationRepository');\n const now = new Date();\n const applicationId = randomUUID();\n\n await appRepo.create({\n id: applicationId,\n name: toTitleCase(folderName),\n slug: folderName,\n description: `Local project at ${normalizedPath}`,\n repositoryPath: normalizedPath,\n additionalPaths: [],\n status: ApplicationStatus.Idle,\n setupComplete: true,\n createdAt: now,\n updatedAt: now,\n });\n\n return { applicationId };\n } catch (error) {\n const message = error instanceof Error ? error.message : 'Failed to adopt directory';\n return { error: message };\n }\n}\n\nfunction toTitleCase(slug: string): string {\n return slug.replace(/[-_]+/g, ' ').replace(/\\b\\w/g, (c) => c.toUpperCase());\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/delete-application.ts","../../../../../../../src/presentation/web/app/actions/deploy-feature.ts","../../../../../../../packages/core/src/infrastructure/services/deployment/deployment-logger.ts","../../../../../../../src/presentation/web/app/actions/deploy-repository.ts","../../../../../../../packages/core/src/domain/errors/application-not-found.error.ts","../../../../../../../packages/core/src/domain/errors/application-repository-not-on-disk.error.ts","../../../../../../../packages/core/src/domain/errors/cannot-deploy-self.error.ts","../../../../../../../src/presentation/web/app/actions/deploy-application.ts","../../../../../../../src/presentation/web/app/actions/stop-deployment.ts","../../../../../../../src/presentation/web/app/actions/get-deployment-status.ts","../../../../../../../src/presentation/web/app/actions/create-project-and-feature.ts","../../../../../../../src/presentation/web/app/actions/compose-user-input.ts","../../../../../../../src/presentation/web/app/actions/create-feature.ts","../../../../../../../src/presentation/web/app/actions/create-application.ts","../../../../../../../src/presentation/web/.next-internal/server/app/applications/page/actions.js%20%28server%20actions%20loader%29","../../../../../../../src/presentation/web/app/actions/open-directory.ts","../../../../../../../src/presentation/web/app/actions/list-deployments.ts","../../../../../../../src/presentation/web/app/actions/adopt-local-directory.ts"],"sourcesContent":["'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { DeleteApplicationUseCase } from '@shepai/core/application/use-cases/applications/delete-application.use-case';\n\nexport async function deleteApplication(id: string): Promise<{ error?: string }> {\n if (!id?.trim()) {\n return { error: 'Application ID is required' };\n }\n\n try {\n const useCase = resolve<DeleteApplicationUseCase>('DeleteApplicationUseCase');\n await useCase.execute(id);\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete application';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport { createDeploymentLogger } from '@shepai/core/infrastructure/services/deployment/deployment-logger';\nimport type { StartFeatureDeploymentUseCase } from '@shepai/core/application/use-cases/deployments/start-feature-deployment.use-case';\nimport type { DeploymentState } from '@shepai/core/domain/generated/output';\n\nconst log = createDeploymentLogger('[deployFeature]');\n\nexport async function deployFeature(\n featureId: string\n): Promise<{ success: boolean; error?: string; state?: DeploymentState }> {\n log.info(`called — featureId=\"${featureId}\"`);\n\n try {\n const useCase = resolve<StartFeatureDeploymentUseCase>('StartFeatureDeploymentUseCase');\n const status = await useCase.execute(featureId);\n log.info(`start succeeded — state=${status.state}`);\n return { success: true, state: status.state };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to deploy feature';\n log.error(`error: ${message}`, error);\n return { success: false, error: message };\n }\n}\n","/* eslint-disable no-console */\n\n/**\n * Debug-gated logger for deployment services.\n *\n * - `info` and `debug` only emit when `process.env.DEBUG` is set.\n * - `warn` and `error` always emit (they indicate real problems).\n */\n\nconst noop = () => undefined;\n\nexport function createDeploymentLogger(prefix: string) {\n const isDebug = !!process.env.DEBUG;\n\n return {\n info: isDebug ? (...args: unknown[]) => console.info(prefix, ...args) : noop,\n debug: isDebug ? (...args: unknown[]) => console.debug(prefix, ...args) : noop,\n warn: (...args: unknown[]) => console.warn(prefix, ...args),\n error: (...args: unknown[]) => console.error(prefix, ...args),\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport { createDeploymentLogger } from '@shepai/core/infrastructure/services/deployment/deployment-logger';\nimport type { StartRepositoryDeploymentUseCase } from '@shepai/core/application/use-cases/deployments/start-repository-deployment.use-case';\nimport type { DeploymentState } from '@shepai/core/domain/generated/output';\n\nconst log = createDeploymentLogger('[deployRepository]');\n\nexport async function deployRepository(\n repositoryPath: string\n): Promise<{ success: boolean; error?: string; state?: DeploymentState }> {\n log.info(`called — repositoryPath=\"${repositoryPath}\"`);\n\n try {\n const useCase = resolve<StartRepositoryDeploymentUseCase>('StartRepositoryDeploymentUseCase');\n const status = await useCase.execute(repositoryPath);\n log.info(`start succeeded — state=${status.state}`);\n return { success: true, state: status.state };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to deploy repository';\n log.error(`error: ${message}`, error);\n return { success: false, error: message };\n }\n}\n","/**\n * Application Not Found Error\n *\n * Thrown by application use cases when an application lookup by id\n * does not find a matching record in the repository.\n */\nexport class ApplicationNotFoundError extends Error {\n readonly code = 'APPLICATION_NOT_FOUND';\n constructor(public readonly applicationId: string) {\n super(`Application ${applicationId} not found`);\n this.name = 'ApplicationNotFoundError';\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","/**\n * Application Repository Not On Disk Error\n *\n * Thrown by deployment use cases when an application's repositoryPath no\n * longer exists on the local filesystem — e.g. the user deleted the folder\n * out from under us. The caller (CLI / TUI / Web) should surface this as a\n * recoverable precondition failure, not an internal error.\n */\nexport class ApplicationRepositoryNotOnDiskError extends Error {\n readonly code = 'APPLICATION_REPOSITORY_NOT_ON_DISK';\n constructor(\n public readonly applicationId: string,\n public readonly repositoryPath: string\n ) {\n super(`Repository path does not exist: ${repositoryPath}`);\n this.name = 'ApplicationRepositoryNotOnDiskError';\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","/**\n * Cannot Deploy Self Error\n *\n * Thrown by deployment use cases when the target repository is the same\n * directory (or a worktree of) the currently running Shep instance.\n * Spawning a nested Shep dev server would collide on the shared\n * ~/.shep/data SQLite database.\n */\nexport class CannotDeploySelfError extends Error {\n readonly code = 'CANNOT_DEPLOY_SELF';\n constructor(public readonly repositoryPath: string) {\n super('Cannot start a dev server for the repository Shep is running from');\n this.name = 'CannotDeploySelfError';\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { StartApplicationDeploymentUseCase } from '@shepai/core/application/use-cases/deployments/start-application-deployment.use-case';\nimport { ApplicationNotFoundError } from '@shepai/core/domain/errors/application-not-found.error';\nimport { ApplicationRepositoryNotOnDiskError } from '@shepai/core/domain/errors/application-repository-not-on-disk.error';\nimport { CannotDeploySelfError } from '@shepai/core/domain/errors/cannot-deploy-self.error';\nimport type { DeploymentState } from '@shepai/core/domain/generated/output';\n\n/**\n * Start a local dev server for an application.\n *\n * Thin server action: parses input, delegates to\n * `StartApplicationDeploymentUseCase`, and maps domain errors to the\n * action's historical response shape.\n *\n * All orchestration (repo lookup, filesystem precondition, self-instance\n * guard, `.start()` call, logging) lives in the use case — see\n * `packages/core/src/application/use-cases/deployments/\n * start-application-deployment.use-case.ts`.\n */\nexport async function deployApplication(\n applicationId: string\n): Promise<{ success: boolean; error?: string; state?: DeploymentState }> {\n if (!applicationId?.trim()) {\n return { success: false, error: 'applicationId is required' };\n }\n\n try {\n const useCase = resolve<StartApplicationDeploymentUseCase>('StartApplicationDeploymentUseCase');\n const result = await useCase.execute({ applicationId });\n return { success: true, state: result.state };\n } catch (error: unknown) {\n if (error instanceof ApplicationNotFoundError) {\n return { success: false, error: `Application not found: ${applicationId}` };\n }\n if (error instanceof ApplicationRepositoryNotOnDiskError) {\n return {\n success: false,\n error: `Repository path does not exist: ${error.repositoryPath}`,\n };\n }\n if (error instanceof CannotDeploySelfError) {\n return {\n success: false,\n error: 'Cannot start a dev server for the repository Shep is running from',\n };\n }\n const message = error instanceof Error ? error.message : 'Failed to deploy application';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { StopDeploymentUseCase } from '@shepai/core/application/use-cases/deployments/stop-deployment.use-case';\n\nexport async function stopDeployment(\n targetId: string\n): Promise<{ success: boolean; error?: string }> {\n try {\n const useCase = resolve<StopDeploymentUseCase>('StopDeploymentUseCase');\n await useCase.execute(targetId);\n return { success: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to stop deployment';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetDeploymentStatusUseCase } from '@shepai/core/application/use-cases/deployments/get-deployment-status.use-case';\nimport type { DeploymentStatus } from '@shepai/core/application/ports/output/services/deployment-service.interface';\n\nexport async function getDeploymentStatus(targetId: string): Promise<DeploymentStatus | null> {\n const useCase = resolve<GetDeploymentStatusUseCase>('GetDeploymentStatusUseCase');\n return useCase.execute(targetId);\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateProjectUseCase } from '@shepai/core/application/use-cases/projects/create-project.use-case';\nimport type { AddRepositoryUseCase } from '@shepai/core/application/use-cases/repositories/add-repository.use-case';\nimport type { Feature, Repository } from '@shepai/core/domain/generated/output';\nimport { createFeature } from './create-feature';\n\ninterface QuickFeatureInput {\n description: string;\n attachments?: { path: string; name: string; notes?: string }[];\n agentType?: string;\n model?: string;\n fast?: boolean;\n}\n\n/**\n * Default project instructions prepended to the user's description.\n * These ensure that even a vague one-liner from a non-technical user\n * results in a well-structured, runnable React application.\n */\nconst PROJECT_PREAMBLE = `\\\n## Project Requirements\n\nBuild this as a **React application** using Vite as the build tool.\n\n### Structure\n- Initialize with \\`npm create vite@latest . -- --template react-ts\\` scaffolding\n- Organize code into clear folders: \\`src/components/\\`, \\`src/pages/\\`, \\`src/assets/\\`\n- Use TypeScript throughout\n- Include a working \\`package.json\\` with all dependencies\n\n### Design & UI\n- Create a polished, production-quality interface — not a prototype\n- Use modern CSS (CSS modules or Tailwind CSS) with thoughtful spacing, typography, and color\n- Make it fully responsive (mobile-first)\n- Add subtle micro-interactions: hover states, transitions, focus rings\n- Use professional placeholder content (realistic text, not lorem ipsum)\n- Pick a cohesive color palette and apply it consistently\n\n### Quality\n- Every component should be self-contained and reusable\n- Include proper HTML semantics and accessibility (ARIA labels, alt text, keyboard nav)\n- The app must start successfully with \\`npm install && npm run dev\\`\n\n---\n\n## What to Build\n`;\n\n/**\n * Derive a concise project name from a free-form description.\n * Takes the first handful of meaningful words — `CreateProjectUseCase`\n * will then slugify + cap length for the actual directory name.\n */\nfunction deriveProjectName(description: string): string {\n return description.trim().split(/\\s+/).slice(0, 6).join(' ');\n}\n\nexport async function createProjectAndFeature(input: QuickFeatureInput): Promise<{\n feature?: Feature;\n repository?: Repository;\n repositoryPath?: string;\n error?: string;\n}> {\n const { description, attachments, agentType, model } = input;\n\n if (!description?.trim()) {\n return { error: 'Description is required' };\n }\n\n try {\n const createProject = resolve<CreateProjectUseCase>('CreateProjectUseCase');\n const projectResult = await createProject.execute({\n name: deriveProjectName(description),\n });\n if (!projectResult.ok) {\n return { error: projectResult.error };\n }\n const projectPath = projectResult.path;\n\n const addRepo = resolve<AddRepositoryUseCase>('AddRepositoryUseCase');\n const repository = await addRepo.execute({ path: projectPath });\n\n // Enrich the user's prompt with project-quality instructions\n const enrichedDescription = PROJECT_PREAMBLE + description.trim();\n\n const featureResult = await createFeature({\n description: enrichedDescription,\n repositoryPath: projectPath,\n attachments,\n agentType,\n model,\n fast: input.fast,\n });\n\n if (featureResult.error) {\n return { error: featureResult.error };\n }\n\n return {\n feature: featureResult.feature,\n repository,\n repositoryPath: projectPath,\n };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create project';\n return { error: message };\n }\n}\n","interface Attachment {\n path: string;\n name: string;\n notes?: string;\n}\n\nexport function composeUserInput(\n description: string,\n attachments: Attachment[] | undefined\n): string {\n if (!attachments || attachments.length === 0) {\n return description;\n }\n\n const refs = attachments\n .map((a) => (a.notes?.trim() ? `@${a.path} [Note: ${a.notes.trim()}]` : `@${a.path}`))\n .join(' ');\n return `${description}\\n\\n${refs}`;\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateFeatureUseCase } from '@shepai/core/application/use-cases/features/create/create-feature.use-case';\nimport type { Feature } from '@shepai/core/domain/generated/output';\nimport { composeUserInput } from './compose-user-input';\n\ninterface Attachment {\n path: string;\n name: string;\n notes?: string;\n}\n\ninterface ApprovalGates {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge: boolean;\n}\n\ninterface CreateFeatureInput {\n description: string;\n repositoryPath: string;\n attachments?: Attachment[];\n sessionId?: string;\n approvalGates?: {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge?: boolean;\n };\n push?: boolean;\n openPr?: boolean;\n parentId?: string;\n /** When true, skip SDLC phases and implement directly from the prompt. */\n fast?: boolean;\n /** When true, create the feature in pending state (no agent spawned). */\n pending?: boolean;\n /** Fork repo and create PR to upstream at merge time. */\n forkAndPr?: boolean;\n /** Commit specs/evidences into the repo (default: true, auto-false when forkAndPr). */\n commitSpecs?: boolean;\n /** Enable CI watch/fix loop after push. */\n ciWatchEnabled?: boolean;\n /** Enable evidence collection after implementation. */\n enableEvidence?: boolean;\n /** Commit evidence to PR. */\n commitEvidence?: boolean;\n /** Optional agent type override for this feature run */\n agentType?: string;\n /** Optional model identifier for this feature run */\n model?: string;\n /** Sync main from remote before creating the feature branch (default: true). */\n rebaseBeforeBranch?: boolean;\n /** Inject curated skills into the feature worktree. */\n injectSkills?: boolean;\n /** When the drawer was launched scoped to an Application, the\n * application's domain UUID. Persisted on the Feature so the canvas can\n * render an app→feature parent edge. */\n applicationId?: string;\n}\n\nexport async function createFeature(\n input: CreateFeatureInput\n): Promise<{ feature?: Feature; error?: string }> {\n const {\n description,\n repositoryPath,\n attachments,\n sessionId,\n approvalGates,\n push,\n openPr,\n parentId,\n fast,\n pending,\n forkAndPr,\n commitSpecs,\n ciWatchEnabled,\n enableEvidence,\n commitEvidence,\n agentType,\n model,\n rebaseBeforeBranch,\n injectSkills,\n applicationId,\n } = input;\n\n if (!description?.trim()) {\n return { error: 'description is required' };\n }\n\n if (!repositoryPath?.trim()) {\n return { error: 'repositoryPath is required' };\n }\n\n const userInput = composeUserInput(description, attachments);\n const gates: ApprovalGates = {\n allowPrd: approvalGates?.allowPrd ?? false,\n allowPlan: approvalGates?.allowPlan ?? false,\n allowMerge: approvalGates?.allowMerge ?? false,\n };\n\n try {\n const createFeatureUseCase = resolve<CreateFeatureUseCase>('CreateFeatureUseCase');\n\n // Phase 1 (fast): create DB record with real UUID — returns immediately\n const { feature, shouldSpawn } = await createFeatureUseCase.createRecord({\n userInput,\n repositoryPath,\n approvalGates: gates,\n push: push ?? false,\n openPr: openPr ?? false,\n ...(parentId ? { parentId } : {}),\n description,\n ...(fast ? { fast } : {}),\n ...(pending ? { pending } : {}),\n ...(forkAndPr != null ? { forkAndPr } : {}),\n ...(commitSpecs != null ? { commitSpecs } : {}),\n ...(ciWatchEnabled != null ? { ciWatchEnabled } : {}),\n ...(enableEvidence != null ? { enableEvidence } : {}),\n ...(commitEvidence != null ? { commitEvidence } : {}),\n ...(agentType ? { agentType } : {}),\n ...(model ? { model } : {}),\n ...(rebaseBeforeBranch != null ? { rebaseBeforeBranch } : {}),\n ...(injectSkills != null ? { injectSkills } : {}),\n ...(applicationId ? { applicationId } : {}),\n });\n\n // Phase 2 (background): metadata generation, worktree, spec, agent spawn\n // Fire-and-forget — the UI gets the real feature ID immediately\n createFeatureUseCase\n .initializeAndSpawn(\n feature,\n {\n userInput,\n repositoryPath,\n approvalGates: gates,\n push: push ?? false,\n openPr: openPr ?? false,\n ...(parentId ? { parentId } : {}),\n ...(fast ? { fast } : {}),\n ...(pending ? { pending } : {}),\n ...(forkAndPr != null ? { forkAndPr } : {}),\n ...(commitSpecs != null ? { commitSpecs } : {}),\n ...(ciWatchEnabled != null ? { ciWatchEnabled } : {}),\n ...(enableEvidence != null ? { enableEvidence } : {}),\n ...(commitEvidence != null ? { commitEvidence } : {}),\n ...(agentType ? { agentType } : {}),\n ...(model ? { model } : {}),\n ...(sessionId ? { sessionId } : {}),\n ...(rebaseBeforeBranch != null ? { rebaseBeforeBranch } : {}),\n ...(injectSkills != null ? { injectSkills } : {}),\n ...(applicationId ? { applicationId } : {}),\n },\n shouldSpawn\n )\n .catch((err: unknown) => {\n // eslint-disable-next-line no-console\n console.error('[createFeature] initializeAndSpawn failed:', err);\n });\n\n return { feature };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create feature';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateApplicationUseCase } from '@shepai/core/application/use-cases/applications/create-application.use-case';\nimport type { Application } from '@shepai/core/domain/generated/output';\n\ninterface CreateApplicationInput {\n description: string;\n agentType?: string;\n modelOverride?: string;\n /**\n * When provided, the use case ALSO sends this as the first message of\n * the application's interactive chat session — wrapped server-side\n * with the full application-creation prompt (Shep persona, mission,\n * opinionated stack, workflow, quality bar, definition of done) by\n * the IApplicationCreationPromptBuilder adapter.\n *\n * Awaiting this BEFORE the client navigates guarantees that the chat\n * page's SSR load of chat state already includes the message — it\n * renders on first paint, no extra round trip.\n */\n initialPrompt?: string;\n}\n\n/**\n * Thin server-action wrapper around CreateApplicationUseCase.\n *\n * All orchestration (slug allocation, project scaffold, app persistence,\n * prompt building, first-message dispatch) lives inside the use case so\n * every presentation layer (Web / CLI / TUI) gets identical behavior\n * from a single call.\n */\nexport async function createApplication(\n input: CreateApplicationInput\n): Promise<{ application?: Application; repositoryPath?: string; error?: string }> {\n if (!input.description?.trim()) {\n return { error: 'Description is required' };\n }\n\n try {\n const useCase = resolve<CreateApplicationUseCase>('CreateApplicationUseCase');\n const result = await useCase.execute({\n description: input.description.trim(),\n agentType: input.agentType,\n modelOverride: input.modelOverride,\n initialPrompt: input.initialPrompt,\n });\n return { application: result.application, repositoryPath: result.repositoryPath };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create application';\n return { error: message };\n }\n}\n","export {pickFolder as '00e58a33ab1b838c8207f1b7dbe831d7a7b8cd3330'} from 'ACTIONS_MODULE0'\nexport {getDefaultAgentAndModel as '00c270c7a6f9c21fabe7b7271a4bf75d5cef02d22a'} from 'ACTIONS_MODULE1'\nexport {getAllAgentModels as '00c6d708f17ef9dc5f3443dc4d3b3f3756c20b1392'} from 'ACTIONS_MODULE2'\nexport {checkAllAgentsStatus as '00c38b234d35460bb11ea6a1b0fff1c22e01c08873'} from 'ACTIONS_MODULE3'\nexport {updateAgentAndModel as '60afd0d4fa2a6638646f7d23dc6c8673fd27a69207'} from 'ACTIONS_MODULE4'\nexport {globalSearch as '4015ea81e1b2a02fe57f374a012b37e2cd322146f1'} from 'ACTIONS_MODULE5'\nexport {listGitHubRepositories as '40d1082c73e97a2c5f99ef11d815cefe59a26e8998'} from 'ACTIONS_MODULE6'\nexport {listGitHubOrganizations as '00c4af7e37cefa35ac7db65fa9b45995caf677a597'} from 'ACTIONS_MODULE7'\nexport {importGitHubRepository as '405f5f5259eaed6742d1a59f416d4319ea63f3bb3d'} from 'ACTIONS_MODULE8'\nexport {deployFeature as '40aa1efa0fed8941c16c9537ba0c5d988cf13fecaf'} from 'ACTIONS_MODULE9'\nexport {deployRepository as '403a844cbb36e5d50051fe552f050ed35a8b88f317'} from 'ACTIONS_MODULE10'\nexport {deployApplication as '40559cc32878be443a5d902e563fa65ac29566c575'} from 'ACTIONS_MODULE11'\nexport {stopDeployment as '403c93928208c54fe25784ff60dcb073f25d1055c1'} from 'ACTIONS_MODULE12'\nexport {getDeploymentStatus as '402a545f24583952d99d18566abf474dd10d07741b'} from 'ACTIONS_MODULE13'\nexport {createProjectAndFeature as '402a7da73158b6bd6c8fb8ab5b0344dc0e0f08e228'} from 'ACTIONS_MODULE14'\nexport {createApplication as '402b7881a750d5c7c7125153b65fdd64c555ddcdc2'} from 'ACTIONS_MODULE15'\nexport {deleteApplication as '400601cc704fc3a542db95c4219b7261168cbe675d'} from 'ACTIONS_MODULE16'\nexport {openDirectory as '40daedbc150207939e88e0091c8c17df149b81ee9b'} from 'ACTIONS_MODULE17'\nexport {listDeployments as '00a3d928a39e0706a7d619dcbbcaa2254aba5ae1ea'} from 'ACTIONS_MODULE18'\nexport {adoptLocalDirectory as '40f5758fe7616d4922831f3068cfee45b9b3a8ba68'} from 'ACTIONS_MODULE19'\n","'use server';\n\nimport { spawn } from 'node:child_process';\nimport { existsSync } from 'node:fs';\n\n/**\n * Open a local directory in the OS file manager (Finder / Explorer / Nautilus).\n * Fire-and-forget — we don't wait for the explorer to close.\n */\nexport async function openDirectory(dirPath: string): Promise<{ error?: string }> {\n if (!dirPath) return { error: 'No path provided' };\n\n // Normalise Windows backslashes for cross-platform safety.\n const normalized = dirPath.replace(/\\\\/g, '/');\n\n if (!existsSync(normalized)) {\n return { error: `Directory not found: ${normalized}` };\n }\n\n const cmd =\n process.platform === 'darwin'\n ? ['open', normalized]\n : process.platform === 'win32'\n ? ['explorer', normalized.replace(/\\//g, '\\\\')]\n : ['xdg-open', normalized];\n\n spawn(cmd[0]!, cmd.slice(1), {\n detached: true,\n stdio: 'ignore',\n windowsHide: true,\n }).unref();\n\n return {};\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ListDeploymentsUseCase } from '@shepai/core/application/use-cases/deployments/list-deployments.use-case';\nimport type { DeploymentStatusEntry } from '@shepai/core/application/ports/output/services/deployment-service.interface';\n\nexport async function listDeployments(): Promise<DeploymentStatusEntry[]> {\n const useCase = resolve<ListDeploymentsUseCase>('ListDeploymentsUseCase');\n return useCase.execute();\n}\n","'use server';\n\nimport { randomUUID } from 'node:crypto';\nimport path from 'node:path';\nimport { resolve } from '@/lib/server-container';\nimport type { IApplicationRepository } from '@shepai/core/application/ports/output/repositories/application-repository.interface';\nimport { ApplicationStatus } from '@shepai/core/domain/generated/output';\n\n/**\n * Create an Application entity pointing at an EXISTING local directory.\n *\n * Unlike `createApplication` (which scaffolds a brand-new project),\n * this action registers a directory the user already has on disk — e.g.\n * an existing Next.js or Vite repo. No scaffold is run; the folder is\n * used as-is and `setupComplete` is set to `true` so the application\n * page doesn't try to re-scaffold it.\n *\n * The display name is derived from the folder's base name so the card\n * shows something human-readable immediately.\n */\nexport async function adoptLocalDirectory(input: {\n repositoryPath: string;\n}): Promise<{ applicationId?: string; error?: string }> {\n const normalizedPath = input.repositoryPath.replace(/\\\\/g, '/');\n const folderName = path.basename(normalizedPath);\n\n if (!folderName) {\n return { error: 'Could not determine folder name from path' };\n }\n\n try {\n const appRepo = resolve<IApplicationRepository>('IApplicationRepository');\n const now = new Date();\n const applicationId = randomUUID();\n\n await appRepo.create({\n id: applicationId,\n name: toTitleCase(folderName),\n slug: folderName,\n description: `Local project at ${normalizedPath}`,\n repositoryPath: normalizedPath,\n additionalPaths: [],\n status: ApplicationStatus.Idle,\n setupComplete: true,\n createdAt: now,\n updatedAt: now,\n });\n\n return { applicationId };\n } catch (error) {\n const message = error instanceof Error ? error.message : 'Failed to adopt directory';\n return { error: message };\n }\n}\n\nfunction toTitleCase(slug: string): string {\n return slug.replace(/[-_]+/g, ' ').replace(/\\b\\w/g, (c) => c.toUpperCase());\n}\n"],"names":[],"mappings":"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"}