@shepai/cli 1.120.0-pr384.fdb89bb → 1.120.0-pr385.7a4c87f

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 (201) hide show
  1. package/dist/packages/core/src/application/ports/output/services/deployment-service.interface.d.ts +1 -9
  2. package/dist/packages/core/src/application/ports/output/services/deployment-service.interface.d.ts.map +1 -1
  3. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  4. package/dist/packages/core/src/infrastructure/di/container.js +0 -19
  5. package/dist/packages/core/src/infrastructure/services/deployment/deployment.service.d.ts +2 -6
  6. package/dist/packages/core/src/infrastructure/services/deployment/deployment.service.d.ts.map +1 -1
  7. package/dist/packages/core/src/infrastructure/services/deployment/deployment.service.js +13 -30
  8. package/dist/src/presentation/web/app/actions/deploy-feature.d.ts +1 -2
  9. package/dist/src/presentation/web/app/actions/deploy-feature.d.ts.map +1 -1
  10. package/dist/src/presentation/web/app/actions/deploy-feature.js +6 -9
  11. package/dist/src/presentation/web/app/actions/deploy-repository.d.ts +1 -2
  12. package/dist/src/presentation/web/app/actions/deploy-repository.d.ts.map +1 -1
  13. package/dist/src/presentation/web/app/actions/deploy-repository.js +6 -9
  14. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.d.ts +1 -0
  15. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.d.ts.map +1 -1
  16. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.js +8 -0
  17. package/dist/src/presentation/web/components/common/feature-status-badges/feature-status-badges.stories.js +6 -6
  18. package/dist/src/presentation/web/components/common/feature-status-config.d.ts +1 -1
  19. package/dist/src/presentation/web/components/common/feature-status-config.d.ts.map +1 -1
  20. package/dist/src/presentation/web/components/common/feature-status-config.js +8 -1
  21. package/dist/src/presentation/web/components/common/feature-status-group/feature-status-group.stories.d.ts +1 -0
  22. package/dist/src/presentation/web/components/common/feature-status-group/feature-status-group.stories.d.ts.map +1 -1
  23. package/dist/src/presentation/web/components/common/feature-status-group/feature-status-group.stories.js +7 -0
  24. package/dist/src/presentation/web/hooks/sidebar-features-context.js +1 -1
  25. package/dist/tsconfig.build.tsbuildinfo +1 -1
  26. package/package.json +1 -1
  27. package/web/.next/BUILD_ID +1 -1
  28. package/web/.next/build-manifest.json +2 -2
  29. package/web/.next/fallback-build-manifest.json +2 -2
  30. package/web/.next/prerender-manifest.json +3 -3
  31. package/web/.next/required-server-files.js +1 -1
  32. package/web/.next/required-server-files.json +1 -1
  33. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +21 -21
  34. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  35. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  36. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  37. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +27 -27
  38. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -1
  39. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  40. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  41. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +27 -27
  42. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
  43. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  44. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  45. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +19 -19
  46. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
  47. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  48. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  49. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +21 -21
  50. package/web/.next/server/app/(dashboard)/create/page.js +1 -1
  51. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  52. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  53. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +27 -27
  54. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -1
  55. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  56. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  57. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +27 -27
  58. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
  59. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  60. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  61. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +19 -19
  62. package/web/.next/server/app/(dashboard)/page.js +1 -1
  63. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  64. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  65. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +19 -19
  66. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
  67. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  68. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  69. package/web/.next/server/app/_global-error.html +2 -2
  70. package/web/.next/server/app/_global-error.rsc +1 -1
  71. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  72. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  73. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  74. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  75. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  76. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  77. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  78. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  79. package/web/.next/server/app/settings/page/server-reference-manifest.json +6 -6
  80. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  81. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  82. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  83. package/web/.next/server/app/skills/page.js +2 -1
  84. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  85. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  86. package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  87. package/web/.next/server/app/tools/page.js +2 -1
  88. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  89. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  90. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  91. package/web/.next/server/app/version/page.js.nft.json +1 -1
  92. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  93. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  94. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  95. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  96. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_ed372306.js +1 -1
  97. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_ed372306.js.map +1 -1
  98. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_32e26434.js +1 -1
  99. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_32e26434.js.map +1 -1
  100. package/web/.next/server/chunks/ssr/[root-of-the-server]__06fef644._.js +1 -1
  101. package/web/.next/server/chunks/ssr/[root-of-the-server]__3b14e5a0._.js +1 -1
  102. package/web/.next/server/chunks/ssr/[root-of-the-server]__3b14e5a0._.js.map +1 -1
  103. package/web/.next/server/chunks/ssr/[root-of-the-server]__545792ab._.js +1 -1
  104. package/web/.next/server/chunks/ssr/[root-of-the-server]__545792ab._.js.map +1 -1
  105. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  106. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +1 -1
  107. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +2 -2
  108. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +1 -1
  109. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  110. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +1 -1
  111. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b59c03e._.js +1 -1
  112. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b59c03e._.js.map +1 -1
  113. package/web/.next/server/chunks/ssr/[root-of-the-server]__8c553503._.js +2 -2
  114. package/web/.next/server/chunks/ssr/[root-of-the-server]__994ad9fe._.js +1 -1
  115. package/web/.next/server/chunks/ssr/[root-of-the-server]__994ad9fe._.js.map +1 -1
  116. package/web/.next/server/chunks/ssr/[root-of-the-server]__a022445f._.js +2 -2
  117. package/web/.next/server/chunks/ssr/[root-of-the-server]__a022445f._.js.map +1 -1
  118. package/web/.next/server/chunks/ssr/[root-of-the-server]__a7de2711._.js +4 -0
  119. package/web/.next/server/chunks/ssr/[root-of-the-server]__a7de2711._.js.map +1 -0
  120. package/web/.next/server/chunks/ssr/[root-of-the-server]__b724df9e._.js +3 -0
  121. package/web/.next/server/chunks/ssr/[root-of-the-server]__b724df9e._.js.map +1 -0
  122. package/web/.next/server/chunks/ssr/[root-of-the-server]__c9c1cfee._.js +1 -1
  123. package/web/.next/server/chunks/ssr/[root-of-the-server]__c9c1cfee._.js.map +1 -1
  124. package/web/.next/server/chunks/ssr/_0dc2cfd3._.js +3 -0
  125. package/web/.next/server/chunks/ssr/_0dc2cfd3._.js.map +1 -0
  126. package/web/.next/server/chunks/ssr/_135edb9c._.js +1 -1
  127. package/web/.next/server/chunks/ssr/_135edb9c._.js.map +1 -1
  128. package/web/.next/server/chunks/ssr/{_3b5f25fa._.js → _1f64ecc6._.js} +2 -2
  129. package/web/.next/server/chunks/ssr/{_3b5f25fa._.js.map → _1f64ecc6._.js.map} +1 -1
  130. package/web/.next/server/chunks/ssr/_2f6f48b8._.js +1 -1
  131. package/web/.next/server/chunks/ssr/_2f6f48b8._.js.map +1 -1
  132. package/web/.next/server/chunks/ssr/_cc77a143._.js +1 -1
  133. package/web/.next/server/chunks/ssr/_cc77a143._.js.map +1 -1
  134. package/web/.next/server/chunks/ssr/{_83b11c33._.js → _d118fdcf._.js} +2 -2
  135. package/web/.next/server/chunks/ssr/{_83b11c33._.js.map → _d118fdcf._.js.map} +1 -1
  136. package/web/.next/server/chunks/ssr/{_f605354c._.js → _f1a649e3._.js} +3 -3
  137. package/web/.next/server/chunks/ssr/_f1a649e3._.js.map +1 -0
  138. package/web/.next/server/chunks/ssr/{_3c9e300b._.js → _fbd1fb49._.js} +2 -2
  139. package/web/.next/server/chunks/ssr/{_3c9e300b._.js.map → _fbd1fb49._.js.map} +1 -1
  140. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  141. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  142. package/web/.next/server/chunks/ssr/src_presentation_web_0835b28e._.js +2 -2
  143. package/web/.next/server/chunks/ssr/src_presentation_web_0835b28e._.js.map +1 -1
  144. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_e99d78dd.js +1 -1
  145. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_e99d78dd.js.map +1 -1
  146. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +3 -0
  147. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -0
  148. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +3 -0
  149. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -0
  150. package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js +1 -1
  151. package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js +1 -1
  152. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  153. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  154. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  155. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  156. package/web/.next/server/chunks/ssr/src_presentation_web_e8034a29._.js +2 -2
  157. package/web/.next/server/chunks/ssr/src_presentation_web_e8034a29._.js.map +1 -1
  158. package/web/.next/server/pages/500.html +2 -2
  159. package/web/.next/server/server-reference-manifest.js +1 -1
  160. package/web/.next/server/server-reference-manifest.json +33 -33
  161. package/web/.next/static/chunks/0d2af96e64960ef5.css +1 -0
  162. package/web/.next/static/chunks/1985c707cfaf0ed0.js +1 -0
  163. package/web/.next/static/chunks/{2f9dcf87c0a9c513.js → 28703fd18babc4d2.js} +1 -1
  164. package/web/.next/static/chunks/{7da5a2bd92f03feb.js → 2bae334afb7e4944.js} +1 -1
  165. package/web/.next/static/chunks/{83e2aac7e244633a.js → 5b2882de7e56895e.js} +1 -1
  166. package/web/.next/static/chunks/6573b8e9cd86c17f.js +11 -0
  167. package/web/.next/static/chunks/{f81995913dac5269.js → 6ad0261fb70e3133.js} +1 -1
  168. package/web/.next/static/chunks/{720858e147830a1b.js → 7c7e3e95c5e9dc43.js} +1 -1
  169. package/web/.next/static/chunks/{6e9701fc52697f2b.js → 9316d62aeece18d3.js} +2 -2
  170. package/web/.next/static/chunks/{71161130b2462279.js → 96eeeb28e06de78c.js} +1 -1
  171. package/web/.next/static/chunks/d3eceb717f407d90.js +1 -0
  172. package/web/.next/static/chunks/efd33d3c499aed2f.js +2 -0
  173. package/dist/packages/core/src/application/ports/output/services/agent-deployment-service.interface.d.ts +0 -46
  174. package/dist/packages/core/src/application/ports/output/services/agent-deployment-service.interface.d.ts.map +0 -1
  175. package/dist/packages/core/src/application/ports/output/services/agent-deployment-service.interface.js +0 -13
  176. package/dist/packages/core/src/application/ports/output/services/dev-environment-agent.interface.d.ts +0 -65
  177. package/dist/packages/core/src/application/ports/output/services/dev-environment-agent.interface.d.ts.map +0 -1
  178. package/dist/packages/core/src/application/ports/output/services/dev-environment-agent.interface.js +0 -14
  179. package/dist/packages/core/src/infrastructure/services/deployment/agent-deployment.service.d.ts +0 -30
  180. package/dist/packages/core/src/infrastructure/services/deployment/agent-deployment.service.d.ts.map +0 -1
  181. package/dist/packages/core/src/infrastructure/services/deployment/agent-deployment.service.js +0 -110
  182. package/dist/packages/core/src/infrastructure/services/deployment/dev-environment-agent.service.d.ts +0 -35
  183. package/dist/packages/core/src/infrastructure/services/deployment/dev-environment-agent.service.d.ts.map +0 -1
  184. package/dist/packages/core/src/infrastructure/services/deployment/dev-environment-agent.service.js +0 -210
  185. package/web/.next/server/chunks/ssr/[root-of-the-server]__0534f358._.js +0 -4
  186. package/web/.next/server/chunks/ssr/[root-of-the-server]__0534f358._.js.map +0 -1
  187. package/web/.next/server/chunks/ssr/[root-of-the-server]__997ccfcc._.js +0 -4
  188. package/web/.next/server/chunks/ssr/[root-of-the-server]__997ccfcc._.js.map +0 -1
  189. package/web/.next/server/chunks/ssr/[root-of-the-server]__a6c615b8._.js +0 -3
  190. package/web/.next/server/chunks/ssr/[root-of-the-server]__a6c615b8._.js.map +0 -1
  191. package/web/.next/server/chunks/ssr/_ab069e13._.js +0 -3
  192. package/web/.next/server/chunks/ssr/_ab069e13._.js.map +0 -1
  193. package/web/.next/server/chunks/ssr/_f605354c._.js.map +0 -1
  194. package/web/.next/static/chunks/06702284aedb4e13.js +0 -1
  195. package/web/.next/static/chunks/57063722dbce9768.js +0 -2
  196. package/web/.next/static/chunks/652d07e1b3da6fd3.js +0 -11
  197. package/web/.next/static/chunks/9e8ebcb706d0ca6f.js +0 -1
  198. package/web/.next/static/chunks/d2739454715e5ef2.css +0 -1
  199. /package/web/.next/static/{yAqHoeHdmindXxK6kOd6a → 1MKiYJvfeyDdsVU2k3Kde}/_buildManifest.js +0 -0
  200. /package/web/.next/static/{yAqHoeHdmindXxK6kOd6a → 1MKiYJvfeyDdsVU2k3Kde}/_clientMiddlewareManifest.json +0 -0
  201. /package/web/.next/static/{yAqHoeHdmindXxK6kOd6a → 1MKiYJvfeyDdsVU2k3Kde}/_ssgManifest.js +0 -0
