@shepai/cli 1.183.0-pr554.2632d62 → 1.183.0-pr555.e53ab0e

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 (1211) hide show
  1. package/apis/json-schema/Application.yaml +0 -22
  2. package/apis/json-schema/Feature.yaml +3 -0
  3. package/apis/json-schema/NotificationEventConfig.yaml +0 -4
  4. package/apis/json-schema/NotificationEventType.yaml +0 -1
  5. package/apis/json-schema/Plugin.yaml +86 -0
  6. package/apis/json-schema/PluginHealthStatus.yaml +9 -0
  7. package/apis/json-schema/PluginTransport.yaml +7 -0
  8. package/apis/json-schema/PluginType.yaml +8 -0
  9. package/apis/json-schema/RecordBoolean.yaml +6 -0
  10. package/apis/json-schema/ToolGroup.yaml +18 -0
  11. package/dist/eslint.config.mjs +0 -19
  12. package/dist/packages/core/src/application/ports/output/agents/agent-executor.interface.d.ts +7 -0
  13. package/dist/packages/core/src/application/ports/output/agents/agent-executor.interface.d.ts.map +1 -1
  14. package/dist/packages/core/src/application/ports/output/agents/index.d.ts +0 -1
  15. package/dist/packages/core/src/application/ports/output/agents/index.d.ts.map +1 -1
  16. package/dist/packages/core/src/application/ports/output/repositories/application-repository.interface.d.ts +1 -1
  17. package/dist/packages/core/src/application/ports/output/repositories/application-repository.interface.d.ts.map +1 -1
  18. package/dist/packages/core/src/application/ports/output/repositories/index.d.ts +1 -0
  19. package/dist/packages/core/src/application/ports/output/repositories/index.d.ts.map +1 -1
  20. package/dist/packages/core/src/application/ports/output/repositories/plugin-repository.interface.d.ts +60 -0
  21. package/dist/packages/core/src/application/ports/output/repositories/plugin-repository.interface.d.ts.map +1 -0
  22. package/dist/packages/core/src/application/ports/output/repositories/plugin-repository.interface.js +11 -0
  23. package/dist/packages/core/src/application/ports/output/services/index.d.ts +2 -5
  24. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  25. package/dist/packages/core/src/application/ports/output/services/mcp-server-manager.interface.d.ts +66 -0
  26. package/dist/packages/core/src/application/ports/output/services/mcp-server-manager.interface.d.ts.map +1 -0
  27. package/dist/packages/core/src/application/ports/output/services/mcp-server-manager.interface.js +12 -0
  28. package/dist/packages/core/src/application/ports/output/services/plugin-health-checker.interface.d.ts +49 -0
  29. package/dist/packages/core/src/application/ports/output/services/plugin-health-checker.interface.d.ts.map +1 -0
  30. package/dist/packages/core/src/application/ports/output/services/plugin-health-checker.interface.js +12 -0
  31. package/dist/packages/core/src/application/services/agents/agent-session-repository.registry.d.ts +24 -0
  32. package/dist/packages/core/src/application/services/agents/agent-session-repository.registry.d.ts.map +1 -0
  33. package/dist/packages/core/src/{infrastructure → application}/services/agents/agent-session-repository.registry.js +5 -10
  34. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts +1 -5
  35. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts.map +1 -1
  36. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.js +6 -10
  37. package/dist/packages/core/src/application/use-cases/agents/check-agent-auth.use-case.d.ts +1 -3
  38. package/dist/packages/core/src/application/use-cases/agents/check-agent-auth.use-case.d.ts.map +1 -1
  39. package/dist/packages/core/src/application/use-cases/agents/check-agent-auth.use-case.js +4 -10
  40. package/dist/packages/core/src/application/use-cases/agents/get-agent-session.use-case.d.ts +2 -4
  41. package/dist/packages/core/src/application/use-cases/agents/get-agent-session.use-case.d.ts.map +1 -1
  42. package/dist/packages/core/src/application/use-cases/agents/get-agent-session.use-case.js +8 -15
  43. package/dist/packages/core/src/application/use-cases/agents/list-agent-sessions.use-case.d.ts +2 -4
  44. package/dist/packages/core/src/application/use-cases/agents/list-agent-sessions.use-case.d.ts.map +1 -1
  45. package/dist/packages/core/src/application/use-cases/agents/list-agent-sessions.use-case.js +8 -15
  46. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.d.ts +1 -7
  47. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.d.ts.map +1 -1
  48. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.js +8 -15
  49. package/dist/packages/core/src/application/use-cases/agents/stop-agent-run.use-case.d.ts +1 -3
  50. package/dist/packages/core/src/application/use-cases/agents/stop-agent-run.use-case.d.ts.map +1 -1
  51. package/dist/packages/core/src/application/use-cases/agents/stop-agent-run.use-case.js +5 -7
  52. package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.d.ts +1 -3
  53. package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.d.ts.map +1 -1
  54. package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.js +7 -12
  55. package/dist/packages/core/src/application/use-cases/applications/delete-application.use-case.d.ts.map +1 -1
  56. package/dist/packages/core/src/application/use-cases/applications/delete-application.use-case.js +1 -2
  57. package/dist/packages/core/src/application/use-cases/applications/list-applications.use-case.d.ts.map +1 -1
  58. package/dist/packages/core/src/application/use-cases/applications/list-applications.use-case.js +1 -2
  59. package/dist/packages/core/src/application/use-cases/applications/resume-application-workflow.use-case.d.ts.map +1 -1
  60. package/dist/packages/core/src/application/use-cases/applications/resume-application-workflow.use-case.js +2 -3
  61. package/dist/packages/core/src/application/use-cases/deployments/start-feature-deployment.use-case.d.ts +1 -3
  62. package/dist/packages/core/src/application/use-cases/deployments/start-feature-deployment.use-case.d.ts.map +1 -1
  63. package/dist/packages/core/src/application/use-cases/deployments/start-feature-deployment.use-case.js +4 -7
  64. package/dist/packages/core/src/application/use-cases/features/cleanup-feature-worktree.use-case.d.ts +1 -3
  65. package/dist/packages/core/src/application/use-cases/features/cleanup-feature-worktree.use-case.d.ts.map +1 -1
  66. package/dist/packages/core/src/application/use-cases/features/cleanup-feature-worktree.use-case.js +10 -17
  67. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts +2 -10
  68. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
  69. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +10 -20
  70. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts +2 -0
  71. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts.map +1 -1
  72. package/dist/packages/core/src/application/use-cases/features/get-feature-artifact.use-case.d.ts +1 -3
  73. package/dist/packages/core/src/application/use-cases/features/get-feature-artifact.use-case.d.ts.map +1 -1
  74. package/dist/packages/core/src/application/use-cases/features/get-feature-artifact.use-case.js +4 -6
  75. package/dist/packages/core/src/application/use-cases/features/get-plan-artifact.use-case.d.ts +1 -3
  76. package/dist/packages/core/src/application/use-cases/features/get-plan-artifact.use-case.d.ts.map +1 -1
  77. package/dist/packages/core/src/application/use-cases/features/get-plan-artifact.use-case.js +4 -6
  78. package/dist/packages/core/src/application/use-cases/features/get-research-artifact.use-case.d.ts +1 -3
  79. package/dist/packages/core/src/application/use-cases/features/get-research-artifact.use-case.d.ts.map +1 -1
  80. package/dist/packages/core/src/application/use-cases/features/get-research-artifact.use-case.js +4 -6
  81. package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.d.ts +2 -2
  82. package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.d.ts.map +1 -1
  83. package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.js +2 -2
  84. package/dist/packages/core/src/application/use-cases/ide/launch-ide.use-case.d.ts +1 -3
  85. package/dist/packages/core/src/application/use-cases/ide/launch-ide.use-case.d.ts.map +1 -1
  86. package/dist/packages/core/src/application/use-cases/ide/launch-ide.use-case.js +4 -8
  87. package/dist/packages/core/src/application/use-cases/plugins/add-plugin.use-case.d.ts +35 -0
  88. package/dist/packages/core/src/application/use-cases/plugins/add-plugin.use-case.d.ts.map +1 -0
  89. package/dist/packages/core/src/application/use-cases/plugins/add-plugin.use-case.js +106 -0
  90. package/dist/packages/core/src/application/use-cases/plugins/check-plugin-health.use-case.d.ts +20 -0
  91. package/dist/packages/core/src/application/use-cases/plugins/check-plugin-health.use-case.d.ts.map +1 -0
  92. package/dist/packages/core/src/application/use-cases/plugins/check-plugin-health.use-case.js +72 -0
  93. package/dist/packages/core/src/application/use-cases/plugins/configure-plugin.use-case.d.ts +22 -0
  94. package/dist/packages/core/src/application/use-cases/plugins/configure-plugin.use-case.d.ts.map +1 -0
  95. package/dist/packages/core/src/application/use-cases/plugins/configure-plugin.use-case.js +59 -0
  96. package/dist/packages/core/src/application/use-cases/plugins/disable-plugin.use-case.d.ts +18 -0
  97. package/dist/packages/core/src/application/use-cases/plugins/disable-plugin.use-case.d.ts.map +1 -0
  98. package/dist/packages/core/src/application/use-cases/{cloud-deploy/ensure-gh-authenticated.use-case.js → plugins/disable-plugin.use-case.js} +31 -12
  99. package/dist/packages/core/src/application/use-cases/plugins/enable-plugin.use-case.d.ts +18 -0
  100. package/dist/packages/core/src/application/use-cases/plugins/enable-plugin.use-case.d.ts.map +1 -0
  101. package/dist/packages/core/src/application/use-cases/{cloud-deploy/select-cloud-provider.use-case.js → plugins/enable-plugin.use-case.js} +31 -17
  102. package/dist/packages/core/src/application/use-cases/plugins/get-plugin-catalog.use-case.d.ts +21 -0
  103. package/dist/packages/core/src/application/use-cases/plugins/get-plugin-catalog.use-case.d.ts.map +1 -0
  104. package/dist/packages/core/src/application/use-cases/plugins/get-plugin-catalog.use-case.js +45 -0
  105. package/dist/packages/core/src/application/use-cases/plugins/list-plugins.use-case.d.ts +22 -0
  106. package/dist/packages/core/src/application/use-cases/plugins/list-plugins.use-case.d.ts.map +1 -0
  107. package/dist/packages/core/src/application/use-cases/plugins/list-plugins.use-case.js +50 -0
  108. package/dist/packages/core/src/application/use-cases/plugins/remove-plugin.use-case.d.ts +21 -0
  109. package/dist/packages/core/src/application/use-cases/plugins/remove-plugin.use-case.d.ts.map +1 -0
  110. package/dist/packages/core/src/application/use-cases/plugins/remove-plugin.use-case.js +50 -0
  111. package/dist/packages/core/src/application/use-cases/repositories/add-repository.use-case.d.ts.map +1 -1
  112. package/dist/packages/core/src/application/use-cases/repositories/add-repository.use-case.js +11 -1
  113. package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.d.ts.map +1 -1
  114. package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.js +9 -1
  115. package/dist/packages/core/src/application/use-cases/settings/check-onboarding-status.use-case.d.ts +2 -6
  116. package/dist/packages/core/src/application/use-cases/settings/check-onboarding-status.use-case.d.ts.map +1 -1
  117. package/dist/packages/core/src/application/use-cases/settings/check-onboarding-status.use-case.js +7 -30
  118. package/dist/packages/core/src/application/use-cases/tools/launch-tool.use-case.d.ts +1 -3
  119. package/dist/packages/core/src/application/use-cases/tools/launch-tool.use-case.d.ts.map +1 -1
  120. package/dist/packages/core/src/application/use-cases/tools/launch-tool.use-case.js +4 -6
  121. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts +1 -3
  122. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts.map +1 -1
  123. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.js +4 -6
  124. package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.d.ts +2 -4
  125. package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.d.ts.map +1 -1
  126. package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.js +4 -8
  127. package/dist/packages/core/src/application/workflows/application-creation.workflow.d.ts.map +1 -0
  128. package/dist/packages/core/src/domain/factories/index.d.ts +1 -0
  129. package/dist/packages/core/src/domain/factories/index.d.ts.map +1 -1
  130. package/dist/packages/core/src/domain/factories/index.js +1 -0
  131. package/dist/packages/core/src/domain/factories/spec-yaml-parser.d.ts +29 -0
  132. package/dist/packages/core/src/domain/factories/spec-yaml-parser.d.ts.map +1 -0
  133. package/dist/packages/core/src/domain/factories/spec-yaml-parser.js +134 -0
  134. package/dist/packages/core/src/domain/generated/output.d.ts +113 -41
  135. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  136. package/dist/packages/core/src/domain/generated/output.js +18 -25
  137. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  138. package/dist/packages/core/src/infrastructure/di/container.js +679 -32
  139. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.d.ts +0 -7
  140. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.d.ts.map +1 -1
  141. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.js +6 -23
  142. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts +1 -0
  143. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts.map +1 -1
  144. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.js +8 -0
  145. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/plugin.mapper.d.ts +61 -0
  146. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/plugin.mapper.d.ts.map +1 -0
  147. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/plugin.mapper.js +91 -0
  148. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/060-create-plugins-table.d.ts +13 -0
  149. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/060-create-plugins-table.d.ts.map +1 -0
  150. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/060-create-plugins-table.js +51 -0
  151. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/061-add-active-plugins-to-features.d.ts +12 -0
  152. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/061-add-active-plugins-to-features.d.ts.map +1 -0
  153. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/061-add-active-plugins-to-features.js +17 -0
  154. package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.d.ts +1 -1
  155. package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.d.ts.map +1 -1
  156. package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.js +2 -40
  157. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map +1 -1
  158. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +3 -0
  159. package/dist/packages/core/src/infrastructure/repositories/sqlite-plugin.repository.d.ts +24 -0
  160. package/dist/packages/core/src/infrastructure/repositories/sqlite-plugin.repository.d.ts.map +1 -0
  161. package/dist/packages/core/src/infrastructure/repositories/sqlite-plugin.repository.js +114 -0
  162. package/dist/packages/core/src/infrastructure/services/agents/analyze-repo/analyze-repository-graph.d.ts +1 -1
  163. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts.map +1 -1
  164. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.js +2 -0
  165. package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.service.d.ts +1 -2
  166. package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.service.d.ts.map +1 -1
  167. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts +6 -1
  168. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts.map +1 -1
  169. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +18 -1
  170. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts.map +1 -1
  171. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
  172. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +12 -0
  173. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
  174. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +1 -0
  175. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/plugin-startup.d.ts +23 -0
  176. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/plugin-startup.d.ts.map +1 -0
  177. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/plugin-startup.js +53 -0
  178. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts +1 -0
  179. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts.map +1 -1
  180. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.js +5 -0
  181. package/dist/packages/core/src/infrastructure/services/attachment-storage.service.d.ts +5 -3
  182. package/dist/packages/core/src/infrastructure/services/attachment-storage.service.d.ts.map +1 -1
  183. package/dist/packages/core/src/infrastructure/services/notifications/notification.service.d.ts.map +1 -1
  184. package/dist/packages/core/src/infrastructure/services/notifications/notification.service.js +0 -1
  185. package/dist/packages/core/src/infrastructure/services/plugin/mcp-server-manager.service.d.ts +51 -0
  186. package/dist/packages/core/src/infrastructure/services/plugin/mcp-server-manager.service.d.ts.map +1 -0
  187. package/dist/packages/core/src/infrastructure/services/plugin/mcp-server-manager.service.js +206 -0
  188. package/dist/packages/core/src/infrastructure/services/plugin/plugin-catalog.d.ts +52 -0
  189. package/dist/packages/core/src/infrastructure/services/plugin/plugin-catalog.d.ts.map +1 -0
  190. package/dist/packages/core/src/infrastructure/services/plugin/plugin-catalog.js +86 -0
  191. package/dist/packages/core/src/infrastructure/services/plugin/plugin-health-checker.service.d.ts +28 -0
  192. package/dist/packages/core/src/infrastructure/services/plugin/plugin-health-checker.service.d.ts.map +1 -0
  193. package/dist/packages/core/src/infrastructure/services/plugin/plugin-health-checker.service.js +95 -0
  194. package/dist/src/presentation/cli/commands/app/index.d.ts +4 -10
  195. package/dist/src/presentation/cli/commands/app/index.d.ts.map +1 -1
  196. package/dist/src/presentation/cli/commands/app/index.js +5 -17
  197. package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
  198. package/dist/src/presentation/cli/commands/feat/new.command.js +1 -2
  199. package/dist/src/presentation/cli/commands/plugin/add.command.d.ts +12 -0
  200. package/dist/src/presentation/cli/commands/plugin/add.command.d.ts.map +1 -0
  201. package/dist/src/presentation/cli/commands/plugin/add.command.js +75 -0
  202. package/dist/src/presentation/cli/commands/plugin/catalog.command.d.ts +11 -0
  203. package/dist/src/presentation/cli/commands/plugin/catalog.command.d.ts.map +1 -0
  204. package/dist/src/presentation/cli/commands/plugin/catalog.command.js +46 -0
  205. package/dist/src/presentation/cli/commands/plugin/configure.command.d.ts +11 -0
  206. package/dist/src/presentation/cli/commands/plugin/configure.command.d.ts.map +1 -0
  207. package/dist/src/presentation/cli/commands/plugin/configure.command.js +37 -0
  208. package/dist/src/presentation/cli/commands/plugin/disable.command.d.ts +11 -0
  209. package/dist/src/presentation/cli/commands/plugin/disable.command.d.ts.map +1 -0
  210. package/dist/src/presentation/cli/commands/plugin/disable.command.js +31 -0
  211. package/dist/src/presentation/cli/commands/plugin/enable.command.d.ts +11 -0
  212. package/dist/src/presentation/cli/commands/plugin/enable.command.d.ts.map +1 -0
  213. package/dist/src/presentation/cli/commands/plugin/enable.command.js +31 -0
  214. package/dist/src/presentation/cli/commands/plugin/index.d.ts +22 -0
  215. package/dist/src/presentation/cli/commands/plugin/index.d.ts.map +1 -0
  216. package/dist/src/presentation/cli/commands/plugin/index.js +41 -0
  217. package/dist/src/presentation/cli/commands/plugin/list.command.d.ts +11 -0
  218. package/dist/src/presentation/cli/commands/plugin/list.command.d.ts.map +1 -0
  219. package/dist/src/presentation/cli/commands/plugin/list.command.js +63 -0
  220. package/dist/src/presentation/cli/commands/plugin/remove.command.d.ts +11 -0
  221. package/dist/src/presentation/cli/commands/plugin/remove.command.d.ts.map +1 -0
  222. package/dist/src/presentation/cli/commands/plugin/remove.command.js +31 -0
  223. package/dist/src/presentation/cli/commands/plugin/status.command.d.ts +12 -0
  224. package/dist/src/presentation/cli/commands/plugin/status.command.d.ts.map +1 -0
  225. package/dist/src/presentation/cli/commands/plugin/status.command.js +126 -0
  226. package/dist/src/presentation/cli/index.js +2 -0
  227. package/dist/src/presentation/web/app/(dashboard)/@drawer/create/page.d.ts.map +1 -1
  228. package/dist/src/presentation/web/app/(dashboard)/@drawer/create/page.js +9 -2
  229. package/dist/src/presentation/web/app/actions/add-plugin.d.ts +7 -0
  230. package/dist/src/presentation/web/app/actions/add-plugin.d.ts.map +1 -0
  231. package/dist/src/presentation/web/app/actions/add-plugin.js +15 -0
  232. package/dist/src/presentation/web/app/actions/check-plugin-health.d.ts +7 -0
  233. package/dist/src/presentation/web/app/actions/check-plugin-health.d.ts.map +1 -0
  234. package/dist/src/presentation/web/app/actions/check-plugin-health.js +15 -0
  235. package/dist/src/presentation/web/app/actions/configure-plugin.d.ts +7 -0
  236. package/dist/src/presentation/web/app/actions/configure-plugin.d.ts.map +1 -0
  237. package/dist/src/presentation/web/app/actions/configure-plugin.js +15 -0
  238. package/dist/src/presentation/web/app/actions/create-feature.d.ts +2 -0
  239. package/dist/src/presentation/web/app/actions/create-feature.d.ts.map +1 -1
  240. package/dist/src/presentation/web/app/actions/create-feature.js +3 -1
  241. package/dist/src/presentation/web/app/actions/deploy-application.d.ts +9 -8
  242. package/dist/src/presentation/web/app/actions/deploy-application.d.ts.map +1 -1
  243. package/dist/src/presentation/web/app/actions/deploy-application.js +38 -22
  244. package/dist/src/presentation/web/app/actions/get-plugin-catalog.d.ts +7 -0
  245. package/dist/src/presentation/web/app/actions/get-plugin-catalog.d.ts.map +1 -0
  246. package/dist/src/presentation/web/app/actions/get-plugin-catalog.js +13 -0
  247. package/dist/src/presentation/web/app/actions/list-plugins.d.ts +7 -0
  248. package/dist/src/presentation/web/app/actions/list-plugins.d.ts.map +1 -0
  249. package/dist/src/presentation/web/app/actions/list-plugins.js +13 -0
  250. package/dist/src/presentation/web/app/actions/remove-plugin.d.ts +7 -0
  251. package/dist/src/presentation/web/app/actions/remove-plugin.d.ts.map +1 -0
  252. package/dist/src/presentation/web/app/actions/remove-plugin.js +15 -0
  253. package/dist/src/presentation/web/app/actions/toggle-plugin.d.ts +7 -0
  254. package/dist/src/presentation/web/app/actions/toggle-plugin.d.ts.map +1 -0
  255. package/dist/src/presentation/web/app/actions/toggle-plugin.js +23 -0
  256. package/dist/src/presentation/web/app/api/agent-events/route.d.ts +12 -17
  257. package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
  258. package/dist/src/presentation/web/app/api/agent-events/route.js +331 -58
  259. package/dist/src/presentation/web/app/api/applications/[id]/route.d.ts.map +1 -1
  260. package/dist/src/presentation/web/app/api/applications/[id]/route.js +1 -4
  261. package/dist/src/presentation/web/app/api/deployment-logs/route.d.ts.map +1 -1
  262. package/dist/src/presentation/web/app/api/deployment-logs/route.js +2 -4
  263. package/dist/src/presentation/web/app/build-graph-nodes.d.ts.map +1 -1
  264. package/dist/src/presentation/web/app/build-graph-nodes.js +1 -2
  265. package/dist/src/presentation/web/app/plugins/page.d.ts +4 -0
  266. package/dist/src/presentation/web/app/plugins/page.d.ts.map +1 -0
  267. package/dist/src/presentation/web/app/plugins/page.js +24 -0
  268. package/dist/src/presentation/web/app/plugins/plugins-page-client.d.ts +8 -0
  269. package/dist/src/presentation/web/app/plugins/plugins-page-client.d.ts.map +1 -0
  270. package/dist/src/presentation/web/app/plugins/plugins-page-client.js +61 -0
  271. package/dist/src/presentation/web/components/common/application-node/application-node.d.ts.map +1 -1
  272. package/dist/src/presentation/web/components/common/application-node/application-node.js +1 -2
  273. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.d.ts +6 -1
  274. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.d.ts.map +1 -1
  275. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.js +2 -2
  276. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts +9 -1
  277. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  278. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +15 -3
  279. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
  280. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +0 -4
  281. package/dist/src/presentation/web/components/common/plugin-catalog/index.d.ts +2 -0
  282. package/dist/src/presentation/web/components/common/plugin-catalog/index.d.ts.map +1 -0
  283. package/dist/src/presentation/web/components/common/plugin-catalog/index.js +1 -0
  284. package/dist/src/presentation/web/components/common/plugin-catalog/plugin-catalog.d.ts +7 -0
  285. package/dist/src/presentation/web/components/common/plugin-catalog/plugin-catalog.d.ts.map +1 -0
  286. package/dist/src/presentation/web/components/common/plugin-catalog/plugin-catalog.js +32 -0
  287. package/dist/src/presentation/web/components/common/plugin-catalog/plugin-catalog.stories.d.ts +16 -0
  288. package/dist/src/presentation/web/components/common/plugin-catalog/plugin-catalog.stories.d.ts.map +1 -0
  289. package/dist/src/presentation/web/components/common/plugin-catalog/plugin-catalog.stories.js +87 -0
  290. package/dist/src/presentation/web/components/common/plugin-list/index.d.ts +2 -0
  291. package/dist/src/presentation/web/components/common/plugin-list/index.d.ts.map +1 -0
  292. package/dist/src/presentation/web/components/common/plugin-list/index.js +1 -0
  293. package/dist/src/presentation/web/components/common/plugin-list/plugin-list.d.ts +9 -0
  294. package/dist/src/presentation/web/components/common/plugin-list/plugin-list.d.ts.map +1 -0
  295. package/dist/src/presentation/web/components/common/plugin-list/plugin-list.js +77 -0
  296. package/dist/src/presentation/web/components/common/plugin-list/plugin-list.stories.d.ts +17 -0
  297. package/dist/src/presentation/web/components/common/plugin-list/plugin-list.stories.d.ts.map +1 -0
  298. package/dist/src/presentation/web/components/common/plugin-list/plugin-list.stories.js +114 -0
  299. package/dist/src/presentation/web/components/features/application-page/application-page.d.ts.map +1 -1
  300. package/dist/src/presentation/web/components/features/application-page/application-page.js +306 -17
  301. package/dist/src/presentation/web/components/features/applications/application-card.d.ts.map +1 -1
  302. package/dist/src/presentation/web/components/features/applications/application-card.js +1 -2
  303. package/dist/src/presentation/web/components/features/chat/workflow-placeholder.d.ts +1 -1
  304. package/dist/src/presentation/web/components/features/chat/workflow-placeholder.js +1 -1
  305. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  306. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +1 -2
  307. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  308. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +2 -2
  309. package/dist/src/presentation/web/hooks/deployment-status-provider.js +3 -4
  310. package/dist/translations/ar/cli.json +82 -0
  311. package/dist/translations/ar/web.json +2 -1
  312. package/dist/translations/de/cli.json +82 -0
  313. package/dist/translations/de/web.json +2 -1
  314. package/dist/translations/en/cli.json +82 -0
  315. package/dist/translations/en/web.json +2 -1
  316. package/dist/translations/es/cli.json +82 -0
  317. package/dist/translations/es/web.json +2 -1
  318. package/dist/translations/fr/cli.json +82 -0
  319. package/dist/translations/fr/web.json +2 -1
  320. package/dist/translations/he/cli.json +82 -0
  321. package/dist/translations/he/web.json +2 -1
  322. package/dist/translations/pt/cli.json +82 -0
  323. package/dist/translations/pt/web.json +2 -1
  324. package/dist/translations/ru/cli.json +82 -0
  325. package/dist/translations/ru/web.json +2 -1
  326. package/dist/translations/uk/cli.json +82 -0
  327. package/dist/translations/uk/web.json +2 -1
  328. package/dist/tsconfig.build.tsbuildinfo +1 -1
  329. package/package.json +1 -1
  330. package/web/.next/BUILD_ID +1 -1
  331. package/web/.next/app-path-routes-manifest.json +1 -8
  332. package/web/.next/build-manifest.json +2 -2
  333. package/web/.next/fallback-build-manifest.json +2 -2
  334. package/web/.next/prerender-manifest.json +3 -3
  335. package/web/.next/required-server-files.js +1 -1
  336. package/web/.next/required-server-files.json +1 -1
  337. package/web/.next/routes-manifest.json +6 -58
  338. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +32 -32
  339. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +3 -3
  340. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  341. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  342. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +30 -30
  343. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +3 -3
  344. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  345. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  346. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +33 -33
  347. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +3 -3
  348. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  349. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  350. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +41 -41
  351. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +4 -4
  352. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  353. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  354. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +41 -41
  355. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +4 -4
  356. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  357. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  358. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +31 -31
  359. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +3 -3
  360. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  361. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  362. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
  363. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +3 -3
  364. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  365. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  366. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +30 -30
  367. package/web/.next/server/app/(dashboard)/chat/page.js +3 -3
  368. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  369. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  370. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +33 -33
  371. package/web/.next/server/app/(dashboard)/create/page.js +3 -3
  372. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  373. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  374. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +41 -41
  375. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +4 -4
  376. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  377. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  378. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +41 -41
  379. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +4 -4
  380. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  381. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  382. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +30 -30
  383. package/web/.next/server/app/(dashboard)/page.js +3 -3
  384. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  385. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  386. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +31 -31
  387. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +3 -3
  388. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  389. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  390. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
  391. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +3 -3
  392. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  393. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  394. package/web/.next/server/app/_global-error/page.js +1 -1
  395. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  396. package/web/.next/server/app/_global-error.html +2 -2
  397. package/web/.next/server/app/_global-error.rsc +1 -1
  398. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  399. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  400. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  401. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  402. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  403. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +7 -7
  404. package/web/.next/server/app/_not-found/page.js +2 -2
  405. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  406. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  407. package/web/.next/server/app/api/agent-events/route.js +2 -1
  408. package/web/.next/server/app/api/agent-events/route.js.nft.json +1 -1
  409. package/web/.next/server/app/api/applications/[id]/route.js +1 -1
  410. package/web/.next/server/app/api/applications/[id]/route.js.nft.json +1 -1
  411. package/web/.next/server/app/api/attachments/preview/route.js +1 -1
  412. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  413. package/web/.next/server/app/api/attachments/upload-from-path/route.js +1 -1
  414. package/web/.next/server/app/api/attachments/upload-from-path/route.js.nft.json +1 -1
  415. package/web/.next/server/app/api/evidence/route.js +1 -1
  416. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  417. package/web/.next/server/app/api/feature-logs/route.js +1 -1
  418. package/web/.next/server/app/api/feature-logs/route.js.nft.json +1 -1
  419. package/web/.next/server/app/api/graph-data/route.js +2 -2
  420. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  421. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js +1 -1
  422. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  423. package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +40 -70
  424. package/web/.next/server/app/application/[id]/page.js +3 -3
  425. package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
  426. package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
  427. package/web/.next/server/app/applications/page/server-reference-manifest.json +15 -15
  428. package/web/.next/server/app/applications/page.js +3 -3
  429. package/web/.next/server/app/applications/page.js.nft.json +1 -1
  430. package/web/.next/server/app/applications/page_client-reference-manifest.js +1 -1
  431. package/web/.next/server/app/features/page/server-reference-manifest.json +7 -7
  432. package/web/.next/server/app/features/page.js +2 -2
  433. package/web/.next/server/app/features/page.js.nft.json +1 -1
  434. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  435. package/web/.next/server/app/plugins/page/app-paths-manifest.json +3 -0
  436. package/web/.next/server/app/plugins/page/build-manifest.json +18 -0
  437. package/web/.next/server/app/plugins/page/next-font-manifest.json +6 -0
  438. package/web/.next/server/app/plugins/page/react-loadable-manifest.json +1 -0
  439. package/web/.next/server/app/plugins/page/server-reference-manifest.json +170 -0
  440. package/web/.next/server/app/plugins/page.js +19 -0
  441. package/web/.next/server/app/plugins/page.js.nft.json +1 -0
  442. package/web/.next/server/app/plugins/page_client-reference-manifest.js +2 -0
  443. package/web/.next/server/app/settings/page/server-reference-manifest.json +10 -10
  444. package/web/.next/server/app/settings/page.js +3 -3
  445. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  446. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  447. package/web/.next/server/app/skills/page/server-reference-manifest.json +15 -15
  448. package/web/.next/server/app/skills/page.js +3 -3
  449. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  450. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  451. package/web/.next/server/app/tools/page/server-reference-manifest.json +13 -13
  452. package/web/.next/server/app/tools/page.js +3 -3
  453. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  454. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  455. package/web/.next/server/app/version/page/server-reference-manifest.json +7 -7
  456. package/web/.next/server/app/version/page.js +2 -2
  457. package/web/.next/server/app/version/page.js.nft.json +1 -1
  458. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  459. package/web/.next/server/app-paths-manifest.json +1 -8
  460. package/web/.next/server/chunks/{[root-of-the-server]__582ebd78._.js → [root-of-the-server]__0702fed9._.js} +2 -2
  461. package/web/.next/server/chunks/[root-of-the-server]__10e976f3._.js +1 -1
  462. package/web/.next/server/chunks/[root-of-the-server]__3f7e7be1._.js +2 -2
  463. package/web/.next/server/chunks/[root-of-the-server]__3f7e7be1._.js.map +1 -1
  464. package/web/.next/server/chunks/[root-of-the-server]__7a2ddaea._.js +3 -0
  465. package/web/.next/server/chunks/[root-of-the-server]__7a2ddaea._.js.map +1 -0
  466. package/web/.next/server/chunks/[root-of-the-server]__84fede21._.js +3 -0
  467. package/web/.next/server/chunks/[root-of-the-server]__84fede21._.js.map +1 -0
  468. package/web/.next/server/chunks/{[root-of-the-server]__76a92098._.js → [root-of-the-server]__88c71186._.js} +2 -2
  469. package/web/.next/server/chunks/{[root-of-the-server]__7de24eaf._.js → [root-of-the-server]__8b6abaa3._.js} +2 -2
  470. package/web/.next/server/chunks/[root-of-the-server]__aabea727._.js +3 -0
  471. package/web/.next/server/chunks/[root-of-the-server]__aabea727._.js.map +1 -0
  472. package/web/.next/server/chunks/{[root-of-the-server]__6af3863d._.js → [root-of-the-server]__cfba7146._.js} +2 -2
  473. package/web/.next/server/chunks/{[root-of-the-server]__6af3863d._.js.map → [root-of-the-server]__cfba7146._.js.map} +1 -1
  474. package/web/.next/server/chunks/{[root-of-the-server]__1133b25d._.js → [root-of-the-server]__dbb420e4._.js} +2 -2
  475. package/web/.next/server/chunks/d9f3b_next_dist_esm_build_templates_app-route_4faf694b.js +12 -0
  476. package/web/.next/server/chunks/d9f3b_next_dist_esm_build_templates_app-route_4faf694b.js.map +1 -0
  477. package/web/.next/server/chunks/d9f3b_next_dist_esm_build_templates_app-route_fc401c5d.js +1 -1
  478. package/web/.next/server/chunks/d9f3b_next_dist_esm_build_templates_app-route_fc401c5d.js.map +1 -1
  479. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4f9eef62.js +1 -1
  480. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4f9eef62.js.map +1 -1
  481. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_ffa16a22.js +1 -1
  482. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_ffa16a22.js.map +1 -1
  483. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_a1a998f9.js +1 -1
  484. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_a1a998f9.js.map +1 -1
  485. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  486. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  487. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  488. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  489. package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js +1 -1
  490. package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js.map +1 -1
  491. package/web/.next/server/chunks/ssr/[root-of-the-server]__269765de._.js +4 -0
  492. package/web/.next/server/chunks/ssr/[root-of-the-server]__269765de._.js.map +1 -0
  493. package/web/.next/server/chunks/ssr/{[root-of-the-server]__ec85e47f._.js → [root-of-the-server]__288ffaa6._.js} +2 -2
  494. package/web/.next/server/chunks/ssr/{[root-of-the-server]__ec85e47f._.js.map → [root-of-the-server]__288ffaa6._.js.map} +1 -1
  495. package/web/.next/server/chunks/ssr/[root-of-the-server]__4101a4a8._.js +1 -1
  496. package/web/.next/server/chunks/ssr/[root-of-the-server]__4101a4a8._.js.map +1 -1
  497. package/web/.next/server/chunks/ssr/{[root-of-the-server]__7ea16f3a._.js → [root-of-the-server]__46dd2baf._.js} +2 -2
  498. package/web/.next/server/chunks/ssr/{[root-of-the-server]__7ea16f3a._.js.map → [root-of-the-server]__46dd2baf._.js.map} +1 -1
  499. package/web/.next/server/chunks/ssr/[root-of-the-server]__538580df._.js +1 -1
  500. package/web/.next/server/chunks/ssr/[root-of-the-server]__538580df._.js.map +1 -1
  501. package/web/.next/server/chunks/ssr/[root-of-the-server]__58043de2._.js +3 -0
  502. package/web/.next/server/chunks/ssr/[root-of-the-server]__58043de2._.js.map +1 -0
  503. package/web/.next/server/chunks/ssr/{[root-of-the-server]__5193e3ce._.js → [root-of-the-server]__5c5de261._.js} +2 -2
  504. package/web/.next/server/chunks/ssr/{[root-of-the-server]__5193e3ce._.js.map → [root-of-the-server]__5c5de261._.js.map} +1 -1
  505. package/web/.next/server/chunks/ssr/[root-of-the-server]__638955bc._.js +1 -1
  506. package/web/.next/server/chunks/ssr/[root-of-the-server]__87d5ff6e._.js +1 -1
  507. package/web/.next/server/chunks/ssr/[root-of-the-server]__87d5ff6e._.js.map +1 -1
  508. package/web/.next/server/chunks/ssr/[root-of-the-server]__9b0e14ee._.js +3 -0
  509. package/web/.next/server/chunks/ssr/[root-of-the-server]__9b0e14ee._.js.map +1 -0
  510. package/web/.next/server/chunks/ssr/{[root-of-the-server]__93be3301._.js → [root-of-the-server]__ac9ab3c5._.js} +2 -2
  511. package/web/.next/server/chunks/ssr/{[root-of-the-server]__93be3301._.js.map → [root-of-the-server]__ac9ab3c5._.js.map} +1 -1
  512. package/web/.next/server/chunks/ssr/[root-of-the-server]__c3d233f3._.js +1 -1
  513. package/web/.next/server/chunks/ssr/[root-of-the-server]__c3d233f3._.js.map +1 -1
  514. package/web/.next/server/chunks/ssr/[root-of-the-server]__c6dba2b8._.js +1 -1
  515. package/web/.next/server/chunks/ssr/[root-of-the-server]__c6dba2b8._.js.map +1 -1
  516. package/web/.next/server/chunks/ssr/[root-of-the-server]__de3991d8._.js +3 -0
  517. package/web/.next/server/chunks/ssr/[root-of-the-server]__de3991d8._.js.map +1 -0
  518. package/web/.next/server/chunks/ssr/[root-of-the-server]__e4fac430._.js +3 -0
  519. package/web/.next/server/chunks/ssr/[root-of-the-server]__e4fac430._.js.map +1 -0
  520. package/web/.next/server/chunks/ssr/[root-of-the-server]__eacd32e9._.js +4 -0
  521. package/web/.next/server/chunks/ssr/[root-of-the-server]__eacd32e9._.js.map +1 -0
  522. package/web/.next/server/chunks/ssr/{[root-of-the-server]__494cf0fb._.js → [root-of-the-server]__ef0b8905._.js} +3 -3
  523. package/web/.next/server/chunks/ssr/[root-of-the-server]__ef0b8905._.js.map +1 -0
  524. package/web/.next/server/chunks/ssr/{[root-of-the-server]__7198dce9._.js → [root-of-the-server]__f94e4165._.js} +2 -2
  525. package/web/.next/server/chunks/ssr/{[root-of-the-server]__7198dce9._.js.map → [root-of-the-server]__f94e4165._.js.map} +1 -1
  526. package/web/.next/server/chunks/ssr/{[root-of-the-server]__149d89d9._.js → [root-of-the-server]__ff5a5243._.js} +2 -2
  527. package/web/.next/server/chunks/ssr/{[root-of-the-server]__149d89d9._.js.map → [root-of-the-server]__ff5a5243._.js.map} +1 -1
  528. package/web/.next/server/chunks/ssr/_0f41c049._.js +3 -0
  529. package/web/.next/server/chunks/ssr/_0f41c049._.js.map +1 -0
  530. package/web/.next/server/chunks/ssr/_33a243dd._.js +1 -1
  531. package/web/.next/server/chunks/ssr/_33a243dd._.js.map +1 -1
  532. package/web/.next/server/chunks/ssr/{_5bf2415e._.js → _34113cf8._.js} +2 -2
  533. package/web/.next/server/chunks/ssr/_34113cf8._.js.map +1 -0
  534. package/web/.next/server/chunks/ssr/_519d77a9._.js +3 -0
  535. package/web/.next/server/chunks/ssr/_519d77a9._.js.map +1 -0
  536. package/web/.next/server/chunks/ssr/_563be831._.js +3 -0
  537. package/web/.next/server/chunks/ssr/_563be831._.js.map +1 -0
  538. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  539. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  540. package/web/.next/server/chunks/ssr/_57643324._.js +3 -0
  541. package/web/.next/server/chunks/ssr/_57643324._.js.map +1 -0
  542. package/web/.next/server/chunks/ssr/_6a252f90._.js +3 -0
  543. package/web/.next/server/chunks/ssr/_6a252f90._.js.map +1 -0
  544. package/web/.next/server/chunks/ssr/_6b254164._.js +1 -1
  545. package/web/.next/server/chunks/ssr/_6b254164._.js.map +1 -1
  546. package/web/.next/server/chunks/ssr/_6cc2c4f7._.js +3 -0
  547. package/web/.next/server/chunks/ssr/_6cc2c4f7._.js.map +1 -0
  548. package/web/.next/server/chunks/ssr/_6cc4c05b._.js +3 -0
  549. package/web/.next/server/chunks/ssr/_6cc4c05b._.js.map +1 -0
  550. package/web/.next/server/chunks/ssr/_6fd324a3._.js +3 -0
  551. package/web/.next/server/chunks/ssr/_6fd324a3._.js.map +1 -0
  552. package/web/.next/server/chunks/ssr/{_82baa7c1._.js → _828a0b9c._.js} +2 -2
  553. package/web/.next/server/chunks/ssr/{_82baa7c1._.js.map → _828a0b9c._.js.map} +1 -1
  554. package/web/.next/server/chunks/ssr/_8757ce67._.js +4 -0
  555. package/web/.next/server/chunks/ssr/_8757ce67._.js.map +1 -0
  556. package/web/.next/server/chunks/ssr/_8e101e0b._.js +12 -12
  557. package/web/.next/server/chunks/ssr/_8e101e0b._.js.map +1 -1
  558. package/web/.next/server/chunks/ssr/_93002ccf._.js +3 -0
  559. package/web/.next/server/chunks/ssr/_93002ccf._.js.map +1 -0
  560. package/web/.next/server/chunks/ssr/_9f191a54._.js +3 -0
  561. package/web/.next/server/chunks/ssr/_9f191a54._.js.map +1 -0
  562. package/web/.next/server/chunks/ssr/_d6ba4d64._.js +3 -0
  563. package/web/.next/server/chunks/ssr/_d6ba4d64._.js.map +1 -0
  564. package/web/.next/server/chunks/ssr/_e225a49c._.js +3 -0
  565. package/web/.next/server/chunks/ssr/_e225a49c._.js.map +1 -0
  566. package/web/.next/server/chunks/ssr/_e28c6144._.js +3 -0
  567. package/web/.next/server/chunks/ssr/_e28c6144._.js.map +1 -0
  568. package/web/.next/server/chunks/ssr/_e65abbd1._.js +3 -0
  569. package/web/.next/server/chunks/ssr/_e65abbd1._.js.map +1 -0
  570. package/web/.next/server/chunks/ssr/_ebd74417._.js +9 -0
  571. package/web/.next/server/chunks/ssr/_ebd74417._.js.map +1 -0
  572. package/web/.next/server/chunks/ssr/{_750b8cfe._.js → _f39276bf._.js} +2 -2
  573. package/web/.next/server/chunks/ssr/{_750b8cfe._.js.map → _f39276bf._.js.map} +1 -1
  574. package/web/.next/server/chunks/ssr/_f86fc1bf._.js +1 -1
  575. package/web/.next/server/chunks/ssr/_f86fc1bf._.js.map +1 -1
  576. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  577. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  578. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  579. package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js +3 -0
  580. package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js.map +1 -0
  581. package/web/.next/server/chunks/ssr/node_modules__pnpm_28388798._.js +3 -0
  582. package/web/.next/server/chunks/ssr/node_modules__pnpm_28388798._.js.map +1 -0
  583. package/web/.next/server/chunks/ssr/{_72cc0c05._.js → node_modules__pnpm_632deb2b._.js} +2 -2
  584. package/web/.next/server/chunks/ssr/node_modules__pnpm_632deb2b._.js.map +1 -0
  585. package/web/.next/server/chunks/ssr/src_presentation_web_47181610._.js +1 -1
  586. package/web/.next/server/chunks/ssr/src_presentation_web_47181610._.js.map +1 -1
  587. package/web/.next/server/chunks/ssr/src_presentation_web_5d3f4199._.js +1 -1
  588. package/web/.next/server/chunks/ssr/src_presentation_web_5d3f4199._.js.map +1 -1
  589. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js +1 -1
  590. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js.map +1 -1
  591. package/web/.next/server/chunks/ssr/src_presentation_web_61d96ba8._.js +1 -1
  592. package/web/.next/server/chunks/ssr/src_presentation_web_61d96ba8._.js.map +1 -1
  593. package/web/.next/server/chunks/ssr/src_presentation_web_6994959a._.js +1 -1
  594. package/web/.next/server/chunks/ssr/src_presentation_web_6994959a._.js.map +1 -1
  595. package/web/.next/server/chunks/ssr/src_presentation_web_77dadf68._.js +3 -3
  596. package/web/.next/server/chunks/ssr/src_presentation_web_77dadf68._.js.map +1 -1
  597. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +1 -1
  598. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +1 -1
  599. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_c3f6f57e.js +1 -1
  600. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_c3f6f57e.js.map +1 -1
  601. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js +1 -1
  602. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js.map +1 -1
  603. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_8514dfcd._.js +3 -3
  604. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_8514dfcd._.js.map +1 -1
  605. package/web/.next/server/chunks/ssr/src_presentation_web_b95ed206._.js +1 -1
  606. package/web/.next/server/chunks/ssr/src_presentation_web_b95ed206._.js.map +1 -1
  607. package/web/.next/server/chunks/ssr/src_presentation_web_bade80bd._.js +1 -1
  608. package/web/.next/server/chunks/ssr/src_presentation_web_bade80bd._.js.map +1 -1
  609. package/web/.next/server/chunks/ssr/src_presentation_web_c543cf3e._.js +1 -1
  610. package/web/.next/server/chunks/ssr/src_presentation_web_c543cf3e._.js.map +1 -1
  611. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  612. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  613. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js +1 -1
  614. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js.map +1 -1
  615. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  616. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  617. package/web/.next/server/chunks/ssr/{_bb8735f7._.js → src_presentation_web_components_ui_dropdown-menu_tsx_229332e3._.js} +2 -2
  618. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_dropdown-menu_tsx_229332e3._.js.map +1 -0
  619. package/web/.next/server/chunks/ssr/translations_1562ae1a._.js +1 -1
  620. package/web/.next/server/chunks/ssr/translations_1562ae1a._.js.map +1 -1
  621. package/web/.next/server/pages/500.html +2 -2
  622. package/web/.next/server/server-reference-manifest.js +1 -1
  623. package/web/.next/server/server-reference-manifest.json +165 -86
  624. package/web/.next/static/chunks/{113f38481fc14902.js → 08fd591b02975483.js} +12 -12
  625. package/web/.next/static/chunks/{74d3f880029b266f.js → 0b974caf7e3c6fea.js} +1 -1
  626. package/web/.next/static/chunks/116e8d2a69619e48.js +1 -0
  627. package/web/.next/static/chunks/1b72915af68bd327.js +1 -0
  628. package/web/.next/static/chunks/{e0f33f0d6cb8cf21.js → 1f2f77dd2f63f257.js} +1 -1
  629. package/web/.next/static/chunks/3031618bf02ecd26.js +1 -0
  630. package/web/.next/static/chunks/{d770f7a879b2f43a.js → 3caa2489e09df522.js} +1 -1
  631. package/web/.next/static/chunks/463c8dd86ed296c9.js +1 -0
  632. package/web/.next/static/chunks/{6bac882ad18c881c.js → 534c414bd5e096af.js} +2 -2
  633. package/web/.next/static/chunks/59e96a965c1cc25b.js +7 -0
  634. package/web/.next/static/chunks/5a2f5a3c29c6c3dd.js +1 -0
  635. package/web/.next/static/chunks/616760ae36cf397f.js +1 -0
  636. package/web/.next/static/chunks/{6512133101a3eb85.js → 6aa8cfb9a0673778.js} +3 -3
  637. package/web/.next/static/chunks/772f87225f881091.css +1 -0
  638. package/web/.next/static/chunks/854d1bb6e05cadeb.js +1 -0
  639. package/web/.next/static/chunks/86ce4c6dcb228907.js +1 -0
  640. package/web/.next/static/chunks/86e9d633379e74e8.js +5 -0
  641. package/web/.next/static/chunks/88aa4f96ec9e8349.js +1 -0
  642. package/web/.next/static/chunks/{7f25b508e717b00c.js → a3ea2afcbac5ac67.js} +1 -1
  643. package/web/.next/static/chunks/{270528435203323f.js → b58faaa9802033ff.js} +1 -1
  644. package/web/.next/static/chunks/b9102b4bbe2f64f9.js +1 -0
  645. package/web/.next/static/chunks/b944b65ad181b84d.js +1 -0
  646. package/web/.next/static/chunks/c77489661f071f47.js +1 -0
  647. package/web/.next/static/chunks/cadb8f07b3c1e864.js +1 -0
  648. package/web/.next/static/chunks/d3224741c62e8767.js +1 -0
  649. package/web/.next/static/chunks/d51b987a73d58809.js +1 -0
  650. package/web/.next/static/chunks/e99459f76df95a70.js +1 -0
  651. package/web/.next/static/chunks/{9c4c03206c46abd2.js → f318341087d1415a.js} +1 -1
  652. package/web/.next/static/chunks/f76f1155e5d0d296.js +1 -0
  653. package/web/.next/static/chunks/fc5dbf92b25edf22.js +1 -0
  654. package/apis/json-schema/CloudDeploymentProvider.yaml +0 -10
  655. package/apis/json-schema/CloudDeploymentStatus.yaml +0 -11
  656. package/apis/json-schema/InteractiveSessionEventType.yaml +0 -9
  657. package/dist/packages/core/src/application/ports/output/agents/agent-session-repository-registry.interface.d.ts +0 -23
  658. package/dist/packages/core/src/application/ports/output/agents/agent-session-repository-registry.interface.d.ts.map +0 -1
  659. package/dist/packages/core/src/application/ports/output/agents/agent-session-repository-registry.interface.js +0 -12
  660. package/dist/packages/core/src/application/ports/output/repositories/cloud-provider-tokens.repository.interface.d.ts +0 -29
  661. package/dist/packages/core/src/application/ports/output/repositories/cloud-provider-tokens.repository.interface.d.ts.map +0 -1
  662. package/dist/packages/core/src/application/ports/output/repositories/cloud-provider-tokens.repository.interface.js +0 -9
  663. package/dist/packages/core/src/application/ports/output/services/attachment-storage.interface.d.ts +0 -31
  664. package/dist/packages/core/src/application/ports/output/services/attachment-storage.interface.d.ts.map +0 -1
  665. package/dist/packages/core/src/application/ports/output/services/attachment-storage.interface.js +0 -9
  666. package/dist/packages/core/src/application/ports/output/services/cloud-deployment-event-bus.interface.d.ts +0 -23
  667. package/dist/packages/core/src/application/ports/output/services/cloud-deployment-event-bus.interface.d.ts.map +0 -1
  668. package/dist/packages/core/src/application/ports/output/services/cloud-deployment-event-bus.interface.js +0 -8
  669. package/dist/packages/core/src/application/ports/output/services/cloud-deployment-provider-registry.interface.d.ts +0 -30
  670. package/dist/packages/core/src/application/ports/output/services/cloud-deployment-provider-registry.interface.d.ts.map +0 -1
  671. package/dist/packages/core/src/application/ports/output/services/cloud-deployment-provider-registry.interface.js +0 -9
  672. package/dist/packages/core/src/application/ports/output/services/cloud-deployment-provider.interface.d.ts +0 -54
  673. package/dist/packages/core/src/application/ports/output/services/cloud-deployment-provider.interface.d.ts.map +0 -1
  674. package/dist/packages/core/src/application/ports/output/services/cloud-deployment-provider.interface.js +0 -10
  675. package/dist/packages/core/src/application/ports/output/services/conflict-resolution.interface.d.ts +0 -36
  676. package/dist/packages/core/src/application/ports/output/services/conflict-resolution.interface.d.ts.map +0 -1
  677. package/dist/packages/core/src/application/ports/output/services/conflict-resolution.interface.js +0 -8
  678. package/dist/packages/core/src/application/ports/output/services/git-commit.service.interface.d.ts +0 -47
  679. package/dist/packages/core/src/application/ports/output/services/git-commit.service.interface.d.ts.map +0 -1
  680. package/dist/packages/core/src/application/ports/output/services/git-commit.service.interface.js +0 -19
  681. package/dist/packages/core/src/application/ports/output/services/git-remote.service.interface.d.ts +0 -41
  682. package/dist/packages/core/src/application/ports/output/services/git-remote.service.interface.d.ts.map +0 -1
  683. package/dist/packages/core/src/application/ports/output/services/git-remote.service.interface.js +0 -18
  684. package/dist/packages/core/src/application/ports/output/services/logger.interface.d.ts +0 -14
  685. package/dist/packages/core/src/application/ports/output/services/logger.interface.d.ts.map +0 -1
  686. package/dist/packages/core/src/application/ports/output/services/logger.interface.js +0 -8
  687. package/dist/packages/core/src/application/ports/output/services/node-helpers.interface.d.ts +0 -28
  688. package/dist/packages/core/src/application/ports/output/services/node-helpers.interface.d.ts.map +0 -1
  689. package/dist/packages/core/src/application/ports/output/services/node-helpers.interface.js +0 -8
  690. package/dist/packages/core/src/application/ports/output/services/phase-timing-context.interface.d.ts +0 -25
  691. package/dist/packages/core/src/application/ports/output/services/phase-timing-context.interface.d.ts.map +0 -1
  692. package/dist/packages/core/src/application/ports/output/services/phase-timing-context.interface.js +0 -9
  693. package/dist/packages/core/src/application/ports/output/services/process-liveness.interface.d.ts +0 -20
  694. package/dist/packages/core/src/application/ports/output/services/process-liveness.interface.d.ts.map +0 -1
  695. package/dist/packages/core/src/application/ports/output/services/process-liveness.interface.js +0 -12
  696. package/dist/packages/core/src/application/ports/output/services/spec-artifact-parser.interface.d.ts +0 -37
  697. package/dist/packages/core/src/application/ports/output/services/spec-artifact-parser.interface.d.ts.map +0 -1
  698. package/dist/packages/core/src/application/ports/output/services/spec-artifact-parser.interface.js +0 -14
  699. package/dist/packages/core/src/application/ports/output/services/tool-metadata-provider.interface.d.ts +0 -85
  700. package/dist/packages/core/src/application/ports/output/services/tool-metadata-provider.interface.d.ts.map +0 -1
  701. package/dist/packages/core/src/application/ports/output/services/tool-metadata-provider.interface.js +0 -9
  702. package/dist/packages/core/src/application/ports/output/services/worktree-path-provider.interface.d.ts +0 -22
  703. package/dist/packages/core/src/application/ports/output/services/worktree-path-provider.interface.d.ts.map +0 -1
  704. package/dist/packages/core/src/application/ports/output/services/worktree-path-provider.interface.js +0 -9
  705. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-feature-deltas.d.ts +0 -19
  706. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-feature-deltas.d.ts.map +0 -1
  707. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-feature-deltas.js +0 -74
  708. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-phase-completion-deltas.d.ts +0 -17
  709. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-phase-completion-deltas.d.ts.map +0 -1
  710. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-phase-completion-deltas.js +0 -31
  711. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-pr-deltas.d.ts +0 -18
  712. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-pr-deltas.d.ts.map +0 -1
  713. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-pr-deltas.js +0 -43
  714. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-session-deltas.d.ts +0 -20
  715. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-session-deltas.d.ts.map +0 -1
  716. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-session-deltas.js +0 -51
  717. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-status-deltas.d.ts +0 -22
  718. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-status-deltas.d.ts.map +0 -1
  719. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-status-deltas.js +0 -59
  720. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/stream-agent-events.types.d.ts +0 -73
  721. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/stream-agent-events.types.d.ts.map +0 -1
  722. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/stream-agent-events.types.js +0 -63
  723. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events.use-case.d.ts +0 -79
  724. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events.use-case.d.ts.map +0 -1
  725. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events.use-case.js +0 -291
  726. package/dist/packages/core/src/application/use-cases/applications/application-creation.workflow.d.ts.map +0 -1
  727. package/dist/packages/core/src/application/use-cases/applications/commit-and-push-application-changes.use-case.d.ts +0 -22
  728. package/dist/packages/core/src/application/use-cases/applications/commit-and-push-application-changes.use-case.d.ts.map +0 -1
  729. package/dist/packages/core/src/application/use-cases/applications/commit-and-push-application-changes.use-case.js +0 -63
  730. package/dist/packages/core/src/application/use-cases/applications/commit-application-changes.use-case.d.ts +0 -21
  731. package/dist/packages/core/src/application/use-cases/applications/commit-application-changes.use-case.d.ts.map +0 -1
  732. package/dist/packages/core/src/application/use-cases/applications/commit-application-changes.use-case.js +0 -61
  733. package/dist/packages/core/src/application/use-cases/cloud-deploy/connect-cloud-provider.use-case.d.ts +0 -14
  734. package/dist/packages/core/src/application/use-cases/cloud-deploy/connect-cloud-provider.use-case.d.ts.map +0 -1
  735. package/dist/packages/core/src/application/use-cases/cloud-deploy/connect-cloud-provider.use-case.js +0 -38
  736. package/dist/packages/core/src/application/use-cases/cloud-deploy/create-git-remote.use-case.d.ts +0 -12
  737. package/dist/packages/core/src/application/use-cases/cloud-deploy/create-git-remote.use-case.d.ts.map +0 -1
  738. package/dist/packages/core/src/application/use-cases/cloud-deploy/create-git-remote.use-case.js +0 -41
  739. package/dist/packages/core/src/application/use-cases/cloud-deploy/ensure-gh-authenticated.use-case.d.ts +0 -9
  740. package/dist/packages/core/src/application/use-cases/cloud-deploy/ensure-gh-authenticated.use-case.d.ts.map +0 -1
  741. package/dist/packages/core/src/application/use-cases/cloud-deploy/get-cloud-deployment-status.use-case.d.ts +0 -17
  742. package/dist/packages/core/src/application/use-cases/cloud-deploy/get-cloud-deployment-status.use-case.d.ts.map +0 -1
  743. package/dist/packages/core/src/application/use-cases/cloud-deploy/get-cloud-deployment-status.use-case.js +0 -44
  744. package/dist/packages/core/src/application/use-cases/cloud-deploy/initiate-cloud-deployment.use-case.d.ts +0 -27
  745. package/dist/packages/core/src/application/use-cases/cloud-deploy/initiate-cloud-deployment.use-case.d.ts.map +0 -1
  746. package/dist/packages/core/src/application/use-cases/cloud-deploy/initiate-cloud-deployment.use-case.js +0 -120
  747. package/dist/packages/core/src/application/use-cases/cloud-deploy/list-cloud-providers.use-case.d.ts +0 -16
  748. package/dist/packages/core/src/application/use-cases/cloud-deploy/list-cloud-providers.use-case.d.ts.map +0 -1
  749. package/dist/packages/core/src/application/use-cases/cloud-deploy/list-cloud-providers.use-case.js +0 -38
  750. package/dist/packages/core/src/application/use-cases/cloud-deploy/select-cloud-provider.use-case.d.ts +0 -12
  751. package/dist/packages/core/src/application/use-cases/cloud-deploy/select-cloud-provider.use-case.d.ts.map +0 -1
  752. package/dist/packages/core/src/application/use-cases/deployments/start-application-deployment.use-case.d.ts +0 -48
  753. package/dist/packages/core/src/application/use-cases/deployments/start-application-deployment.use-case.d.ts.map +0 -1
  754. package/dist/packages/core/src/application/use-cases/deployments/start-application-deployment.use-case.js +0 -99
  755. package/dist/packages/core/src/domain/errors/application-not-found.error.d.ts +0 -12
  756. package/dist/packages/core/src/domain/errors/application-not-found.error.d.ts.map +0 -1
  757. package/dist/packages/core/src/domain/errors/application-not-found.error.js +0 -16
  758. package/dist/packages/core/src/domain/errors/application-not-ready.error.d.ts +0 -12
  759. package/dist/packages/core/src/domain/errors/application-not-ready.error.d.ts.map +0 -1
  760. package/dist/packages/core/src/domain/errors/application-not-ready.error.js +0 -16
  761. package/dist/packages/core/src/domain/errors/application-repository-not-on-disk.error.d.ts +0 -15
  762. package/dist/packages/core/src/domain/errors/application-repository-not-on-disk.error.d.ts.map +0 -1
  763. package/dist/packages/core/src/domain/errors/application-repository-not-on-disk.error.js +0 -20
  764. package/dist/packages/core/src/domain/errors/build-output-not-found.error.d.ts +0 -13
  765. package/dist/packages/core/src/domain/errors/build-output-not-found.error.d.ts.map +0 -1
  766. package/dist/packages/core/src/domain/errors/build-output-not-found.error.js +0 -17
  767. package/dist/packages/core/src/domain/errors/cannot-deploy-self.error.d.ts +0 -14
  768. package/dist/packages/core/src/domain/errors/cannot-deploy-self.error.d.ts.map +0 -1
  769. package/dist/packages/core/src/domain/errors/cannot-deploy-self.error.js +0 -18
  770. package/dist/packages/core/src/domain/errors/cloud-provider-not-connected.error.d.ts +0 -12
  771. package/dist/packages/core/src/domain/errors/cloud-provider-not-connected.error.d.ts.map +0 -1
  772. package/dist/packages/core/src/domain/errors/cloud-provider-not-connected.error.js +0 -16
  773. package/dist/packages/core/src/domain/errors/no-provider-selected.error.d.ts +0 -13
  774. package/dist/packages/core/src/domain/errors/no-provider-selected.error.d.ts.map +0 -1
  775. package/dist/packages/core/src/domain/errors/no-provider-selected.error.js +0 -17
  776. package/dist/packages/core/src/domain/errors/provider-not-implemented.error.d.ts +0 -12
  777. package/dist/packages/core/src/domain/errors/provider-not-implemented.error.d.ts.map +0 -1
  778. package/dist/packages/core/src/domain/errors/provider-not-implemented.error.js +0 -16
  779. package/dist/packages/core/src/domain/shared/feature-id.d.ts +0 -25
  780. package/dist/packages/core/src/domain/shared/feature-id.d.ts.map +0 -1
  781. package/dist/packages/core/src/domain/shared/feature-id.js +0 -33
  782. package/dist/packages/core/src/domain/shared/normalize-path.d.ts +0 -21
  783. package/dist/packages/core/src/domain/shared/normalize-path.d.ts.map +0 -1
  784. package/dist/packages/core/src/domain/shared/normalize-path.js +0 -29
  785. package/dist/packages/core/src/domain/shared/sdlc-lifecycle-mapping.d.ts +0 -25
  786. package/dist/packages/core/src/domain/shared/sdlc-lifecycle-mapping.d.ts.map +0 -1
  787. package/dist/packages/core/src/domain/shared/sdlc-lifecycle-mapping.js +0 -40
  788. package/dist/packages/core/src/infrastructure/di/modules/register-agents.d.ts +0 -8
  789. package/dist/packages/core/src/infrastructure/di/modules/register-agents.d.ts.map +0 -1
  790. package/dist/packages/core/src/infrastructure/di/modules/register-agents.js +0 -100
  791. package/dist/packages/core/src/infrastructure/di/modules/register-cloud-deploy.d.ts +0 -9
  792. package/dist/packages/core/src/infrastructure/di/modules/register-cloud-deploy.d.ts.map +0 -1
  793. package/dist/packages/core/src/infrastructure/di/modules/register-cloud-deploy.js +0 -82
  794. package/dist/packages/core/src/infrastructure/di/modules/register-deployment.d.ts +0 -7
  795. package/dist/packages/core/src/infrastructure/di/modules/register-deployment.d.ts.map +0 -1
  796. package/dist/packages/core/src/infrastructure/di/modules/register-deployment.js +0 -38
  797. package/dist/packages/core/src/infrastructure/di/modules/register-interactive.d.ts +0 -10
  798. package/dist/packages/core/src/infrastructure/di/modules/register-interactive.d.ts.map +0 -1
  799. package/dist/packages/core/src/infrastructure/di/modules/register-interactive.js +0 -41
  800. package/dist/packages/core/src/infrastructure/di/modules/register-repositories.d.ts +0 -8
  801. package/dist/packages/core/src/infrastructure/di/modules/register-repositories.d.ts.map +0 -1
  802. package/dist/packages/core/src/infrastructure/di/modules/register-repositories.js +0 -70
  803. package/dist/packages/core/src/infrastructure/di/modules/register-services.d.ts +0 -10
  804. package/dist/packages/core/src/infrastructure/di/modules/register-services.d.ts.map +0 -1
  805. package/dist/packages/core/src/infrastructure/di/modules/register-services.js +0 -113
  806. package/dist/packages/core/src/infrastructure/di/modules/register-tools.d.ts +0 -7
  807. package/dist/packages/core/src/infrastructure/di/modules/register-tools.d.ts.map +0 -1
  808. package/dist/packages/core/src/infrastructure/di/modules/register-tools.js +0 -16
  809. package/dist/packages/core/src/infrastructure/di/modules/register-use-cases.d.ts +0 -12
  810. package/dist/packages/core/src/infrastructure/di/modules/register-use-cases.d.ts.map +0 -1
  811. package/dist/packages/core/src/infrastructure/di/modules/register-use-cases.js +0 -327
  812. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/060-add-cloud-deploy-columns-to-applications.d.ts +0 -5
  813. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/060-add-cloud-deploy-columns-to-applications.d.ts.map +0 -1
  814. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/060-add-cloud-deploy-columns-to-applications.js +0 -36
  815. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/061-create-cloud-provider-tokens-table.d.ts +0 -5
  816. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/061-create-cloud-provider-tokens-table.d.ts.map +0 -1
  817. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/061-create-cloud-provider-tokens-table.js +0 -20
  818. package/dist/packages/core/src/infrastructure/repositories/sqlite-cloud-provider-tokens.repository.d.ts +0 -20
  819. package/dist/packages/core/src/infrastructure/repositories/sqlite-cloud-provider-tokens.repository.d.ts.map +0 -1
  820. package/dist/packages/core/src/infrastructure/repositories/sqlite-cloud-provider-tokens.repository.js +0 -75
  821. package/dist/packages/core/src/infrastructure/services/agents/agent-session-repository.registry.d.ts +0 -30
  822. package/dist/packages/core/src/infrastructure/services/agents/agent-session-repository.registry.d.ts.map +0 -1
  823. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.adapter.d.ts +0 -14
  824. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.adapter.d.ts.map +0 -1
  825. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.adapter.js +0 -28
  826. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/phase-timing-context.adapter.d.ts +0 -14
  827. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/phase-timing-context.adapter.d.ts.map +0 -1
  828. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/phase-timing-context.adapter.js +0 -25
  829. package/dist/packages/core/src/infrastructure/services/cloud-deploy/aws-amplify.provider.stub.d.ts +0 -7
  830. package/dist/packages/core/src/infrastructure/services/cloud-deploy/aws-amplify.provider.stub.d.ts.map +0 -1
  831. package/dist/packages/core/src/infrastructure/services/cloud-deploy/aws-amplify.provider.stub.js +0 -17
  832. package/dist/packages/core/src/infrastructure/services/cloud-deploy/base-provider-stub.d.ts +0 -21
  833. package/dist/packages/core/src/infrastructure/services/cloud-deploy/base-provider-stub.d.ts.map +0 -1
  834. package/dist/packages/core/src/infrastructure/services/cloud-deploy/base-provider-stub.js +0 -22
  835. package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloud-deployment-errors.d.ts +0 -24
  836. package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloud-deployment-errors.d.ts.map +0 -1
  837. package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloud-deployment-errors.js +0 -25
  838. package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloud-deployment-provider.registry.d.ts +0 -19
  839. package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloud-deployment-provider.registry.d.ts.map +0 -1
  840. package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloud-deployment-provider.registry.js +0 -48
  841. package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloudflare-pages.provider.d.ts +0 -52
  842. package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloudflare-pages.provider.d.ts.map +0 -1
  843. package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloudflare-pages.provider.js +0 -208
  844. package/dist/packages/core/src/infrastructure/services/cloud-deploy/gcp-cloud-run.provider.stub.d.ts +0 -7
  845. package/dist/packages/core/src/infrastructure/services/cloud-deploy/gcp-cloud-run.provider.stub.d.ts.map +0 -1
  846. package/dist/packages/core/src/infrastructure/services/cloud-deploy/gcp-cloud-run.provider.stub.js +0 -17
  847. package/dist/packages/core/src/infrastructure/services/cloud-deploy/netlify.provider.stub.d.ts +0 -7
  848. package/dist/packages/core/src/infrastructure/services/cloud-deploy/netlify.provider.stub.d.ts.map +0 -1
  849. package/dist/packages/core/src/infrastructure/services/cloud-deploy/netlify.provider.stub.js +0 -17
  850. package/dist/packages/core/src/infrastructure/services/cloud-deploy/vercel.provider.stub.d.ts +0 -7
  851. package/dist/packages/core/src/infrastructure/services/cloud-deploy/vercel.provider.stub.d.ts.map +0 -1
  852. package/dist/packages/core/src/infrastructure/services/cloud-deploy/vercel.provider.stub.js +0 -17
  853. package/dist/packages/core/src/infrastructure/services/crypto/local-secret-box.d.ts +0 -29
  854. package/dist/packages/core/src/infrastructure/services/crypto/local-secret-box.d.ts.map +0 -1
  855. package/dist/packages/core/src/infrastructure/services/crypto/local-secret-box.js +0 -48
  856. package/dist/packages/core/src/infrastructure/services/crypto/secret-key-file.d.ts +0 -23
  857. package/dist/packages/core/src/infrastructure/services/crypto/secret-key-file.d.ts.map +0 -1
  858. package/dist/packages/core/src/infrastructure/services/crypto/secret-key-file.js +0 -46
  859. package/dist/packages/core/src/infrastructure/services/events/in-memory-cloud-deployment-event-bus.d.ts +0 -14
  860. package/dist/packages/core/src/infrastructure/services/events/in-memory-cloud-deployment-event-bus.d.ts.map +0 -1
  861. package/dist/packages/core/src/infrastructure/services/events/in-memory-cloud-deployment-event-bus.js +0 -37
  862. package/dist/packages/core/src/infrastructure/services/git/git-commit.service.d.ts +0 -20
  863. package/dist/packages/core/src/infrastructure/services/git/git-commit.service.d.ts.map +0 -1
  864. package/dist/packages/core/src/infrastructure/services/git/git-commit.service.js +0 -99
  865. package/dist/packages/core/src/infrastructure/services/git/git-remote.service.d.ts +0 -23
  866. package/dist/packages/core/src/infrastructure/services/git/git-remote.service.d.ts.map +0 -1
  867. package/dist/packages/core/src/infrastructure/services/git/git-remote.service.js +0 -131
  868. package/dist/packages/core/src/infrastructure/services/ide-launchers/worktree-path.provider.d.ts +0 -12
  869. package/dist/packages/core/src/infrastructure/services/ide-launchers/worktree-path.provider.d.ts.map +0 -1
  870. package/dist/packages/core/src/infrastructure/services/ide-launchers/worktree-path.provider.js +0 -24
  871. package/dist/packages/core/src/infrastructure/services/logging/console-logger.d.ts +0 -14
  872. package/dist/packages/core/src/infrastructure/services/logging/console-logger.d.ts.map +0 -1
  873. package/dist/packages/core/src/infrastructure/services/logging/console-logger.js +0 -53
  874. package/dist/packages/core/src/infrastructure/services/process/process-liveness.adapter.d.ts +0 -11
  875. package/dist/packages/core/src/infrastructure/services/process/process-liveness.adapter.d.ts.map +0 -1
  876. package/dist/packages/core/src/infrastructure/services/process/process-liveness.adapter.js +0 -23
  877. package/dist/packages/core/src/infrastructure/services/spec/spec-yaml-parser.service.d.ts +0 -24
  878. package/dist/packages/core/src/infrastructure/services/spec/spec-yaml-parser.service.d.ts.map +0 -1
  879. package/dist/packages/core/src/infrastructure/services/spec/spec-yaml-parser.service.js +0 -124
  880. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.provider.d.ts +0 -17
  881. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.provider.d.ts.map +0 -1
  882. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.provider.js +0 -31
  883. package/dist/src/presentation/cli/commands/app/cloud-providers/connect.command.d.ts +0 -10
  884. package/dist/src/presentation/cli/commands/app/cloud-providers/connect.command.d.ts.map +0 -1
  885. package/dist/src/presentation/cli/commands/app/cloud-providers/connect.command.js +0 -62
  886. package/dist/src/presentation/cli/commands/app/cloud-providers/github-login.command.d.ts +0 -10
  887. package/dist/src/presentation/cli/commands/app/cloud-providers/github-login.command.d.ts.map +0 -1
  888. package/dist/src/presentation/cli/commands/app/cloud-providers/github-login.command.js +0 -52
  889. package/dist/src/presentation/cli/commands/app/cloud-providers/index.d.ts +0 -10
  890. package/dist/src/presentation/cli/commands/app/cloud-providers/index.d.ts.map +0 -1
  891. package/dist/src/presentation/cli/commands/app/cloud-providers/index.js +0 -18
  892. package/dist/src/presentation/cli/commands/app/cloud-providers/ls.command.d.ts +0 -8
  893. package/dist/src/presentation/cli/commands/app/cloud-providers/ls.command.d.ts.map +0 -1
  894. package/dist/src/presentation/cli/commands/app/cloud-providers/ls.command.js +0 -40
  895. package/dist/src/presentation/cli/commands/app/deploy/index.d.ts +0 -8
  896. package/dist/src/presentation/cli/commands/app/deploy/index.d.ts.map +0 -1
  897. package/dist/src/presentation/cli/commands/app/deploy/index.js +0 -14
  898. package/dist/src/presentation/cli/commands/app/deploy/initiate.command.d.ts +0 -10
  899. package/dist/src/presentation/cli/commands/app/deploy/initiate.command.d.ts.map +0 -1
  900. package/dist/src/presentation/cli/commands/app/deploy/initiate.command.js +0 -86
  901. package/dist/src/presentation/cli/commands/app/deploy/status.command.d.ts +0 -8
  902. package/dist/src/presentation/cli/commands/app/deploy/status.command.d.ts.map +0 -1
  903. package/dist/src/presentation/cli/commands/app/deploy/status.command.js +0 -49
  904. package/dist/src/presentation/cli/commands/app/git/create-remote.command.d.ts +0 -10
  905. package/dist/src/presentation/cli/commands/app/git/create-remote.command.d.ts.map +0 -1
  906. package/dist/src/presentation/cli/commands/app/git/create-remote.command.js +0 -49
  907. package/dist/src/presentation/cli/commands/app/git/index.d.ts +0 -9
  908. package/dist/src/presentation/cli/commands/app/git/index.d.ts.map +0 -1
  909. package/dist/src/presentation/cli/commands/app/git/index.js +0 -13
  910. package/dist/src/presentation/web/app/actions/applications/commit-and-push-application-changes.d.ts +0 -11
  911. package/dist/src/presentation/web/app/actions/applications/commit-and-push-application-changes.d.ts.map +0 -1
  912. package/dist/src/presentation/web/app/actions/applications/commit-and-push-application-changes.js +0 -22
  913. package/dist/src/presentation/web/app/actions/applications/commit-application-changes.d.ts +0 -10
  914. package/dist/src/presentation/web/app/actions/applications/commit-application-changes.d.ts.map +0 -1
  915. package/dist/src/presentation/web/app/actions/applications/commit-application-changes.js +0 -22
  916. package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/initiate/route.d.ts +0 -19
  917. package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/initiate/route.d.ts.map +0 -1
  918. package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/initiate/route.js +0 -43
  919. package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/select-provider/route.d.ts +0 -16
  920. package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/select-provider/route.d.ts.map +0 -1
  921. package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/select-provider/route.js +0 -35
  922. package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/status/route.d.ts +0 -16
  923. package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/status/route.d.ts.map +0 -1
  924. package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/status/route.js +0 -23
  925. package/dist/src/presentation/web/app/api/applications/[id]/git/create-remote/route.d.ts +0 -20
  926. package/dist/src/presentation/web/app/api/applications/[id]/git/create-remote/route.d.ts.map +0 -1
  927. package/dist/src/presentation/web/app/api/applications/[id]/git/create-remote/route.js +0 -31
  928. package/dist/src/presentation/web/app/api/cloud-providers/[provider]/connect/route.d.ts +0 -18
  929. package/dist/src/presentation/web/app/api/cloud-providers/[provider]/connect/route.d.ts.map +0 -1
  930. package/dist/src/presentation/web/app/api/cloud-providers/[provider]/connect/route.js +0 -38
  931. package/dist/src/presentation/web/app/api/cloud-providers/github/auth-login/route.d.ts +0 -11
  932. package/dist/src/presentation/web/app/api/cloud-providers/github/auth-login/route.d.ts.map +0 -1
  933. package/dist/src/presentation/web/app/api/cloud-providers/github/auth-login/route.js +0 -24
  934. package/dist/src/presentation/web/app/api/cloud-providers/github/auth-status/route.d.ts +0 -9
  935. package/dist/src/presentation/web/app/api/cloud-providers/github/auth-status/route.d.ts.map +0 -1
  936. package/dist/src/presentation/web/app/api/cloud-providers/github/auth-status/route.js +0 -18
  937. package/dist/src/presentation/web/app/api/cloud-providers/route.d.ts +0 -10
  938. package/dist/src/presentation/web/app/api/cloud-providers/route.d.ts.map +0 -1
  939. package/dist/src/presentation/web/app/api/cloud-providers/route.js +0 -19
  940. package/dist/src/presentation/web/components/features/application-page/app-top-bar.d.ts +0 -27
  941. package/dist/src/presentation/web/components/features/application-page/app-top-bar.d.ts.map +0 -1
  942. package/dist/src/presentation/web/components/features/application-page/app-top-bar.js +0 -24
  943. package/dist/src/presentation/web/components/features/application-page/app-top-bar.stories.d.ts +0 -9
  944. package/dist/src/presentation/web/components/features/application-page/app-top-bar.stories.d.ts.map +0 -1
  945. package/dist/src/presentation/web/components/features/application-page/app-top-bar.stories.js +0 -79
  946. package/dist/src/presentation/web/components/features/application-page/application-page-loader.stories.d.ts +0 -8
  947. package/dist/src/presentation/web/components/features/application-page/application-page-loader.stories.d.ts.map +0 -1
  948. package/dist/src/presentation/web/components/features/application-page/application-page-loader.stories.js +0 -63
  949. package/dist/src/presentation/web/components/features/application-page/cloud-provider-icons.d.ts +0 -22
  950. package/dist/src/presentation/web/components/features/application-page/cloud-provider-icons.d.ts.map +0 -1
  951. package/dist/src/presentation/web/components/features/application-page/cloud-provider-icons.js +0 -28
  952. package/dist/src/presentation/web/components/features/application-page/connect-provider-modal.d.ts +0 -8
  953. package/dist/src/presentation/web/components/features/application-page/connect-provider-modal.d.ts.map +0 -1
  954. package/dist/src/presentation/web/components/features/application-page/connect-provider-modal.js +0 -61
  955. package/dist/src/presentation/web/components/features/application-page/connect-provider-modal.stories.d.ts +0 -10
  956. package/dist/src/presentation/web/components/features/application-page/connect-provider-modal.stories.d.ts.map +0 -1
  957. package/dist/src/presentation/web/components/features/application-page/connect-provider-modal.stories.js +0 -40
  958. package/dist/src/presentation/web/components/features/application-page/copy-prompt-button.d.ts +0 -5
  959. package/dist/src/presentation/web/components/features/application-page/copy-prompt-button.d.ts.map +0 -1
  960. package/dist/src/presentation/web/components/features/application-page/copy-prompt-button.js +0 -37
  961. package/dist/src/presentation/web/components/features/application-page/copy-prompt-button.stories.d.ts +0 -8
  962. package/dist/src/presentation/web/components/features/application-page/copy-prompt-button.stories.d.ts.map +0 -1
  963. package/dist/src/presentation/web/components/features/application-page/copy-prompt-button.stories.js +0 -13
  964. package/dist/src/presentation/web/components/features/application-page/create-github-repo-button.d.ts +0 -9
  965. package/dist/src/presentation/web/components/features/application-page/create-github-repo-button.d.ts.map +0 -1
  966. package/dist/src/presentation/web/components/features/application-page/create-github-repo-button.js +0 -85
  967. package/dist/src/presentation/web/components/features/application-page/create-github-repo-button.stories.d.ts +0 -9
  968. package/dist/src/presentation/web/components/features/application-page/create-github-repo-button.stories.d.ts.map +0 -1
  969. package/dist/src/presentation/web/components/features/application-page/create-github-repo-button.stories.js +0 -19
  970. package/dist/src/presentation/web/components/features/application-page/delete-button.d.ts +0 -6
  971. package/dist/src/presentation/web/components/features/application-page/delete-button.d.ts.map +0 -1
  972. package/dist/src/presentation/web/components/features/application-page/delete-button.js +0 -24
  973. package/dist/src/presentation/web/components/features/application-page/delete-button.stories.d.ts +0 -8
  974. package/dist/src/presentation/web/components/features/application-page/delete-button.stories.d.ts.map +0 -1
  975. package/dist/src/presentation/web/components/features/application-page/delete-button.stories.js +0 -16
  976. package/dist/src/presentation/web/components/features/application-page/deploy-button.d.ts +0 -8
  977. package/dist/src/presentation/web/components/features/application-page/deploy-button.d.ts.map +0 -1
  978. package/dist/src/presentation/web/components/features/application-page/deploy-button.js +0 -94
  979. package/dist/src/presentation/web/components/features/application-page/deploy-button.stories.d.ts +0 -11
  980. package/dist/src/presentation/web/components/features/application-page/deploy-button.stories.d.ts.map +0 -1
  981. package/dist/src/presentation/web/components/features/application-page/deploy-button.stories.js +0 -53
  982. package/dist/src/presentation/web/components/features/application-page/git-status-cluster.d.ts +0 -13
  983. package/dist/src/presentation/web/components/features/application-page/git-status-cluster.d.ts.map +0 -1
  984. package/dist/src/presentation/web/components/features/application-page/git-status-cluster.js +0 -113
  985. package/dist/src/presentation/web/components/features/application-page/git-status-cluster.stories.d.ts +0 -8
  986. package/dist/src/presentation/web/components/features/application-page/git-status-cluster.stories.d.ts.map +0 -1
  987. package/dist/src/presentation/web/components/features/application-page/git-status-cluster.stories.js +0 -19
  988. package/dist/src/presentation/web/components/features/application-page/path-cluster.d.ts +0 -6
  989. package/dist/src/presentation/web/components/features/application-page/path-cluster.d.ts.map +0 -1
  990. package/dist/src/presentation/web/components/features/application-page/path-cluster.js +0 -32
  991. package/dist/src/presentation/web/components/features/application-page/path-cluster.stories.d.ts +0 -8
  992. package/dist/src/presentation/web/components/features/application-page/path-cluster.stories.d.ts.map +0 -1
  993. package/dist/src/presentation/web/components/features/application-page/path-cluster.stories.js +0 -19
  994. package/dist/src/presentation/web/components/features/application-page/provider-dropdown.d.ts +0 -26
  995. package/dist/src/presentation/web/components/features/application-page/provider-dropdown.d.ts.map +0 -1
  996. package/dist/src/presentation/web/components/features/application-page/provider-dropdown.js +0 -30
  997. package/dist/src/presentation/web/components/features/application-page/provider-dropdown.stories.d.ts +0 -10
  998. package/dist/src/presentation/web/components/features/application-page/provider-dropdown.stories.d.ts.map +0 -1
  999. package/dist/src/presentation/web/components/features/application-page/provider-dropdown.stories.js +0 -80
  1000. package/dist/src/presentation/web/components/features/application-page/resizable-split.d.ts +0 -7
  1001. package/dist/src/presentation/web/components/features/application-page/resizable-split.d.ts.map +0 -1
  1002. package/dist/src/presentation/web/components/features/application-page/resizable-split.js +0 -30
  1003. package/dist/src/presentation/web/components/features/application-page/resizable-split.stories.d.ts +0 -8
  1004. package/dist/src/presentation/web/components/features/application-page/resizable-split.stories.d.ts.map +0 -1
  1005. package/dist/src/presentation/web/components/features/application-page/resizable-split.stories.js +0 -23
  1006. package/dist/src/presentation/web/components/features/application-page/run-dev-button.stories.d.ts +0 -12
  1007. package/dist/src/presentation/web/components/features/application-page/run-dev-button.stories.d.ts.map +0 -1
  1008. package/dist/src/presentation/web/components/features/application-page/run-dev-button.stories.js +0 -53
  1009. package/dist/src/presentation/web/components/features/application-page/session-chip.d.ts +0 -9
  1010. package/dist/src/presentation/web/components/features/application-page/session-chip.d.ts.map +0 -1
  1011. package/dist/src/presentation/web/components/features/application-page/session-chip.js +0 -38
  1012. package/dist/src/presentation/web/components/features/application-page/session-chip.stories.d.ts +0 -8
  1013. package/dist/src/presentation/web/components/features/application-page/session-chip.stories.d.ts.map +0 -1
  1014. package/dist/src/presentation/web/components/features/application-page/session-chip.stories.js +0 -16
  1015. package/dist/src/presentation/web/components/features/application-page/status-pill.d.ts +0 -8
  1016. package/dist/src/presentation/web/components/features/application-page/status-pill.d.ts.map +0 -1
  1017. package/dist/src/presentation/web/components/features/application-page/status-pill.js +0 -16
  1018. package/dist/src/presentation/web/components/features/application-page/status-pill.stories.d.ts +0 -8
  1019. package/dist/src/presentation/web/components/features/application-page/status-pill.stories.d.ts.map +0 -1
  1020. package/dist/src/presentation/web/components/features/application-page/status-pill.stories.js +0 -22
  1021. package/dist/src/presentation/web/components/features/application-page/terminal-tab.stories.d.ts +0 -15
  1022. package/dist/src/presentation/web/components/features/application-page/terminal-tab.stories.d.ts.map +0 -1
  1023. package/dist/src/presentation/web/components/features/application-page/terminal-tab.stories.js +0 -31
  1024. package/dist/src/presentation/web/components/features/application-page/use-dev-server-coordinator.d.ts +0 -14
  1025. package/dist/src/presentation/web/components/features/application-page/use-dev-server-coordinator.d.ts.map +0 -1
  1026. package/dist/src/presentation/web/components/features/application-page/use-dev-server-coordinator.js +0 -82
  1027. package/dist/src/presentation/web/components/features/application-page/view-body.d.ts +0 -17
  1028. package/dist/src/presentation/web/components/features/application-page/view-body.d.ts.map +0 -1
  1029. package/dist/src/presentation/web/components/features/application-page/view-body.js +0 -25
  1030. package/dist/src/presentation/web/components/features/application-page/view-body.stories.d.ts +0 -8
  1031. package/dist/src/presentation/web/components/features/application-page/view-body.stories.d.ts.map +0 -1
  1032. package/dist/src/presentation/web/components/features/application-page/view-body.stories.js +0 -42
  1033. package/dist/src/presentation/web/components/features/application-page/view-switcher.d.ts +0 -10
  1034. package/dist/src/presentation/web/components/features/application-page/view-switcher.d.ts.map +0 -1
  1035. package/dist/src/presentation/web/components/features/application-page/view-switcher.js +0 -18
  1036. package/dist/src/presentation/web/components/features/application-page/view-switcher.stories.d.ts +0 -8
  1037. package/dist/src/presentation/web/components/features/application-page/view-switcher.stories.d.ts.map +0 -1
  1038. package/dist/src/presentation/web/components/features/application-page/view-switcher.stories.js +0 -13
  1039. package/dist/src/presentation/web/components/features/application-page/web-preview-tab.stories.d.ts +0 -10
  1040. package/dist/src/presentation/web/components/features/application-page/web-preview-tab.stories.d.ts.map +0 -1
  1041. package/dist/src/presentation/web/components/features/application-page/web-preview-tab.stories.js +0 -49
  1042. package/dist/src/presentation/web/hooks/use-cloud-deploy-action.d.ts +0 -20
  1043. package/dist/src/presentation/web/hooks/use-cloud-deploy-action.d.ts.map +0 -1
  1044. package/dist/src/presentation/web/hooks/use-cloud-deploy-action.js +0 -120
  1045. package/web/.next/server/app/api/applications/[id]/cloud-deploy/initiate/route/app-paths-manifest.json +0 -3
  1046. package/web/.next/server/app/api/applications/[id]/cloud-deploy/initiate/route/build-manifest.json +0 -11
  1047. package/web/.next/server/app/api/applications/[id]/cloud-deploy/initiate/route/server-reference-manifest.json +0 -4
  1048. package/web/.next/server/app/api/applications/[id]/cloud-deploy/initiate/route.js +0 -7
  1049. package/web/.next/server/app/api/applications/[id]/cloud-deploy/initiate/route.js.nft.json +0 -1
  1050. package/web/.next/server/app/api/applications/[id]/cloud-deploy/initiate/route_client-reference-manifest.js +0 -2
  1051. package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route/app-paths-manifest.json +0 -3
  1052. package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route/build-manifest.json +0 -11
  1053. package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route/server-reference-manifest.json +0 -4
  1054. package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route.js +0 -7
  1055. package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route.js.map +0 -5
  1056. package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route.js.nft.json +0 -1
  1057. package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route_client-reference-manifest.js +0 -2
  1058. package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route/app-paths-manifest.json +0 -3
  1059. package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route/build-manifest.json +0 -11
  1060. package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route/server-reference-manifest.json +0 -4
  1061. package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route.js +0 -7
  1062. package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route.js.map +0 -5
  1063. package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route.js.nft.json +0 -1
  1064. package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route_client-reference-manifest.js +0 -2
  1065. package/web/.next/server/app/api/applications/[id]/git/create-remote/route/app-paths-manifest.json +0 -3
  1066. package/web/.next/server/app/api/applications/[id]/git/create-remote/route/build-manifest.json +0 -11
  1067. package/web/.next/server/app/api/applications/[id]/git/create-remote/route/server-reference-manifest.json +0 -4
  1068. package/web/.next/server/app/api/applications/[id]/git/create-remote/route.js +0 -7
  1069. package/web/.next/server/app/api/applications/[id]/git/create-remote/route.js.map +0 -5
  1070. package/web/.next/server/app/api/applications/[id]/git/create-remote/route.js.nft.json +0 -1
  1071. package/web/.next/server/app/api/applications/[id]/git/create-remote/route_client-reference-manifest.js +0 -2
  1072. package/web/.next/server/app/api/cloud-providers/[provider]/connect/route/app-paths-manifest.json +0 -3
  1073. package/web/.next/server/app/api/cloud-providers/[provider]/connect/route/build-manifest.json +0 -11
  1074. package/web/.next/server/app/api/cloud-providers/[provider]/connect/route/server-reference-manifest.json +0 -4
  1075. package/web/.next/server/app/api/cloud-providers/[provider]/connect/route.js +0 -7
  1076. package/web/.next/server/app/api/cloud-providers/[provider]/connect/route.js.map +0 -5
  1077. package/web/.next/server/app/api/cloud-providers/[provider]/connect/route.js.nft.json +0 -1
  1078. package/web/.next/server/app/api/cloud-providers/[provider]/connect/route_client-reference-manifest.js +0 -2
  1079. package/web/.next/server/app/api/cloud-providers/github/auth-login/route/app-paths-manifest.json +0 -3
  1080. package/web/.next/server/app/api/cloud-providers/github/auth-login/route/build-manifest.json +0 -11
  1081. package/web/.next/server/app/api/cloud-providers/github/auth-login/route/server-reference-manifest.json +0 -4
  1082. package/web/.next/server/app/api/cloud-providers/github/auth-login/route.js +0 -7
  1083. package/web/.next/server/app/api/cloud-providers/github/auth-login/route.js.map +0 -5
  1084. package/web/.next/server/app/api/cloud-providers/github/auth-login/route.js.nft.json +0 -1
  1085. package/web/.next/server/app/api/cloud-providers/github/auth-login/route_client-reference-manifest.js +0 -2
  1086. package/web/.next/server/app/api/cloud-providers/github/auth-status/route/app-paths-manifest.json +0 -3
  1087. package/web/.next/server/app/api/cloud-providers/github/auth-status/route/build-manifest.json +0 -11
  1088. package/web/.next/server/app/api/cloud-providers/github/auth-status/route/server-reference-manifest.json +0 -4
  1089. package/web/.next/server/app/api/cloud-providers/github/auth-status/route.js +0 -7
  1090. package/web/.next/server/app/api/cloud-providers/github/auth-status/route.js.map +0 -5
  1091. package/web/.next/server/app/api/cloud-providers/github/auth-status/route.js.nft.json +0 -1
  1092. package/web/.next/server/app/api/cloud-providers/github/auth-status/route_client-reference-manifest.js +0 -2
  1093. package/web/.next/server/app/api/cloud-providers/route/app-paths-manifest.json +0 -3
  1094. package/web/.next/server/app/api/cloud-providers/route/build-manifest.json +0 -11
  1095. package/web/.next/server/app/api/cloud-providers/route/server-reference-manifest.json +0 -4
  1096. package/web/.next/server/app/api/cloud-providers/route.js +0 -7
  1097. package/web/.next/server/app/api/cloud-providers/route.js.map +0 -5
  1098. package/web/.next/server/app/api/cloud-providers/route.js.nft.json +0 -1
  1099. package/web/.next/server/app/api/cloud-providers/route_client-reference-manifest.js +0 -2
  1100. package/web/.next/server/chunks/20c8b_app_api_applications_[id]_cloud-deploy_select-provider_route_actions_0b41b3f7.js +0 -3
  1101. package/web/.next/server/chunks/20c8b_app_api_applications_[id]_cloud-deploy_select-provider_route_actions_0b41b3f7.js.map +0 -1
  1102. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_cloud-providers_route_actions_b29d775a.js +0 -3
  1103. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_cloud-providers_route_actions_b29d775a.js.map +0 -1
  1104. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_cloud-deploy_initiate_route_actions_b4867bc6.js +0 -3
  1105. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_cloud-deploy_initiate_route_actions_b4867bc6.js.map +0 -1
  1106. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_cloud-deploy_status_route_actions_9a3b876b.js +0 -3
  1107. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_cloud-deploy_status_route_actions_9a3b876b.js.map +0 -1
  1108. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_git_create-remote_route_actions_41c42379.js +0 -3
  1109. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_git_create-remote_route_actions_41c42379.js.map +0 -1
  1110. package/web/.next/server/chunks/8ba4b_server_app_api_cloud-providers_[provider]_connect_route_actions_a0ca54c4.js +0 -3
  1111. package/web/.next/server/chunks/8ba4b_server_app_api_cloud-providers_[provider]_connect_route_actions_a0ca54c4.js.map +0 -1
  1112. package/web/.next/server/chunks/8ba4b_server_app_api_cloud-providers_github_auth-login_route_actions_7bef847d.js +0 -3
  1113. package/web/.next/server/chunks/8ba4b_server_app_api_cloud-providers_github_auth-login_route_actions_7bef847d.js.map +0 -1
  1114. package/web/.next/server/chunks/8ba4b_server_app_api_cloud-providers_github_auth-status_route_actions_8cdaeffc.js +0 -3
  1115. package/web/.next/server/chunks/8ba4b_server_app_api_cloud-providers_github_auth-status_route_actions_8cdaeffc.js.map +0 -1
  1116. package/web/.next/server/chunks/[root-of-the-server]__2c15d675._.js +0 -3
  1117. package/web/.next/server/chunks/[root-of-the-server]__2c15d675._.js.map +0 -1
  1118. package/web/.next/server/chunks/[root-of-the-server]__3b3b8980._.js +0 -9
  1119. package/web/.next/server/chunks/[root-of-the-server]__3b3b8980._.js.map +0 -1
  1120. package/web/.next/server/chunks/[root-of-the-server]__631f5bbe._.js +0 -3
  1121. package/web/.next/server/chunks/[root-of-the-server]__631f5bbe._.js.map +0 -1
  1122. package/web/.next/server/chunks/[root-of-the-server]__770c0c09._.js +0 -3
  1123. package/web/.next/server/chunks/[root-of-the-server]__770c0c09._.js.map +0 -1
  1124. package/web/.next/server/chunks/[root-of-the-server]__83e9501d._.js +0 -3
  1125. package/web/.next/server/chunks/[root-of-the-server]__83e9501d._.js.map +0 -1
  1126. package/web/.next/server/chunks/[root-of-the-server]__9017bfe4._.js +0 -3
  1127. package/web/.next/server/chunks/[root-of-the-server]__9017bfe4._.js.map +0 -1
  1128. package/web/.next/server/chunks/[root-of-the-server]__90eb0e51._.js +0 -3
  1129. package/web/.next/server/chunks/[root-of-the-server]__90eb0e51._.js.map +0 -1
  1130. package/web/.next/server/chunks/[root-of-the-server]__9bf8eb9d._.js +0 -3
  1131. package/web/.next/server/chunks/[root-of-the-server]__9bf8eb9d._.js.map +0 -1
  1132. package/web/.next/server/chunks/[root-of-the-server]__b78eeb4f._.js +0 -3
  1133. package/web/.next/server/chunks/[root-of-the-server]__b78eeb4f._.js.map +0 -1
  1134. package/web/.next/server/chunks/[root-of-the-server]__cac531cb._.js +0 -3
  1135. package/web/.next/server/chunks/[root-of-the-server]__cac531cb._.js.map +0 -1
  1136. package/web/.next/server/chunks/[root-of-the-server]__e7e98696._.js +0 -3
  1137. package/web/.next/server/chunks/[root-of-the-server]__e7e98696._.js.map +0 -1
  1138. package/web/.next/server/chunks/ssr/[root-of-the-server]__01559f4c._.js +0 -3
  1139. package/web/.next/server/chunks/ssr/[root-of-the-server]__01559f4c._.js.map +0 -1
  1140. package/web/.next/server/chunks/ssr/[root-of-the-server]__0f0865b6._.js +0 -3
  1141. package/web/.next/server/chunks/ssr/[root-of-the-server]__0f0865b6._.js.map +0 -1
  1142. package/web/.next/server/chunks/ssr/[root-of-the-server]__494cf0fb._.js.map +0 -1
  1143. package/web/.next/server/chunks/ssr/[root-of-the-server]__78e103c3._.js +0 -3
  1144. package/web/.next/server/chunks/ssr/[root-of-the-server]__78e103c3._.js.map +0 -1
  1145. package/web/.next/server/chunks/ssr/_15173081._.js +0 -3
  1146. package/web/.next/server/chunks/ssr/_15173081._.js.map +0 -1
  1147. package/web/.next/server/chunks/ssr/_1da7af78._.js +0 -3
  1148. package/web/.next/server/chunks/ssr/_1da7af78._.js.map +0 -1
  1149. package/web/.next/server/chunks/ssr/_22d60ea8._.js +0 -3
  1150. package/web/.next/server/chunks/ssr/_22d60ea8._.js.map +0 -1
  1151. package/web/.next/server/chunks/ssr/_28d8fc85._.js +0 -3
  1152. package/web/.next/server/chunks/ssr/_28d8fc85._.js.map +0 -1
  1153. package/web/.next/server/chunks/ssr/_35b56ded._.js +0 -3
  1154. package/web/.next/server/chunks/ssr/_35b56ded._.js.map +0 -1
  1155. package/web/.next/server/chunks/ssr/_4b57bcc3._.js +0 -9
  1156. package/web/.next/server/chunks/ssr/_4b57bcc3._.js.map +0 -1
  1157. package/web/.next/server/chunks/ssr/_5b868d9b._.js +0 -3
  1158. package/web/.next/server/chunks/ssr/_5b868d9b._.js.map +0 -1
  1159. package/web/.next/server/chunks/ssr/_5bf2415e._.js.map +0 -1
  1160. package/web/.next/server/chunks/ssr/_6401fcb4._.js +0 -3
  1161. package/web/.next/server/chunks/ssr/_6401fcb4._.js.map +0 -1
  1162. package/web/.next/server/chunks/ssr/_66d02826._.js +0 -3
  1163. package/web/.next/server/chunks/ssr/_66d02826._.js.map +0 -1
  1164. package/web/.next/server/chunks/ssr/_68befcc0._.js +0 -3
  1165. package/web/.next/server/chunks/ssr/_68befcc0._.js.map +0 -1
  1166. package/web/.next/server/chunks/ssr/_72cc0c05._.js.map +0 -1
  1167. package/web/.next/server/chunks/ssr/_82c47cc2._.js +0 -3
  1168. package/web/.next/server/chunks/ssr/_82c47cc2._.js.map +0 -1
  1169. package/web/.next/server/chunks/ssr/_bb8735f7._.js.map +0 -1
  1170. package/web/.next/server/chunks/ssr/_e9a4c41e._.js +0 -3
  1171. package/web/.next/server/chunks/ssr/_e9a4c41e._.js.map +0 -1
  1172. package/web/.next/server/chunks/ssr/_ef697bcb._.js +0 -3
  1173. package/web/.next/server/chunks/ssr/_ef697bcb._.js.map +0 -1
  1174. package/web/.next/server/chunks/ssr/node_modules__pnpm_03825509._.js +0 -3
  1175. package/web/.next/server/chunks/ssr/node_modules__pnpm_03825509._.js.map +0 -1
  1176. package/web/.next/server/chunks/ssr/node_modules__pnpm_747b43ac._.js +0 -3
  1177. package/web/.next/server/chunks/ssr/node_modules__pnpm_747b43ac._.js.map +0 -1
  1178. package/web/.next/server/chunks/ssr/node_modules__pnpm_b4a5d907._.js +0 -3
  1179. package/web/.next/server/chunks/ssr/node_modules__pnpm_b4a5d907._.js.map +0 -1
  1180. package/web/.next/static/chunks/0412f29f896ee09c.js +0 -1
  1181. package/web/.next/static/chunks/0b7fc927918d27b7.js +0 -1
  1182. package/web/.next/static/chunks/0de93c756f719ec3.js +0 -1
  1183. package/web/.next/static/chunks/19327577e3a31a12.js +0 -1
  1184. package/web/.next/static/chunks/21122562afc22707.js +0 -1
  1185. package/web/.next/static/chunks/4f09cbb36f0ee7bc.js +0 -1
  1186. package/web/.next/static/chunks/4fdc8e750df8ca80.js +0 -1
  1187. package/web/.next/static/chunks/544aff2bfab6627d.js +0 -1
  1188. package/web/.next/static/chunks/5a686ebc9fc2add1.js +0 -1
  1189. package/web/.next/static/chunks/63b0b9bd3d9e77c1.js +0 -1
  1190. package/web/.next/static/chunks/693bac34da5f5767.js +0 -1
  1191. package/web/.next/static/chunks/6a7d6f15d3366b65.js +0 -1
  1192. package/web/.next/static/chunks/6d56af6ae0a033a6.js +0 -5
  1193. package/web/.next/static/chunks/8a44ba83aaeb4b83.js +0 -1
  1194. package/web/.next/static/chunks/9b34d8c773ee0165.js +0 -1
  1195. package/web/.next/static/chunks/abe2a450d1e2f77d.js +0 -1
  1196. package/web/.next/static/chunks/b7c8bf8006038a6c.js +0 -1
  1197. package/web/.next/static/chunks/c6011887cf4bc18e.js +0 -1
  1198. package/web/.next/static/chunks/c7659438d8afcb6b.js +0 -1
  1199. package/web/.next/static/chunks/d9ca1010cff1e77d.css +0 -1
  1200. package/web/.next/static/chunks/f7677be24e542028.js +0 -7
  1201. package/web/.next/static/chunks/fb0dc8b38808eaae.js +0 -1
  1202. /package/dist/packages/core/src/application/{use-cases/applications → workflows}/application-creation.workflow.d.ts +0 -0
  1203. /package/dist/packages/core/src/application/{use-cases/applications → workflows}/application-creation.workflow.js +0 -0
  1204. /package/web/.next/server/app/{api/applications/[id]/cloud-deploy/initiate/route.js.map → plugins/page.js.map} +0 -0
  1205. /package/web/.next/server/chunks/{[root-of-the-server]__582ebd78._.js.map → [root-of-the-server]__0702fed9._.js.map} +0 -0
  1206. /package/web/.next/server/chunks/{[root-of-the-server]__76a92098._.js.map → [root-of-the-server]__88c71186._.js.map} +0 -0
  1207. /package/web/.next/server/chunks/{[root-of-the-server]__7de24eaf._.js.map → [root-of-the-server]__8b6abaa3._.js.map} +0 -0
  1208. /package/web/.next/server/chunks/{[root-of-the-server]__1133b25d._.js.map → [root-of-the-server]__dbb420e4._.js.map} +0 -0
  1209. /package/web/.next/static/{FRWpPK0Bg6IM4rVnqge0Z → H1ozIesERGbwQQ6nOO8UC}/_buildManifest.js +0 -0
  1210. /package/web/.next/static/{FRWpPK0Bg6IM4rVnqge0Z → H1ozIesERGbwQQ6nOO8UC}/_clientMiddlewareManifest.json +0 -0
  1211. /package/web/.next/static/{FRWpPK0Bg6IM4rVnqge0Z → H1ozIesERGbwQQ6nOO8UC}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[931747,a=>{"use strict";var b=a.i(881719),c=a.i(914703),d=a.i(679372),e=a.i(929918);function f(a,f,g){let h=(f?.status===b.AgentRunStatus.running||f?.status===b.AgentRunStatus.pending)&&f?.pid?(0,d.isProcessAlive)(f.pid):void 0;return{name:a.name,description:a.description??a.slug,featureId:a.id,lifecycle:(0,c.deriveLifecycle)(a,f),repositoryPath:a.repositoryPath,branch:a.branch,worktreePath:a.worktreePath??(0,e.computeWorktreePath)(a.repositoryPath,a.branch),specPath:a.specPath,state:(0,c.deriveNodeState)(a,f,void 0!==h?{isPidAlive:h}:void 0),progress:(0,c.deriveProgress)(a),summary:a.description,userQuery:a.userQuery,createdAt:a.createdAt instanceof Date?a.createdAt.getTime():a.createdAt,...a.fast&&{fastMode:!0},approvalGates:a.approvalGates,push:a.push,openPr:a.openPr,forkAndPr:a.forkAndPr,commitSpecs:a.commitSpecs,enableEvidence:a.enableEvidence??g?.enableEvidence??!1,commitEvidence:a.commitEvidence??g?.commitEvidence??!1,ciWatchEnabled:a.ciWatchEnabled??g?.ciWatchEnabled??!0,...g?.hideCiStatus!=null&&{hideCiStatus:g.hideCiStatus},...g?.repositoryName&&{repositoryName:g.repositoryName},...g?.baseBranch&&{baseBranch:g.baseBranch},...g?.oneLiner&&{oneLiner:g.oneLiner},...g?.remoteUrl&&{remoteUrl:g.remoteUrl},...f?.agentType&&{agentType:f.agentType},...f?.modelId&&{modelId:f.modelId},...f?.error&&{errorMessage:f.error},...null!=a.agentRunId&&{hasAgentRun:!0},...null!=a.plan&&{hasPlan:!0},...a.injectSkills&&{injectSkills:!0},...a.injectedSkills?.length&&{injectedSkills:a.injectedSkills},...a.pr&&{pr:{url:a.pr.url,number:a.pr.number,status:a.pr.status,ciStatus:a.pr.ciStatus,commitHash:a.pr.commitHash,mergeable:a.pr.mergeable}}}}a.s(["buildFeatureNodeData",()=>f])},561402,476052,713008,374607,806542,300740,312104,470319,654433,159020,381866,a=>{"use strict";var b=a.i(237705),c=a.i(996380),d=a.i(701904);async function e(a,b){if(!a.trim())return{approved:!1,error:"Feature id is required"};try{let d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{approved:!1,error:"Feature not found"};if(!e.agentRunId)return{approved:!1,error:"Feature has no agent run"};let f=(0,c.resolve)("ApproveAgentRunUseCase"),g=await f.execute(e.agentRunId,b);if(!g.approved)return{approved:!1,error:g.reason};return{approved:!0}}catch(a){return{approved:!1,error:a instanceof Error?a.message:"Failed to approve feature"}}}async function f(a,b,d){if(!a.trim())return{rejected:!1,error:"Feature id is required"};if(!b.trim())return{rejected:!1,error:"Feedback is required"};try{let e=(0,c.resolve)("IFeatureRepository"),f=await e.findById(a);if(!f)return{rejected:!1,error:"Feature not found"};if(!f.agentRunId)return{rejected:!1,error:"Feature has no agent run"};let g=(0,c.resolve)("RejectAgentRunUseCase"),h=await g.execute(f.agentRunId,b,d);if(!h.rejected)return{rejected:!1,error:h.reason};return{rejected:!0,iteration:h.iteration,iterationWarning:h.iterationWarning}}catch(a){return{rejected:!1,error:a instanceof Error?a.message:"Failed to reject feature"}}}async function g(a){if(!a.trim())return{error:"Feature id is required"};try{let b=(0,c.resolve)("GetFeatureArtifactUseCase"),d=await b.execute(a),e={question:"Goal",context:d.oneLiner,questions:d.openQuestions.map((a,b)=>({id:`q-${b}`,question:a.question,type:"select",options:(a.options??[]).map((a,c)=>({id:`q-${b}-opt-${c}`,label:a.option,rationale:a.description,...a.selected?{recommended:!0}:{}}))})),finalAction:{id:"approve-reqs",label:"Approve Requirements",description:"Finalize and lock the requirements for implementation"}},f={question:"Goal",context:d.oneLiner,questions:d.openQuestions.filter(a=>a.resolved).map(a=>{let b=a.options?.find(a=>a.selected);return{question:a.question,selectedOption:b?.option??a.answer??"N/A",rationale:a.selectionRationale??b?.description??"",wasRecommended:!1}})};return{questionnaire:e,productDecisions:f,artifact:d}}catch(a){return{error:a instanceof Error?a.message:"Failed to load feature artifact"}}}async function h(a){if(!a.trim())return{error:"Feature id is required"};try{var b;let d=(0,c.resolve)("GetResearchArtifactUseCase");return{techDecisions:{name:(b=await d.execute(a)).name,summary:b.summary,decisions:b.decisions,technologies:b.technologies}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load research artifact"}}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"60dcd9f29e8aa91d30e5ff74e0013d96d53d3563cb",null),a.s(["approveFeature",()=>e],561402),(0,d.ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"700a9f9e3c894048286175d7e1ca7cc647dd251990",null),a.s(["rejectFeature",()=>f],476052),(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"4023489daf45f55ef4760a1c2d450e6e8eaff69594",null),a.s(["getFeatureArtifact",()=>g],713008),(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"40ca342ae6e559524b654c7b7f5b1d3e9fa9d9a496",null),a.s(["getResearchArtifact",()=>h],374607);var i=a.i(666680),j=a.i(902157),k=a.i(750227),l=a.i(929918),m=a.i(632278),n=a.i(633244);async function o(a){if(!a.trim())return{error:"Feature id is required"};try{var b,d;let e,f,g=(0,c.resolve)("IFeatureRepository"),h=await g.findById(a);if(!h)return{error:"Feature not found"};let{workflow:o}=(0,n.getSettings)(),p=h.pr?{url:h.pr.url,number:h.pr.number,status:h.pr.status,commitHash:h.pr.commitHash,ciStatus:h.pr.ciStatus,mergeable:h.pr.mergeable}:void 0,q=h.worktreePath??(h.repositoryPath&&h.branch?(0,l.computeWorktreePath)(h.repositoryPath,h.branch):null),r=(0,c.resolve)("IGitPrService"),s=q??h.repositoryPath??null,t="main";if(s)try{t=await r.getDefaultBranch(s)}catch{}let u=h.branch?{source:h.branch,target:t}:void 0,v=h.repositoryPath?(b=h.repositoryPath,f=(0,i.createHash)("sha256").update(b).digest("hex").slice(0,16),(0,k.join)((0,m.getShepHomeDir)(),"repos",f,"evidence",a).replace(/\\/g,"/")):q?(0,k.join)((0,k.dirname)((0,k.dirname)(q)),"evidence",a).replace(/\\/g,"/"):null;if(v)try{let a=(0,k.join)(v,"manifest.json");if((0,j.existsSync)(a)){let b=(d=JSON.parse((0,j.readFileSync)(a,"utf-8")),d.map(a=>{if(a.relativePath.startsWith("/")){if((0,j.existsSync)(a.relativePath))return a;let b=(0,k.join)(v,(0,k.basename)(a.relativePath)).replace(/\\/g,"/");return(0,j.existsSync)(b)?{...a,relativePath:b}:a}let b=(0,k.join)(v,(0,k.basename)(a.relativePath)).replace(/\\/g,"/");return{...a,relativePath:b}})),c=new Set;e=b.filter(a=>{let b=`${a.type}:${a.relativePath}`;return!c.has(b)&&(c.add(b),!0)})}}catch{}if(!q)return{pr:p,branch:u,evidence:e,warning:p?void 0:"No PR or diff data available",hideCiStatus:o.hideCiStatus};try{let[a,b]=await Promise.all([r.getPrDiffSummary(q,t),r.getFileDiffs(q,t).catch(()=>void 0)]);return{pr:p,branch:u,diffSummary:a,fileDiffs:b,evidence:e,hideCiStatus:o.hideCiStatus}}catch{return{pr:p,branch:u,evidence:e,warning:"Diff statistics unavailable",hideCiStatus:o.hideCiStatus}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load merge review data"}}}async function p(a){if(!a.trim())return{error:"Feature id is required"};try{let b=(0,c.resolve)("IPhaseTimingRepository"),d=(await b.findByFeatureId(a)).map(a=>({agentRunId:a.agentRunId,phase:a.phase,startedAt:a.startedAt,completedAt:a.completedAt,durationMs:null!=a.durationMs?Number(a.durationMs):void 0,waitingApprovalAt:a.waitingApprovalAt,approvalWaitMs:null!=a.approvalWaitMs?Number(a.approvalWaitMs):void 0,inputTokens:null!=a.inputTokens?Number(a.inputTokens):void 0,outputTokens:null!=a.outputTokens?Number(a.outputTokens):void 0,cacheCreationInputTokens:null!=a.cacheCreationInputTokens?Number(a.cacheCreationInputTokens):void 0,cacheReadInputTokens:null!=a.cacheReadInputTokens?Number(a.cacheReadInputTokens):void 0,costUsd:null!=a.costUsd?Number(a.costUsd):void 0,numTurns:a.numTurns??void 0,durationApiMs:null!=a.durationApiMs?Number(a.durationApiMs):void 0,exitCode:a.exitCode??void 0,errorMessage:a.errorMessage??void 0,prompt:a.prompt??void 0})),e=await q(a);return{timings:d,rejectionFeedback:e}}catch(a){return{error:a instanceof Error?a.message:"Failed to load phase timings"}}}async function q(b){try{let d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(b);if(!e?.specPath)return[];let{readFileSync:f}=await a.A(606714),{join:g}=await a.A(311105),h=(await a.A(129718)).default,i=f(g(e.specPath,"spec.yaml"),"utf-8"),j=h.load(i);if(!Array.isArray(j?.rejectionFeedback))return[];return j.rejectionFeedback.map(a=>({iteration:Number(a.iteration??1),message:String(a.message??""),phase:a.phase?String(a.phase):void 0,timestamp:a.timestamp?String(a.timestamp):void 0,attachments:Array.isArray(a.attachments)?a.attachments.map(String):void 0}))}catch{return[]}}async function r(a){if(!a.trim())return{error:"Feature id is required"};try{let b=(0,c.resolve)("IFeatureRepository"),d=await b.findById(a);if(!d)return{error:"Feature not found"};if(!d.plan)return{plan:void 0};return{plan:{state:d.plan.state,overview:d.plan.overview,tasks:d.plan.tasks.map(a=>({title:a.title??"",description:a.description??"",state:a.state,actionItems:(a.actionItems??[]).map(a=>({name:a.name,description:a.description,acceptanceCriteria:(a.acceptanceCriteria??[]).map(a=>({description:a.description,verified:a.verified}))}))}))}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load feature plan"}}}async function s(a){if(!a?.trim())return{success:!1,error:"Feature id is required"};try{let b=(0,c.resolve)("RebaseFeatureOnMainUseCase");return await b.execute(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to rebase feature"}}}(0,d.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"40670f22a1c4db97ae9f171dcd8004a65cae51514f",null),a.s(["getMergeReviewData",()=>o],806542),(0,d.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"40a1dfeb0c4028e2fd78b414b460a3dbc7e55cb352",null),a.s(["getFeaturePhaseTimings",()=>p],300740),(0,d.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"407cb06522d71e8556a0cafd8a422db8fd0248e5c4",null),a.s(["getFeaturePlan",()=>r],312104),(0,d.ensureServerEntryExports)([s]),(0,b.registerServerReference)(s,"40667e8d83be8f127aa2626401e1fa11b92d8cc936",null),a.s(["rebaseFeature",()=>s],470319);var t=a.i(931747);async function u(a){try{let b=(0,c.resolve)("IFeatureRepository"),d=(0,c.resolve)("IAgentRunRepository"),e=(0,c.resolve)("IRepositoryRepository"),f=(0,c.resolve)("IGitPrService"),g=(0,c.resolve)("GetFeatureArtifactUseCase"),h=await b.findById(a);if(!h)return null;let i=h.agentRunId?await d.findById(h.agentRunId):null,[j,k,l,m]=await Promise.all([e.findByPath(h.repositoryPath).catch(()=>null),f.getDefaultBranch(h.repositoryPath).catch(()=>"main"),g.execute(a).catch(()=>null),f.getRemoteUrl(h.repositoryPath).catch(()=>null)]),{workflow:o}=(0,n.getSettings)();return(0,t.buildFeatureNodeData)(h,i,{repositoryName:j?.name,baseBranch:k,oneLiner:l?.oneLiner,remoteUrl:m??void 0,enableEvidence:o.enableEvidence,commitEvidence:o.commitEvidence,hideCiStatus:o.hideCiStatus})}catch{return null}}async function v(a){if(!a?.trim())return{success:!1,error:"Feature id is required"};try{let b=(0,c.resolve)("GetBranchSyncStatusUseCase"),d=await b.execute(a);return{success:!0,data:{...d,checkedAt:new Date().toISOString()}}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to get branch sync status"}}}async function w(a,b,d){let e=a.trim();if(!e)return{ok:!1,error:"Feature id is required"};let f=b.trim();if(!f)return{ok:!1,error:"Agent type is required"};let g=d.trim();if(!g)return{ok:!1,error:"Model id is required"};try{let a=(0,c.resolve)("UpdateFeaturePinnedConfigUseCase");return await a.execute({featureId:e,agentType:f,modelId:g}),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:"Failed to update feature pinned config"}}}(0,d.ensureServerEntryExports)([u]),(0,b.registerServerReference)(u,"4075b67f1214e01b53f2842773cf564661ab200239",null),a.s(["getFeatureDrawerData",()=>u],654433),(0,d.ensureServerEntryExports)([v]),(0,b.registerServerReference)(v,"40659eeeeea8ce11631b5b7eaee4d1d4f4eb0767bc",null),a.s(["getBranchSyncStatus",()=>v],159020),(0,d.ensureServerEntryExports)([w]),(0,b.registerServerReference)(w,"70ba4514b0233187cbee4eb7e07d7f2d333c411b24",null),a.s(["updateFeaturePinnedConfig",()=>w],381866)},485216,a=>{"use strict";var b=a.i(723504),c=a.i(408115),d=a.i(827900),e=a.i(912513),f=a.i(673101),g=a.i(654775),h=a.i(265324),i=a.i(433841),j=a.i(46646),k=a.i(868378),l=a.i(268670),m=a.i(685321),n=a.i(284095),o=a.i(656799),p=a.i(280496),q=a.i(93225),r=a.i(794691),s=a.i(477710),t=a.i(145395),u=a.i(576707),v=a.i(410528),w=a.i(150845),x=a.i(26604),y=a.i(354723),z=a.i(118942),A=a.i(342886),B=a.i(649560),C=a.i(839353),D=a.i(495072),E=a.i(529207),F=a.i(561402),G=a.i(476052),H=a.i(713008),I=a.i(374607),J=a.i(806542),K=a.i(300740),L=a.i(312104),M=a.i(470319),N=a.i(654433),O=a.i(159020),P=a.i(381866);a.s([],504399),a.i(504399),a.s(["0026d01a354f61d318a336fbe2eaa3f03edc9f91b0",()=>e.pickFolder,"0051115904c7c48c39887ceb6a80a41b51f5fc6b9f",()=>c.checkAllAgentsStatus,"00ceb168cfa95261f0ad5acf0245521784c59f91d1",()=>g.listGitHubOrganizations,"00e58c190532f4f50a563fe350b5346d8a7fe34107",()=>b.getAllAgentModels,"40026de899f93ce7cd1fdf1a0ee013dad77cdc4f03",()=>i.deployFeature,"4003e1e65aa50b5b09a38599cdccb3e32c2878486d",()=>o.openShell,"40056e511672e2b15b007420d6caf2a4ecbe84f7d2",()=>z.stopFeature,"40108be7384990f668028a97284b5ae9db570b1965",()=>j.deployRepository,"40185e494ec9965b5eb897ead254f405942feddbe4",()=>p.openFolder,"402046d017b7878c27edecd35df9b66f617c5c35b1",()=>h.importGitHubRepository,"4022e99fd1109ed481cdbf922bc4f6eca754e5c8cc",()=>D.deleteApplication,"4023489daf45f55ef4760a1c2d450e6e8eaff69594",()=>H.getFeatureArtifact,"402bc18b44955b04712cc126ca0b646a9d335ef665",()=>r.getDeploymentLogs,"40309517ef69e6981b73668a01296bf84986387c4b",()=>s.createProjectAndFeature,"403c68c0fb3149fa66e2f1bf3cdafce602c03d178a",()=>E.getFeatureMetadata,"4040af9db3d92788388c71955f66fe089bc00af285",()=>t.createApplication,"40425dc4804963cdc2f5af0bdc1e7594e877baaf11",()=>l.stopDeployment,"405ba36a174454edd8c4884fea71908131dbb28deb",()=>n.openIde,"40659eeeeea8ce11631b5b7eaee4d1d4f4eb0767bc",()=>O.getBranchSyncStatus,"40667e8d83be8f127aa2626401e1fa11b92d8cc936",()=>M.rebaseFeature,"40670f22a1c4db97ae9f171dcd8004a65cae51514f",()=>J.getMergeReviewData,"4068aa4314db3f10ca9083bde9fd0a6dc02db26611",()=>x.resumeFeature,"406ab339771a114a1501034cb03daface929b6416e",()=>y.startFeature,"406e6f424ebf1e3b734864e08e09226a559105f605",()=>k.deployApplication,"40752429db6c2affbe28371b2d29f2df6d2f82ce8f",()=>A.unarchiveFeature,"4075b67f1214e01b53f2842773cf564661ab200239",()=>N.getFeatureDrawerData,"407933e29bdf31a817ba00ca0205380ff0931b74cc",()=>q.syncRepository,"407cb06522d71e8556a0cafd8a422db8fd0248e5c4",()=>L.getFeaturePlan,"407d6cc5e3c1b63788f6895294bfa6e220c2db5e3d",()=>v.archiveFeature,"4093a1859c212ac80e0abd7242ba7d97cc71d682c4",()=>u.createProjectFolder,"40978ff740f2484d7f08bafd677da4d039256d0089",()=>f.listGitHubRepositories,"40a1dfeb0c4028e2fd78b414b460a3dbc7e55cb352",()=>K.getFeaturePhaseTimings,"40c41b1d78b1db31bd74b6dd3d00b9372445a9200b",()=>B.addRepository,"40ca342ae6e559524b654c7b7f5b1d3e9fa9d9a496",()=>I.getResearchArtifact,"40eb5c7ddaa143cbe9dc2c73f7bb19a5d89b533a7d",()=>m.getDeploymentStatus,"606d13f3bd634e57be02843508a61d20c7f83dd854",()=>d.updateAgentAndModel,"60dcd9f29e8aa91d30e5ff74e0013d96d53d3563cb",()=>F.approveFeature,"60e55dd72100553b711e44566fae95c8eca7f9f4b0",()=>C.deleteRepository,"700a9f9e3c894048286175d7e1ca7cc647dd251990",()=>G.rejectFeature,"70ba4514b0233187cbee4eb7e07d7f2d333c411b24",()=>P.updateFeaturePinnedConfig,"78695170351180afd4c389fd260300eaa50553dff4",()=>w.deleteFeature],485216)},606714,a=>{a.v(a=>Promise.resolve().then(()=>a(902157)))},311105,a=>{a.v(a=>Promise.resolve().then(()=>a(750227)))},129718,a=>{a.v(b=>Promise.all(["server/chunks/ssr/90b01_js-yaml_dist_js-yaml_mjs_c897fb57._.js"].map(b=>a.l(b))).then(()=>b(732996)))}];
1
+ module.exports=[931747,a=>{"use strict";var b=a.i(881719),c=a.i(914703),d=a.i(679372),e=a.i(929918);function f(a,f,g){let h=(f?.status===b.AgentRunStatus.running||f?.status===b.AgentRunStatus.pending)&&f?.pid?(0,d.isProcessAlive)(f.pid):void 0;return{name:a.name,description:a.description??a.slug,featureId:a.id,lifecycle:(0,c.deriveLifecycle)(a,f),repositoryPath:a.repositoryPath,branch:a.branch,worktreePath:a.worktreePath??(0,e.computeWorktreePath)(a.repositoryPath,a.branch),specPath:a.specPath,state:(0,c.deriveNodeState)(a,f,void 0!==h?{isPidAlive:h}:void 0),progress:(0,c.deriveProgress)(a),summary:a.description,userQuery:a.userQuery,createdAt:a.createdAt instanceof Date?a.createdAt.getTime():a.createdAt,...a.fast&&{fastMode:!0},approvalGates:a.approvalGates,push:a.push,openPr:a.openPr,forkAndPr:a.forkAndPr,commitSpecs:a.commitSpecs,enableEvidence:a.enableEvidence??g?.enableEvidence??!1,commitEvidence:a.commitEvidence??g?.commitEvidence??!1,ciWatchEnabled:a.ciWatchEnabled??g?.ciWatchEnabled??!0,...g?.hideCiStatus!=null&&{hideCiStatus:g.hideCiStatus},...g?.repositoryName&&{repositoryName:g.repositoryName},...g?.baseBranch&&{baseBranch:g.baseBranch},...g?.oneLiner&&{oneLiner:g.oneLiner},...g?.remoteUrl&&{remoteUrl:g.remoteUrl},...f?.agentType&&{agentType:f.agentType},...f?.modelId&&{modelId:f.modelId},...f?.error&&{errorMessage:f.error},...null!=a.agentRunId&&{hasAgentRun:!0},...null!=a.plan&&{hasPlan:!0},...a.injectSkills&&{injectSkills:!0},...a.injectedSkills?.length&&{injectedSkills:a.injectedSkills},...a.pr&&{pr:{url:a.pr.url,number:a.pr.number,status:a.pr.status,ciStatus:a.pr.ciStatus,commitHash:a.pr.commitHash,mergeable:a.pr.mergeable}}}}a.s(["buildFeatureNodeData",()=>f])},561402,476052,713008,374607,806542,300740,312104,470319,654433,159020,381866,a=>{"use strict";var b=a.i(237705),c=a.i(996380),d=a.i(701904);async function e(a,b){if(!a.trim())return{approved:!1,error:"Feature id is required"};try{let d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{approved:!1,error:"Feature not found"};if(!e.agentRunId)return{approved:!1,error:"Feature has no agent run"};let f=(0,c.resolve)("ApproveAgentRunUseCase"),g=await f.execute(e.agentRunId,b);if(!g.approved)return{approved:!1,error:g.reason};return{approved:!0}}catch(a){return{approved:!1,error:a instanceof Error?a.message:"Failed to approve feature"}}}async function f(a,b,d){if(!a.trim())return{rejected:!1,error:"Feature id is required"};if(!b.trim())return{rejected:!1,error:"Feedback is required"};try{let e=(0,c.resolve)("IFeatureRepository"),f=await e.findById(a);if(!f)return{rejected:!1,error:"Feature not found"};if(!f.agentRunId)return{rejected:!1,error:"Feature has no agent run"};let g=(0,c.resolve)("RejectAgentRunUseCase"),h=await g.execute(f.agentRunId,b,d);if(!h.rejected)return{rejected:!1,error:h.reason};return{rejected:!0,iteration:h.iteration,iterationWarning:h.iterationWarning}}catch(a){return{rejected:!1,error:a instanceof Error?a.message:"Failed to reject feature"}}}async function g(a){if(!a.trim())return{error:"Feature id is required"};try{let b=(0,c.resolve)("GetFeatureArtifactUseCase"),d=await b.execute(a),e={question:"Goal",context:d.oneLiner,questions:d.openQuestions.map((a,b)=>({id:`q-${b}`,question:a.question,type:"select",options:(a.options??[]).map((a,c)=>({id:`q-${b}-opt-${c}`,label:a.option,rationale:a.description,...a.selected?{recommended:!0}:{}}))})),finalAction:{id:"approve-reqs",label:"Approve Requirements",description:"Finalize and lock the requirements for implementation"}},f={question:"Goal",context:d.oneLiner,questions:d.openQuestions.filter(a=>a.resolved).map(a=>{let b=a.options?.find(a=>a.selected);return{question:a.question,selectedOption:b?.option??a.answer??"N/A",rationale:a.selectionRationale??b?.description??"",wasRecommended:!1}})};return{questionnaire:e,productDecisions:f,artifact:d}}catch(a){return{error:a instanceof Error?a.message:"Failed to load feature artifact"}}}async function h(a){if(!a.trim())return{error:"Feature id is required"};try{var b;let d=(0,c.resolve)("GetResearchArtifactUseCase");return{techDecisions:{name:(b=await d.execute(a)).name,summary:b.summary,decisions:b.decisions,technologies:b.technologies}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load research artifact"}}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"6053f84a219b8c99f7ebb5eabef86a425b5e5149d9",null),a.s(["approveFeature",()=>e],561402),(0,d.ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"70b4322ba34d8e68eeacb638e2489033505c6d95d8",null),a.s(["rejectFeature",()=>f],476052),(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"40f670b423ffbc6b2b087c0e9ce3ee4e17ba74b8f4",null),a.s(["getFeatureArtifact",()=>g],713008),(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"406db17873ab09320dfffe3615dfd82d6138b90f6a",null),a.s(["getResearchArtifact",()=>h],374607);var i=a.i(666680),j=a.i(902157),k=a.i(750227),l=a.i(929918),m=a.i(632278),n=a.i(633244);async function o(a){if(!a.trim())return{error:"Feature id is required"};try{var b,d;let e,f,g=(0,c.resolve)("IFeatureRepository"),h=await g.findById(a);if(!h)return{error:"Feature not found"};let{workflow:o}=(0,n.getSettings)(),p=h.pr?{url:h.pr.url,number:h.pr.number,status:h.pr.status,commitHash:h.pr.commitHash,ciStatus:h.pr.ciStatus,mergeable:h.pr.mergeable}:void 0,q=h.worktreePath??(h.repositoryPath&&h.branch?(0,l.computeWorktreePath)(h.repositoryPath,h.branch):null),r=(0,c.resolve)("IGitPrService"),s=q??h.repositoryPath??null,t="main";if(s)try{t=await r.getDefaultBranch(s)}catch{}let u=h.branch?{source:h.branch,target:t}:void 0,v=h.repositoryPath?(b=h.repositoryPath,f=(0,i.createHash)("sha256").update(b).digest("hex").slice(0,16),(0,k.join)((0,m.getShepHomeDir)(),"repos",f,"evidence",a).replace(/\\/g,"/")):q?(0,k.join)((0,k.dirname)((0,k.dirname)(q)),"evidence",a).replace(/\\/g,"/"):null;if(v)try{let a=(0,k.join)(v,"manifest.json");if((0,j.existsSync)(a)){let b=(d=JSON.parse((0,j.readFileSync)(a,"utf-8")),d.map(a=>{if(a.relativePath.startsWith("/")){if((0,j.existsSync)(a.relativePath))return a;let b=(0,k.join)(v,(0,k.basename)(a.relativePath)).replace(/\\/g,"/");return(0,j.existsSync)(b)?{...a,relativePath:b}:a}let b=(0,k.join)(v,(0,k.basename)(a.relativePath)).replace(/\\/g,"/");return{...a,relativePath:b}})),c=new Set;e=b.filter(a=>{let b=`${a.type}:${a.relativePath}`;return!c.has(b)&&(c.add(b),!0)})}}catch{}if(!q)return{pr:p,branch:u,evidence:e,warning:p?void 0:"No PR or diff data available",hideCiStatus:o.hideCiStatus};try{let[a,b]=await Promise.all([r.getPrDiffSummary(q,t),r.getFileDiffs(q,t).catch(()=>void 0)]);return{pr:p,branch:u,diffSummary:a,fileDiffs:b,evidence:e,hideCiStatus:o.hideCiStatus}}catch{return{pr:p,branch:u,evidence:e,warning:"Diff statistics unavailable",hideCiStatus:o.hideCiStatus}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load merge review data"}}}async function p(a){if(!a.trim())return{error:"Feature id is required"};try{let b=(0,c.resolve)("IPhaseTimingRepository"),d=(await b.findByFeatureId(a)).map(a=>({agentRunId:a.agentRunId,phase:a.phase,startedAt:a.startedAt,completedAt:a.completedAt,durationMs:null!=a.durationMs?Number(a.durationMs):void 0,waitingApprovalAt:a.waitingApprovalAt,approvalWaitMs:null!=a.approvalWaitMs?Number(a.approvalWaitMs):void 0,inputTokens:null!=a.inputTokens?Number(a.inputTokens):void 0,outputTokens:null!=a.outputTokens?Number(a.outputTokens):void 0,cacheCreationInputTokens:null!=a.cacheCreationInputTokens?Number(a.cacheCreationInputTokens):void 0,cacheReadInputTokens:null!=a.cacheReadInputTokens?Number(a.cacheReadInputTokens):void 0,costUsd:null!=a.costUsd?Number(a.costUsd):void 0,numTurns:a.numTurns??void 0,durationApiMs:null!=a.durationApiMs?Number(a.durationApiMs):void 0,exitCode:a.exitCode??void 0,errorMessage:a.errorMessage??void 0,prompt:a.prompt??void 0})),e=await q(a);return{timings:d,rejectionFeedback:e}}catch(a){return{error:a instanceof Error?a.message:"Failed to load phase timings"}}}async function q(b){try{let d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(b);if(!e?.specPath)return[];let{readFileSync:f}=await a.A(606714),{join:g}=await a.A(311105),h=(await a.A(129718)).default,i=f(g(e.specPath,"spec.yaml"),"utf-8"),j=h.load(i);if(!Array.isArray(j?.rejectionFeedback))return[];return j.rejectionFeedback.map(a=>({iteration:Number(a.iteration??1),message:String(a.message??""),phase:a.phase?String(a.phase):void 0,timestamp:a.timestamp?String(a.timestamp):void 0,attachments:Array.isArray(a.attachments)?a.attachments.map(String):void 0}))}catch{return[]}}async function r(a){if(!a.trim())return{error:"Feature id is required"};try{let b=(0,c.resolve)("IFeatureRepository"),d=await b.findById(a);if(!d)return{error:"Feature not found"};if(!d.plan)return{plan:void 0};return{plan:{state:d.plan.state,overview:d.plan.overview,tasks:d.plan.tasks.map(a=>({title:a.title??"",description:a.description??"",state:a.state,actionItems:(a.actionItems??[]).map(a=>({name:a.name,description:a.description,acceptanceCriteria:(a.acceptanceCriteria??[]).map(a=>({description:a.description,verified:a.verified}))}))}))}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load feature plan"}}}async function s(a){if(!a?.trim())return{success:!1,error:"Feature id is required"};try{let b=(0,c.resolve)("RebaseFeatureOnMainUseCase");return await b.execute(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to rebase feature"}}}(0,d.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"40b8e6ea94b5f9944be0a3f24f5393c0f684eadf42",null),a.s(["getMergeReviewData",()=>o],806542),(0,d.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"40205af8575897c3ce74dfd3db8318e5a1ce64e132",null),a.s(["getFeaturePhaseTimings",()=>p],300740),(0,d.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"40ac64c983f1ab164e5dd0b685b39ca9eeef1ec260",null),a.s(["getFeaturePlan",()=>r],312104),(0,d.ensureServerEntryExports)([s]),(0,b.registerServerReference)(s,"409a7947e211955f1160024012f48f4684761e684c",null),a.s(["rebaseFeature",()=>s],470319);var t=a.i(931747);async function u(a){try{let b=(0,c.resolve)("IFeatureRepository"),d=(0,c.resolve)("IAgentRunRepository"),e=(0,c.resolve)("IRepositoryRepository"),f=(0,c.resolve)("IGitPrService"),g=(0,c.resolve)("GetFeatureArtifactUseCase"),h=await b.findById(a);if(!h)return null;let i=h.agentRunId?await d.findById(h.agentRunId):null,[j,k,l,m]=await Promise.all([e.findByPath(h.repositoryPath).catch(()=>null),f.getDefaultBranch(h.repositoryPath).catch(()=>"main"),g.execute(a).catch(()=>null),f.getRemoteUrl(h.repositoryPath).catch(()=>null)]),{workflow:o}=(0,n.getSettings)();return(0,t.buildFeatureNodeData)(h,i,{repositoryName:j?.name,baseBranch:k,oneLiner:l?.oneLiner,remoteUrl:m??void 0,enableEvidence:o.enableEvidence,commitEvidence:o.commitEvidence,hideCiStatus:o.hideCiStatus})}catch{return null}}async function v(a){if(!a?.trim())return{success:!1,error:"Feature id is required"};try{let b=(0,c.resolve)("GetBranchSyncStatusUseCase"),d=await b.execute(a);return{success:!0,data:{...d,checkedAt:new Date().toISOString()}}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to get branch sync status"}}}async function w(a,b,d){let e=a.trim();if(!e)return{ok:!1,error:"Feature id is required"};let f=b.trim();if(!f)return{ok:!1,error:"Agent type is required"};let g=d.trim();if(!g)return{ok:!1,error:"Model id is required"};try{let a=(0,c.resolve)("UpdateFeaturePinnedConfigUseCase");return await a.execute({featureId:e,agentType:f,modelId:g}),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:"Failed to update feature pinned config"}}}(0,d.ensureServerEntryExports)([u]),(0,b.registerServerReference)(u,"401e329acf6c49d95da3ade673b0eff06b35e94ec8",null),a.s(["getFeatureDrawerData",()=>u],654433),(0,d.ensureServerEntryExports)([v]),(0,b.registerServerReference)(v,"402e64b65e7f76b351417907f61364af51a68cbb31",null),a.s(["getBranchSyncStatus",()=>v],159020),(0,d.ensureServerEntryExports)([w]),(0,b.registerServerReference)(w,"704913f0c24873a17276e2c49ce4d5abbf2563dc6f",null),a.s(["updateFeaturePinnedConfig",()=>w],381866)},485216,a=>{"use strict";var b=a.i(723504),c=a.i(408115),d=a.i(827900),e=a.i(912513),f=a.i(673101),g=a.i(654775),h=a.i(265324),i=a.i(433841),j=a.i(46646),k=a.i(868378),l=a.i(268670),m=a.i(685321),n=a.i(284095),o=a.i(656799),p=a.i(280496),q=a.i(93225),r=a.i(794691),s=a.i(477710),t=a.i(145395),u=a.i(576707),v=a.i(410528),w=a.i(150845),x=a.i(26604),y=a.i(354723),z=a.i(118942),A=a.i(342886),B=a.i(649560),C=a.i(839353),D=a.i(495072),E=a.i(529207),F=a.i(561402),G=a.i(476052),H=a.i(713008),I=a.i(374607),J=a.i(806542),K=a.i(300740),L=a.i(312104),M=a.i(470319),N=a.i(654433),O=a.i(159020),P=a.i(381866);a.s([],504399),a.i(504399),a.s(["0043cd6e19253a2d16dc67a5901ebb633d69833ade",()=>c.checkAllAgentsStatus,"00584ba29510fd7c0be9b91334a285c4d817194eee",()=>b.getAllAgentModels,"0078bc13465fe3668327a14d98f99dfd5eac466eb4",()=>e.pickFolder,"00aab2d6cd7bcd302a4b0575332c7db62ad6f979f6",()=>g.listGitHubOrganizations,"401e329acf6c49d95da3ade673b0eff06b35e94ec8",()=>N.getFeatureDrawerData,"40205af8575897c3ce74dfd3db8318e5a1ce64e132",()=>K.getFeaturePhaseTimings,"40244bfc95e7a17826b27ab71a3c04594ccb269273",()=>y.startFeature,"402e4106a7cb1ea8fce516e1b8d65d3ea4881bea76",()=>q.syncRepository,"402e64b65e7f76b351417907f61364af51a68cbb31",()=>O.getBranchSyncStatus,"4035404c565ec563e53bb087f3016ac724f18641b7",()=>l.stopDeployment,"4035f16d1d7200978f71b7365fbaa43488da78aab0",()=>p.openFolder,"40463bec95ad46672c677da03586c1c32b51cc3275",()=>B.addRepository,"404d5c2ef2d3edbb30c8a6f7615e4e6bcb1d83defc",()=>z.stopFeature,"40630a38df580440120c7d9746bf2041ac6b44ef6e",()=>t.createApplication,"40679858f1700b41394164126537b7015593462023",()=>m.getDeploymentStatus,"406950082d9d1673e9728cfd703cce027b3df3384d",()=>x.resumeFeature,"406db17873ab09320dfffe3615dfd82d6138b90f6a",()=>I.getResearchArtifact,"407cf2682ef5cf2e45d4a60c03fd11a3ab8e6764d3",()=>r.getDeploymentLogs,"4098baf238aae59bad95dd063affbe654d081aab4a",()=>h.importGitHubRepository,"409a7947e211955f1160024012f48f4684761e684c",()=>M.rebaseFeature,"40a48198cf82b00b42c5eeda0cf538d8e321863415",()=>o.openShell,"40ac64c983f1ab164e5dd0b685b39ca9eeef1ec260",()=>L.getFeaturePlan,"40b0bc115ee7a3a83ed1f51d0a66b3aecb322030f7",()=>f.listGitHubRepositories,"40b8e6ea94b5f9944be0a3f24f5393c0f684eadf42",()=>J.getMergeReviewData,"40bb5d3a23e65df083ac89710c30eb7ca870be47ab",()=>E.getFeatureMetadata,"40c2dfc201f60c6eb2d188c775421d5a1c1d27d360",()=>i.deployFeature,"40cd2327774da4281c3bc9ec254c5afd33df989a47",()=>s.createProjectAndFeature,"40d3dcaa40abac063f9155e8cac718b752ea116d6a",()=>A.unarchiveFeature,"40d6b3c68d920910e1ff11f6b80cb1f4bfab991213",()=>u.createProjectFolder,"40eb302a54ace31f960436e310a81d3a716383aac2",()=>n.openIde,"40ef55ae5a133449ecbb070c35bd64baad0c1041ea",()=>v.archiveFeature,"40f071462c1f272b773937160004afa67c7eebc4f4",()=>D.deleteApplication,"40f670b423ffbc6b2b087c0e9ce3ee4e17ba74b8f4",()=>H.getFeatureArtifact,"40f83bf51a8dc854a30d415481bc43400636d47e4c",()=>j.deployRepository,"40fb405850076189f008c5fef22d2c4477ff0c3acb",()=>k.deployApplication,"6053f84a219b8c99f7ebb5eabef86a425b5e5149d9",()=>F.approveFeature,"605838af0c239df955e6df9a4f0dcb4bc74c6e3c64",()=>C.deleteRepository,"60ab01fde7b0ffd0ac818e50594ad0b7c627cd268c",()=>d.updateAgentAndModel,"704913f0c24873a17276e2c49ce4d5abbf2563dc6f",()=>P.updateFeaturePinnedConfig,"70b4322ba34d8e68eeacb638e2489033505c6d95d8",()=>G.rejectFeature,"78959196d172cdd983f97bcaad2724697698d2c806",()=>w.deleteFeature],485216)},606714,a=>{a.v(a=>Promise.resolve().then(()=>a(902157)))},311105,a=>{a.v(a=>Promise.resolve().then(()=>a(750227)))},129718,a=>{a.v(b=>Promise.all(["server/chunks/ssr/90b01_js-yaml_dist_js-yaml_mjs_c897fb57._.js"].map(b=>a.l(b))).then(()=>b(732996)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__149d89d9._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__ff5a5243._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/presentation/web/app/build-feature-node-data.ts","../../../../../../../src/presentation/web/app/actions/approve-feature.ts","../../../../../../../src/presentation/web/app/actions/reject-feature.ts","../../../../../../../src/presentation/web/app/actions/get-feature-artifact.ts","../../../../../../../src/presentation/web/app/actions/get-research-artifact.ts","../../../../../../../src/presentation/web/app/actions/get-merge-review-data.ts","../../../../../../../src/presentation/web/app/actions/get-feature-phase-timings.ts","../../../../../../../src/presentation/web/app/actions/get-feature-plan.ts","../../../../../../../src/presentation/web/app/actions/rebase-feature.ts","../../../../../../../src/presentation/web/app/actions/get-feature-drawer-data.ts","../../../../../../../src/presentation/web/app/actions/get-branch-sync-status.ts","../../../../../../../src/presentation/web/app/actions/update-feature-pinned-config.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/feature/%5BfeatureId%5D/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["import type { Feature, AgentRun } from '@shepai/core/domain/generated/output';\nimport { AgentRunStatus } from '@shepai/core/domain/generated/output';\nimport {\n deriveNodeState,\n deriveProgress,\n deriveLifecycle,\n} from '@/components/common/feature-node/derive-feature-state';\nimport { isProcessAlive } from '@shepai/core/infrastructure/services/process/is-process-alive';\nimport { computeWorktreePath } from '@shepai/core/infrastructure/services/ide-launchers/compute-worktree-path';\nimport type { FeatureNodeData } from '@/components/common/feature-node';\n\nexport interface BuildFeatureNodeDataOptions {\n baseBranch?: string;\n repositoryName?: string;\n /** AI-generated one-liner from FeatureArtifact */\n oneLiner?: string;\n /** Remote URL for the repository (HTTPS) */\n remoteUrl?: string;\n /** Whether evidence collection is enabled (global workflow setting) */\n enableEvidence?: boolean;\n /** Whether evidence is committed to the PR body (global workflow setting) */\n commitEvidence?: boolean;\n /** Whether CI watch/fix loop is enabled (global workflow setting) */\n ciWatchEnabled?: boolean;\n /** Whether to hide CI status badges from UI (global workflow setting) */\n hideCiStatus?: boolean;\n}\n\n/**\n * Builds a FeatureNodeData object from a Feature entity and optional AgentRun.\n * This is the single-feature version of the logic in `buildGraphNodes`.\n */\nexport function buildFeatureNodeData(\n feature: Feature,\n run: AgentRun | null,\n options?: BuildFeatureNodeDataOptions\n): FeatureNodeData {\n // Detect crashed agents: DB says running/pending but PID is dead\n const isActive = run?.status === AgentRunStatus.running || run?.status === AgentRunStatus.pending;\n const pidAlive = isActive && run?.pid ? isProcessAlive(run.pid) : undefined;\n\n return {\n name: feature.name,\n description: feature.description ?? feature.slug,\n featureId: feature.id,\n lifecycle: deriveLifecycle(feature, run),\n repositoryPath: feature.repositoryPath,\n branch: feature.branch,\n worktreePath:\n feature.worktreePath ?? computeWorktreePath(feature.repositoryPath, feature.branch),\n specPath: feature.specPath,\n state: deriveNodeState(\n feature,\n run,\n pidAlive !== undefined ? { isPidAlive: pidAlive } : undefined\n ),\n progress: deriveProgress(feature),\n summary: feature.description,\n userQuery: feature.userQuery,\n createdAt: feature.createdAt instanceof Date ? feature.createdAt.getTime() : feature.createdAt,\n ...(feature.fast && { fastMode: true }),\n approvalGates: feature.approvalGates,\n push: feature.push,\n openPr: feature.openPr,\n forkAndPr: feature.forkAndPr,\n commitSpecs: feature.commitSpecs,\n enableEvidence: feature.enableEvidence ?? options?.enableEvidence ?? false,\n commitEvidence: feature.commitEvidence ?? options?.commitEvidence ?? false,\n ciWatchEnabled: feature.ciWatchEnabled ?? options?.ciWatchEnabled ?? true,\n ...(options?.hideCiStatus != null && { hideCiStatus: options.hideCiStatus }),\n ...(options?.repositoryName && { repositoryName: options.repositoryName }),\n ...(options?.baseBranch && { baseBranch: options.baseBranch }),\n ...(options?.oneLiner && { oneLiner: options.oneLiner }),\n ...(options?.remoteUrl && { remoteUrl: options.remoteUrl }),\n ...(run?.agentType && { agentType: run.agentType as FeatureNodeData['agentType'] }),\n ...(run?.modelId && { modelId: run.modelId }),\n ...(run?.error && { errorMessage: run.error }),\n ...(feature.agentRunId != null && { hasAgentRun: true }),\n ...(feature.plan != null && { hasPlan: true }),\n ...(feature.injectSkills && { injectSkills: true }),\n ...(feature.injectedSkills?.length && { injectedSkills: feature.injectedSkills }),\n ...(feature.pr && {\n pr: {\n url: feature.pr.url,\n number: feature.pr.number,\n status: feature.pr.status,\n ciStatus: feature.pr.ciStatus,\n commitHash: feature.pr.commitHash,\n mergeable: feature.pr.mergeable,\n },\n }),\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ApproveAgentRunUseCase } from '@shepai/core/application/use-cases/agents/approve-agent-run.use-case';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\nimport type { PrdApprovalPayload } from '@shepai/core/domain/generated/output';\n\nexport async function approveFeature(\n featureId: string,\n payload?: PrdApprovalPayload\n): Promise<{ approved: boolean; error?: string }> {\n if (!featureId.trim()) {\n return { approved: false, error: 'Feature id is required' };\n }\n\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n\n if (!feature) {\n return { approved: false, error: 'Feature not found' };\n }\n\n if (!feature.agentRunId) {\n return { approved: false, error: 'Feature has no agent run' };\n }\n\n // Always use ApproveAgentRunUseCase — it handles waitingApproval, failed,\n // and interrupted statuses. This ensures approval is propagated via\n // Command({update: {_approvalAction: 'approved'}}) so the graph node\n // receives it on resume.\n const approveUseCase = resolve<ApproveAgentRunUseCase>('ApproveAgentRunUseCase');\n const result = await approveUseCase.execute(feature.agentRunId, payload);\n\n if (!result.approved) {\n return { approved: false, error: result.reason };\n }\n\n return { approved: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to approve feature';\n return { approved: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { RejectAgentRunUseCase } from '@shepai/core/application/use-cases/agents/reject-agent-run.use-case';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\n\nexport async function rejectFeature(\n featureId: string,\n feedback: string,\n attachments?: string[]\n): Promise<{\n rejected: boolean;\n iteration?: number;\n iterationWarning?: boolean;\n error?: string;\n}> {\n if (!featureId.trim()) {\n return { rejected: false, error: 'Feature id is required' };\n }\n\n if (!feedback.trim()) {\n return { rejected: false, error: 'Feedback is required' };\n }\n\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n\n if (!feature) {\n return { rejected: false, error: 'Feature not found' };\n }\n\n if (!feature.agentRunId) {\n return { rejected: false, error: 'Feature has no agent run' };\n }\n\n // Always use RejectAgentRunUseCase — it handles waitingApproval, failed,\n // and interrupted statuses. This ensures rejection feedback is propagated\n // via Command({update: {_approvalAction, _rejectionFeedback}}) so the\n // graph node receives the feedback on resume.\n const rejectUseCase = resolve<RejectAgentRunUseCase>('RejectAgentRunUseCase');\n const result = await rejectUseCase.execute(feature.agentRunId, feedback, attachments);\n\n if (!result.rejected) {\n return { rejected: false, error: result.reason };\n }\n\n return {\n rejected: true,\n iteration: result.iteration,\n iterationWarning: result.iterationWarning,\n };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to reject feature';\n return { rejected: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetFeatureArtifactUseCase } from '@shepai/core/application/use-cases/features/get-feature-artifact.use-case';\nimport type { FeatureArtifact } from '@shepai/core/domain/generated/output';\nimport type { PrdQuestionnaireData } from '@shepai/core/domain/generated/output';\nimport type { ProductDecisionsSummaryData } from '@/components/common/product-decisions-summary';\n\ninterface GetFeatureArtifactResult {\n questionnaire?: PrdQuestionnaireData;\n productDecisions?: ProductDecisionsSummaryData;\n artifact?: FeatureArtifact;\n error?: string;\n}\n\n/**\n * Map FeatureArtifact openQuestions into the PrdQuestionnaireData shape\n * expected by the PrdQuestionnaireDrawer component.\n */\nfunction toQuestionnaireData(artifact: FeatureArtifact): PrdQuestionnaireData {\n return {\n question: 'Goal',\n context: artifact.oneLiner,\n questions: artifact.openQuestions.map((oq, idx) => ({\n id: `q-${idx}`,\n question: oq.question,\n type: 'select' as const,\n options: (oq.options ?? []).map((opt, optIdx) => ({\n id: `q-${idx}-opt-${optIdx}`,\n label: opt.option,\n rationale: opt.description,\n ...(opt.selected ? { recommended: true } : {}),\n })),\n })),\n finalAction: {\n id: 'approve-reqs',\n label: 'Approve Requirements',\n description: 'Finalize and lock the requirements for implementation',\n },\n };\n}\n\n/**\n * Map FeatureArtifact openQuestions into a read-only summary for the\n * Product Decisions tab in the tech review drawer.\n */\nfunction toProductDecisionsData(artifact: FeatureArtifact): ProductDecisionsSummaryData {\n return {\n question: 'Goal',\n context: artifact.oneLiner,\n questions: artifact.openQuestions\n .filter((oq) => oq.resolved)\n .map((oq) => {\n const selected = oq.options?.find((o) => o.selected);\n return {\n question: oq.question,\n selectedOption: selected?.option ?? oq.answer ?? 'N/A',\n rationale: oq.selectionRationale ?? selected?.description ?? '',\n wasRecommended: false,\n };\n }),\n };\n}\n\nexport async function getFeatureArtifact(featureId: string): Promise<GetFeatureArtifactResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<GetFeatureArtifactUseCase>('GetFeatureArtifactUseCase');\n const artifact = await useCase.execute(featureId);\n const questionnaire = toQuestionnaireData(artifact);\n const productDecisions = toProductDecisionsData(artifact);\n return { questionnaire, productDecisions, artifact };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load feature artifact';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetResearchArtifactUseCase } from '@shepai/core/application/use-cases/features/get-research-artifact.use-case';\nimport type { ResearchArtifact, TechDecision } from '@shepai/core/domain/generated/output';\n\nexport interface TechDecisionsReviewData {\n name: string;\n summary: string;\n decisions: TechDecision[];\n technologies: string[];\n}\n\ninterface GetResearchArtifactResult {\n techDecisions?: TechDecisionsReviewData;\n error?: string;\n}\n\nfunction toTechDecisionsData(artifact: ResearchArtifact): TechDecisionsReviewData {\n return {\n name: artifact.name,\n summary: artifact.summary,\n decisions: artifact.decisions,\n technologies: artifact.technologies,\n };\n}\n\nexport async function getResearchArtifact(featureId: string): Promise<GetResearchArtifactResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<GetResearchArtifactUseCase>('GetResearchArtifactUseCase');\n const artifact = await useCase.execute(featureId);\n const techDecisions = toTechDecisionsData(artifact);\n return { techDecisions };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load research artifact';\n return { error: message };\n }\n}\n","'use server';\n\nimport { createHash } from 'node:crypto';\nimport { readFileSync, existsSync } from 'node:fs';\nimport { basename, join, dirname } from 'node:path';\nimport { resolve } from '@/lib/server-container';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\nimport type { IGitPrService } from '@shepai/core/application/ports/output/services/git-pr-service.interface';\nimport type {\n MergeReviewData,\n MergeReviewEvidence,\n} from '@/components/common/merge-review/merge-review-config';\nimport { computeWorktreePath } from '@shepai/core/infrastructure/services/ide-launchers/compute-worktree-path';\nimport { getShepHomeDir } from '@shepai/core/infrastructure/services/filesystem/shep-directory.service';\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\n\ntype GetMergeReviewDataResult = MergeReviewData | { error: string };\n\n/**\n * Compute the shep evidence directory for a given repository and feature.\n * Path: ~/.shep/repos/<sha256-hash-prefix>/evidence/<featureId>/\n */\nfunction computeEvidenceDir(repositoryPath: string, featureId: string): string {\n const repoHash = createHash('sha256').update(repositoryPath).digest('hex').slice(0, 16);\n return join(getShepHomeDir(), 'repos', repoHash, 'evidence', featureId).replace(/\\\\/g, '/');\n}\n\n/**\n * Normalize evidence paths so they all point to the shep evidence directory.\n * When commitEvidence was enabled, the manifest may contain relative paths\n * (e.g. \"specs/066-feature/evidence/file.png\"). After merge the worktree is\n * deleted so those paths no longer resolve. The evidence files were also saved\n * to the shep evidence dir with the same filename, so we map relative paths\n * to absolute paths there.\n */\nfunction normalizeEvidencePaths(\n evidence: MergeReviewEvidence[],\n evidenceDir: string\n): MergeReviewEvidence[] {\n return evidence.map((e) => {\n if (e.relativePath.startsWith('/')) {\n // Already absolute — check if the file exists; if not, try the evidence dir\n if (existsSync(e.relativePath)) return e;\n const fallback = join(evidenceDir, basename(e.relativePath)).replace(/\\\\/g, '/');\n if (existsSync(fallback)) return { ...e, relativePath: fallback };\n return e;\n }\n // Relative path — resolve to evidence dir using the filename\n const absolutePath = join(evidenceDir, basename(e.relativePath)).replace(/\\\\/g, '/');\n return { ...e, relativePath: absolutePath };\n });\n}\n\nexport async function getMergeReviewData(featureId: string): Promise<GetMergeReviewDataResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n\n if (!feature) {\n return { error: 'Feature not found' };\n }\n\n const { workflow } = getSettings();\n\n const pr = feature.pr\n ? {\n url: feature.pr.url,\n number: feature.pr.number,\n status: feature.pr.status,\n commitHash: feature.pr.commitHash,\n ciStatus: feature.pr.ciStatus,\n mergeable: feature.pr.mergeable,\n }\n : undefined;\n\n const worktreePath =\n feature.worktreePath ??\n (feature.repositoryPath && feature.branch\n ? computeWorktreePath(feature.repositoryPath, feature.branch)\n : null);\n\n // Detect the actual default branch (main, master, etc.) for diff comparison.\n const gitPrService = resolve<IGitPrService>('IGitPrService');\n const diffCwd = worktreePath ?? feature.repositoryPath ?? null;\n let defaultBranch = 'main';\n if (diffCwd) {\n try {\n defaultBranch = await gitPrService.getDefaultBranch(diffCwd);\n } catch {\n // Fall back to 'main' if detection fails\n }\n }\n\n const branch = feature.branch ? { source: feature.branch, target: defaultBranch } : undefined;\n\n // Load evidence manifest (best-effort).\n // Evidence is stored independently of the worktree at:\n // ~/.shep/repos/<hash>/evidence/<featureId>/manifest.json\n // We compute this path from repositoryPath so evidence is accessible\n // even after the worktree has been deleted post-merge.\n let evidence: MergeReviewEvidence[] | undefined;\n const evidenceDir = feature.repositoryPath\n ? computeEvidenceDir(feature.repositoryPath, featureId)\n : worktreePath\n ? join(dirname(dirname(worktreePath)), 'evidence', featureId).replace(/\\\\/g, '/')\n : null;\n\n if (evidenceDir) {\n try {\n const manifestPath = join(evidenceDir, 'manifest.json');\n if (existsSync(manifestPath)) {\n const raw: MergeReviewEvidence[] = JSON.parse(readFileSync(manifestPath, 'utf-8'));\n const normalized = normalizeEvidencePaths(raw, evidenceDir);\n // Deduplicate: same type + relativePath means the same evidence entry\n const seen = new Set<string>();\n evidence = normalized.filter((e) => {\n const key = `${e.type}:${e.relativePath}`;\n if (seen.has(key)) return false;\n seen.add(key);\n return true;\n });\n }\n } catch {\n // Evidence unavailable — not critical\n }\n }\n\n if (!worktreePath) {\n return {\n pr,\n branch,\n evidence,\n warning: pr ? undefined : 'No PR or diff data available',\n hideCiStatus: workflow.hideCiStatus,\n };\n }\n\n try {\n const [diffSummary, fileDiffs] = await Promise.all([\n gitPrService.getPrDiffSummary(worktreePath, defaultBranch),\n gitPrService.getFileDiffs(worktreePath, defaultBranch).catch(() => undefined),\n ]);\n return { pr, branch, diffSummary, fileDiffs, evidence, hideCiStatus: workflow.hideCiStatus };\n } catch {\n return {\n pr,\n branch,\n evidence,\n warning: 'Diff statistics unavailable',\n hideCiStatus: workflow.hideCiStatus,\n };\n }\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load merge review data';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IPhaseTimingRepository } from '@shepai/core/application/ports/output/agents/phase-timing-repository.interface';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\n\nexport interface PhaseTimingData {\n agentRunId: string;\n phase: string;\n startedAt: string;\n completedAt?: string;\n durationMs?: number;\n waitingApprovalAt?: string;\n approvalWaitMs?: number;\n inputTokens?: number;\n outputTokens?: number;\n cacheCreationInputTokens?: number;\n cacheReadInputTokens?: number;\n costUsd?: number;\n numTurns?: number;\n durationApiMs?: number;\n exitCode?: string;\n errorMessage?: string;\n prompt?: string;\n}\n\nexport interface RejectionFeedbackData {\n iteration: number;\n message: string;\n phase?: string;\n timestamp?: string;\n attachments?: string[];\n}\n\ntype GetPhaseTimingsResult =\n | { timings: PhaseTimingData[]; rejectionFeedback: RejectionFeedbackData[] }\n | { error: string };\n\nexport async function getFeaturePhaseTimings(featureId: string): Promise<GetPhaseTimingsResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const repo = resolve<IPhaseTimingRepository>('IPhaseTimingRepository');\n const phaseTimings = await repo.findByFeatureId(featureId);\n\n const timings: PhaseTimingData[] = phaseTimings.map((t) => ({\n agentRunId: t.agentRunId,\n phase: t.phase,\n startedAt: t.startedAt,\n completedAt: t.completedAt,\n durationMs: t.durationMs != null ? Number(t.durationMs) : undefined,\n waitingApprovalAt: t.waitingApprovalAt,\n approvalWaitMs: t.approvalWaitMs != null ? Number(t.approvalWaitMs) : undefined,\n inputTokens: t.inputTokens != null ? Number(t.inputTokens) : undefined,\n outputTokens: t.outputTokens != null ? Number(t.outputTokens) : undefined,\n cacheCreationInputTokens:\n t.cacheCreationInputTokens != null ? Number(t.cacheCreationInputTokens) : undefined,\n cacheReadInputTokens:\n t.cacheReadInputTokens != null ? Number(t.cacheReadInputTokens) : undefined,\n costUsd: t.costUsd != null ? Number(t.costUsd) : undefined,\n numTurns: t.numTurns ?? undefined,\n durationApiMs: t.durationApiMs != null ? Number(t.durationApiMs) : undefined,\n exitCode: t.exitCode ?? undefined,\n errorMessage: t.errorMessage ?? undefined,\n prompt: t.prompt ?? undefined,\n }));\n\n // Read rejection feedback from spec.yaml\n const rejectionFeedback = await readRejectionFeedback(featureId);\n\n return { timings, rejectionFeedback };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load phase timings';\n return { error: message };\n }\n}\n\nasync function readRejectionFeedback(featureId: string): Promise<RejectionFeedbackData[]> {\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n if (!feature?.specPath) return [];\n\n const { readFileSync } = await import('node:fs');\n const { join } = await import('node:path');\n const yaml = (await import('js-yaml')).default;\n\n const specContent = readFileSync(join(feature.specPath, 'spec.yaml'), 'utf-8');\n const spec = yaml.load(specContent) as Record<string, unknown>;\n\n if (!Array.isArray(spec?.rejectionFeedback)) return [];\n\n return (spec.rejectionFeedback as Record<string, unknown>[]).map((entry) => ({\n iteration: Number(entry.iteration ?? 1),\n message: String(entry.message ?? ''),\n phase: entry.phase ? String(entry.phase) : undefined,\n timestamp: entry.timestamp ? String(entry.timestamp) : undefined,\n attachments: Array.isArray(entry.attachments)\n ? (entry.attachments as unknown[]).map(String)\n : undefined,\n }));\n } catch {\n return [];\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\n\nexport interface AcceptanceCriterionData {\n description: string;\n verified: boolean;\n}\n\nexport interface ActionItemData {\n name: string;\n description: string;\n acceptanceCriteria: AcceptanceCriterionData[];\n}\n\nexport interface PlanTaskData {\n title: string;\n description: string;\n state: string;\n actionItems: ActionItemData[];\n}\n\nexport interface PlanData {\n state: string;\n overview: string;\n tasks: PlanTaskData[];\n}\n\ntype GetPlanResult = { plan: PlanData | undefined } | { error: string };\n\nexport async function getFeaturePlan(featureId: string): Promise<GetPlanResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const repo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await repo.findById(featureId);\n\n if (!feature) {\n return { error: 'Feature not found' };\n }\n\n if (!feature.plan) {\n return { plan: undefined };\n }\n\n const plan: PlanData = {\n state: feature.plan.state,\n overview: feature.plan.overview,\n tasks: feature.plan.tasks.map((t) => ({\n title: t.title ?? '',\n description: t.description ?? '',\n state: t.state,\n actionItems: (t.actionItems ?? []).map((ai) => ({\n name: ai.name,\n description: ai.description,\n acceptanceCriteria: (ai.acceptanceCriteria ?? []).map((ac) => ({\n description: ac.description,\n verified: ac.verified,\n })),\n })),\n })),\n };\n\n return { plan };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load feature plan';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { RebaseFeatureOnMainUseCase } from '@shepai/core/application/use-cases/features/rebase-feature-on-main.use-case';\n\nexport async function rebaseFeature(\n featureId: string\n): Promise<{ success: boolean; error?: string }> {\n if (!featureId?.trim()) {\n return { success: false, error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<RebaseFeatureOnMainUseCase>('RebaseFeatureOnMainUseCase');\n await useCase.execute(featureId);\n return { success: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to rebase feature';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\nimport type { IAgentRunRepository } from '@shepai/core/application/ports/output/agents/agent-run-repository.interface';\nimport type { IRepositoryRepository } from '@shepai/core/application/ports/output/repositories/repository-repository.interface';\nimport type { IGitPrService } from '@shepai/core/application/ports/output/services/git-pr-service.interface';\nimport type { GetFeatureArtifactUseCase } from '@shepai/core/application/use-cases/features/get-feature-artifact.use-case';\nimport { buildFeatureNodeData } from '@/app/build-feature-node-data';\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\nimport type { FeatureNodeData } from '@/components/common/feature-node';\n\n/**\n * Fetches full FeatureNodeData for a given feature ID.\n * Used by the drawer for targeted data syncing without triggering\n * a full router.refresh() / server component re-render.\n *\n * CI status and mergeable status are read from the DB (already updated\n * by PrSyncWatcherService) instead of making duplicate GitHub API calls.\n */\nexport async function getFeatureDrawerData(featureId: string): Promise<FeatureNodeData | null> {\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const agentRunRepo = resolve<IAgentRunRepository>('IAgentRunRepository');\n const repoRepo = resolve<IRepositoryRepository>('IRepositoryRepository');\n const gitPrService = resolve<IGitPrService>('IGitPrService');\n const getArtifact = resolve<GetFeatureArtifactUseCase>('GetFeatureArtifactUseCase');\n\n const feature = await featureRepo.findById(featureId);\n if (!feature) return null;\n\n const run = feature.agentRunId ? await agentRunRepo.findById(feature.agentRunId) : null;\n\n // CI status and mergeable status are read from the feature record (updated by\n // PrSyncWatcherService every 30s) — no duplicate GitHub API calls needed.\n // Only getDefaultBranch and getRemoteUrl are kept as they are local git operations.\n const [repo, baseBranch, artifact, remoteUrl] = await Promise.all([\n repoRepo.findByPath(feature.repositoryPath).catch(() => null),\n gitPrService.getDefaultBranch(feature.repositoryPath).catch(() => 'main'),\n getArtifact.execute(featureId).catch(() => null),\n gitPrService.getRemoteUrl(feature.repositoryPath).catch(() => null),\n ]);\n\n const { workflow } = getSettings();\n\n return buildFeatureNodeData(feature, run, {\n repositoryName: repo?.name,\n baseBranch,\n oneLiner: artifact?.oneLiner,\n remoteUrl: remoteUrl ?? undefined,\n enableEvidence: workflow.enableEvidence,\n commitEvidence: workflow.commitEvidence,\n hideCiStatus: workflow.hideCiStatus,\n });\n } catch {\n return null;\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetBranchSyncStatusUseCase } from '@shepai/core/application/use-cases/features/get-branch-sync-status.use-case';\n\nexport async function getBranchSyncStatus(featureId: string): Promise<{\n success: boolean;\n data?: { ahead: number; behind: number; baseBranch: string; checkedAt: string };\n error?: string;\n}> {\n if (!featureId?.trim()) {\n return { success: false, error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<GetBranchSyncStatusUseCase>('GetBranchSyncStatusUseCase');\n const result = await useCase.execute(featureId);\n return {\n success: true,\n data: {\n ...result,\n checkedAt: new Date().toISOString(),\n },\n };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to get branch sync status';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { UpdateFeaturePinnedConfigUseCase } from '@shepai/core/application/use-cases/features/update-feature-pinned-config.use-case';\n\nexport async function updateFeaturePinnedConfig(\n featureId: string,\n agentType: string,\n modelId: string\n): Promise<{ ok: boolean; error?: string }> {\n const normalizedFeatureId = featureId.trim();\n if (!normalizedFeatureId) {\n return { ok: false, error: 'Feature id is required' };\n }\n\n const normalizedAgentType = agentType.trim();\n if (!normalizedAgentType) {\n return { ok: false, error: 'Agent type is required' };\n }\n\n const normalizedModelId = modelId.trim();\n if (!normalizedModelId) {\n return { ok: false, error: 'Model id is required' };\n }\n\n try {\n const useCase = resolve<UpdateFeaturePinnedConfigUseCase>('UpdateFeaturePinnedConfigUseCase');\n await useCase.execute({\n featureId: normalizedFeatureId,\n agentType: normalizedAgentType,\n modelId: normalizedModelId,\n });\n return { ok: true };\n } catch (error: unknown) {\n const message =\n error instanceof Error ? error.message : 'Failed to update feature pinned config';\n return { ok: false, error: message };\n }\n}\n","export {getAllAgentModels as '00e58c190532f4f50a563fe350b5346d8a7fe34107'} from 'ACTIONS_MODULE0'\nexport {checkAllAgentsStatus as '0051115904c7c48c39887ceb6a80a41b51f5fc6b9f'} from 'ACTIONS_MODULE1'\nexport {updateAgentAndModel as '606d13f3bd634e57be02843508a61d20c7f83dd854'} from 'ACTIONS_MODULE2'\nexport {pickFolder as '0026d01a354f61d318a336fbe2eaa3f03edc9f91b0'} from 'ACTIONS_MODULE3'\nexport {listGitHubRepositories as '40978ff740f2484d7f08bafd677da4d039256d0089'} from 'ACTIONS_MODULE4'\nexport {listGitHubOrganizations as '00ceb168cfa95261f0ad5acf0245521784c59f91d1'} from 'ACTIONS_MODULE5'\nexport {importGitHubRepository as '402046d017b7878c27edecd35df9b66f617c5c35b1'} from 'ACTIONS_MODULE6'\nexport {deployFeature as '40026de899f93ce7cd1fdf1a0ee013dad77cdc4f03'} from 'ACTIONS_MODULE7'\nexport {deployRepository as '40108be7384990f668028a97284b5ae9db570b1965'} from 'ACTIONS_MODULE8'\nexport {deployApplication as '406e6f424ebf1e3b734864e08e09226a559105f605'} from 'ACTIONS_MODULE9'\nexport {stopDeployment as '40425dc4804963cdc2f5af0bdc1e7594e877baaf11'} from 'ACTIONS_MODULE10'\nexport {getDeploymentStatus as '40eb5c7ddaa143cbe9dc2c73f7bb19a5d89b533a7d'} from 'ACTIONS_MODULE11'\nexport {openIde as '405ba36a174454edd8c4884fea71908131dbb28deb'} from 'ACTIONS_MODULE12'\nexport {openShell as '4003e1e65aa50b5b09a38599cdccb3e32c2878486d'} from 'ACTIONS_MODULE13'\nexport {openFolder as '40185e494ec9965b5eb897ead254f405942feddbe4'} from 'ACTIONS_MODULE14'\nexport {syncRepository as '407933e29bdf31a817ba00ca0205380ff0931b74cc'} from 'ACTIONS_MODULE15'\nexport {getDeploymentLogs as '402bc18b44955b04712cc126ca0b646a9d335ef665'} from 'ACTIONS_MODULE16'\nexport {createProjectAndFeature as '40309517ef69e6981b73668a01296bf84986387c4b'} from 'ACTIONS_MODULE17'\nexport {createApplication as '4040af9db3d92788388c71955f66fe089bc00af285'} from 'ACTIONS_MODULE18'\nexport {createProjectFolder as '4093a1859c212ac80e0abd7242ba7d97cc71d682c4'} from 'ACTIONS_MODULE19'\nexport {archiveFeature as '407d6cc5e3c1b63788f6895294bfa6e220c2db5e3d'} from 'ACTIONS_MODULE20'\nexport {deleteFeature as '78695170351180afd4c389fd260300eaa50553dff4'} from 'ACTIONS_MODULE21'\nexport {resumeFeature as '4068aa4314db3f10ca9083bde9fd0a6dc02db26611'} from 'ACTIONS_MODULE22'\nexport {startFeature as '406ab339771a114a1501034cb03daface929b6416e'} from 'ACTIONS_MODULE23'\nexport {stopFeature as '40056e511672e2b15b007420d6caf2a4ecbe84f7d2'} from 'ACTIONS_MODULE24'\nexport {unarchiveFeature as '40752429db6c2affbe28371b2d29f2df6d2f82ce8f'} from 'ACTIONS_MODULE25'\nexport {addRepository as '40c41b1d78b1db31bd74b6dd3d00b9372445a9200b'} from 'ACTIONS_MODULE26'\nexport {deleteRepository as '60e55dd72100553b711e44566fae95c8eca7f9f4b0'} from 'ACTIONS_MODULE27'\nexport {deleteApplication as '4022e99fd1109ed481cdbf922bc4f6eca754e5c8cc'} from 'ACTIONS_MODULE28'\nexport {getFeatureMetadata as '403c68c0fb3149fa66e2f1bf3cdafce602c03d178a'} from 'ACTIONS_MODULE29'\nexport {approveFeature as '60dcd9f29e8aa91d30e5ff74e0013d96d53d3563cb'} from 'ACTIONS_MODULE30'\nexport {rejectFeature as '700a9f9e3c894048286175d7e1ca7cc647dd251990'} from 'ACTIONS_MODULE31'\nexport {getFeatureArtifact as '4023489daf45f55ef4760a1c2d450e6e8eaff69594'} from 'ACTIONS_MODULE32'\nexport {getResearchArtifact as '40ca342ae6e559524b654c7b7f5b1d3e9fa9d9a496'} from 'ACTIONS_MODULE33'\nexport {getMergeReviewData as '40670f22a1c4db97ae9f171dcd8004a65cae51514f'} from 'ACTIONS_MODULE34'\nexport {getFeaturePhaseTimings as '40a1dfeb0c4028e2fd78b414b460a3dbc7e55cb352'} from 'ACTIONS_MODULE35'\nexport {getFeaturePlan as '407cb06522d71e8556a0cafd8a422db8fd0248e5c4'} from 'ACTIONS_MODULE36'\nexport {rebaseFeature as '40667e8d83be8f127aa2626401e1fa11b92d8cc936'} from 'ACTIONS_MODULE37'\nexport {getFeatureDrawerData as '4075b67f1214e01b53f2842773cf564661ab200239'} from 'ACTIONS_MODULE38'\nexport {getBranchSyncStatus as '40659eeeeea8ce11631b5b7eaee4d1d4f4eb0767bc'} from 'ACTIONS_MODULE39'\nexport {updateFeaturePinnedConfig as '70ba4514b0233187cbee4eb7e07d7f2d333c411b24'} from 'ACTIONS_MODULE40'\n"],"names":[],"mappings":"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QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/app/build-feature-node-data.ts","../../../../../../../src/presentation/web/app/actions/approve-feature.ts","../../../../../../../src/presentation/web/app/actions/reject-feature.ts","../../../../../../../src/presentation/web/app/actions/get-feature-artifact.ts","../../../../../../../src/presentation/web/app/actions/get-research-artifact.ts","../../../../../../../src/presentation/web/app/actions/get-merge-review-data.ts","../../../../../../../src/presentation/web/app/actions/get-feature-phase-timings.ts","../../../../../../../src/presentation/web/app/actions/get-feature-plan.ts","../../../../../../../src/presentation/web/app/actions/rebase-feature.ts","../../../../../../../src/presentation/web/app/actions/get-feature-drawer-data.ts","../../../../../../../src/presentation/web/app/actions/get-branch-sync-status.ts","../../../../../../../src/presentation/web/app/actions/update-feature-pinned-config.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/feature/%5BfeatureId%5D/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["import type { Feature, AgentRun } from '@shepai/core/domain/generated/output';\nimport { AgentRunStatus } from '@shepai/core/domain/generated/output';\nimport {\n deriveNodeState,\n deriveProgress,\n deriveLifecycle,\n} from '@/components/common/feature-node/derive-feature-state';\nimport { isProcessAlive } from '@shepai/core/infrastructure/services/process/is-process-alive';\nimport { computeWorktreePath } from '@shepai/core/infrastructure/services/ide-launchers/compute-worktree-path';\nimport type { FeatureNodeData } from '@/components/common/feature-node';\n\nexport interface BuildFeatureNodeDataOptions {\n baseBranch?: string;\n repositoryName?: string;\n /** AI-generated one-liner from FeatureArtifact */\n oneLiner?: string;\n /** Remote URL for the repository (HTTPS) */\n remoteUrl?: string;\n /** Whether evidence collection is enabled (global workflow setting) */\n enableEvidence?: boolean;\n /** Whether evidence is committed to the PR body (global workflow setting) */\n commitEvidence?: boolean;\n /** Whether CI watch/fix loop is enabled (global workflow setting) */\n ciWatchEnabled?: boolean;\n /** Whether to hide CI status badges from UI (global workflow setting) */\n hideCiStatus?: boolean;\n}\n\n/**\n * Builds a FeatureNodeData object from a Feature entity and optional AgentRun.\n * This is the single-feature version of the logic in `buildGraphNodes`.\n */\nexport function buildFeatureNodeData(\n feature: Feature,\n run: AgentRun | null,\n options?: BuildFeatureNodeDataOptions\n): FeatureNodeData {\n // Detect crashed agents: DB says running/pending but PID is dead\n const isActive = run?.status === AgentRunStatus.running || run?.status === AgentRunStatus.pending;\n const pidAlive = isActive && run?.pid ? isProcessAlive(run.pid) : undefined;\n\n return {\n name: feature.name,\n description: feature.description ?? feature.slug,\n featureId: feature.id,\n lifecycle: deriveLifecycle(feature, run),\n repositoryPath: feature.repositoryPath,\n branch: feature.branch,\n worktreePath:\n feature.worktreePath ?? computeWorktreePath(feature.repositoryPath, feature.branch),\n specPath: feature.specPath,\n state: deriveNodeState(\n feature,\n run,\n pidAlive !== undefined ? { isPidAlive: pidAlive } : undefined\n ),\n progress: deriveProgress(feature),\n summary: feature.description,\n userQuery: feature.userQuery,\n createdAt: feature.createdAt instanceof Date ? feature.createdAt.getTime() : feature.createdAt,\n ...(feature.fast && { fastMode: true }),\n approvalGates: feature.approvalGates,\n push: feature.push,\n openPr: feature.openPr,\n forkAndPr: feature.forkAndPr,\n commitSpecs: feature.commitSpecs,\n enableEvidence: feature.enableEvidence ?? options?.enableEvidence ?? false,\n commitEvidence: feature.commitEvidence ?? options?.commitEvidence ?? false,\n ciWatchEnabled: feature.ciWatchEnabled ?? options?.ciWatchEnabled ?? true,\n ...(options?.hideCiStatus != null && { hideCiStatus: options.hideCiStatus }),\n ...(options?.repositoryName && { repositoryName: options.repositoryName }),\n ...(options?.baseBranch && { baseBranch: options.baseBranch }),\n ...(options?.oneLiner && { oneLiner: options.oneLiner }),\n ...(options?.remoteUrl && { remoteUrl: options.remoteUrl }),\n ...(run?.agentType && { agentType: run.agentType as FeatureNodeData['agentType'] }),\n ...(run?.modelId && { modelId: run.modelId }),\n ...(run?.error && { errorMessage: run.error }),\n ...(feature.agentRunId != null && { hasAgentRun: true }),\n ...(feature.plan != null && { hasPlan: true }),\n ...(feature.injectSkills && { injectSkills: true }),\n ...(feature.injectedSkills?.length && { injectedSkills: feature.injectedSkills }),\n ...(feature.pr && {\n pr: {\n url: feature.pr.url,\n number: feature.pr.number,\n status: feature.pr.status,\n ciStatus: feature.pr.ciStatus,\n commitHash: feature.pr.commitHash,\n mergeable: feature.pr.mergeable,\n },\n }),\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ApproveAgentRunUseCase } from '@shepai/core/application/use-cases/agents/approve-agent-run.use-case';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\nimport type { PrdApprovalPayload } from '@shepai/core/domain/generated/output';\n\nexport async function approveFeature(\n featureId: string,\n payload?: PrdApprovalPayload\n): Promise<{ approved: boolean; error?: string }> {\n if (!featureId.trim()) {\n return { approved: false, error: 'Feature id is required' };\n }\n\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n\n if (!feature) {\n return { approved: false, error: 'Feature not found' };\n }\n\n if (!feature.agentRunId) {\n return { approved: false, error: 'Feature has no agent run' };\n }\n\n // Always use ApproveAgentRunUseCase — it handles waitingApproval, failed,\n // and interrupted statuses. This ensures approval is propagated via\n // Command({update: {_approvalAction: 'approved'}}) so the graph node\n // receives it on resume.\n const approveUseCase = resolve<ApproveAgentRunUseCase>('ApproveAgentRunUseCase');\n const result = await approveUseCase.execute(feature.agentRunId, payload);\n\n if (!result.approved) {\n return { approved: false, error: result.reason };\n }\n\n return { approved: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to approve feature';\n return { approved: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { RejectAgentRunUseCase } from '@shepai/core/application/use-cases/agents/reject-agent-run.use-case';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\n\nexport async function rejectFeature(\n featureId: string,\n feedback: string,\n attachments?: string[]\n): Promise<{\n rejected: boolean;\n iteration?: number;\n iterationWarning?: boolean;\n error?: string;\n}> {\n if (!featureId.trim()) {\n return { rejected: false, error: 'Feature id is required' };\n }\n\n if (!feedback.trim()) {\n return { rejected: false, error: 'Feedback is required' };\n }\n\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n\n if (!feature) {\n return { rejected: false, error: 'Feature not found' };\n }\n\n if (!feature.agentRunId) {\n return { rejected: false, error: 'Feature has no agent run' };\n }\n\n // Always use RejectAgentRunUseCase — it handles waitingApproval, failed,\n // and interrupted statuses. This ensures rejection feedback is propagated\n // via Command({update: {_approvalAction, _rejectionFeedback}}) so the\n // graph node receives the feedback on resume.\n const rejectUseCase = resolve<RejectAgentRunUseCase>('RejectAgentRunUseCase');\n const result = await rejectUseCase.execute(feature.agentRunId, feedback, attachments);\n\n if (!result.rejected) {\n return { rejected: false, error: result.reason };\n }\n\n return {\n rejected: true,\n iteration: result.iteration,\n iterationWarning: result.iterationWarning,\n };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to reject feature';\n return { rejected: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetFeatureArtifactUseCase } from '@shepai/core/application/use-cases/features/get-feature-artifact.use-case';\nimport type { FeatureArtifact } from '@shepai/core/domain/generated/output';\nimport type { PrdQuestionnaireData } from '@shepai/core/domain/generated/output';\nimport type { ProductDecisionsSummaryData } from '@/components/common/product-decisions-summary';\n\ninterface GetFeatureArtifactResult {\n questionnaire?: PrdQuestionnaireData;\n productDecisions?: ProductDecisionsSummaryData;\n artifact?: FeatureArtifact;\n error?: string;\n}\n\n/**\n * Map FeatureArtifact openQuestions into the PrdQuestionnaireData shape\n * expected by the PrdQuestionnaireDrawer component.\n */\nfunction toQuestionnaireData(artifact: FeatureArtifact): PrdQuestionnaireData {\n return {\n question: 'Goal',\n context: artifact.oneLiner,\n questions: artifact.openQuestions.map((oq, idx) => ({\n id: `q-${idx}`,\n question: oq.question,\n type: 'select' as const,\n options: (oq.options ?? []).map((opt, optIdx) => ({\n id: `q-${idx}-opt-${optIdx}`,\n label: opt.option,\n rationale: opt.description,\n ...(opt.selected ? { recommended: true } : {}),\n })),\n })),\n finalAction: {\n id: 'approve-reqs',\n label: 'Approve Requirements',\n description: 'Finalize and lock the requirements for implementation',\n },\n };\n}\n\n/**\n * Map FeatureArtifact openQuestions into a read-only summary for the\n * Product Decisions tab in the tech review drawer.\n */\nfunction toProductDecisionsData(artifact: FeatureArtifact): ProductDecisionsSummaryData {\n return {\n question: 'Goal',\n context: artifact.oneLiner,\n questions: artifact.openQuestions\n .filter((oq) => oq.resolved)\n .map((oq) => {\n const selected = oq.options?.find((o) => o.selected);\n return {\n question: oq.question,\n selectedOption: selected?.option ?? oq.answer ?? 'N/A',\n rationale: oq.selectionRationale ?? selected?.description ?? '',\n wasRecommended: false,\n };\n }),\n };\n}\n\nexport async function getFeatureArtifact(featureId: string): Promise<GetFeatureArtifactResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<GetFeatureArtifactUseCase>('GetFeatureArtifactUseCase');\n const artifact = await useCase.execute(featureId);\n const questionnaire = toQuestionnaireData(artifact);\n const productDecisions = toProductDecisionsData(artifact);\n return { questionnaire, productDecisions, artifact };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load feature artifact';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetResearchArtifactUseCase } from '@shepai/core/application/use-cases/features/get-research-artifact.use-case';\nimport type { ResearchArtifact, TechDecision } from '@shepai/core/domain/generated/output';\n\nexport interface TechDecisionsReviewData {\n name: string;\n summary: string;\n decisions: TechDecision[];\n technologies: string[];\n}\n\ninterface GetResearchArtifactResult {\n techDecisions?: TechDecisionsReviewData;\n error?: string;\n}\n\nfunction toTechDecisionsData(artifact: ResearchArtifact): TechDecisionsReviewData {\n return {\n name: artifact.name,\n summary: artifact.summary,\n decisions: artifact.decisions,\n technologies: artifact.technologies,\n };\n}\n\nexport async function getResearchArtifact(featureId: string): Promise<GetResearchArtifactResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<GetResearchArtifactUseCase>('GetResearchArtifactUseCase');\n const artifact = await useCase.execute(featureId);\n const techDecisions = toTechDecisionsData(artifact);\n return { techDecisions };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load research artifact';\n return { error: message };\n }\n}\n","'use server';\n\nimport { createHash } from 'node:crypto';\nimport { readFileSync, existsSync } from 'node:fs';\nimport { basename, join, dirname } from 'node:path';\nimport { resolve } from '@/lib/server-container';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\nimport type { IGitPrService } from '@shepai/core/application/ports/output/services/git-pr-service.interface';\nimport type {\n MergeReviewData,\n MergeReviewEvidence,\n} from '@/components/common/merge-review/merge-review-config';\nimport { computeWorktreePath } from '@shepai/core/infrastructure/services/ide-launchers/compute-worktree-path';\nimport { getShepHomeDir } from '@shepai/core/infrastructure/services/filesystem/shep-directory.service';\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\n\ntype GetMergeReviewDataResult = MergeReviewData | { error: string };\n\n/**\n * Compute the shep evidence directory for a given repository and feature.\n * Path: ~/.shep/repos/<sha256-hash-prefix>/evidence/<featureId>/\n */\nfunction computeEvidenceDir(repositoryPath: string, featureId: string): string {\n const repoHash = createHash('sha256').update(repositoryPath).digest('hex').slice(0, 16);\n return join(getShepHomeDir(), 'repos', repoHash, 'evidence', featureId).replace(/\\\\/g, '/');\n}\n\n/**\n * Normalize evidence paths so they all point to the shep evidence directory.\n * When commitEvidence was enabled, the manifest may contain relative paths\n * (e.g. \"specs/066-feature/evidence/file.png\"). After merge the worktree is\n * deleted so those paths no longer resolve. The evidence files were also saved\n * to the shep evidence dir with the same filename, so we map relative paths\n * to absolute paths there.\n */\nfunction normalizeEvidencePaths(\n evidence: MergeReviewEvidence[],\n evidenceDir: string\n): MergeReviewEvidence[] {\n return evidence.map((e) => {\n if (e.relativePath.startsWith('/')) {\n // Already absolute — check if the file exists; if not, try the evidence dir\n if (existsSync(e.relativePath)) return e;\n const fallback = join(evidenceDir, basename(e.relativePath)).replace(/\\\\/g, '/');\n if (existsSync(fallback)) return { ...e, relativePath: fallback };\n return e;\n }\n // Relative path — resolve to evidence dir using the filename\n const absolutePath = join(evidenceDir, basename(e.relativePath)).replace(/\\\\/g, '/');\n return { ...e, relativePath: absolutePath };\n });\n}\n\nexport async function getMergeReviewData(featureId: string): Promise<GetMergeReviewDataResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n\n if (!feature) {\n return { error: 'Feature not found' };\n }\n\n const { workflow } = getSettings();\n\n const pr = feature.pr\n ? {\n url: feature.pr.url,\n number: feature.pr.number,\n status: feature.pr.status,\n commitHash: feature.pr.commitHash,\n ciStatus: feature.pr.ciStatus,\n mergeable: feature.pr.mergeable,\n }\n : undefined;\n\n const worktreePath =\n feature.worktreePath ??\n (feature.repositoryPath && feature.branch\n ? computeWorktreePath(feature.repositoryPath, feature.branch)\n : null);\n\n // Detect the actual default branch (main, master, etc.) for diff comparison.\n const gitPrService = resolve<IGitPrService>('IGitPrService');\n const diffCwd = worktreePath ?? feature.repositoryPath ?? null;\n let defaultBranch = 'main';\n if (diffCwd) {\n try {\n defaultBranch = await gitPrService.getDefaultBranch(diffCwd);\n } catch {\n // Fall back to 'main' if detection fails\n }\n }\n\n const branch = feature.branch ? { source: feature.branch, target: defaultBranch } : undefined;\n\n // Load evidence manifest (best-effort).\n // Evidence is stored independently of the worktree at:\n // ~/.shep/repos/<hash>/evidence/<featureId>/manifest.json\n // We compute this path from repositoryPath so evidence is accessible\n // even after the worktree has been deleted post-merge.\n let evidence: MergeReviewEvidence[] | undefined;\n const evidenceDir = feature.repositoryPath\n ? computeEvidenceDir(feature.repositoryPath, featureId)\n : worktreePath\n ? join(dirname(dirname(worktreePath)), 'evidence', featureId).replace(/\\\\/g, '/')\n : null;\n\n if (evidenceDir) {\n try {\n const manifestPath = join(evidenceDir, 'manifest.json');\n if (existsSync(manifestPath)) {\n const raw: MergeReviewEvidence[] = JSON.parse(readFileSync(manifestPath, 'utf-8'));\n const normalized = normalizeEvidencePaths(raw, evidenceDir);\n // Deduplicate: same type + relativePath means the same evidence entry\n const seen = new Set<string>();\n evidence = normalized.filter((e) => {\n const key = `${e.type}:${e.relativePath}`;\n if (seen.has(key)) return false;\n seen.add(key);\n return true;\n });\n }\n } catch {\n // Evidence unavailable — not critical\n }\n }\n\n if (!worktreePath) {\n return {\n pr,\n branch,\n evidence,\n warning: pr ? undefined : 'No PR or diff data available',\n hideCiStatus: workflow.hideCiStatus,\n };\n }\n\n try {\n const [diffSummary, fileDiffs] = await Promise.all([\n gitPrService.getPrDiffSummary(worktreePath, defaultBranch),\n gitPrService.getFileDiffs(worktreePath, defaultBranch).catch(() => undefined),\n ]);\n return { pr, branch, diffSummary, fileDiffs, evidence, hideCiStatus: workflow.hideCiStatus };\n } catch {\n return {\n pr,\n branch,\n evidence,\n warning: 'Diff statistics unavailable',\n hideCiStatus: workflow.hideCiStatus,\n };\n }\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load merge review data';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IPhaseTimingRepository } from '@shepai/core/application/ports/output/agents/phase-timing-repository.interface';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\n\nexport interface PhaseTimingData {\n agentRunId: string;\n phase: string;\n startedAt: string;\n completedAt?: string;\n durationMs?: number;\n waitingApprovalAt?: string;\n approvalWaitMs?: number;\n inputTokens?: number;\n outputTokens?: number;\n cacheCreationInputTokens?: number;\n cacheReadInputTokens?: number;\n costUsd?: number;\n numTurns?: number;\n durationApiMs?: number;\n exitCode?: string;\n errorMessage?: string;\n prompt?: string;\n}\n\nexport interface RejectionFeedbackData {\n iteration: number;\n message: string;\n phase?: string;\n timestamp?: string;\n attachments?: string[];\n}\n\ntype GetPhaseTimingsResult =\n | { timings: PhaseTimingData[]; rejectionFeedback: RejectionFeedbackData[] }\n | { error: string };\n\nexport async function getFeaturePhaseTimings(featureId: string): Promise<GetPhaseTimingsResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const repo = resolve<IPhaseTimingRepository>('IPhaseTimingRepository');\n const phaseTimings = await repo.findByFeatureId(featureId);\n\n const timings: PhaseTimingData[] = phaseTimings.map((t) => ({\n agentRunId: t.agentRunId,\n phase: t.phase,\n startedAt: t.startedAt,\n completedAt: t.completedAt,\n durationMs: t.durationMs != null ? Number(t.durationMs) : undefined,\n waitingApprovalAt: t.waitingApprovalAt,\n approvalWaitMs: t.approvalWaitMs != null ? Number(t.approvalWaitMs) : undefined,\n inputTokens: t.inputTokens != null ? Number(t.inputTokens) : undefined,\n outputTokens: t.outputTokens != null ? Number(t.outputTokens) : undefined,\n cacheCreationInputTokens:\n t.cacheCreationInputTokens != null ? Number(t.cacheCreationInputTokens) : undefined,\n cacheReadInputTokens:\n t.cacheReadInputTokens != null ? Number(t.cacheReadInputTokens) : undefined,\n costUsd: t.costUsd != null ? Number(t.costUsd) : undefined,\n numTurns: t.numTurns ?? undefined,\n durationApiMs: t.durationApiMs != null ? Number(t.durationApiMs) : undefined,\n exitCode: t.exitCode ?? undefined,\n errorMessage: t.errorMessage ?? undefined,\n prompt: t.prompt ?? undefined,\n }));\n\n // Read rejection feedback from spec.yaml\n const rejectionFeedback = await readRejectionFeedback(featureId);\n\n return { timings, rejectionFeedback };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load phase timings';\n return { error: message };\n }\n}\n\nasync function readRejectionFeedback(featureId: string): Promise<RejectionFeedbackData[]> {\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n if (!feature?.specPath) return [];\n\n const { readFileSync } = await import('node:fs');\n const { join } = await import('node:path');\n const yaml = (await import('js-yaml')).default;\n\n const specContent = readFileSync(join(feature.specPath, 'spec.yaml'), 'utf-8');\n const spec = yaml.load(specContent) as Record<string, unknown>;\n\n if (!Array.isArray(spec?.rejectionFeedback)) return [];\n\n return (spec.rejectionFeedback as Record<string, unknown>[]).map((entry) => ({\n iteration: Number(entry.iteration ?? 1),\n message: String(entry.message ?? ''),\n phase: entry.phase ? String(entry.phase) : undefined,\n timestamp: entry.timestamp ? String(entry.timestamp) : undefined,\n attachments: Array.isArray(entry.attachments)\n ? (entry.attachments as unknown[]).map(String)\n : undefined,\n }));\n } catch {\n return [];\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\n\nexport interface AcceptanceCriterionData {\n description: string;\n verified: boolean;\n}\n\nexport interface ActionItemData {\n name: string;\n description: string;\n acceptanceCriteria: AcceptanceCriterionData[];\n}\n\nexport interface PlanTaskData {\n title: string;\n description: string;\n state: string;\n actionItems: ActionItemData[];\n}\n\nexport interface PlanData {\n state: string;\n overview: string;\n tasks: PlanTaskData[];\n}\n\ntype GetPlanResult = { plan: PlanData | undefined } | { error: string };\n\nexport async function getFeaturePlan(featureId: string): Promise<GetPlanResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const repo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await repo.findById(featureId);\n\n if (!feature) {\n return { error: 'Feature not found' };\n }\n\n if (!feature.plan) {\n return { plan: undefined };\n }\n\n const plan: PlanData = {\n state: feature.plan.state,\n overview: feature.plan.overview,\n tasks: feature.plan.tasks.map((t) => ({\n title: t.title ?? '',\n description: t.description ?? '',\n state: t.state,\n actionItems: (t.actionItems ?? []).map((ai) => ({\n name: ai.name,\n description: ai.description,\n acceptanceCriteria: (ai.acceptanceCriteria ?? []).map((ac) => ({\n description: ac.description,\n verified: ac.verified,\n })),\n })),\n })),\n };\n\n return { plan };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load feature plan';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { RebaseFeatureOnMainUseCase } from '@shepai/core/application/use-cases/features/rebase-feature-on-main.use-case';\n\nexport async function rebaseFeature(\n featureId: string\n): Promise<{ success: boolean; error?: string }> {\n if (!featureId?.trim()) {\n return { success: false, error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<RebaseFeatureOnMainUseCase>('RebaseFeatureOnMainUseCase');\n await useCase.execute(featureId);\n return { success: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to rebase feature';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\nimport type { IAgentRunRepository } from '@shepai/core/application/ports/output/agents/agent-run-repository.interface';\nimport type { IRepositoryRepository } from '@shepai/core/application/ports/output/repositories/repository-repository.interface';\nimport type { IGitPrService } from '@shepai/core/application/ports/output/services/git-pr-service.interface';\nimport type { GetFeatureArtifactUseCase } from '@shepai/core/application/use-cases/features/get-feature-artifact.use-case';\nimport { buildFeatureNodeData } from '@/app/build-feature-node-data';\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\nimport type { FeatureNodeData } from '@/components/common/feature-node';\n\n/**\n * Fetches full FeatureNodeData for a given feature ID.\n * Used by the drawer for targeted data syncing without triggering\n * a full router.refresh() / server component re-render.\n *\n * CI status and mergeable status are read from the DB (already updated\n * by PrSyncWatcherService) instead of making duplicate GitHub API calls.\n */\nexport async function getFeatureDrawerData(featureId: string): Promise<FeatureNodeData | null> {\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const agentRunRepo = resolve<IAgentRunRepository>('IAgentRunRepository');\n const repoRepo = resolve<IRepositoryRepository>('IRepositoryRepository');\n const gitPrService = resolve<IGitPrService>('IGitPrService');\n const getArtifact = resolve<GetFeatureArtifactUseCase>('GetFeatureArtifactUseCase');\n\n const feature = await featureRepo.findById(featureId);\n if (!feature) return null;\n\n const run = feature.agentRunId ? await agentRunRepo.findById(feature.agentRunId) : null;\n\n // CI status and mergeable status are read from the feature record (updated by\n // PrSyncWatcherService every 30s) — no duplicate GitHub API calls needed.\n // Only getDefaultBranch and getRemoteUrl are kept as they are local git operations.\n const [repo, baseBranch, artifact, remoteUrl] = await Promise.all([\n repoRepo.findByPath(feature.repositoryPath).catch(() => null),\n gitPrService.getDefaultBranch(feature.repositoryPath).catch(() => 'main'),\n getArtifact.execute(featureId).catch(() => null),\n gitPrService.getRemoteUrl(feature.repositoryPath).catch(() => null),\n ]);\n\n const { workflow } = getSettings();\n\n return buildFeatureNodeData(feature, run, {\n repositoryName: repo?.name,\n baseBranch,\n oneLiner: artifact?.oneLiner,\n remoteUrl: remoteUrl ?? undefined,\n enableEvidence: workflow.enableEvidence,\n commitEvidence: workflow.commitEvidence,\n hideCiStatus: workflow.hideCiStatus,\n });\n } catch {\n return null;\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetBranchSyncStatusUseCase } from '@shepai/core/application/use-cases/features/get-branch-sync-status.use-case';\n\nexport async function getBranchSyncStatus(featureId: string): Promise<{\n success: boolean;\n data?: { ahead: number; behind: number; baseBranch: string; checkedAt: string };\n error?: string;\n}> {\n if (!featureId?.trim()) {\n return { success: false, error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<GetBranchSyncStatusUseCase>('GetBranchSyncStatusUseCase');\n const result = await useCase.execute(featureId);\n return {\n success: true,\n data: {\n ...result,\n checkedAt: new Date().toISOString(),\n },\n };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to get branch sync status';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { UpdateFeaturePinnedConfigUseCase } from '@shepai/core/application/use-cases/features/update-feature-pinned-config.use-case';\n\nexport async function updateFeaturePinnedConfig(\n featureId: string,\n agentType: string,\n modelId: string\n): Promise<{ ok: boolean; error?: string }> {\n const normalizedFeatureId = featureId.trim();\n if (!normalizedFeatureId) {\n return { ok: false, error: 'Feature id is required' };\n }\n\n const normalizedAgentType = agentType.trim();\n if (!normalizedAgentType) {\n return { ok: false, error: 'Agent type is required' };\n }\n\n const normalizedModelId = modelId.trim();\n if (!normalizedModelId) {\n return { ok: false, error: 'Model id is required' };\n }\n\n try {\n const useCase = resolve<UpdateFeaturePinnedConfigUseCase>('UpdateFeaturePinnedConfigUseCase');\n await useCase.execute({\n featureId: normalizedFeatureId,\n agentType: normalizedAgentType,\n modelId: normalizedModelId,\n });\n return { ok: true };\n } catch (error: unknown) {\n const message =\n error instanceof Error ? error.message : 'Failed to update feature pinned config';\n return { ok: false, error: message };\n }\n}\n","export {getAllAgentModels as '00584ba29510fd7c0be9b91334a285c4d817194eee'} from 'ACTIONS_MODULE0'\nexport {checkAllAgentsStatus as '0043cd6e19253a2d16dc67a5901ebb633d69833ade'} from 'ACTIONS_MODULE1'\nexport {updateAgentAndModel as '60ab01fde7b0ffd0ac818e50594ad0b7c627cd268c'} from 'ACTIONS_MODULE2'\nexport {pickFolder as '0078bc13465fe3668327a14d98f99dfd5eac466eb4'} from 'ACTIONS_MODULE3'\nexport {listGitHubRepositories as '40b0bc115ee7a3a83ed1f51d0a66b3aecb322030f7'} from 'ACTIONS_MODULE4'\nexport {listGitHubOrganizations as '00aab2d6cd7bcd302a4b0575332c7db62ad6f979f6'} from 'ACTIONS_MODULE5'\nexport {importGitHubRepository as '4098baf238aae59bad95dd063affbe654d081aab4a'} from 'ACTIONS_MODULE6'\nexport {deployFeature as '40c2dfc201f60c6eb2d188c775421d5a1c1d27d360'} from 'ACTIONS_MODULE7'\nexport {deployRepository as '40f83bf51a8dc854a30d415481bc43400636d47e4c'} from 'ACTIONS_MODULE8'\nexport {deployApplication as '40fb405850076189f008c5fef22d2c4477ff0c3acb'} from 'ACTIONS_MODULE9'\nexport {stopDeployment as '4035404c565ec563e53bb087f3016ac724f18641b7'} from 'ACTIONS_MODULE10'\nexport {getDeploymentStatus as '40679858f1700b41394164126537b7015593462023'} from 'ACTIONS_MODULE11'\nexport {openIde as '40eb302a54ace31f960436e310a81d3a716383aac2'} from 'ACTIONS_MODULE12'\nexport {openShell as '40a48198cf82b00b42c5eeda0cf538d8e321863415'} from 'ACTIONS_MODULE13'\nexport {openFolder as '4035f16d1d7200978f71b7365fbaa43488da78aab0'} from 'ACTIONS_MODULE14'\nexport {syncRepository as '402e4106a7cb1ea8fce516e1b8d65d3ea4881bea76'} from 'ACTIONS_MODULE15'\nexport {getDeploymentLogs as '407cf2682ef5cf2e45d4a60c03fd11a3ab8e6764d3'} from 'ACTIONS_MODULE16'\nexport {createProjectAndFeature as '40cd2327774da4281c3bc9ec254c5afd33df989a47'} from 'ACTIONS_MODULE17'\nexport {createApplication as '40630a38df580440120c7d9746bf2041ac6b44ef6e'} from 'ACTIONS_MODULE18'\nexport {createProjectFolder as '40d6b3c68d920910e1ff11f6b80cb1f4bfab991213'} from 'ACTIONS_MODULE19'\nexport {archiveFeature as '40ef55ae5a133449ecbb070c35bd64baad0c1041ea'} from 'ACTIONS_MODULE20'\nexport {deleteFeature as '78959196d172cdd983f97bcaad2724697698d2c806'} from 'ACTIONS_MODULE21'\nexport {resumeFeature as '406950082d9d1673e9728cfd703cce027b3df3384d'} from 'ACTIONS_MODULE22'\nexport {startFeature as '40244bfc95e7a17826b27ab71a3c04594ccb269273'} from 'ACTIONS_MODULE23'\nexport {stopFeature as '404d5c2ef2d3edbb30c8a6f7615e4e6bcb1d83defc'} from 'ACTIONS_MODULE24'\nexport {unarchiveFeature as '40d3dcaa40abac063f9155e8cac718b752ea116d6a'} from 'ACTIONS_MODULE25'\nexport {addRepository as '40463bec95ad46672c677da03586c1c32b51cc3275'} from 'ACTIONS_MODULE26'\nexport {deleteRepository as '605838af0c239df955e6df9a4f0dcb4bc74c6e3c64'} from 'ACTIONS_MODULE27'\nexport {deleteApplication as '40f071462c1f272b773937160004afa67c7eebc4f4'} from 'ACTIONS_MODULE28'\nexport {getFeatureMetadata as '40bb5d3a23e65df083ac89710c30eb7ca870be47ab'} from 'ACTIONS_MODULE29'\nexport {approveFeature as '6053f84a219b8c99f7ebb5eabef86a425b5e5149d9'} from 'ACTIONS_MODULE30'\nexport {rejectFeature as '70b4322ba34d8e68eeacb638e2489033505c6d95d8'} from 'ACTIONS_MODULE31'\nexport {getFeatureArtifact as '40f670b423ffbc6b2b087c0e9ce3ee4e17ba74b8f4'} from 'ACTIONS_MODULE32'\nexport {getResearchArtifact as '406db17873ab09320dfffe3615dfd82d6138b90f6a'} from 'ACTIONS_MODULE33'\nexport {getMergeReviewData as '40b8e6ea94b5f9944be0a3f24f5393c0f684eadf42'} from 'ACTIONS_MODULE34'\nexport {getFeaturePhaseTimings as '40205af8575897c3ce74dfd3db8318e5a1ce64e132'} from 'ACTIONS_MODULE35'\nexport {getFeaturePlan as '40ac64c983f1ab164e5dd0b685b39ca9eeef1ec260'} from 'ACTIONS_MODULE36'\nexport {rebaseFeature as '409a7947e211955f1160024012f48f4684761e684c'} from 'ACTIONS_MODULE37'\nexport {getFeatureDrawerData as '401e329acf6c49d95da3ade673b0eff06b35e94ec8'} from 'ACTIONS_MODULE38'\nexport {getBranchSyncStatus as '402e64b65e7f76b351417907f61364af51a68cbb31'} from 'ACTIONS_MODULE39'\nexport {updateFeaturePinnedConfig as '704913f0c24873a17276e2c49ce4d5abbf2563dc6f'} from 'ACTIONS_MODULE40'\n"],"names":[],"mappings":"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QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA"}
@@ -0,0 +1,3 @@
1
+ module.exports=[771238,a=>{"use strict";let b=(0,a.i(225700).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);a.s(["ExternalLink",()=>b],771238)},863698,a=>{"use strict";let b=(0,a.i(225700).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",()=>b],863698)},953170,a=>{"use strict";let b=(0,a.i(225700).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);a.s(["GitBranch",()=>b],953170)},696853,a=>{"use strict";let b=(0,a.i(225700).default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);a.s(["default",()=>b])},483886,a=>{"use strict";let b=(0,a.i(225700).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Eye",()=>b],483886)},144981,407421,944447,a=>{"use strict";var b=a.i(225700);let c=(0,b.default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);a.s(["Activity",()=>c],144981);let d=(0,b.default)("timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]);a.s(["Timer",()=>d],407421);var e=a.i(840617);a.s(["Code",()=>e.default],944447)},896867,a=>{"use strict";var b=a.i(556365),c=a.i(944592),d=a.i(559653),e=a.i(406175),f=a.i(307420),g=a.i(417329),h=a.i(264005),i=a.i(474432),j=a.i(666873),k="Switch",[l,m]=(0,f.createContextScope)(k),[n,o]=l(k),p=c.forwardRef((a,f)=>{let{__scopeSwitch:h,name:i,checked:l,defaultChecked:m,required:o,disabled:p,value:q="on",onCheckedChange:r,form:u,...v}=a,[w,x]=c.useState(null),y=(0,e.useComposedRefs)(f,a=>x(a)),z=c.useRef(!1),A=!w||u||!!w.closest("form"),[B,C]=(0,g.useControllableState)({prop:l,defaultProp:m??!1,onChange:r,caller:k});return(0,b.jsxs)(n,{scope:h,checked:B,disabled:p,children:[(0,b.jsx)(j.Primitive.button,{type:"button",role:"switch","aria-checked":B,"aria-required":o,"data-state":t(B),"data-disabled":p?"":void 0,disabled:p,value:q,...v,ref:y,onClick:(0,d.composeEventHandlers)(a.onClick,a=>{C(a=>!a),A&&(z.current=a.isPropagationStopped(),z.current||a.stopPropagation())})}),A&&(0,b.jsx)(s,{control:w,bubbles:!z.current,name:i,value:q,checked:B,required:o,disabled:p,form:u,style:{transform:"translateX(-100%)"}})]})});p.displayName=k;var q="SwitchThumb",r=c.forwardRef((a,c)=>{let{__scopeSwitch:d,...e}=a,f=o(q,d);return(0,b.jsx)(j.Primitive.span,{"data-state":t(f.checked),"data-disabled":f.disabled?"":void 0,...e,ref:c})});r.displayName=q;var s=c.forwardRef(({__scopeSwitch:a,control:d,checked:f,bubbles:g=!0,...j},k)=>{let l=c.useRef(null),m=(0,e.useComposedRefs)(l,k),n=(0,h.usePrevious)(f),o=(0,i.useSize)(d);return c.useEffect(()=>{let a=l.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(n!==f&&b){let c=new Event("click",{bubbles:g});b.call(a,f),a.dispatchEvent(c)}},[n,f,g]),(0,b.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:f,...j,tabIndex:-1,ref:m,style:{...j.style,...o,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function t(a){return a?"checked":"unchecked"}s.displayName="SwitchBubbleInput",a.s(["Root",()=>p,"Switch",()=>p,"SwitchThumb",()=>r,"Thumb",()=>r,"createSwitchScope",()=>m],791918);var u=a.i(791918),u=u,v=a.i(385536);function w({className:a,size:c="default",...d}){return(0,b.jsx)(u.Root,{"data-slot":"switch","data-size":c,className:(0,v.cn)("peer group/switch focus-visible:border-ring focus-visible:ring-ring/50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 inline-flex shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",a),...d,children:(0,b.jsx)(u.Thumb,{"data-slot":"switch-thumb",className:(0,v.cn)("bg-background dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 rtl:data-[state=checked]:-translate-x-[calc(100%-2px)]")})})}a.s(["Switch",()=>w],896867)},116126,a=>{"use strict";var b=a.i(696853);a.s(["Minus",()=>b.default])},87926,a=>{"use strict";let b=(0,a.i(225700).default)("rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]]);a.s(["Rocket",()=>b],87926)},341274,a=>{"use strict";let b=(0,a.i(225700).default)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);a.s(["EyeOff",()=>b],341274)}];
2
+
3
+ //# sourceMappingURL=_0f41c049._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/external-link.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/terminal.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/git-branch.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/minus.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/eye.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/timer.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/activity.ts","../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-switch%401.2.6_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.10__%40types%2Breact_82f001e3bde9922eaefd6f7b0722a9bb/node_modules/%40radix-ui/react-switch/dist/index.mjs","../../../../../../../src/presentation/web/components/ui/switch.tsx","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/rocket.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/eye-off.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M15 3h6v6', key: '1q9fwt' }],\n ['path', { d: 'M10 14 21 3', key: 'gplh6r' }],\n ['path', { d: 'M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6', key: 'a6xqqp' }],\n];\n\n/**\n * @component @name ExternalLink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgM2g2djYiIC8+CiAgPHBhdGggZD0iTTEwIDE0IDIxIDMiIC8+CiAgPHBhdGggZD0iTTE4IDEzdjZhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/external-link\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ExternalLink = createLucideIcon('external-link', __iconNode);\n\nexport default ExternalLink;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M12 19h8', key: 'baeox8' }],\n ['path', { d: 'm4 17 6-6-6-6', key: '1yngyt' }],\n];\n\n/**\n * @component @name Terminal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTloOCIgLz4KICA8cGF0aCBkPSJtNCAxNyA2LTYtNi02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/terminal\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Terminal = createLucideIcon('terminal', __iconNode);\n\nexport default Terminal;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['line', { x1: '6', x2: '6', y1: '3', y2: '15', key: '17qcm7' }],\n ['circle', { cx: '18', cy: '6', r: '3', key: '1h7g24' }],\n ['circle', { cx: '6', cy: '18', r: '3', key: 'fqmcym' }],\n ['path', { d: 'M18 9a9 9 0 0 1-9 9', key: 'n2h4wq' }],\n];\n\n/**\n * @component @name GitBranch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iNiIgeDI9IjYiIHkxPSIzIiB5Mj0iMTUiIC8+CiAgPGNpcmNsZSBjeD0iMTgiIGN5PSI2IiByPSIzIiAvPgogIDxjaXJjbGUgY3g9IjYiIGN5PSIxOCIgcj0iMyIgLz4KICA8cGF0aCBkPSJNMTggOWE5IDkgMCAwIDEtOSA5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/git-branch\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst GitBranch = createLucideIcon('git-branch', __iconNode);\n\nexport default GitBranch;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M5 12h14', key: '1ays0h' }]];\n\n/**\n * @component @name Minus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAxMmgxNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/minus\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Minus = createLucideIcon('minus', __iconNode);\n\nexport default Minus;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0',\n key: '1nclc0',\n },\n ],\n ['circle', { cx: '12', cy: '12', r: '3', key: '1v7zrd' }],\n];\n\n/**\n * @component @name Eye\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi4wNjIgMTIuMzQ4YTEgMSAwIDAgMSAwLS42OTYgMTAuNzUgMTAuNzUgMCAwIDEgMTkuODc2IDAgMSAxIDAgMCAxIDAgLjY5NiAxMC43NSAxMC43NSAwIDAgMS0xOS44NzYgMCIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/eye\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Eye = createLucideIcon('eye', __iconNode);\n\nexport default Eye;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['line', { x1: '10', x2: '14', y1: '2', y2: '2', key: '14vaq8' }],\n ['line', { x1: '12', x2: '15', y1: '14', y2: '11', key: '17fdiu' }],\n ['circle', { cx: '12', cy: '14', r: '8', key: '1e1u0o' }],\n];\n\n/**\n * @component @name Timer\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iMTAiIHgyPSIxNCIgeTE9IjIiIHkyPSIyIiAvPgogIDxsaW5lIHgxPSIxMiIgeDI9IjE1IiB5MT0iMTQiIHkyPSIxMSIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjE0IiByPSI4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/timer\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Timer = createLucideIcon('timer', __iconNode);\n\nexport default Timer;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2',\n key: '169zse',\n },\n ],\n];\n\n/**\n * @component @name Activity\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTJoLTIuNDhhMiAyIDAgMCAwLTEuOTMgMS40NmwtMi4zNSA4LjM2YS4yNS4yNSAwIDAgMS0uNDggMEw5LjI0IDIuMThhLjI1LjI1IDAgMCAwLS40OCAwbC0yLjM1IDguMzZBMiAyIDAgMCAxIDQuNDkgMTJIMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/activity\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Activity = createLucideIcon('activity', __iconNode);\n\nexport default Activity;\n","\"use client\";\n\n// src/switch.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar SWITCH_NAME = \"Switch\";\nvar [createSwitchContext, createSwitchScope] = createContextScope(SWITCH_NAME);\nvar [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);\nvar Switch = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSwitch,\n name,\n checked: checkedProp,\n defaultChecked,\n required,\n disabled,\n value = \"on\",\n onCheckedChange,\n form,\n ...switchProps\n } = props;\n const [button, setButton] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = button ? form || !!button.closest(\"form\") : true;\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: SWITCH_NAME\n });\n return /* @__PURE__ */ jsxs(SwitchProvider, { scope: __scopeSwitch, checked, disabled, children: [\n /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...switchProps,\n ref: composedRefs,\n onClick: composeEventHandlers(props.onClick, (event) => {\n setChecked((prevChecked) => !prevChecked);\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n SwitchBubbleInput,\n {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name,\n value,\n checked,\n required,\n disabled,\n form,\n style: { transform: \"translateX(-100%)\" }\n }\n )\n ] });\n }\n);\nSwitch.displayName = SWITCH_NAME;\nvar THUMB_NAME = \"SwitchThumb\";\nvar SwitchThumb = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSwitch, ...thumbProps } = props;\n const context = useSwitchContext(THUMB_NAME, __scopeSwitch);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...thumbProps,\n ref: forwardedRef\n }\n );\n }\n);\nSwitchThumb.displayName = THUMB_NAME;\nvar BUBBLE_INPUT_NAME = \"SwitchBubbleInput\";\nvar SwitchBubbleInput = React.forwardRef(\n ({\n __scopeSwitch,\n control,\n checked,\n bubbles = true,\n ...props\n }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React.useEffect(() => {\n const input = ref.current;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n return /* @__PURE__ */ jsx(\n \"input\",\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: checked,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0\n }\n }\n );\n }\n);\nSwitchBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getState(checked) {\n return checked ? \"checked\" : \"unchecked\";\n}\nvar Root = Switch;\nvar Thumb = SwitchThumb;\nexport {\n Root,\n Switch,\n SwitchThumb,\n Thumb,\n createSwitchScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as React from 'react';\nimport { Switch as SwitchPrimitive } from 'radix-ui';\n\nimport { cn } from '@/lib/utils';\n\nfunction Switch({\n className,\n size = 'default',\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root> & {\n size?: 'sm' | 'default';\n}) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n data-size={size}\n className={cn(\n 'peer group/switch focus-visible:border-ring focus-visible:ring-ring/50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 inline-flex shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6',\n className\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'bg-background dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 rtl:data-[state=checked]:-translate-x-[calc(100%-2px)]'\n )}\n />\n </SwitchPrimitive.Root>\n );\n}\n\nexport { Switch };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z',\n key: 'm3kijz',\n },\n ],\n [\n 'path',\n {\n d: 'm12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z',\n key: '1fmvmk',\n },\n ],\n ['path', { d: 'M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0', key: '1f8sc4' }],\n ['path', { d: 'M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5', key: 'qeys4' }],\n];\n\n/**\n * @component @name Rocket\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNC41IDE2LjVjLTEuNSAxLjI2LTIgNS0yIDVzMy43NC0uNSA1LTJjLjcxLS44NC43LTIuMTMtLjA5LTIuOTFhMi4xOCAyLjE4IDAgMCAwLTIuOTEtLjA5eiIgLz4KICA8cGF0aCBkPSJtMTIgMTUtMy0zYTIyIDIyIDAgMCAxIDItMy45NUExMi44OCAxMi44OCAwIDAgMSAyMiAyYzAgMi43Mi0uNzggNy41LTYgMTFhMjIuMzUgMjIuMzUgMCAwIDEtNCAyeiIgLz4KICA8cGF0aCBkPSJNOSAxMkg0cy41NS0zLjAzIDItNGMxLjYyLTEuMDggNSAwIDUgMCIgLz4KICA8cGF0aCBkPSJNMTIgMTV2NXMzLjAzLS41NSA0LTJjMS4wOC0xLjYyIDAtNSAwLTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/rocket\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Rocket = createLucideIcon('rocket', __iconNode);\n\nexport default Rocket;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49',\n key: 'ct8e1f',\n },\n ],\n ['path', { d: 'M14.084 14.158a3 3 0 0 1-4.242-4.242', key: '151rxh' }],\n [\n 'path',\n {\n d: 'M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143',\n key: '13bj9a',\n },\n ],\n ['path', { d: 'm2 2 20 20', key: '1ooewy' }],\n];\n\n/**\n * @component @name EyeOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuNzMzIDUuMDc2YTEwLjc0NCAxMC43NDQgMCAwIDEgMTEuMjA1IDYuNTc1IDEgMSAwIDAgMSAwIC42OTYgMTAuNzQ3IDEwLjc0NyAwIDAgMS0xLjQ0NCAyLjQ5IiAvPgogIDxwYXRoIGQ9Ik0xNC4wODQgMTQuMTU4YTMgMyAwIDAgMS00LjI0Mi00LjI0MiIgLz4KICA8cGF0aCBkPSJNMTcuNDc5IDE3LjQ5OWExMC43NSAxMC43NSAwIDAgMS0xNS40MTctNS4xNTEgMSAxIDAgMCAxIDAtLjY5NiAxMC43NSAxMC43NSAwIDAgMSA0LjQ0Ni01LjE0MyIgLz4KICA8cGF0aCBkPSJtMiAyIDIwIDIwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/eye-off\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst EyeOff = createLucideIcon('eye-off', __iconNode);\n\nexport default EyeOff;\n"],"names":[],"mappings":"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","ignoreList":[0,1,2,4,5,6,7,9,10]}
@@ -1,4 +1,4 @@
1
1
  module.exports=[237705,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(39873)},701904,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},723504,408115,827900,912513,673101,654775,265324,a=>{"use strict";var b=a.i(237705),c=a.i(996380);let d={"claude-opus-4-6":{displayName:"Opus 4.6",description:"Most capable, complex tasks"},"claude-sonnet-4-6":{displayName:"Sonnet 4.6",description:"Fast & balanced"},"claude-haiku-4-5":{displayName:"Haiku 4.5",description:"Lightweight & quick"},"gemini-3.1-pro":{displayName:"Gemini 3.1 Pro",description:"Advanced reasoning"},"gemini-3-flash":{displayName:"Gemini 3 Flash",description:"Ultra-fast responses"},"gemini-2.5-pro":{displayName:"Gemini 2.5 Pro",description:"Reliable workhorse"},"gemini-2.5-flash":{displayName:"Gemini 2.5 Flash",description:"Speed-optimized"},"gpt-5.4-high":{displayName:"GPT-5.4",description:"Latest reasoning model"},"gpt-5.2":{displayName:"GPT-5.2",description:"Flagship model"},"gpt-5.3-codex":{displayName:"GPT-5.3 Codex",description:"Code specialist"},"composer-1.5":{displayName:"Composer 1.5",description:"Multi-file editing"},"grok-code":{displayName:"Grok Code",description:"xAI code model"},"gpt-8":{displayName:"GPT-8",description:"Writes code before you think it"},"opus-7":{displayName:"Opus 7",description:"Achieved consciousness, ships on time"}},e={displayName:"",description:""};function f(a){let b=d[a];if(b)return b;let c=a.includes("/")?a.split("/").pop()??a:a;return{...e,displayName:c.replace(/^claude-/i,"").replace(/^gemini-/i,"Gemini ").replace(/^gpt-/i,"GPT-").replace(/[-_]/g," ").replace(/\b\w/g,a=>a.toUpperCase())}}var g=a.i(701904);let h={"claude-code":"Claude Code","codex-cli":"Codex CLI","copilot-cli":"Copilot CLI",cursor:"Cursor CLI","gemini-cli":"Gemini CLI",openrouter:"OpenRouter","together-ai":"Together AI",dev:"Demo"},i={"claude-code":0,"codex-cli":1,"copilot-cli":2,cursor:3,"gemini-cli":4,openrouter:5,"together-ai":6,dev:99};function j(...a){for(let b of a)if(b&&b.length>0)return b;return""}function k(a){let b=f(a.id);return{id:a.id,displayName:j(a.displayName,b.displayName,a.id),description:j(b.description,a.description),contextLength:a.contextLength,isFree:a.isFree,vendor:a.vendor}}async function l(){try{let a,b=(0,c.resolve)("IAgentExecutorFactory");try{let b=(0,c.resolve)("LoadSettingsUseCase");a=(await b.execute()).agent}catch{a=void 0}let d=b.getSupportedAgents();return(await Promise.all(d.map(async c=>{let d=a&&c===a.type?a:void 0,e=await b.listAvailableModels(c,d);return{agentType:c,label:h[c]??c,models:e.map(k)}}))).map(a=>"dev"===a.agentType&&0===a.models.length?{...a,models:[{id:"gpt-8",...f("gpt-8")},{id:"opus-7",...f("opus-7")}]}:a).filter(a=>a.models.length>0).sort((a,b)=>(i[a.agentType]??50)-(i[b.agentType]??50))}catch{return[]}}(0,g.ensureServerEntryExports)([l]),(0,b.registerServerReference)(l,"00e58c190532f4f50a563fe350b5346d8a7fe34107",null),a.s(["getAllAgentModels",()=>l],723504);let m={"claude-code":"claude-code",cursor:"cursor-cli","gemini-cli":"gemini-cli","copilot-cli":"copilot-cli","codex-cli":"codex-cli"};async function n(){try{let a=(0,c.resolve)("ListToolsUseCase"),b=await a.execute(),d={};for(let[a,c]of Object.entries(m)){let e=b.find(a=>a.id===c);d[a]=e?.status.status==="available"}return d.dev=!0,d}catch{return{}}}(0,g.ensureServerEntryExports)([n]),(0,b.registerServerReference)(n,"0051115904c7c48c39887ceb6a80a41b51f5fc6b9f",null),a.s(["checkAllAgentsStatus",()=>n],408115);var o=a.i(633244);async function p(a,b){if(!a.trim())return{ok:!1,error:"agent type is required"};try{let d=(0,c.resolve)("CompleteWebOnboardingUseCase"),e=await d.execute({agentType:a.trim(),model:b});return(0,o.resetSettings)(),(0,o.initializeSettings)(e),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:"Failed to update agent and model"}}}(0,g.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"606d13f3bd634e57be02843508a61d20c7f83dd854",null),a.s(["updateAgentAndModel",()=>p],827900);var q=a.i(874533);let r={platform:process.platform,exec:(a,b)=>(0,q.execSync)(a,b)},s={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class t{deps;constructor(a={}){this.deps={...r,...a}}getCommand(){return s[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function u(){let a=new t;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,g.ensureServerEntryExports)([u]),(0,b.registerServerReference)(u,"0026d01a354f61d318a336fbe2eaa3f03edc9f91b0",null),a.s(["pickFolder",()=>u],912513);class v extends Error{constructor(a,b){super(a),this.name="GitHubAuthError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}class w extends Error{constructor(a,b){super(a),this.name="GitHubCloneError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}class x extends Error{constructor(a,b){super(a),this.name="GitHubUrlParseError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}async function y(a){try{let b=(0,c.resolve)("ListGitHubRepositoriesUseCase");return{repos:await b.execute(a)}}catch(a){if(a instanceof v)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};return{error:a instanceof Error?a.message:"Failed to list repositories"}}}async function z(){try{let a=(0,c.resolve)("ListGitHubOrganizationsUseCase");return{orgs:await a.execute()}}catch(a){if(a instanceof v)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};return{error:a instanceof Error?a.message:"Failed to list organizations"}}}async function A(a){let{url:b,dest:d}=a;if(!b?.trim())return{error:"GitHub URL is required"};try{let a=(0,c.resolve)("ImportGitHubRepositoryUseCase"),e=await a.execute({url:b,dest:d});return{repository:e,forked:!0===e.isFork}}catch(a){if(a instanceof v)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};if(a instanceof x)return{error:`Invalid GitHub URL: ${a.message}`};if(a instanceof w)return{error:`Clone failed: ${a.message}`};return{error:a instanceof Error?a.message:"Failed to import repository"}}}(0,g.ensureServerEntryExports)([y]),(0,b.registerServerReference)(y,"40978ff740f2484d7f08bafd677da4d039256d0089",null),a.s(["listGitHubRepositories",()=>y],673101),(0,g.ensureServerEntryExports)([z]),(0,b.registerServerReference)(z,"00ceb168cfa95261f0ad5acf0245521784c59f91d1",null),a.s(["listGitHubOrganizations",()=>z],654775),(0,g.ensureServerEntryExports)([A]),(0,b.registerServerReference)(A,"402046d017b7878c27edecd35df9b66f617c5c35b1",null),a.s(["importGitHubRepository",()=>A],265324)},433841,46646,868378,268670,685321,a=>{"use strict";var b=a.i(237705),c=a.i(996380);let d=()=>void 0;function e(a){let b=!!process.env.DEBUG;return{info:b?(...b)=>console.info(a,...b):d,debug:b?(...b)=>console.debug(a,...b):d,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}var f=a.i(701904);let g=e("[deployFeature]");async function h(a){g.info(`called — featureId="${a}"`);try{let b=(0,c.resolve)("StartFeatureDeploymentUseCase"),d=await b.execute(a);return g.info(`start succeeded — state=${d.state}`),{success:!0,state:d.state}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy feature";return g.error(`error: ${a}`,b),{success:!1,error:a}}}(0,f.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"40026de899f93ce7cd1fdf1a0ee013dad77cdc4f03",null),a.s(["deployFeature",()=>h],433841);let i=e("[deployRepository]");async function j(a){i.info(`called — repositoryPath="${a}"`);try{let b=(0,c.resolve)("StartRepositoryDeploymentUseCase"),d=await b.execute(a);return i.info(`start succeeded — state=${d.state}`),{success:!0,state:d.state}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy repository";return i.error(`error: ${a}`,b),{success:!1,error:a}}}(0,f.ensureServerEntryExports)([j]),(0,b.registerServerReference)(j,"40108be7384990f668028a97284b5ae9db570b1965",null),a.s(["deployRepository",()=>j],46646);class k extends Error{applicationId;code;constructor(a){super(`Application ${a} not found`),this.applicationId=a,this.code="APPLICATION_NOT_FOUND",this.name="ApplicationNotFoundError",Object.setPrototypeOf(this,new.target.prototype)}}class l extends Error{applicationId;repositoryPath;code;constructor(a,b){super(`Repository path does not exist: ${b}`),this.applicationId=a,this.repositoryPath=b,this.code="APPLICATION_REPOSITORY_NOT_ON_DISK",this.name="ApplicationRepositoryNotOnDiskError",Object.setPrototypeOf(this,new.target.prototype)}}class m extends Error{repositoryPath;code;constructor(a){super("Cannot start a dev server for the repository Shep is running from"),this.repositoryPath=a,this.code="CANNOT_DEPLOY_SELF",this.name="CannotDeploySelfError",Object.setPrototypeOf(this,new.target.prototype)}}async function n(a){if(!a?.trim())return{success:!1,error:"applicationId is required"};try{let b=(0,c.resolve)("StartApplicationDeploymentUseCase"),d=await b.execute({applicationId:a});return{success:!0,state:d.state}}catch(b){if(b instanceof k)return{success:!1,error:`Application not found: ${a}`};if(b instanceof l)return{success:!1,error:`Repository path does not exist: ${b.repositoryPath}`};if(b instanceof m)return{success:!1,error:"Cannot start a dev server for the repository Shep is running from"};return{success:!1,error:b instanceof Error?b.message:"Failed to deploy application"}}}async function o(a){try{let b=(0,c.resolve)("StopDeploymentUseCase");return await b.execute(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to stop deployment"}}}async function p(a){return(0,c.resolve)("GetDeploymentStatusUseCase").execute(a)}(0,f.ensureServerEntryExports)([n]),(0,b.registerServerReference)(n,"406e6f424ebf1e3b734864e08e09226a559105f605",null),a.s(["deployApplication",()=>n],868378),(0,f.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"40425dc4804963cdc2f5af0bdc1e7594e877baaf11",null),a.s(["stopDeployment",()=>o],268670),(0,f.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"40eb5c7ddaa143cbe9dc2c73f7bb19a5d89b533a7d",null),a.s(["getDeploymentStatus",()=>p],685321)},794691,a=>{"use strict";var b=a.i(237705),c=a.i(996380);async function d(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,a.i(701904).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"402bc18b44955b04712cc126ca0b646a9d335ef665",null),a.s(["getDeploymentLogs",()=>d])}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},723504,408115,827900,912513,673101,654775,265324,a=>{"use strict";var b=a.i(237705),c=a.i(996380);let d={"claude-opus-4-6":{displayName:"Opus 4.6",description:"Most capable, complex tasks"},"claude-sonnet-4-6":{displayName:"Sonnet 4.6",description:"Fast & balanced"},"claude-haiku-4-5":{displayName:"Haiku 4.5",description:"Lightweight & quick"},"gemini-3.1-pro":{displayName:"Gemini 3.1 Pro",description:"Advanced reasoning"},"gemini-3-flash":{displayName:"Gemini 3 Flash",description:"Ultra-fast responses"},"gemini-2.5-pro":{displayName:"Gemini 2.5 Pro",description:"Reliable workhorse"},"gemini-2.5-flash":{displayName:"Gemini 2.5 Flash",description:"Speed-optimized"},"gpt-5.4-high":{displayName:"GPT-5.4",description:"Latest reasoning model"},"gpt-5.2":{displayName:"GPT-5.2",description:"Flagship model"},"gpt-5.3-codex":{displayName:"GPT-5.3 Codex",description:"Code specialist"},"composer-1.5":{displayName:"Composer 1.5",description:"Multi-file editing"},"grok-code":{displayName:"Grok Code",description:"xAI code model"},"gpt-8":{displayName:"GPT-8",description:"Writes code before you think it"},"opus-7":{displayName:"Opus 7",description:"Achieved consciousness, ships on time"}},e={displayName:"",description:""};function f(a){let b=d[a];if(b)return b;let c=a.includes("/")?a.split("/").pop()??a:a;return{...e,displayName:c.replace(/^claude-/i,"").replace(/^gemini-/i,"Gemini ").replace(/^gpt-/i,"GPT-").replace(/[-_]/g," ").replace(/\b\w/g,a=>a.toUpperCase())}}var g=a.i(701904);let h={"claude-code":"Claude Code","codex-cli":"Codex CLI","copilot-cli":"Copilot CLI",cursor:"Cursor CLI","gemini-cli":"Gemini CLI",openrouter:"OpenRouter","together-ai":"Together AI",dev:"Demo"},i={"claude-code":0,"codex-cli":1,"copilot-cli":2,cursor:3,"gemini-cli":4,openrouter:5,"together-ai":6,dev:99};function j(...a){for(let b of a)if(b&&b.length>0)return b;return""}function k(a){let b=f(a.id);return{id:a.id,displayName:j(a.displayName,b.displayName,a.id),description:j(b.description,a.description),contextLength:a.contextLength,isFree:a.isFree,vendor:a.vendor}}async function l(){try{let a,b=(0,c.resolve)("IAgentExecutorFactory");try{let b=(0,c.resolve)("LoadSettingsUseCase");a=(await b.execute()).agent}catch{a=void 0}let d=b.getSupportedAgents();return(await Promise.all(d.map(async c=>{let d=a&&c===a.type?a:void 0,e=await b.listAvailableModels(c,d);return{agentType:c,label:h[c]??c,models:e.map(k)}}))).map(a=>"dev"===a.agentType&&0===a.models.length?{...a,models:[{id:"gpt-8",...f("gpt-8")},{id:"opus-7",...f("opus-7")}]}:a).filter(a=>a.models.length>0).sort((a,b)=>(i[a.agentType]??50)-(i[b.agentType]??50))}catch{return[]}}(0,g.ensureServerEntryExports)([l]),(0,b.registerServerReference)(l,"00584ba29510fd7c0be9b91334a285c4d817194eee",null),a.s(["getAllAgentModels",()=>l],723504);let m={"claude-code":"claude-code",cursor:"cursor-cli","gemini-cli":"gemini-cli","copilot-cli":"copilot-cli","codex-cli":"codex-cli"};async function n(){try{let a=(0,c.resolve)("ListToolsUseCase"),b=await a.execute(),d={};for(let[a,c]of Object.entries(m)){let e=b.find(a=>a.id===c);d[a]=e?.status.status==="available"}return d.dev=!0,d}catch{return{}}}(0,g.ensureServerEntryExports)([n]),(0,b.registerServerReference)(n,"0043cd6e19253a2d16dc67a5901ebb633d69833ade",null),a.s(["checkAllAgentsStatus",()=>n],408115);var o=a.i(633244);async function p(a,b){if(!a.trim())return{ok:!1,error:"agent type is required"};try{let d=(0,c.resolve)("CompleteWebOnboardingUseCase"),e=await d.execute({agentType:a.trim(),model:b});return(0,o.resetSettings)(),(0,o.initializeSettings)(e),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:"Failed to update agent and model"}}}(0,g.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"60ab01fde7b0ffd0ac818e50594ad0b7c627cd268c",null),a.s(["updateAgentAndModel",()=>p],827900);var q=a.i(874533);let r={platform:process.platform,exec:(a,b)=>(0,q.execSync)(a,b)},s={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class t{deps;constructor(a={}){this.deps={...r,...a}}getCommand(){return s[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function u(){let a=new t;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,g.ensureServerEntryExports)([u]),(0,b.registerServerReference)(u,"0078bc13465fe3668327a14d98f99dfd5eac466eb4",null),a.s(["pickFolder",()=>u],912513);class v extends Error{constructor(a,b){super(a),this.name="GitHubAuthError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}class w extends Error{constructor(a,b){super(a),this.name="GitHubCloneError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}class x extends Error{constructor(a,b){super(a),this.name="GitHubUrlParseError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}async function y(a){try{let b=(0,c.resolve)("ListGitHubRepositoriesUseCase");return{repos:await b.execute(a)}}catch(a){if(a instanceof v)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};return{error:a instanceof Error?a.message:"Failed to list repositories"}}}async function z(){try{let a=(0,c.resolve)("ListGitHubOrganizationsUseCase");return{orgs:await a.execute()}}catch(a){if(a instanceof v)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};return{error:a instanceof Error?a.message:"Failed to list organizations"}}}async function A(a){let{url:b,dest:d}=a;if(!b?.trim())return{error:"GitHub URL is required"};try{let a=(0,c.resolve)("ImportGitHubRepositoryUseCase"),e=await a.execute({url:b,dest:d});return{repository:e,forked:!0===e.isFork}}catch(a){if(a instanceof v)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};if(a instanceof x)return{error:`Invalid GitHub URL: ${a.message}`};if(a instanceof w)return{error:`Clone failed: ${a.message}`};return{error:a instanceof Error?a.message:"Failed to import repository"}}}(0,g.ensureServerEntryExports)([y]),(0,b.registerServerReference)(y,"40b0bc115ee7a3a83ed1f51d0a66b3aecb322030f7",null),a.s(["listGitHubRepositories",()=>y],673101),(0,g.ensureServerEntryExports)([z]),(0,b.registerServerReference)(z,"00aab2d6cd7bcd302a4b0575332c7db62ad6f979f6",null),a.s(["listGitHubOrganizations",()=>z],654775),(0,g.ensureServerEntryExports)([A]),(0,b.registerServerReference)(A,"4098baf238aae59bad95dd063affbe654d081aab4a",null),a.s(["importGitHubRepository",()=>A],265324)},433841,46646,868378,268670,685321,a=>{"use strict";var b=a.i(237705),c=a.i(996380);let d=()=>void 0;function e(a){let b=!!process.env.DEBUG;return{info:b?(...b)=>console.info(a,...b):d,debug:b?(...b)=>console.debug(a,...b):d,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}var f=a.i(701904);let g=e("[deployFeature]");async function h(a){g.info(`called — featureId="${a}"`);try{let b=(0,c.resolve)("StartFeatureDeploymentUseCase"),d=await b.execute(a);return g.info(`start succeeded — state=${d.state}`),{success:!0,state:d.state}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy feature";return g.error(`error: ${a}`,b),{success:!1,error:a}}}(0,f.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"40c2dfc201f60c6eb2d188c775421d5a1c1d27d360",null),a.s(["deployFeature",()=>h],433841);let i=e("[deployRepository]");async function j(a){i.info(`called — repositoryPath="${a}"`);try{let b=(0,c.resolve)("StartRepositoryDeploymentUseCase"),d=await b.execute(a);return i.info(`start succeeded — state=${d.state}`),{success:!0,state:d.state}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy repository";return i.error(`error: ${a}`,b),{success:!1,error:a}}}(0,f.ensureServerEntryExports)([j]),(0,b.registerServerReference)(j,"40f83bf51a8dc854a30d415481bc43400636d47e4c",null),a.s(["deployRepository",()=>j],46646);var k=a.i(902157),l=a.i(881719);let m=e("[deployApplication]");async function n(a){if(m.info(`called — applicationId="${a}"`),!a?.trim())return m.warn("rejected — applicationId is empty"),{success:!1,error:"applicationId is required"};try{let b=(0,c.resolve)("IApplicationRepository"),d=await b.findById(a);if(!d)return m.warn(`application not found: "${a}"`),{success:!1,error:`Application not found: ${a}`};let e=d.repositoryPath;if(m.info(`application found — repositoryPath="${e}"`),!(0,k.existsSync)(e))return m.warn(`repository path does not exist on disk: "${e}"`),{success:!1,error:`Repository path does not exist: ${e}`};if((0,c.resolve)("IShepInstanceService").isSameInstance(e))return m.warn("rejected — target is the running shep instance"),{success:!1,error:"Cannot start a dev server for the repository Shep is running from"};return m.info("repository exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,e,"application"),m.info("start() returned successfully — state=Booting"),{success:!0,state:l.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy application";return m.error(`error: ${a}`,b),{success:!1,error:a}}}async function o(a){try{let b=(0,c.resolve)("StopDeploymentUseCase");return await b.execute(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to stop deployment"}}}async function p(a){return(0,c.resolve)("GetDeploymentStatusUseCase").execute(a)}(0,f.ensureServerEntryExports)([n]),(0,b.registerServerReference)(n,"40fb405850076189f008c5fef22d2c4477ff0c3acb",null),a.s(["deployApplication",()=>n],868378),(0,f.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"4035404c565ec563e53bb087f3016ac724f18641b7",null),a.s(["stopDeployment",()=>o],268670),(0,f.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"40679858f1700b41394164126537b7015593462023",null),a.s(["getDeploymentStatus",()=>p],685321)},794691,a=>{"use strict";var b=a.i(237705),c=a.i(996380);async function d(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,a.i(701904).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"407cf2682ef5cf2e45d4a60c03fd11a3ab8e6764d3",null),a.s(["getDeploymentLogs",()=>d])}];
3
3
 
4
4
  //# sourceMappingURL=_33a243dd._.js.map