@@ -28,13 +28,6 @@ export interface DeploymentStatus {
28
28
  /** Detected URL when the dev server is Ready, null while Booting. */
29
29
  url: string | null;
30
30
  }
31
- /** Options for overriding the default dev script detection. */
32
- export interface DeploymentStartOptions {
33
- /** Shell command to run instead of auto-detecting from package.json. */
34
- command?: string;
35
- /** Working directory relative to targetPath (defaults to "."). */
36
- cwd?: string;
37
- }
38
31
  /**
39
32
  * Port interface for managing local dev server deployments.
40
33
  *
@@ -52,11 +45,10 @@ export interface IDeploymentService {
52
45
  *
53
46
  * @param targetId - Unique identifier for the deployment target (featureId or repositoryId)
54
47
  * @param targetPath - Absolute filesystem path to the directory to run the dev server in
55
- * @param options - Optional: override the auto-detected command
56
48
  * @returns The initial deployment state (always Booting on success)
57
49
  * @throws Error if no dev script is found in package.json or the process fails to spawn
58
50
  */
59
- start(targetId: string, targetPath: string, options?: DeploymentStartOptions): void;
51
+ start(targetId: string, targetPath: string): void;
60
52
  /**
61
53
  * Stop a running deployment gracefully.
62
54
  * Sends SIGTERM to the process group, then SIGKILL after a timeout.
@@ -1 +1 @@
1
- {"version":3,"file":"deployment-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/deployment-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,uEAAuE;AACvE,MAAM,WAAW,QAAQ;IACvB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,+CAA+C;AAC/C,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,KAAK,EAAE,eAAe,CAAC;IACvB,qEAAqE;IACrE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,+DAA+D;AAC/D,MAAM,WAAW,sBAAsB;IACrC,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;OASG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAEpF;;;;;;OAMG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAErD;;;OAGG;IACH,OAAO,IAAI,IAAI,CAAC;IAIhB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;IAE7C;;;;;OAKG;IACH,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC;IAE3D;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC;CAC7D"}
1
+ {"version":3,"file":"deployment-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/deployment-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,uEAAuE;AACvE,MAAM,WAAW,QAAQ;IACvB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,+CAA+C;AAC/C,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,KAAK,EAAE,eAAe,CAAC;IACvB,qEAAqE;IACrE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAElD;;;;;;OAMG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAErD;;;OAGG;IACH,OAAO,IAAI,IAAI,CAAC;IAIhB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;IAE7C;;;;;OAKG;IACH,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC;IAE3D;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC;CAC7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/di/container.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAwHrC;;;;;;GAMG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,SAAS,CAAC,CAoVrE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/di/container.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAoHrC;;;;;;GAMG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,SAAS,CAAC,CAiUrE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -26,8 +26,6 @@ import { GitPrService } from '../services/git/git-pr.service.js';
26
26
  import { JsonDrivenIdeLauncherService } from '../services/ide-launchers/json-driven-ide-launcher.service.js';
27
27
  import { DaemonPidService } from '../services/daemon/daemon-pid.service.js';
28
28
  import { DeploymentService } from '../services/deployment/deployment.service.js';
29
- import { DevEnvironmentAgentService } from '../services/deployment/dev-environment-agent.service.js';
30
- import { AgentDeploymentService } from '../services/deployment/agent-deployment.service.js';
31
29
  import { AttachmentStorageService } from '../services/attachment-storage.service.js';
32
30
  import { AgentExecutorFactory } from '../services/agents/common/agent-executor-factory.service.js';
33
31
  import { AgentExecutorProvider } from '../services/agents/common/agent-executor-provider.service.js';
@@ -240,23 +238,6 @@ export async function initializeContainer() {
240
238
  return new FeatureAgentProcessService(runRepository);
241
239
  },
242
240
  });
243
- // Register agent-based deployment services
244
- container.register('IDevEnvironmentAgent', {
245
- useFactory: (c) => {
246
- const caller = c.resolve('IStructuredAgentCaller');
247
- return new DevEnvironmentAgentService({ structuredAgentCaller: caller });
248
- },
249
- });
250
- container.register('IAgentDeploymentService', {
251
- useFactory: (c) => {
252
- const devEnvAgent = c.resolve('IDevEnvironmentAgent');
253
- const deploySvc = c.resolve('IDeploymentService');
254
- return new AgentDeploymentService({
255
- devEnvironmentAgent: devEnvAgent,
256
- deploymentService: deploySvc,
257
- });
258
- },
259
- });
260
241
  container.register('ISpecInitializerService', {
261
242
  useFactory: () => new SpecInitializerService(),
262
243
  });
@@ -7,7 +7,7 @@
7
7
  * shutdown (SIGTERM → poll → SIGKILL).
8
8
  */
9
9
  import { spawn } from 'node:child_process';
10
- import type { IDeploymentService, DeploymentStatus, DeploymentStartOptions, LogEntry } from '../../../application/ports/output/services/deployment-service.interface.js';
10
+ import type { IDeploymentService, DeploymentStatus, LogEntry } from '../../../application/ports/output/services/deployment-service.interface.js';
11
11
  import { detectDevScript } from './detect-dev-script.js';
12
12
  export interface DeploymentServiceDeps {
13
13
  spawn: typeof spawn;
@@ -23,12 +23,8 @@ export declare class DeploymentService implements IDeploymentService {
23
23
  /**
24
24
  * Start a deployment for the given target.
25
25
  * If a deployment already exists for this target, it is stopped first.
26
- *
27
- * When options.command is provided, the command is executed directly via shell
28
- * instead of auto-detecting from package.json. This enables agent-based
29
- * deployment for any language/framework.
30
26
  */
31
- start(targetId: string, targetPath: string, options?: DeploymentStartOptions): void;
27
+ start(targetId: string, targetPath: string): void;
32
28
  /**
33
29
  * Get the current deployment status for a target.
34
30
  * Returns null if no deployment exists for this target.
@@ -1 +1 @@
1
- {"version":3,"file":"deployment.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/deployment/deployment.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAI9D,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,QAAQ,EACT,MAAM,qEAAqE,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAoBzD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;IAC7D,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACnC;AAgBD,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;gBAElC,IAAI,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAIrD;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;IA8FnF;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAYpD;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyC3C;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI;IAM5C;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI;IAI1D;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI;IAI3D;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA+D5B;;OAEG;YACW,aAAa;IAW3B;;OAEG;IACH,OAAO,CAAC,WAAW;CASpB"}
1
+ {"version":3,"file":"deployment.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/deployment/deployment.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAI9D,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,QAAQ,EACT,MAAM,qEAAqE,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAoBzD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;IAC7D,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACnC;AAgBD,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;gBAElC,IAAI,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAIrD;;;OAGG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IA+EjD;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAYpD;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyC3C;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI;IAM5C;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI;IAI1D;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI;IAI3D;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA+D5B;;OAEG;YACW,aAAa;IAW3B;;OAEG;IACH,OAAO,CAAC,WAAW;CASpB"}
@@ -41,13 +41,9 @@ export class DeploymentService {
41
41
  /**
42
42
  * Start a deployment for the given target.
43
43
  * If a deployment already exists for this target, it is stopped first.
44
- *
45
- * When options.command is provided, the command is executed directly via shell
46
- * instead of auto-detecting from package.json. This enables agent-based
47
- * deployment for any language/framework.
48
44
  */
49
- start(targetId, targetPath, options) {
50
- log.info(`start() called — targetId="${targetId}", targetPath="${targetPath}", command=${options?.command ?? 'auto-detect'}`);
45
+ start(targetId, targetPath) {
46
+ log.info(`start() called — targetId="${targetId}", targetPath="${targetPath}"`);
51
47
  // Stop any existing deployment for this target
52
48
  const existing = this.deployments.get(targetId);
53
49
  if (existing) {
@@ -55,32 +51,19 @@ export class DeploymentService {
55
51
  this.killProcess(existing);
56
52
  this.deployments.delete(targetId);
57
53
  }
58
- // Resolve the working directory
59
- const cwd = options?.cwd && options.cwd !== '.' ? `${targetPath}/${options.cwd}` : targetPath;
60
- let spawnCommand;
61
- let spawnArgs;
62
- if (options?.command) {
63
- // Agent-provided command — run directly via shell
64
- const parts = options.command.split(/\s+/);
65
- spawnCommand = parts[0];
66
- spawnArgs = parts.slice(1);
67
- log.info(`Using agent-provided command: "${options.command}", cwd="${cwd}"`);
54
+ // Detect the dev script
55
+ const detection = this.deps.detectDevScript(targetPath);
56
+ if (!detection.success) {
57
+ log.error(`Dev script detection failed: ${detection.error}`);
58
+ throw new Error(detection.error);
68
59
  }
69
- else {
70
- // Legacy auto-detection from package.json
71
- const detection = this.deps.detectDevScript(targetPath);
72
- if (!detection.success) {
73
- log.error(`Dev script detection failed: ${detection.error}`);
74
- throw new Error(detection.error);
75
- }
76
- const { packageManager, scriptName, command } = detection;
77
- spawnCommand = packageManager;
78
- spawnArgs = packageManager === 'npm' ? ['run', scriptName] : [scriptName];
79
- log.info(`Spawning dev server: command="${command}", packageManager="${packageManager}", scriptName="${scriptName}", cwd="${cwd}"`);
80
- }
81
- const child = this.deps.spawn(spawnCommand, spawnArgs, {
60
+ // Build spawn args based on package manager
61
+ const { packageManager, scriptName, command } = detection;
62
+ const args = packageManager === 'npm' ? ['run', scriptName] : [scriptName];
63
+ log.info(`Spawning dev server: command="${command}", packageManager="${packageManager}", scriptName="${scriptName}", cwd="${targetPath}"`);
64
+ const child = this.deps.spawn(packageManager, args, {
82
65
  shell: true,
83
- cwd,
66
+ cwd: targetPath,
84
67
  detached: true,
85
68
  stdio: ['ignore', 'pipe', 'pipe'],
86
69
  });
@@ -1,8 +1,7 @@
1
- import type { DeploymentState } from '../../../../../packages/core/src/domain/generated/output.js';
1
+ import { DeploymentState } from '../../../../../packages/core/src/domain/generated/output.js';
2
2
  export declare function deployFeature(featureId: string): Promise<{
3
3
  success: boolean;
4
4
  error?: string;
5
5
  state?: DeploymentState;
6
- reason?: string;
7
6
  }>;
8
7
  //# sourceMappingURL=deploy-feature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-feature.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/deploy-feature.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAI5E,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,eAAe,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA6CzF"}
1
+ {"version":3,"file":"deploy-feature.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/deploy-feature.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAIvE,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,eAAe,CAAA;CAAE,CAAC,CAwCxE"}
@@ -3,6 +3,7 @@ import { existsSync } from 'node:fs';
3
3
  import { resolve } from '../../lib/server-container.js';
4
4
  import { createDeploymentLogger } from '../../../../../packages/core/src/infrastructure/services/deployment/deployment-logger.js';
5
5
  import { computeWorktreePath } from '../../../../../packages/core/src/infrastructure/services/ide-launchers/compute-worktree-path.js';
6
+ import { DeploymentState } from '../../../../../packages/core/src/domain/generated/output.js';
6
7
  const log = createDeploymentLogger('[deployFeature]');
7
8
  export async function deployFeature(featureId) {
8
9
  log.info(`called — featureId="${featureId}"`);
@@ -24,15 +25,11 @@ export async function deployFeature(featureId) {
24
25
  log.warn(`worktree path does not exist on disk: "${worktreePath}"`);
25
26
  return { success: false, error: `Worktree path does not exist: ${worktreePath}` };
26
27
  }
27
- log.info('worktree path exists, calling agentDeploymentService.deploy()');
28
- const agentDeploymentService = resolve('IAgentDeploymentService');
29
- const result = await agentDeploymentService.deploy(featureId, worktreePath);
30
- if (!result.success) {
31
- log.warn(`agent deployment returned not-deployable: ${result.error}`);
32
- return { success: false, error: result.error, reason: result.analysis?.reason };
33
- }
34
- log.info('deploy() returned successfully — state=Booting');
35
- return { success: true, state: result.state };
28
+ log.info('worktree path exists, calling deploymentService.start()');
29
+ const deploymentService = resolve('IDeploymentService');
30
+ deploymentService.start(featureId, worktreePath);
31
+ log.info('start() returned successfully — state=Booting');
32
+ return { success: true, state: DeploymentState.Booting };
36
33
  }
37
34
  catch (error) {
38
35
  const message = error instanceof Error ? error.message : 'Failed to deploy feature';
@@ -1,8 +1,7 @@
1
- import type { DeploymentState } from '../../../../../packages/core/src/domain/generated/output.js';
1
+ import { DeploymentState } from '../../../../../packages/core/src/domain/generated/output.js';
2
2
  export declare function deployRepository(repositoryPath: string): Promise<{
3
3
  success: boolean;
4
4
  error?: string;
5
5
  state?: DeploymentState;
6
- reason?: string;
7
6
  }>;
8
7
  //# sourceMappingURL=deploy-repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-repository.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/deploy-repository.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAI5E,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,eAAe,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA8BzF"}
1
+ {"version":3,"file":"deploy-repository.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/deploy-repository.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAIvE,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,eAAe,CAAA;CAAE,CAAC,CAyBxE"}
@@ -3,6 +3,7 @@ import { existsSync } from 'node:fs';
3
3
  import { isAbsolute } from 'node:path';
4
4
  import { resolve } from '../../lib/server-container.js';
5
5
  import { createDeploymentLogger } from '../../../../../packages/core/src/infrastructure/services/deployment/deployment-logger.js';
6
+ import { DeploymentState } from '../../../../../packages/core/src/domain/generated/output.js';
6
7
  const log = createDeploymentLogger('[deployRepository]');
7
8
  export async function deployRepository(repositoryPath) {
8
9
  log.info(`called — repositoryPath="${repositoryPath}"`);
@@ -15,15 +16,11 @@ export async function deployRepository(repositoryPath) {
15
16
  log.warn(`directory does not exist: "${repositoryPath}"`);
16
17
  return { success: false, error: `Directory does not exist: ${repositoryPath}` };
17
18
  }
18
- log.info('directory exists, calling agentDeploymentService.deploy()');
19
- const agentDeploymentService = resolve('IAgentDeploymentService');
20
- const result = await agentDeploymentService.deploy(repositoryPath, repositoryPath);
21
- if (!result.success) {
22
- log.warn(`agent deployment returned not-deployable: ${result.error}`);
23
- return { success: false, error: result.error, reason: result.analysis?.reason };
24
- }
25
- log.info('deploy() returned successfully — state=Booting');
26
- return { success: true, state: result.state };
19
+ log.info('directory exists, calling deploymentService.start()');
20
+ const deploymentService = resolve('IDeploymentService');
21
+ deploymentService.start(repositoryPath, repositoryPath);
22
+ log.info('start() returned successfully — state=Booting');
23
+ return { success: true, state: DeploymentState.Booting };
27
24
  }
28
25
  catch (error) {
29
26
  const message = error instanceof Error ? error.message : 'Failed to deploy repository';
@@ -6,6 +6,7 @@ type Story = StoryObj<typeof meta>;
6
6
  export declare const ActionNeeded: Story;
7
7
  export declare const InProgress: Story;
8
8
  export declare const Done: Story;
9
+ export declare const Pending: Story;
9
10
  export declare const Blocked: Story;
10
11
  export declare const Error: Story;
11
12
  export declare const WithClickHandler: Story;
@@ -1 +1 @@
1
- {"version":3,"file":"feature-list-item.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-list-item/feature-list-item.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,eAAe,CAgBtC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,YAAY,EAAE,KAO1B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAQxB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAQlB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAOnB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAQ9B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC"}
1
+ {"version":3,"file":"feature-list-item.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-list-item/feature-list-item.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,eAAe,CAgBtC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,YAAY,EAAE,KAO1B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAQxB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAQlB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAOnB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAQ9B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC"}
@@ -39,6 +39,14 @@ export const Done = {
39
39
  modelId: 'gemini-2.5-pro',
40
40
  },
41
41
  };
42
+ export const Pending = {
43
+ args: {
44
+ name: 'Dark Mode Toggle',
45
+ status: 'pending',
46
+ agentType: 'claude-code',
47
+ modelId: 'claude-sonnet-4-6',
48
+ },
49
+ };
42
50
  export const Blocked = {
43
51
  args: {
44
52
  name: 'Dependency Resolver',
@@ -15,31 +15,31 @@ const meta = {
15
15
  export default meta;
16
16
  export const AllStatuses = {
17
17
  args: {
18
- counts: { 'action-needed': 2, 'in-progress': 3, blocked: 1, error: 1, done: 5 },
18
+ counts: { 'action-needed': 2, 'in-progress': 3, pending: 2, blocked: 1, error: 1, done: 5 },
19
19
  },
20
20
  };
21
21
  export const ActionNeededOnly = {
22
22
  args: {
23
- counts: { 'action-needed': 4, 'in-progress': 0, blocked: 0, error: 0, done: 0 },
23
+ counts: { 'action-needed': 4, 'in-progress': 0, pending: 0, blocked: 0, error: 0, done: 0 },
24
24
  },
25
25
  };
26
26
  export const InProgressOnly = {
27
27
  args: {
28
- counts: { 'action-needed': 0, 'in-progress': 2, blocked: 0, error: 0, done: 0 },
28
+ counts: { 'action-needed': 0, 'in-progress': 2, pending: 0, blocked: 0, error: 0, done: 0 },
29
29
  },
30
30
  };
31
31
  export const DoneOnly = {
32
32
  args: {
33
- counts: { 'action-needed': 0, 'in-progress': 0, blocked: 0, error: 0, done: 7 },
33
+ counts: { 'action-needed': 0, 'in-progress': 0, pending: 0, blocked: 0, error: 0, done: 7 },
34
34
  },
35
35
  };
36
36
  export const LargeCounts = {
37
37
  args: {
38
- counts: { 'action-needed': 12, 'in-progress': 99, blocked: 5, error: 3, done: 150 },
38
+ counts: { 'action-needed': 12, 'in-progress': 99, pending: 8, blocked: 5, error: 3, done: 150 },
39
39
  },
40
40
  };
41
41
  export const Empty = {
42
42
  args: {
43
- counts: { 'action-needed': 0, 'in-progress': 0, blocked: 0, error: 0, done: 0 },
43
+ counts: { 'action-needed': 0, 'in-progress': 0, pending: 0, blocked: 0, error: 0, done: 0 },
44
44
  },
45
45
  };
@@ -1,5 +1,5 @@
1
1
  import type { LucideIcon } from 'lucide-react';
2
- export type FeatureStatus = 'action-needed' | 'in-progress' | 'blocked' | 'error' | 'done';
2
+ export type FeatureStatus = 'action-needed' | 'in-progress' | 'pending' | 'blocked' | 'error' | 'done';
3
3
  export interface FeatureStatusConfig {
4
4
  icon: LucideIcon;
5
5
  iconClass: string;
@@ -1 +1 @@
1
- {"version":3,"file":"feature-status-config.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/components/common/feature-status-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3F,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,aAAa,EAAE,mBAAmB,CA+B1E,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,aAAa,EAM7C,CAAC"}
1
+ {"version":3,"file":"feature-status-config.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/components/common/feature-status-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,aAAa,GACrB,eAAe,GACf,aAAa,GACb,SAAS,GACT,SAAS,GACT,OAAO,GACP,MAAM,CAAC;AAEX,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAqC1E,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,aAAa,EAO7C,CAAC"}
@@ -1,4 +1,4 @@
1
- import { CircleAlert, Loader2, CircleCheck, Ban, CircleX } from 'lucide-react';
1
+ import { CircleAlert, Loader2, CircleCheck, Ban, CircleX, Clock } from 'lucide-react';
2
2
  export const featureStatusConfig = {
3
3
  'action-needed': {
4
4
  icon: CircleAlert,
@@ -12,6 +12,12 @@ export const featureStatusConfig = {
12
12
  bgClass: 'bg-blue-500/10',
13
13
  label: 'In Progress',
14
14
  },
15
+ pending: {
16
+ icon: Clock,
17
+ iconClass: 'text-slate-400',
18
+ bgClass: 'bg-slate-400/10',
19
+ label: 'Pending',
20
+ },
15
21
  blocked: {
16
22
  icon: Ban,
17
23
  iconClass: 'text-gray-400',
@@ -36,5 +42,6 @@ export const featureStatusOrder = [
36
42
  'error',
37
43
  'blocked',
38
44
  'in-progress',
45
+ 'pending',
39
46
  'done',
40
47
  ];
@@ -5,5 +5,6 @@ export default meta;
5
5
  type Story = StoryObj<typeof meta>;
6
6
  export declare const InProgress: Story;
7
7
  export declare const Done: Story;
8
+ export declare const Pending: Story;
8
9
  export declare const ActionNeeded: Story;
9
10
  //# sourceMappingURL=feature-status-group.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-status-group.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-status-group/feature-status-group.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,kBAAkB,CAgBzC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,UAAU,EAAE,KAWxB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAYlB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAW1B,CAAC"}
1
+ {"version":3,"file":"feature-status-group.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-status-group/feature-status-group.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,kBAAkB,CAgBzC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,UAAU,EAAE,KAWxB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAYlB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAWrB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAW1B,CAAC"}
@@ -28,6 +28,13 @@ export const Done = {
28
28
  children: (_jsxs(_Fragment, { children: [_jsx(FeatureListItem, { name: "Settings Page", status: "done", duration: "2h" }), _jsx(FeatureListItem, { name: "User Profile", status: "done", duration: "1h" }), _jsx(FeatureListItem, { name: "Auth Module", status: "done", duration: "30m" })] })),
29
29
  },
30
30
  };
31
+ export const Pending = {
32
+ args: {
33
+ label: 'Pending',
34
+ count: 2,
35
+ children: (_jsxs(_Fragment, { children: [_jsx(FeatureListItem, { name: "Dark Mode", status: "pending" }), _jsx(FeatureListItem, { name: "Search Filters", status: "pending" })] })),
36
+ },
37
+ };
31
38
  export const ActionNeeded = {
32
39
  args: {
33
40
  label: 'Action Needed',
@@ -9,7 +9,7 @@ const stateMapping = {
9
9
  running: 'in-progress',
10
10
  done: 'done',
11
11
  blocked: 'blocked',
12
- pending: 'blocked',
12
+ pending: 'pending',
13
13
  error: 'error',
14
14
  creating: null,
15
15
  deleting: null,