@shepai/cli 1.136.0-pr440.bb6800a → 1.136.0-pr443.863a0ce

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 (294) hide show
  1. package/apis/json-schema/Feature.yaml +0 -3
  2. package/apis/json-schema/SdlcLifecycle.yaml +0 -1
  3. package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts +0 -2
  4. package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts.map +1 -1
  5. package/dist/packages/core/src/domain/generated/output.d.ts +1 -6
  6. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  7. package/dist/packages/core/src/domain/generated/output.js +0 -1
  8. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  9. package/dist/packages/core/src/infrastructure/di/container.js +0 -10
  10. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts +0 -1
  11. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts.map +1 -1
  12. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.js +0 -6
  13. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map +1 -1
  14. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +2 -7
  15. package/dist/src/presentation/cli/commands/feat/index.d.ts.map +1 -1
  16. package/dist/src/presentation/cli/commands/feat/index.js +1 -5
  17. package/dist/src/presentation/cli/commands/feat/ls.command.d.ts.map +1 -1
  18. package/dist/src/presentation/cli/commands/feat/ls.command.js +0 -5
  19. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts.map +1 -1
  20. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.js +1 -6
  21. package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
  22. package/dist/src/presentation/web/app/api/agent-events/route.js +0 -1
  23. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
  24. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +0 -6
  25. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +1 -3
  26. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  27. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +1 -11
  28. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  29. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +2 -16
  30. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts +0 -5
  31. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
  32. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +1 -75
  33. package/dist/src/presentation/web/components/common/merge-review/diff-view.d.ts +3 -0
  34. package/dist/src/presentation/web/components/common/merge-review/diff-view.d.ts.map +1 -1
  35. package/dist/src/presentation/web/components/common/merge-review/diff-view.js +100 -17
  36. package/dist/src/presentation/web/components/common/merge-review/diff-view.stories.d.ts +3 -1
  37. package/dist/src/presentation/web/components/common/merge-review/diff-view.stories.d.ts.map +1 -1
  38. package/dist/src/presentation/web/components/common/merge-review/diff-view.stories.js +31 -1
  39. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  40. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +4 -13
  41. package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts +0 -6
  42. package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts.map +1 -1
  43. package/dist/src/presentation/web/components/features/control-center/control-center.stories.js +0 -70
  44. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +0 -6
  45. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  46. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +2 -43
  47. package/dist/src/presentation/web/components/ui/file-tree.d.ts +39 -0
  48. package/dist/src/presentation/web/components/ui/file-tree.d.ts.map +1 -0
  49. package/dist/src/presentation/web/components/ui/file-tree.js +194 -0
  50. package/dist/src/presentation/web/components/ui/file-tree.stories.d.ts +14 -0
  51. package/dist/src/presentation/web/components/ui/file-tree.stories.d.ts.map +1 -0
  52. package/dist/src/presentation/web/components/ui/file-tree.stories.js +92 -0
  53. package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts.map +1 -1
  54. package/dist/src/presentation/web/hooks/sidebar-features-context.js +0 -1
  55. package/dist/src/presentation/web/hooks/use-graph-state.d.ts +1 -1
  56. package/dist/src/presentation/web/hooks/use-graph-state.d.ts.map +1 -1
  57. package/dist/src/presentation/web/hooks/use-graph-state.js +2 -17
  58. package/dist/src/presentation/web/lib/derive-graph.d.ts +0 -4
  59. package/dist/src/presentation/web/lib/derive-graph.d.ts.map +1 -1
  60. package/dist/src/presentation/web/lib/derive-graph.js +0 -12
  61. package/dist/tsconfig.build.tsbuildinfo +1 -1
  62. package/package.json +1 -1
  63. package/web/.next/BUILD_ID +1 -1
  64. package/web/.next/build-manifest.json +2 -2
  65. package/web/.next/fallback-build-manifest.json +2 -2
  66. package/web/.next/prerender-manifest.json +3 -3
  67. package/web/.next/required-server-files.js +1 -1
  68. package/web/.next/required-server-files.json +1 -1
  69. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +50 -80
  70. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +2 -2
  71. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  72. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  73. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +50 -80
  74. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +2 -2
  75. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  76. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  77. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +62 -92
  78. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +2 -2
  79. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  80. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  81. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +62 -92
  82. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +2 -2
  83. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  84. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  85. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +46 -76
  86. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +2 -2
  87. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  88. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  89. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +50 -80
  90. package/web/.next/server/app/(dashboard)/create/page.js +2 -2
  91. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  92. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  93. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +62 -92
  94. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +2 -2
  95. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  96. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  97. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +62 -92
  98. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +2 -2
  99. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  100. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  101. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +46 -76
  102. package/web/.next/server/app/(dashboard)/page.js +2 -2
  103. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  104. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  105. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +46 -76
  106. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +2 -2
  107. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  108. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  109. package/web/.next/server/app/_global-error.html +2 -2
  110. package/web/.next/server/app/_global-error.rsc +1 -1
  111. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  112. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  113. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  114. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  115. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  116. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +3 -3
  117. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  118. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  119. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  120. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  121. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  122. package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
  123. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  124. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  125. package/web/.next/server/app/skills/page/server-reference-manifest.json +8 -8
  126. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  127. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  128. package/web/.next/server/app/tools/page/server-reference-manifest.json +8 -8
  129. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  130. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  131. package/web/.next/server/app/version/page/server-reference-manifest.json +3 -3
  132. package/web/.next/server/app/version/page.js.nft.json +1 -1
  133. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  134. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
  135. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
  136. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
  137. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  138. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  139. package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js +1 -1
  140. package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js.map +1 -1
  141. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  142. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  143. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_b49d9c97.js +3 -0
  144. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_b49d9c97.js.map +1 -0
  145. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  146. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  147. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_28632197.js +3 -0
  148. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_28632197.js.map +1 -0
  149. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_10695d37.js +3 -0
  150. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_10695d37.js.map +1 -0
  151. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  152. package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js +1 -1
  153. package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js +1 -1
  154. package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js.map +1 -1
  155. package/web/.next/server/chunks/ssr/[root-of-the-server]__47ded061._.js +3 -0
  156. package/web/.next/server/chunks/ssr/[root-of-the-server]__47ded061._.js.map +1 -0
  157. package/web/.next/server/chunks/ssr/[root-of-the-server]__6882232d._.js +3 -0
  158. package/web/.next/server/chunks/ssr/[root-of-the-server]__6882232d._.js.map +1 -0
  159. package/web/.next/server/chunks/ssr/[root-of-the-server]__68ce373c._.js +3 -0
  160. package/web/.next/server/chunks/ssr/[root-of-the-server]__68ce373c._.js.map +1 -0
  161. package/web/.next/server/chunks/ssr/[root-of-the-server]__6ec59045._.js +1 -1
  162. package/web/.next/server/chunks/ssr/[root-of-the-server]__6ec59045._.js.map +1 -1
  163. package/web/.next/server/chunks/ssr/[root-of-the-server]__718766da._.js +3 -0
  164. package/web/.next/server/chunks/ssr/[root-of-the-server]__718766da._.js.map +1 -0
  165. package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js +1 -1
  166. package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js.map +1 -1
  167. package/web/.next/server/chunks/ssr/[root-of-the-server]__a5f9c6e5._.js +2 -2
  168. package/web/.next/server/chunks/ssr/[root-of-the-server]__a5f9c6e5._.js.map +1 -1
  169. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +2 -2
  170. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
  171. package/web/.next/server/chunks/ssr/[root-of-the-server]__b3dbadca._.js +1 -1
  172. package/web/.next/server/chunks/ssr/[root-of-the-server]__b3dbadca._.js.map +1 -1
  173. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdd058b2._.js +3 -0
  174. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdd058b2._.js.map +1 -0
  175. package/web/.next/server/chunks/ssr/_02ec1aea._.js +1 -1
  176. package/web/.next/server/chunks/ssr/_02ec1aea._.js.map +1 -1
  177. package/web/.next/server/chunks/ssr/_2d94bed7._.js +4 -0
  178. package/web/.next/server/chunks/ssr/_2d94bed7._.js.map +1 -0
  179. package/web/.next/server/chunks/ssr/_67104d9e._.js +1 -1
  180. package/web/.next/server/chunks/ssr/_67104d9e._.js.map +1 -1
  181. package/web/.next/server/chunks/ssr/_7dca1882._.js +1 -1
  182. package/web/.next/server/chunks/ssr/_7dca1882._.js.map +1 -1
  183. package/web/.next/server/chunks/ssr/_a9f57758._.js +1 -1
  184. package/web/.next/server/chunks/ssr/_a9f57758._.js.map +1 -1
  185. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
  186. package/web/.next/server/chunks/ssr/_d8575088._.js +1 -1
  187. package/web/.next/server/chunks/ssr/_d8575088._.js.map +1 -1
  188. package/web/.next/server/chunks/ssr/_e69a26ba._.js +4 -0
  189. package/web/.next/server/chunks/ssr/_e69a26ba._.js.map +1 -0
  190. package/web/.next/server/chunks/ssr/_f39a1adb._.js +1 -1
  191. package/web/.next/server/chunks/ssr/_f39a1adb._.js.map +1 -1
  192. package/web/.next/server/chunks/ssr/_fefe070a._.js +3 -0
  193. package/web/.next/server/chunks/ssr/{_913fb649._.js.map → _fefe070a._.js.map} +1 -1
  194. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  195. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  196. package/web/.next/server/chunks/ssr/src_presentation_web_53666118._.js +5 -0
  197. package/web/.next/server/chunks/ssr/src_presentation_web_53666118._.js.map +1 -0
  198. package/web/.next/server/chunks/ssr/{src_presentation_web_97dc2fb0._.js → src_presentation_web_8213e5ea._.js} +2 -2
  199. package/web/.next/server/chunks/ssr/{src_presentation_web_97dc2fb0._.js.map → src_presentation_web_8213e5ea._.js.map} +1 -1
  200. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_d95e128d.js +3 -0
  201. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_d95e128d.js.map +1 -0
  202. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js +1 -1
  203. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +1 -1
  204. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +1 -1
  205. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +1 -1
  206. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
  207. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -1
  208. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  209. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  210. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  211. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  212. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_scroll-area_tsx_53ae5be7._.js +3 -0
  213. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_scroll-area_tsx_53ae5be7._.js.map +1 -0
  214. package/web/.next/server/chunks/ssr/src_presentation_web_e4df6dd7._.js +5 -0
  215. package/web/.next/server/chunks/ssr/src_presentation_web_e4df6dd7._.js.map +1 -0
  216. package/web/.next/server/pages/500.html +2 -2
  217. package/web/.next/server/server-reference-manifest.js +1 -1
  218. package/web/.next/server/server-reference-manifest.json +307 -463
  219. package/web/.next/static/chunks/{cd14232b3d8f5052.js → 13cb84d179d5b4ec.js} +1 -1
  220. package/web/.next/static/chunks/{3a7ff215d6a2c489.js → 15ac82422c6ff481.js} +2 -2
  221. package/web/.next/static/chunks/2a6fc81b4d79edd5.js +1 -0
  222. package/web/.next/static/chunks/{4b3e7454c2b07877.js → 311e3e6daae41529.js} +1 -1
  223. package/web/.next/static/chunks/4942206ecc6050b3.js +1 -0
  224. package/web/.next/static/chunks/66e554b3fb85d07b.js +1 -0
  225. package/web/.next/static/chunks/{dd8f2197640aea64.js → 6ce910f8eca9c744.js} +1 -1
  226. package/web/.next/static/chunks/72813fbc89b39798.js +1 -0
  227. package/web/.next/static/chunks/72fb66a9a892b323.js +1 -0
  228. package/web/.next/static/chunks/76fe6d79d9531082.js +1 -0
  229. package/web/.next/static/chunks/8445a8933ec13b8f.css +1 -0
  230. package/web/.next/static/chunks/9403c53377b1bfee.js +1 -0
  231. package/web/.next/static/chunks/{791e64500a080d4f.js → c2e2ff7e444af0fb.js} +1 -1
  232. package/web/.next/static/chunks/d7cf75b9d218a74a.js +1 -0
  233. package/web/.next/static/chunks/e49b53761421e978.js +2 -0
  234. package/web/.next/static/chunks/{fc442d957b35bd5e.js → ef02305e9eeeae2d.js} +1 -1
  235. package/dist/packages/core/src/application/use-cases/features/archive-feature.use-case.d.ts +0 -20
  236. package/dist/packages/core/src/application/use-cases/features/archive-feature.use-case.d.ts.map +0 -1
  237. package/dist/packages/core/src/application/use-cases/features/archive-feature.use-case.js +0 -74
  238. package/dist/packages/core/src/application/use-cases/features/unarchive-feature.use-case.d.ts +0 -20
  239. package/dist/packages/core/src/application/use-cases/features/unarchive-feature.use-case.d.ts.map +0 -1
  240. package/dist/packages/core/src/application/use-cases/features/unarchive-feature.use-case.js +0 -65
  241. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-previous-lifecycle.d.ts +0 -12
  242. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-previous-lifecycle.d.ts.map +0 -1
  243. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-previous-lifecycle.js +0 -16
  244. package/dist/src/presentation/cli/commands/feat/archive.command.d.ts +0 -18
  245. package/dist/src/presentation/cli/commands/feat/archive.command.d.ts.map +0 -1
  246. package/dist/src/presentation/cli/commands/feat/archive.command.js +0 -54
  247. package/dist/src/presentation/cli/commands/feat/unarchive.command.d.ts +0 -17
  248. package/dist/src/presentation/cli/commands/feat/unarchive.command.d.ts.map +0 -1
  249. package/dist/src/presentation/cli/commands/feat/unarchive.command.js +0 -42
  250. package/dist/src/presentation/web/app/actions/archive-feature.d.ts +0 -6
  251. package/dist/src/presentation/web/app/actions/archive-feature.d.ts.map +0 -1
  252. package/dist/src/presentation/web/app/actions/archive-feature.js +0 -16
  253. package/dist/src/presentation/web/app/actions/unarchive-feature.d.ts +0 -6
  254. package/dist/src/presentation/web/app/actions/unarchive-feature.d.ts.map +0 -1
  255. package/dist/src/presentation/web/app/actions/unarchive-feature.js +0 -16
  256. package/web/.next/server/chunks/ssr/[root-of-the-server]__61564698._.js +0 -4
  257. package/web/.next/server/chunks/ssr/[root-of-the-server]__61564698._.js.map +0 -1
  258. package/web/.next/server/chunks/ssr/[root-of-the-server]__74ab160c._.js +0 -4
  259. package/web/.next/server/chunks/ssr/[root-of-the-server]__74ab160c._.js.map +0 -1
  260. package/web/.next/server/chunks/ssr/[root-of-the-server]__bd16cded._.js +0 -4
  261. package/web/.next/server/chunks/ssr/[root-of-the-server]__bd16cded._.js.map +0 -1
  262. package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js +0 -3
  263. package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js.map +0 -1
  264. package/web/.next/server/chunks/ssr/[root-of-the-server]__f14fffe1._.js +0 -4
  265. package/web/.next/server/chunks/ssr/[root-of-the-server]__f14fffe1._.js.map +0 -1
  266. package/web/.next/server/chunks/ssr/_2fdfd9ab._.js +0 -4
  267. package/web/.next/server/chunks/ssr/_2fdfd9ab._.js.map +0 -1
  268. package/web/.next/server/chunks/ssr/_36059d08._.js +0 -4
  269. package/web/.next/server/chunks/ssr/_36059d08._.js.map +0 -1
  270. package/web/.next/server/chunks/ssr/_65f6e0e0._.js +0 -6
  271. package/web/.next/server/chunks/ssr/_65f6e0e0._.js.map +0 -1
  272. package/web/.next/server/chunks/ssr/_913fb649._.js +0 -3
  273. package/web/.next/server/chunks/ssr/_a51673dd._.js +0 -4
  274. package/web/.next/server/chunks/ssr/_a51673dd._.js.map +0 -1
  275. package/web/.next/server/chunks/ssr/_ae587066._.js +0 -4
  276. package/web/.next/server/chunks/ssr/_ae587066._.js.map +0 -1
  277. package/web/.next/server/chunks/ssr/_d162e30d._.js +0 -4
  278. package/web/.next/server/chunks/ssr/_d162e30d._.js.map +0 -1
  279. package/web/.next/server/chunks/ssr/_d763f022._.js +0 -6
  280. package/web/.next/server/chunks/ssr/_d763f022._.js.map +0 -1
  281. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +0 -3
  282. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js.map +0 -1
  283. package/web/.next/static/chunks/2d6eb4409cc6324d.js +0 -1
  284. package/web/.next/static/chunks/688971d5bad5dc7c.js +0 -1
  285. package/web/.next/static/chunks/79c9871d46b22bf8.css +0 -1
  286. package/web/.next/static/chunks/7ee0606f698b032c.js +0 -1
  287. package/web/.next/static/chunks/87640f53f3bff3a6.js +0 -1
  288. package/web/.next/static/chunks/bb5bd1b5aafc70cd.js +0 -1
  289. package/web/.next/static/chunks/bf0a401666f990e2.js +0 -1
  290. package/web/.next/static/chunks/c4c3fcf18262b386.js +0 -2
  291. package/web/.next/static/chunks/d0dff217a94d4ee1.js +0 -1
  292. /package/web/.next/static/{JaRBeVSDLWZLQIl_k7ChK → 6xm4SoE6w_Z_XqNQlMkvd}/_buildManifest.js +0 -0
  293. /package/web/.next/static/{JaRBeVSDLWZLQIl_k7ChK → 6xm4SoE6w_Z_XqNQlMkvd}/_clientMiddlewareManifest.json +0 -0
  294. /package/web/.next/static/{JaRBeVSDLWZLQIl_k7ChK → 6xm4SoE6w_Z_XqNQlMkvd}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,58860,44229,e=>{"use strict";let t=(0,e.i(3645).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"}]]);e.s(["Timer",()=>t],58860);var r=e.i(93752);e.s(["Code",()=>r.default],44229)},10714,99105,e=>{"use strict";var t=e.i(3645);let r=(0,t.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["default",()=>r],10714);let o=(0,t.default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>o],99105)},38573,e=>{"use strict";let t=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],38573)},30702,e=>{"use strict";let t=(0,e.i(3645).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"}]]);e.s(["ExternalLink",()=>t],30702)},23925,1012,e=>{"use strict";let t=(0,e.i(3645).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t],1012),e.s(["Check",()=>t],23925)},23405,e=>{"use strict";var t=e.i(79054);function r(e){let r=t.useRef({value:e,previous:e});return t.useMemo(()=>(r.current.value!==e&&(r.current.previous=r.current.value,r.current.value=e),r.current.previous),[e])}e.s(["usePrevious",()=>r])},11345,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",()=>t],11345)},76016,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],76016)},93752,e=>{"use strict";let t=(0,e.i(3645).default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);e.s(["default",()=>t])},83902,e=>{"use strict";let t=(0,e.i(3645).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"}]]);e.s(["Rocket",()=>t],83902)},90382,e=>{"use strict";var t=e.i(20314),r=e.i(79054),o=e.i(91967),a=e.i(5978),n=e.i(22528),s=e.i(53532),i=e.i(41687),l=e.i(56720),c=e.i(13123),d=e.i(52740),u=e.i(39979),p=e.i(85995),f=e.i(87620),h=e.i(86874),m=e.i(36589),v=e.i(73772),x=e.i(13044),g="Popover",[b,y]=(0,n.createContextScope)(g,[d.createPopperScope]),k=(0,d.createPopperScope)(),[w,j]=b(g),C=e=>{let{__scopePopover:o,children:a,open:n,defaultOpen:s,onOpenChange:i,modal:l=!1}=e,u=k(o),p=r.useRef(null),[f,h]=r.useState(!1),[v,x]=(0,m.useControllableState)({prop:n,defaultProp:s??!1,onChange:i,caller:g});return(0,t.jsx)(d.Root,{...u,children:(0,t.jsx)(w,{scope:o,contentId:(0,c.useId)(),triggerRef:p,open:v,onOpenChange:x,onOpenToggle:r.useCallback(()=>x(e=>!e),[x]),hasCustomAnchor:f,onCustomAnchorAdd:r.useCallback(()=>h(!0),[]),onCustomAnchorRemove:r.useCallback(()=>h(!1),[]),modal:l,children:a})})};C.displayName=g;var P="PopoverAnchor",R=r.forwardRef((e,o)=>{let{__scopePopover:a,...n}=e,s=j(P,a),i=k(a),{onCustomAnchorAdd:l,onCustomAnchorRemove:c}=s;return r.useEffect(()=>(l(),()=>c()),[l,c]),(0,t.jsx)(d.Anchor,{...i,...n,ref:o})});R.displayName=P;var N="PopoverTrigger",A=r.forwardRef((e,r)=>{let{__scopePopover:n,...s}=e,i=j(N,n),l=k(n),c=(0,a.useComposedRefs)(r,i.triggerRef),u=(0,t.jsx)(f.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":U(i.open),...s,ref:c,onClick:(0,o.composeEventHandlers)(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?u:(0,t.jsx)(d.Anchor,{asChild:!0,...l,children:u})});A.displayName=N;var S="PopoverPortal",[T,M]=b(S,{forceMount:void 0}),E=e=>{let{__scopePopover:r,forceMount:o,children:a,container:n}=e,s=j(S,r);return(0,t.jsx)(T,{scope:r,forceMount:o,children:(0,t.jsx)(p.Presence,{present:o||s.open,children:(0,t.jsx)(u.Portal,{asChild:!0,container:n,children:a})})})};E.displayName=S;var F="PopoverContent",O=r.forwardRef((e,r)=>{let o=M(F,e.__scopePopover),{forceMount:a=o.forceMount,...n}=e,s=j(F,e.__scopePopover);return(0,t.jsx)(p.Presence,{present:a||s.open,children:s.modal?(0,t.jsx)(D,{...n,ref:r}):(0,t.jsx)(I,{...n,ref:r})})});O.displayName=F;var z=(0,h.createSlot)("PopoverContent.RemoveScroll"),D=r.forwardRef((e,n)=>{let s=j(F,e.__scopePopover),i=r.useRef(null),l=(0,a.useComposedRefs)(n,i),c=r.useRef(!1);return r.useEffect(()=>{let e=i.current;if(e)return(0,v.hideOthers)(e)},[]),(0,t.jsx)(x.RemoveScroll,{as:z,allowPinchZoom:!0,children:(0,t.jsx)(q,{...e,ref:l,trapFocus:s.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,o.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),c.current||s.triggerRef.current?.focus()}),onPointerDownOutside:(0,o.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;c.current=2===t.button||r},{checkForDefaultPrevented:!1}),onFocusOutside:(0,o.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),I=r.forwardRef((e,o)=>{let a=j(F,e.__scopePopover),n=r.useRef(!1),s=r.useRef(!1);return(0,t.jsx)(q,{...e,ref:o,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(n.current||a.triggerRef.current?.focus(),t.preventDefault()),n.current=!1,s.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(n.current=!0,"pointerdown"===t.detail.originalEvent.type&&(s.current=!0));let r=t.target;a.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&s.current&&t.preventDefault()}})}),q=r.forwardRef((e,r)=>{let{__scopePopover:o,trapFocus:a,onOpenAutoFocus:n,onCloseAutoFocus:c,disableOutsidePointerEvents:u,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:h,onInteractOutside:m,...v}=e,x=j(F,o),g=k(o);return(0,i.useFocusGuards)(),(0,t.jsx)(l.FocusScope,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:n,onUnmountAutoFocus:c,children:(0,t.jsx)(s.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:u,onInteractOutside:m,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:h,onDismiss:()=>x.onOpenChange(!1),children:(0,t.jsx)(d.Content,{"data-state":U(x.open),role:"dialog",id:x.contentId,...g,...v,ref:r,style:{...v.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),H="PopoverClose",L=r.forwardRef((e,r)=>{let{__scopePopover:a,...n}=e,s=j(H,a);return(0,t.jsx)(f.Primitive.button,{type:"button",...n,ref:r,onClick:(0,o.composeEventHandlers)(e.onClick,()=>s.onOpenChange(!1))})});L.displayName=H;var _=r.forwardRef((e,r)=>{let{__scopePopover:o,...a}=e,n=k(o);return(0,t.jsx)(d.Arrow,{...n,...a,ref:r})});function U(e){return e?"open":"closed"}_.displayName="PopoverArrow",e.s(["Anchor",()=>R,"Arrow",()=>_,"Close",()=>L,"Content",()=>O,"Popover",()=>C,"PopoverAnchor",()=>R,"PopoverArrow",()=>_,"PopoverClose",()=>L,"PopoverContent",()=>O,"PopoverPortal",()=>E,"PopoverTrigger",()=>A,"Portal",()=>E,"Root",()=>C,"Trigger",()=>A,"createPopoverScope",()=>y],89920);var B=e.i(89920),B=B,K=e.i(31777);let X=B.Root,G=B.Trigger;B.Anchor;let V=r.forwardRef(({className:e,align:r="center",sideOffset:o=4,...a},n)=>(0,t.jsx)(B.Portal,{children:(0,t.jsx)(B.Content,{ref:n,align:r,sideOffset:o,className:(0,K.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none",e),...a})}));V.displayName=B.Content.displayName,e.s(["Popover",()=>X,"PopoverContent",()=>V,"PopoverTrigger",()=>G],90382)},36410,41826,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("00b6aaa63acccbf1a77db62d8b4ff85f9dc4fe7b0a",t.callServer,void 0,t.findSourceMapURL,"getAllAgentModels");e.s(["getAllAgentModels",()=>r],36410);let o=(0,t.createServerReference)("60f3a382947bf150bfea448e11c59bcd42b6884929",t.callServer,void 0,t.findSourceMapURL,"updateAgentAndModel");e.s(["updateAgentAndModel",()=>o],41826)},51911,41413,e=>{"use strict";var t=e.i(20314),r=e.i(79054),o=e.i(91967),a=e.i(5978),n=e.i(22528),s=e.i(36589),i=e.i(23405),l=e.i(77624),c=e.i(87620),d="Switch",[u,p]=(0,n.createContextScope)(d),[f,h]=u(d),m=r.forwardRef((e,n)=>{let{__scopeSwitch:i,name:l,checked:u,defaultChecked:p,required:h,disabled:m,value:v="on",onCheckedChange:x,form:y,...k}=e,[w,j]=r.useState(null),C=(0,a.useComposedRefs)(n,e=>j(e)),P=r.useRef(!1),R=!w||y||!!w.closest("form"),[N,A]=(0,s.useControllableState)({prop:u,defaultProp:p??!1,onChange:x,caller:d});return(0,t.jsxs)(f,{scope:i,checked:N,disabled:m,children:[(0,t.jsx)(c.Primitive.button,{type:"button",role:"switch","aria-checked":N,"aria-required":h,"data-state":b(N),"data-disabled":m?"":void 0,disabled:m,value:v,...k,ref:C,onClick:(0,o.composeEventHandlers)(e.onClick,e=>{A(e=>!e),R&&(P.current=e.isPropagationStopped(),P.current||e.stopPropagation())})}),R&&(0,t.jsx)(g,{control:w,bubbles:!P.current,name:l,value:v,checked:N,required:h,disabled:m,form:y,style:{transform:"translateX(-100%)"}})]})});m.displayName=d;var v="SwitchThumb",x=r.forwardRef((e,r)=>{let{__scopeSwitch:o,...a}=e,n=h(v,o);return(0,t.jsx)(c.Primitive.span,{"data-state":b(n.checked),"data-disabled":n.disabled?"":void 0,...a,ref:r})});x.displayName=v;var g=r.forwardRef(({__scopeSwitch:e,control:o,checked:n,bubbles:s=!0,...c},d)=>{let u=r.useRef(null),p=(0,a.useComposedRefs)(u,d),f=(0,i.usePrevious)(n),h=(0,l.useSize)(o);return r.useEffect(()=>{let e=u.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(f!==n&&t){let r=new Event("click",{bubbles:s});t.call(e,n),e.dispatchEvent(r)}},[f,n,s]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...c,tabIndex:-1,ref:p,style:{...c.style,...h,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function b(e){return e?"checked":"unchecked"}g.displayName="SwitchBubbleInput",e.s(["Root",()=>m,"Switch",()=>m,"SwitchThumb",()=>x,"Thumb",()=>x,"createSwitchScope",()=>p],95291);var y=e.i(95291),y=y,k=e.i(31777);function w({className:e,size:r="default",...o}){return(0,t.jsx)(y.Root,{"data-slot":"switch","data-size":r,className:(0,k.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",e),...o,children:(0,t.jsx)(y.Thumb,{"data-slot":"switch-thumb",className:(0,k.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")})})}e.s(["Switch",()=>w],51911);var j=e.i(23925),C=e.i(11345),P=e.i(76016),R=e.i(36410),N=e.i(41826),A=e.i(86782),S=e.i(29847),T=e.i(35364),M=e.i(90382);function E({initialAgentType:e,initialModel:o,onAgentModelChange:a,disabled:n,className:s,mode:i}){let[l,c]=r.useState(!1),[d,u]=r.useState([]),[p,f]=r.useState(!0),[h,m]=r.useState(e),[v,x]=r.useState(o),[g,b]=r.useState(null),[y,w]=r.useState(0),[E,F]=r.useState(null);r.useEffect(()=>{(0,R.getAllAgentModels)().then(u).finally(()=>f(!1))},[]),r.useEffect(()=>{if(!l){let e=setTimeout(()=>{w(0),F(null)},150);return()=>clearTimeout(e)}},[l]);let O=async(e,t)=>{if(c(!1),e!==h||t!==v){if("override"===i){m(e),x(t),a?.(e,t);return}m(e),x(t),a?.(e,t),b(null);try{let r=await (0,N.updateAgentAndModel)(e,t||null);r.ok||(m(h),x(v),a?.(h,v),b(r.error??"Failed to save"))}catch{m(h),x(v),a?.(h,v),b("Failed to save")}}},z=(0,A.getAgentTypeIcon)(h),D=d.find(e=>e.agentType===h)?.label??h,I=v?(0,S.getModelMeta)(v).displayName||v:null,q=E?d.find(e=>e.agentType===E):null;return(0,t.jsxs)("div",{className:(0,k.cn)("flex flex-col gap-1",s),children:[(0,t.jsxs)(M.Popover,{open:l,onOpenChange:c,children:[(0,t.jsx)(M.PopoverTrigger,{asChild:!0,children:(0,t.jsx)(T.Button,{variant:"outline",role:"combobox","aria-expanded":l,disabled:(n??!1)||p,className:"w-auto cursor-pointer justify-start font-normal hover:border-violet-300 hover:bg-violet-50/50 dark:hover:border-violet-700 dark:hover:bg-violet-950/30",children:(0,t.jsxs)("span",{className:"flex items-center gap-2 truncate",children:[(0,t.jsx)(z,{className:"h-4 w-4 shrink-0"}),p?"Loading…":(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:D}),I?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-muted-foreground/50 text-xs",children:"·"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:I})]}):null]})]})})}),(0,t.jsx)(M.PopoverContent,{className:"w-(--radix-popover-trigger-width) overflow-hidden p-0",align:"start",children:(0,t.jsxs)("div",{className:"flex transition-transform duration-200 ease-in-out",style:{transform:`translateX(${1===y?"-50%":"0%"})`,width:"200%"},children:[(0,t.jsxs)("div",{className:"w-1/2 shrink-0",children:[(0,t.jsx)("div",{className:"text-muted-foreground border-b px-3 py-2 text-xs font-medium",children:"Select agent"}),d.map(e=>{let r=(0,A.getAgentTypeIcon)(e.agentType),o=h===e.agentType,a=e.models.length>0;return(0,t.jsxs)("button",{type:"button",className:(0,k.cn)("flex w-full cursor-pointer items-center gap-2.5 px-3 py-2 text-xs transition-colors","hover:bg-accent hover:text-accent-foreground",o&&"bg-accent/50"),onClick:()=>{a?(F(e.agentType),requestAnimationFrame(()=>{requestAnimationFrame(()=>w(1))})):O(e.agentType,"")},children:[(0,t.jsx)(r,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{className:"flex-1 text-left",children:e.label}),o&&!a?(0,t.jsx)(j.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null,a?(0,t.jsx)(P.ChevronRight,{className:"text-muted-foreground h-3.5 w-3.5 shrink-0"}):null]},e.agentType)})]}),(0,t.jsx)("div",{className:"w-1/2 shrink-0",children:q?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("button",{type:"button",className:"text-muted-foreground hover:text-foreground flex w-full cursor-pointer items-center gap-1.5 border-b px-3 py-2 text-xs font-medium transition-colors",onClick:()=>{w(0),setTimeout(()=>F(null),220)},children:[(0,t.jsx)(C.ChevronLeft,{className:"h-3.5 w-3.5"}),q.label]}),q.models.map(e=>{let r=h===q.agentType&&v===e.id;return(0,t.jsxs)("button",{type:"button",className:(0,k.cn)("flex w-full cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors","hover:bg-accent hover:text-accent-foreground",r&&"bg-accent/50"),onClick:()=>O(q.agentType,e.id),children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsx)("span",{className:"text-xs font-medium",children:e.displayName}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:e.description})]}),r?(0,t.jsx)(j.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null]},e.id)})]}):null})]})})]}),!!g&&(0,t.jsx)("p",{className:"text-destructive text-sm",children:g})]})}e.s(["AgentModelPicker",()=>E],41413)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,58860,44229,e=>{"use strict";let t=(0,e.i(3645).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"}]]);e.s(["Timer",()=>t],58860);var r=e.i(93752);e.s(["Code",()=>r.default],44229)},10714,99105,e=>{"use strict";var t=e.i(3645);let r=(0,t.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["default",()=>r],10714);let o=(0,t.default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>o],99105)},38573,e=>{"use strict";let t=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],38573)},30702,e=>{"use strict";let t=(0,e.i(3645).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"}]]);e.s(["ExternalLink",()=>t],30702)},23925,1012,e=>{"use strict";let t=(0,e.i(3645).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t],1012),e.s(["Check",()=>t],23925)},23405,e=>{"use strict";var t=e.i(79054);function r(e){let r=t.useRef({value:e,previous:e});return t.useMemo(()=>(r.current.value!==e&&(r.current.previous=r.current.value,r.current.value=e),r.current.previous),[e])}e.s(["usePrevious",()=>r])},11345,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",()=>t],11345)},76016,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],76016)},93752,e=>{"use strict";let t=(0,e.i(3645).default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);e.s(["default",()=>t])},83902,e=>{"use strict";let t=(0,e.i(3645).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"}]]);e.s(["Rocket",()=>t],83902)},90382,e=>{"use strict";var t=e.i(20314),r=e.i(79054),o=e.i(91967),a=e.i(5978),n=e.i(22528),s=e.i(53532),i=e.i(41687),l=e.i(56720),c=e.i(13123),d=e.i(52740),u=e.i(39979),p=e.i(85995),f=e.i(87620),h=e.i(86874),m=e.i(36589),v=e.i(73772),x=e.i(13044),g="Popover",[b,y]=(0,n.createContextScope)(g,[d.createPopperScope]),k=(0,d.createPopperScope)(),[w,j]=b(g),C=e=>{let{__scopePopover:o,children:a,open:n,defaultOpen:s,onOpenChange:i,modal:l=!1}=e,u=k(o),p=r.useRef(null),[f,h]=r.useState(!1),[v,x]=(0,m.useControllableState)({prop:n,defaultProp:s??!1,onChange:i,caller:g});return(0,t.jsx)(d.Root,{...u,children:(0,t.jsx)(w,{scope:o,contentId:(0,c.useId)(),triggerRef:p,open:v,onOpenChange:x,onOpenToggle:r.useCallback(()=>x(e=>!e),[x]),hasCustomAnchor:f,onCustomAnchorAdd:r.useCallback(()=>h(!0),[]),onCustomAnchorRemove:r.useCallback(()=>h(!1),[]),modal:l,children:a})})};C.displayName=g;var P="PopoverAnchor",R=r.forwardRef((e,o)=>{let{__scopePopover:a,...n}=e,s=j(P,a),i=k(a),{onCustomAnchorAdd:l,onCustomAnchorRemove:c}=s;return r.useEffect(()=>(l(),()=>c()),[l,c]),(0,t.jsx)(d.Anchor,{...i,...n,ref:o})});R.displayName=P;var N="PopoverTrigger",A=r.forwardRef((e,r)=>{let{__scopePopover:n,...s}=e,i=j(N,n),l=k(n),c=(0,a.useComposedRefs)(r,i.triggerRef),u=(0,t.jsx)(f.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":U(i.open),...s,ref:c,onClick:(0,o.composeEventHandlers)(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?u:(0,t.jsx)(d.Anchor,{asChild:!0,...l,children:u})});A.displayName=N;var S="PopoverPortal",[T,M]=b(S,{forceMount:void 0}),E=e=>{let{__scopePopover:r,forceMount:o,children:a,container:n}=e,s=j(S,r);return(0,t.jsx)(T,{scope:r,forceMount:o,children:(0,t.jsx)(p.Presence,{present:o||s.open,children:(0,t.jsx)(u.Portal,{asChild:!0,container:n,children:a})})})};E.displayName=S;var F="PopoverContent",O=r.forwardRef((e,r)=>{let o=M(F,e.__scopePopover),{forceMount:a=o.forceMount,...n}=e,s=j(F,e.__scopePopover);return(0,t.jsx)(p.Presence,{present:a||s.open,children:s.modal?(0,t.jsx)(D,{...n,ref:r}):(0,t.jsx)(I,{...n,ref:r})})});O.displayName=F;var z=(0,h.createSlot)("PopoverContent.RemoveScroll"),D=r.forwardRef((e,n)=>{let s=j(F,e.__scopePopover),i=r.useRef(null),l=(0,a.useComposedRefs)(n,i),c=r.useRef(!1);return r.useEffect(()=>{let e=i.current;if(e)return(0,v.hideOthers)(e)},[]),(0,t.jsx)(x.RemoveScroll,{as:z,allowPinchZoom:!0,children:(0,t.jsx)(q,{...e,ref:l,trapFocus:s.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,o.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),c.current||s.triggerRef.current?.focus()}),onPointerDownOutside:(0,o.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;c.current=2===t.button||r},{checkForDefaultPrevented:!1}),onFocusOutside:(0,o.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),I=r.forwardRef((e,o)=>{let a=j(F,e.__scopePopover),n=r.useRef(!1),s=r.useRef(!1);return(0,t.jsx)(q,{...e,ref:o,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(n.current||a.triggerRef.current?.focus(),t.preventDefault()),n.current=!1,s.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(n.current=!0,"pointerdown"===t.detail.originalEvent.type&&(s.current=!0));let r=t.target;a.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&s.current&&t.preventDefault()}})}),q=r.forwardRef((e,r)=>{let{__scopePopover:o,trapFocus:a,onOpenAutoFocus:n,onCloseAutoFocus:c,disableOutsidePointerEvents:u,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:h,onInteractOutside:m,...v}=e,x=j(F,o),g=k(o);return(0,i.useFocusGuards)(),(0,t.jsx)(l.FocusScope,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:n,onUnmountAutoFocus:c,children:(0,t.jsx)(s.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:u,onInteractOutside:m,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:h,onDismiss:()=>x.onOpenChange(!1),children:(0,t.jsx)(d.Content,{"data-state":U(x.open),role:"dialog",id:x.contentId,...g,...v,ref:r,style:{...v.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),H="PopoverClose",L=r.forwardRef((e,r)=>{let{__scopePopover:a,...n}=e,s=j(H,a);return(0,t.jsx)(f.Primitive.button,{type:"button",...n,ref:r,onClick:(0,o.composeEventHandlers)(e.onClick,()=>s.onOpenChange(!1))})});L.displayName=H;var _=r.forwardRef((e,r)=>{let{__scopePopover:o,...a}=e,n=k(o);return(0,t.jsx)(d.Arrow,{...n,...a,ref:r})});function U(e){return e?"open":"closed"}_.displayName="PopoverArrow",e.s(["Anchor",()=>R,"Arrow",()=>_,"Close",()=>L,"Content",()=>O,"Popover",()=>C,"PopoverAnchor",()=>R,"PopoverArrow",()=>_,"PopoverClose",()=>L,"PopoverContent",()=>O,"PopoverPortal",()=>E,"PopoverTrigger",()=>A,"Portal",()=>E,"Root",()=>C,"Trigger",()=>A,"createPopoverScope",()=>y],89920);var B=e.i(89920),B=B,K=e.i(31777);let X=B.Root,G=B.Trigger;B.Anchor;let V=r.forwardRef(({className:e,align:r="center",sideOffset:o=4,...a},n)=>(0,t.jsx)(B.Portal,{children:(0,t.jsx)(B.Content,{ref:n,align:r,sideOffset:o,className:(0,K.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none",e),...a})}));V.displayName=B.Content.displayName,e.s(["Popover",()=>X,"PopoverContent",()=>V,"PopoverTrigger",()=>G],90382)},36374,23663,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("00fc614c4d90ce1af757f6cf2b15730355bc9ea545",t.callServer,void 0,t.findSourceMapURL,"getAllAgentModels");e.s(["getAllAgentModels",()=>r],36374);let o=(0,t.createServerReference)("602b45d6b82417a32f81fdefb3f9aa580ef28367ad",t.callServer,void 0,t.findSourceMapURL,"updateAgentAndModel");e.s(["updateAgentAndModel",()=>o],23663)},51911,41413,e=>{"use strict";var t=e.i(20314),r=e.i(79054),o=e.i(91967),a=e.i(5978),n=e.i(22528),s=e.i(36589),i=e.i(23405),l=e.i(77624),c=e.i(87620),d="Switch",[u,p]=(0,n.createContextScope)(d),[f,h]=u(d),m=r.forwardRef((e,n)=>{let{__scopeSwitch:i,name:l,checked:u,defaultChecked:p,required:h,disabled:m,value:v="on",onCheckedChange:x,form:y,...k}=e,[w,j]=r.useState(null),C=(0,a.useComposedRefs)(n,e=>j(e)),P=r.useRef(!1),R=!w||y||!!w.closest("form"),[N,A]=(0,s.useControllableState)({prop:u,defaultProp:p??!1,onChange:x,caller:d});return(0,t.jsxs)(f,{scope:i,checked:N,disabled:m,children:[(0,t.jsx)(c.Primitive.button,{type:"button",role:"switch","aria-checked":N,"aria-required":h,"data-state":b(N),"data-disabled":m?"":void 0,disabled:m,value:v,...k,ref:C,onClick:(0,o.composeEventHandlers)(e.onClick,e=>{A(e=>!e),R&&(P.current=e.isPropagationStopped(),P.current||e.stopPropagation())})}),R&&(0,t.jsx)(g,{control:w,bubbles:!P.current,name:l,value:v,checked:N,required:h,disabled:m,form:y,style:{transform:"translateX(-100%)"}})]})});m.displayName=d;var v="SwitchThumb",x=r.forwardRef((e,r)=>{let{__scopeSwitch:o,...a}=e,n=h(v,o);return(0,t.jsx)(c.Primitive.span,{"data-state":b(n.checked),"data-disabled":n.disabled?"":void 0,...a,ref:r})});x.displayName=v;var g=r.forwardRef(({__scopeSwitch:e,control:o,checked:n,bubbles:s=!0,...c},d)=>{let u=r.useRef(null),p=(0,a.useComposedRefs)(u,d),f=(0,i.usePrevious)(n),h=(0,l.useSize)(o);return r.useEffect(()=>{let e=u.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(f!==n&&t){let r=new Event("click",{bubbles:s});t.call(e,n),e.dispatchEvent(r)}},[f,n,s]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...c,tabIndex:-1,ref:p,style:{...c.style,...h,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function b(e){return e?"checked":"unchecked"}g.displayName="SwitchBubbleInput",e.s(["Root",()=>m,"Switch",()=>m,"SwitchThumb",()=>x,"Thumb",()=>x,"createSwitchScope",()=>p],95291);var y=e.i(95291),y=y,k=e.i(31777);function w({className:e,size:r="default",...o}){return(0,t.jsx)(y.Root,{"data-slot":"switch","data-size":r,className:(0,k.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",e),...o,children:(0,t.jsx)(y.Thumb,{"data-slot":"switch-thumb",className:(0,k.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")})})}e.s(["Switch",()=>w],51911);var j=e.i(23925),C=e.i(11345),P=e.i(76016),R=e.i(36374),N=e.i(23663),A=e.i(86782),S=e.i(29847),T=e.i(35364),M=e.i(90382);function E({initialAgentType:e,initialModel:o,onAgentModelChange:a,disabled:n,className:s,mode:i}){let[l,c]=r.useState(!1),[d,u]=r.useState([]),[p,f]=r.useState(!0),[h,m]=r.useState(e),[v,x]=r.useState(o),[g,b]=r.useState(null),[y,w]=r.useState(0),[E,F]=r.useState(null);r.useEffect(()=>{(0,R.getAllAgentModels)().then(u).finally(()=>f(!1))},[]),r.useEffect(()=>{if(!l){let e=setTimeout(()=>{w(0),F(null)},150);return()=>clearTimeout(e)}},[l]);let O=async(e,t)=>{if(c(!1),e!==h||t!==v){if("override"===i){m(e),x(t),a?.(e,t);return}m(e),x(t),a?.(e,t),b(null);try{let r=await (0,N.updateAgentAndModel)(e,t||null);r.ok||(m(h),x(v),a?.(h,v),b(r.error??"Failed to save"))}catch{m(h),x(v),a?.(h,v),b("Failed to save")}}},z=(0,A.getAgentTypeIcon)(h),D=d.find(e=>e.agentType===h)?.label??h,I=v?(0,S.getModelMeta)(v).displayName||v:null,q=E?d.find(e=>e.agentType===E):null;return(0,t.jsxs)("div",{className:(0,k.cn)("flex flex-col gap-1",s),children:[(0,t.jsxs)(M.Popover,{open:l,onOpenChange:c,children:[(0,t.jsx)(M.PopoverTrigger,{asChild:!0,children:(0,t.jsx)(T.Button,{variant:"outline",role:"combobox","aria-expanded":l,disabled:(n??!1)||p,className:"w-auto cursor-pointer justify-start font-normal hover:border-violet-300 hover:bg-violet-50/50 dark:hover:border-violet-700 dark:hover:bg-violet-950/30",children:(0,t.jsxs)("span",{className:"flex items-center gap-2 truncate",children:[(0,t.jsx)(z,{className:"h-4 w-4 shrink-0"}),p?"Loading…":(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:D}),I?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-muted-foreground/50 text-xs",children:"·"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:I})]}):null]})]})})}),(0,t.jsx)(M.PopoverContent,{className:"w-(--radix-popover-trigger-width) overflow-hidden p-0",align:"start",children:(0,t.jsxs)("div",{className:"flex transition-transform duration-200 ease-in-out",style:{transform:`translateX(${1===y?"-50%":"0%"})`,width:"200%"},children:[(0,t.jsxs)("div",{className:"w-1/2 shrink-0",children:[(0,t.jsx)("div",{className:"text-muted-foreground border-b px-3 py-2 text-xs font-medium",children:"Select agent"}),d.map(e=>{let r=(0,A.getAgentTypeIcon)(e.agentType),o=h===e.agentType,a=e.models.length>0;return(0,t.jsxs)("button",{type:"button",className:(0,k.cn)("flex w-full cursor-pointer items-center gap-2.5 px-3 py-2 text-xs transition-colors","hover:bg-accent hover:text-accent-foreground",o&&"bg-accent/50"),onClick:()=>{a?(F(e.agentType),requestAnimationFrame(()=>{requestAnimationFrame(()=>w(1))})):O(e.agentType,"")},children:[(0,t.jsx)(r,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{className:"flex-1 text-left",children:e.label}),o&&!a?(0,t.jsx)(j.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null,a?(0,t.jsx)(P.ChevronRight,{className:"text-muted-foreground h-3.5 w-3.5 shrink-0"}):null]},e.agentType)})]}),(0,t.jsx)("div",{className:"w-1/2 shrink-0",children:q?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("button",{type:"button",className:"text-muted-foreground hover:text-foreground flex w-full cursor-pointer items-center gap-1.5 border-b px-3 py-2 text-xs font-medium transition-colors",onClick:()=>{w(0),setTimeout(()=>F(null),220)},children:[(0,t.jsx)(C.ChevronLeft,{className:"h-3.5 w-3.5"}),q.label]}),q.models.map(e=>{let r=h===q.agentType&&v===e.id;return(0,t.jsxs)("button",{type:"button",className:(0,k.cn)("flex w-full cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors","hover:bg-accent hover:text-accent-foreground",r&&"bg-accent/50"),onClick:()=>O(q.agentType,e.id),children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsx)("span",{className:"text-xs font-medium",children:e.displayName}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:e.description})]}),r?(0,t.jsx)(j.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null]},e.id)})]}):null})]})})]}),!!g&&(0,t.jsx)("p",{className:"text-destructive text-sm",children:g})]})}e.s(["AgentModelPicker",()=>E],41413)}]);
@@ -1,20 +0,0 @@
1
- /**
2
- * Archive Feature Use Case
3
- *
4
- * Transitions a feature's lifecycle to Archived, storing the current lifecycle
5
- * in previousLifecycle for restoration on unarchive.
6
- *
7
- * Business Rules:
8
- * - Only features in Maintain, Pending, or Blocked states can be archived
9
- * - Features with active (non-archived, non-deleted) children cannot be archived
10
- * - The current lifecycle is preserved in previousLifecycle for unarchive restoration
11
- * - No git operations or agent cancellations are triggered (archive is non-destructive)
12
- */
13
- import type { Feature } from '../../../domain/generated/output.js';
14
- import type { IFeatureRepository } from '../../ports/output/repositories/feature-repository.interface.js';
15
- export declare class ArchiveFeatureUseCase {
16
- private readonly featureRepo;
17
- constructor(featureRepo: IFeatureRepository);
18
- execute(featureId: string): Promise<Feature>;
19
- }
20
- //# sourceMappingURL=archive-feature.use-case.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"archive-feature.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/archive-feature.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAS1G,qBACa,qBAAqB;IACU,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,kBAAkB;IAEpF,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CA0CnD"}
@@ -1,74 +0,0 @@
1
- /**
2
- * Archive Feature Use Case
3
- *
4
- * Transitions a feature's lifecycle to Archived, storing the current lifecycle
5
- * in previousLifecycle for restoration on unarchive.
6
- *
7
- * Business Rules:
8
- * - Only features in Maintain, Pending, or Blocked states can be archived
9
- * - Features with active (non-archived, non-deleted) children cannot be archived
10
- * - The current lifecycle is preserved in previousLifecycle for unarchive restoration
11
- * - No git operations or agent cancellations are triggered (archive is non-destructive)
12
- */
13
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
14
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
16
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
17
- return c > 3 && r && Object.defineProperty(target, key, r), r;
18
- };
19
- var __metadata = (this && this.__metadata) || function (k, v) {
20
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
21
- };
22
- var __param = (this && this.__param) || function (paramIndex, decorator) {
23
- return function (target, key) { decorator(target, key, paramIndex); }
24
- };
25
- import { injectable, inject } from 'tsyringe';
26
- import { SdlcLifecycle } from '../../../domain/generated/output.js';
27
- /** Lifecycle states eligible for archiving. */
28
- const ARCHIVABLE_STATES = new Set([
29
- SdlcLifecycle.Maintain,
30
- SdlcLifecycle.Pending,
31
- SdlcLifecycle.Blocked,
32
- ]);
33
- let ArchiveFeatureUseCase = class ArchiveFeatureUseCase {
34
- featureRepo;
35
- constructor(featureRepo) {
36
- this.featureRepo = featureRepo;
37
- }
38
- async execute(featureId) {
39
- // 1. Find feature (exact or prefix match)
40
- const feature = (await this.featureRepo.findById(featureId)) ??
41
- (await this.featureRepo.findByIdPrefix(featureId));
42
- if (!feature) {
43
- throw new Error(`Feature not found: "${featureId}"`);
44
- }
45
- // 2. Validate lifecycle is archivable
46
- if (!ARCHIVABLE_STATES.has(feature.lifecycle)) {
47
- throw new Error(`Cannot archive feature "${feature.name}": lifecycle is ${feature.lifecycle}. ` +
48
- `Only features in Maintain, Pending, or Blocked states can be archived.`);
49
- }
50
- // 3. Check for active (non-archived, non-deleted) children
51
- const children = await this.featureRepo.findByParentId(feature.id);
52
- const activeChildren = children.filter((c) => c.lifecycle !== SdlcLifecycle.Archived && !c.deletedAt);
53
- if (activeChildren.length > 0) {
54
- const names = activeChildren.map((c) => c.name).join(', ');
55
- throw new Error(`Cannot archive feature "${feature.name}": it has active child features (${names}). ` +
56
- `Archive or delete child features first.`);
57
- }
58
- // 4. Store current lifecycle and transition to Archived
59
- const updatedFeature = {
60
- ...feature,
61
- previousLifecycle: feature.lifecycle,
62
- lifecycle: SdlcLifecycle.Archived,
63
- updatedAt: new Date(),
64
- };
65
- await this.featureRepo.update(updatedFeature);
66
- return updatedFeature;
67
- }
68
- };
69
- ArchiveFeatureUseCase = __decorate([
70
- injectable(),
71
- __param(0, inject('IFeatureRepository')),
72
- __metadata("design:paramtypes", [Object])
73
- ], ArchiveFeatureUseCase);
74
- export { ArchiveFeatureUseCase };
@@ -1,20 +0,0 @@
1
- /**
2
- * Unarchive Feature Use Case
3
- *
4
- * Restores a feature from Archived to its previousLifecycle value,
5
- * then clears previousLifecycle.
6
- *
7
- * Business Rules:
8
- * - Only features in the Archived state can be unarchived
9
- * - previousLifecycle must be non-null for restoration
10
- * - The lifecycle is restored to the pre-archive state
11
- * - previousLifecycle is cleared after restoration
12
- */
13
- import type { Feature } from '../../../domain/generated/output.js';
14
- import type { IFeatureRepository } from '../../ports/output/repositories/feature-repository.interface.js';
15
- export declare class UnarchiveFeatureUseCase {
16
- private readonly featureRepo;
17
- constructor(featureRepo: IFeatureRepository);
18
- execute(featureId: string): Promise<Feature>;
19
- }
20
- //# sourceMappingURL=unarchive-feature.use-case.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unarchive-feature.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/unarchive-feature.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAE1G,qBACa,uBAAuB;IACQ,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,kBAAkB;IAEpF,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAqCnD"}
@@ -1,65 +0,0 @@
1
- /**
2
- * Unarchive Feature Use Case
3
- *
4
- * Restores a feature from Archived to its previousLifecycle value,
5
- * then clears previousLifecycle.
6
- *
7
- * Business Rules:
8
- * - Only features in the Archived state can be unarchived
9
- * - previousLifecycle must be non-null for restoration
10
- * - The lifecycle is restored to the pre-archive state
11
- * - previousLifecycle is cleared after restoration
12
- */
13
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
14
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
16
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
17
- return c > 3 && r && Object.defineProperty(target, key, r), r;
18
- };
19
- var __metadata = (this && this.__metadata) || function (k, v) {
20
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
21
- };
22
- var __param = (this && this.__param) || function (paramIndex, decorator) {
23
- return function (target, key) { decorator(target, key, paramIndex); }
24
- };
25
- import { injectable, inject } from 'tsyringe';
26
- import { SdlcLifecycle } from '../../../domain/generated/output.js';
27
- let UnarchiveFeatureUseCase = class UnarchiveFeatureUseCase {
28
- featureRepo;
29
- constructor(featureRepo) {
30
- this.featureRepo = featureRepo;
31
- }
32
- async execute(featureId) {
33
- // 1. Find feature (exact or prefix match)
34
- const feature = (await this.featureRepo.findById(featureId)) ??
35
- (await this.featureRepo.findByIdPrefix(featureId));
36
- if (!feature) {
37
- throw new Error(`Feature not found: "${featureId}"`);
38
- }
39
- // 2. Validate lifecycle is Archived
40
- if (feature.lifecycle !== SdlcLifecycle.Archived) {
41
- throw new Error(`Cannot unarchive feature "${feature.name}": lifecycle is ${feature.lifecycle}. ` +
42
- `Only archived features can be unarchived.`);
43
- }
44
- // 3. Validate previousLifecycle exists
45
- if (!feature.previousLifecycle) {
46
- throw new Error(`Cannot unarchive feature "${feature.name}": no previous lifecycle state recorded. ` +
47
- `The feature may have been archived before this field was introduced.`);
48
- }
49
- // 4. Restore lifecycle and clear previousLifecycle
50
- const updatedFeature = {
51
- ...feature,
52
- lifecycle: feature.previousLifecycle,
53
- previousLifecycle: undefined,
54
- updatedAt: new Date(),
55
- };
56
- await this.featureRepo.update(updatedFeature);
57
- return updatedFeature;
58
- }
59
- };
60
- UnarchiveFeatureUseCase = __decorate([
61
- injectable(),
62
- __param(0, inject('IFeatureRepository')),
63
- __metadata("design:paramtypes", [Object])
64
- ], UnarchiveFeatureUseCase);
65
- export { UnarchiveFeatureUseCase };
@@ -1,12 +0,0 @@
1
- /**
2
- * Migration 044: Add previous_lifecycle column to features table.
3
- *
4
- * Stores the lifecycle state prior to archiving so it can be restored
5
- * when a feature is unarchived. Nullable TEXT — only populated when
6
- * the feature lifecycle is Archived.
7
- */
8
- import type { MigrationParams } from 'umzug';
9
- import type Database from 'better-sqlite3';
10
- export declare function up({ context: db }: MigrationParams<Database.Database>): Promise<void>;
11
- export declare function down({ context: db }: MigrationParams<Database.Database>): Promise<void>;
12
- //# sourceMappingURL=044-add-previous-lifecycle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"044-add-previous-lifecycle.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-previous-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,wBAAsB,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3F;AAED,wBAAsB,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7F"}
@@ -1,16 +0,0 @@
1
- /**
2
- * Migration 044: Add previous_lifecycle column to features table.
3
- *
4
- * Stores the lifecycle state prior to archiving so it can be restored
5
- * when a feature is unarchived. Nullable TEXT — only populated when
6
- * the feature lifecycle is Archived.
7
- */
8
- export async function up({ context: db }) {
9
- const columns = db.pragma('table_info(features)');
10
- if (!columns.some((c) => c.name === 'previous_lifecycle')) {
11
- db.exec('ALTER TABLE features ADD COLUMN previous_lifecycle TEXT');
12
- }
13
- }
14
- export async function down({ context: db }) {
15
- void db;
16
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * Feature Archive Command
3
- *
4
- * Archives a feature to hide it from the canvas without deleting it.
5
- * Stores the current lifecycle state for restoration on unarchive.
6
- *
7
- * Usage: shep feat archive <id> [--force]
8
- *
9
- * @example
10
- * $ shep feat archive feat-123
11
- * $ shep feat archive feat-123 --force
12
- */
13
- import { Command } from 'commander';
14
- /**
15
- * Create the feat archive command
16
- */
17
- export declare function createArchiveCommand(): Command;
18
- //# sourceMappingURL=archive.command.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"archive.command.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/feat/archive.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAkC9C"}
@@ -1,54 +0,0 @@
1
- /**
2
- * Feature Archive Command
3
- *
4
- * Archives a feature to hide it from the canvas without deleting it.
5
- * Stores the current lifecycle state for restoration on unarchive.
6
- *
7
- * Usage: shep feat archive <id> [--force]
8
- *
9
- * @example
10
- * $ shep feat archive feat-123
11
- * $ shep feat archive feat-123 --force
12
- */
13
- import { Command } from 'commander';
14
- import { container } from '../../../../../packages/core/src/infrastructure/di/container.js';
15
- import { ShowFeatureUseCase } from '../../../../../packages/core/src/application/use-cases/features/show-feature.use-case.js';
16
- import { ArchiveFeatureUseCase } from '../../../../../packages/core/src/application/use-cases/features/archive-feature.use-case.js';
17
- import { colors, messages } from '../../ui/index.js';
18
- import { confirm } from '@inquirer/prompts';
19
- /**
20
- * Create the feat archive command
21
- */
22
- export function createArchiveCommand() {
23
- return new Command('archive')
24
- .description('Archive a feature to hide it from the canvas')
25
- .argument('<id>', 'Feature ID or prefix')
26
- .option('-f, --force', 'Skip confirmation prompt')
27
- .action(async (featureId, options) => {
28
- try {
29
- const showUseCase = container.resolve(ShowFeatureUseCase);
30
- const feature = await showUseCase.execute(featureId);
31
- if (!options.force) {
32
- const confirmed = await confirm({
33
- message: `Archive feature "${feature.name}"?`,
34
- default: false,
35
- });
36
- if (!confirmed) {
37
- messages.info('Cancelled');
38
- return;
39
- }
40
- }
41
- const archiveUseCase = container.resolve(ArchiveFeatureUseCase);
42
- await archiveUseCase.execute(feature.id);
43
- messages.newline();
44
- messages.success('Feature archived');
45
- console.log(` ${colors.muted('Name:')} ${feature.name}`);
46
- messages.newline();
47
- }
48
- catch (error) {
49
- const err = error instanceof Error ? error : new Error(String(error));
50
- messages.error('Failed to archive feature', err);
51
- process.exitCode = 1;
52
- }
53
- });
54
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * Feature Unarchive Command
3
- *
4
- * Restores an archived feature to its previous lifecycle state.
5
- * No confirmation needed — unarchive is always safe and non-destructive.
6
- *
7
- * Usage: shep feat unarchive <id>
8
- *
9
- * @example
10
- * $ shep feat unarchive feat-123
11
- */
12
- import { Command } from 'commander';
13
- /**
14
- * Create the feat unarchive command
15
- */
16
- export declare function createUnarchiveCommand(): Command;
17
- //# sourceMappingURL=unarchive.command.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unarchive.command.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/feat/unarchive.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAuBhD"}
@@ -1,42 +0,0 @@
1
- /**
2
- * Feature Unarchive Command
3
- *
4
- * Restores an archived feature to its previous lifecycle state.
5
- * No confirmation needed — unarchive is always safe and non-destructive.
6
- *
7
- * Usage: shep feat unarchive <id>
8
- *
9
- * @example
10
- * $ shep feat unarchive feat-123
11
- */
12
- import { Command } from 'commander';
13
- import { container } from '../../../../../packages/core/src/infrastructure/di/container.js';
14
- import { ShowFeatureUseCase } from '../../../../../packages/core/src/application/use-cases/features/show-feature.use-case.js';
15
- import { UnarchiveFeatureUseCase } from '../../../../../packages/core/src/application/use-cases/features/unarchive-feature.use-case.js';
16
- import { colors, messages } from '../../ui/index.js';
17
- /**
18
- * Create the feat unarchive command
19
- */
20
- export function createUnarchiveCommand() {
21
- return new Command('unarchive')
22
- .description('Restore an archived feature to its previous state')
23
- .argument('<id>', 'Feature ID or prefix')
24
- .action(async (featureId) => {
25
- try {
26
- const showUseCase = container.resolve(ShowFeatureUseCase);
27
- const feature = await showUseCase.execute(featureId);
28
- const unarchiveUseCase = container.resolve(UnarchiveFeatureUseCase);
29
- const restored = await unarchiveUseCase.execute(feature.id);
30
- messages.newline();
31
- messages.success('Feature unarchived');
32
- console.log(` ${colors.muted('Name:')} ${feature.name}`);
33
- console.log(` ${colors.muted('Restored:')} ${restored.lifecycle}`);
34
- messages.newline();
35
- }
36
- catch (error) {
37
- const err = error instanceof Error ? error : new Error(String(error));
38
- messages.error('Failed to unarchive feature', err);
39
- process.exitCode = 1;
40
- }
41
- });
42
- }
@@ -1,6 +0,0 @@
1
- import type { Feature } from '../../../../../packages/core/src/domain/generated/output.js';
2
- export declare function archiveFeature(featureId: string): Promise<{
3
- feature?: Feature;
4
- error?: string;
5
- }>;
6
- //# sourceMappingURL=archive-feature.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"archive-feature.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/archive-feature.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAEpE,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAahD"}
@@ -1,16 +0,0 @@
1
- 'use server';
2
- import { resolve } from '../../lib/server-container.js';
3
- export async function archiveFeature(featureId) {
4
- if (!featureId?.trim()) {
5
- return { error: 'id is required' };
6
- }
7
- try {
8
- const archiveFeatureUseCase = resolve('ArchiveFeatureUseCase');
9
- const feature = await archiveFeatureUseCase.execute(featureId);
10
- return { feature };
11
- }
12
- catch (error) {
13
- const message = error instanceof Error ? error.message : 'Failed to archive feature';
14
- return { error: message };
15
- }
16
- }
@@ -1,6 +0,0 @@
1
- import type { Feature } from '../../../../../packages/core/src/domain/generated/output.js';
2
- export declare function unarchiveFeature(featureId: string): Promise<{
3
- feature?: Feature;
4
- error?: string;
5
- }>;
6
- //# sourceMappingURL=unarchive-feature.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unarchive-feature.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/unarchive-feature.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAEpE,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAahD"}
@@ -1,16 +0,0 @@
1
- 'use server';
2
- import { resolve } from '../../lib/server-container.js';
3
- export async function unarchiveFeature(featureId) {
4
- if (!featureId?.trim()) {
5
- return { error: 'id is required' };
6
- }
7
- try {
8
- const unarchiveFeatureUseCase = resolve('UnarchiveFeatureUseCase');
9
- const feature = await unarchiveFeatureUseCase.execute(featureId);
10
- return { feature };
11
- }
12
- catch (error) {
13
- const message = error instanceof Error ? error.message : 'Failed to unarchive feature';
14
- return { error: message };
15
- }
16
- }
@@ -1,4 +0,0 @@
1
- module.exports=[92658,(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(28478)},12581,(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}})},12513,73101,65324,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={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 f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[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}}}var g=a.i(12581);async function h(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,g.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"00071368ecec7e095a7322ae738a166761a24638b7",null),a.s(["pickFolder",()=>h],12513);var i=a.i(96380);class j extends Error{constructor(a,b){super(a),this.name="GitHubAuthError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}class k extends Error{constructor(a,b){super(a),this.name="GitHubCloneError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}class l extends Error{constructor(a,b){super(a),this.name="GitHubUrlParseError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}async function m(a){try{let b=(0,i.resolve)("ListGitHubRepositoriesUseCase");return{repos:await b.execute(a)}}catch(a){if(a instanceof j)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 n(a){let{url:b,dest:c}=a;if(!b?.trim())return{error:"GitHub URL is required"};try{let a=(0,i.resolve)("ImportGitHubRepositoryUseCase");return{repository:await a.execute({url:b,dest:c})}}catch(a){if(a instanceof j)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};if(a instanceof l)return{error:`Invalid GitHub URL: ${a.message}`};if(a instanceof k)return{error:`Clone failed: ${a.message}`};return{error:a instanceof Error?a.message:"Failed to import repository"}}}(0,g.ensureServerEntryExports)([m]),(0,b.registerServerReference)(m,"40eecf3f9e755160a22929db838e7e841e7736c7be",null),a.s(["listGitHubRepositories",()=>m],73101),(0,g.ensureServerEntryExports)([n]),(0,b.registerServerReference)(n,"4085dc7531dbffb7ce94b3f6cf25fa6d3dded27af2",null),a.s(["importGitHubRepository",()=>n],65324)},33841,46646,68670,85321,a=>{"use strict";var b=a.i(92658),c=a.i(2157),d=a.i(96380);let e=()=>void 0;function f(a){let b=!!process.env.DEBUG;return{info:b?(...b)=>console.info(a,...b):e,debug:b?(...b)=>console.debug(a,...b):e,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}var g=a.i(29918),h=a.i(81719),i=a.i(12581);let j=f("[deployFeature]");async function k(a){if(j.info(`called — featureId="${a}"`),!a?.trim())return j.warn("rejected — featureId is empty"),{success:!1,error:"featureId is required"};try{let b=(0,d.resolve)("IFeatureRepository"),e=await b.findById(a);if(!e)return j.warn(`feature not found in repository: "${a}"`),{success:!1,error:`Feature not found: ${a}`};j.info(`feature found — repositoryPath="${e.repositoryPath}", branch="${e.branch}"`);let f=(0,g.computeWorktreePath)(e.repositoryPath,e.branch);if(j.info(`computed worktreePath="${f}"`),!(0,c.existsSync)(f))return j.warn(`worktree path does not exist on disk: "${f}"`),{success:!1,error:`Worktree path does not exist: ${f}`};return j.info("worktree path exists, calling deploymentService.start()"),(0,d.resolve)("IDeploymentService").start(a,f,"feature"),j.info("start() returned successfully — state=Booting"),{success:!0,state:h.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy feature";return j.error(`error: ${a}`,b),{success:!1,error:a}}}(0,i.ensureServerEntryExports)([k]),(0,b.registerServerReference)(k,"408ed13a22592b679b32422b3fda53265488b6edbc",null),a.s(["deployFeature",()=>k],33841);var l=a.i(50227);let m=f("[deployRepository]");async function n(a){if(m.info(`called — repositoryPath="${a}"`),!a||!(0,l.isAbsolute)(a))return m.warn("rejected — not an absolute path"),{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,c.existsSync)(a))return m.warn(`directory does not exist: "${a}"`),{success:!1,error:`Directory does not exist: ${a}`};return m.info("directory exists, calling deploymentService.start()"),(0,d.resolve)("IDeploymentService").start(a,a,"repository"),m.info("start() returned successfully — state=Booting"),{success:!0,state:h.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy repository";return m.error(`error: ${a}`,b),{success:!1,error:a}}}async function o(a){if(!a?.trim())return{success:!1,error:"targetId is required"};try{let b=(0,d.resolve)("IDeploymentService");return await b.stop(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to stop deployment"}}}async function p(a){return a?.trim()?(0,d.resolve)("IDeploymentService").getStatus(a):null}(0,i.ensureServerEntryExports)([n]),(0,b.registerServerReference)(n,"404d08d76635e4bb7531e52ed98a675498a4674525",null),a.s(["deployRepository",()=>n],46646),(0,i.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"401fe2ed6769139e86d0032a8dd2ea8e09d897da74",null),a.s(["stopDeployment",()=>o],68670),(0,i.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"40484da9a0a8ef60730bc55986c1d77bc45467cf43",null),a.s(["getDeploymentStatus",()=>p],85321)},94691,a=>{"use strict";var b=a.i(92658),c=a.i(96380);async function d(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,a.i(12581).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"40fd098583a9785b4fa8af2e7c7ff2e38a593ef803",null),a.s(["getDeploymentLogs",()=>d])},23504,27900,a=>{"use strict";var b=a.i(92658),c=a.i(96380);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];return b||{...e,displayName:a.replace(/^claude-/,"").replace(/^gemini-/,"Gemini ").replace(/^gpt-/,"GPT-").replace(/-/g," ").replace(/\b\w/g,a=>a.toUpperCase())}}var g=a.i(12581);let h={"claude-code":"Claude Code",cursor:"Cursor CLI","gemini-cli":"Gemini CLI",dev:"Demo"},i={"claude-code":0,cursor:1,"gemini-cli":2,dev:99};async function j(){try{let a=(0,c.resolve)("IAgentExecutorFactory");return a.getSupportedAgents().map(b=>({agentType:b,label:h[b]??b,models:a.getSupportedModels(b).map(a=>({id:a,...f(a)}))})).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)([j]),(0,b.registerServerReference)(j,"00b6aaa63acccbf1a77db62d8b4ff85f9dc4fe7b0a",null),a.s(["getAllAgentModels",()=>j],23504);var k=a.i(33244);async function l(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,k.resetSettings)(),(0,k.initializeSettings)(e),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:"Failed to update agent and model"}}}(0,g.ensureServerEntryExports)([l]),(0,b.registerServerReference)(l,"60f3a382947bf150bfea448e11c59bcd42b6884929",null),a.s(["updateAgentAndModel",()=>l],27900)},31747,a=>{"use strict";var b=a.i(81719),c=a.i(14703),d=a.i(79372),e=a.i(29918);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,...g?.enableEvidence!=null&&{enableEvidence:g.enableEvidence},...g?.commitEvidence!=null&&{commitEvidence:g.commitEvidence},...g?.ciWatchEnabled!=null&&{ciWatchEnabled:g.ciWatchEnabled},...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.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])},61402,76052,13008,74607,6542,740,12104,54433,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);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,"60a06e2332c68c802149800521083006c2c3505320",null),a.s(["approveFeature",()=>e],61402),(0,d.ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"704ae60a3a3524fd9e2c637a538bf0629283db8add",null),a.s(["rejectFeature",()=>f],76052),(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"401ef7015961ec8985741ef7716511e8a30fdcfeaa",null),a.s(["getFeatureArtifact",()=>g],13008),(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"40b14a0e43aa5994d76cbdfafd03fdc9892b6e036c",null),a.s(["getResearchArtifact",()=>h],74607);var i=a.i(66680),j=a.i(2157),k=a.i(50227),l=a.i(29918),m=a.i(32278),n=a.i(33244);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");(0,j.existsSync)(a)&&(d=JSON.parse((0,j.readFileSync)(a,"utf-8")),e=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}}))}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(6714),{join:g}=await a.A(11105),h=(await a.A(29718)).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"}}}(0,d.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"400aa58fac1a670d163a07bfa5c2332ab795a64fce",null),a.s(["getMergeReviewData",()=>o],6542),(0,d.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"4071dec0c58e7e86cc0e87b35ec1f0188f23867373",null),a.s(["getFeaturePhaseTimings",()=>p],740),(0,d.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"4086e0a14c486adb71665f9019199db7155ac26894",null),a.s(["getFeaturePlan",()=>r],12104);var s=a.i(31747);async function t(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,s.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}}(0,d.ensureServerEntryExports)([t]),(0,b.registerServerReference)(t,"40ad4358283a4d8c21d9f8bda51774a8f30f1913b4",null),a.s(["getFeatureDrawerData",()=>t],54433)},65140,a=>{"use strict";var b=a.i(12513),c=a.i(73101),d=a.i(65324),e=a.i(33841),f=a.i(46646),g=a.i(68670),h=a.i(85321),i=a.i(84095),j=a.i(56799),k=a.i(80496),l=a.i(94691),m=a.i(41872),n=a.i(9959),o=a.i(79124),p=a.i(23504),q=a.i(27900),r=a.i(10528),s=a.i(50845),t=a.i(26604),u=a.i(54723),v=a.i(18942),w=a.i(42886),x=a.i(49560),y=a.i(39353),z=a.i(29207),A=a.i(61402),B=a.i(76052),C=a.i(13008),D=a.i(74607),E=a.i(6542),F=a.i(740),G=a.i(12104),H=a.i(54433);a.s([],18175),a.i(18175),a.s(["000548acd5be67eeff67bce406a7cbf3f8f9c8614f",()=>n.checkAgentAuth,"00071368ecec7e095a7322ae738a166761a24638b7",()=>b.pickFolder,"005483df114746b70dd31daae1c7a706ea7fac13e2",()=>m.isAgentSetupComplete,"00665e4726e4a206a48902b68f17a643495c308ede",()=>o.checkToolStatus,"00b6aaa63acccbf1a77db62d8b4ff85f9dc4fe7b0a",()=>p.getAllAgentModels,"400aa58fac1a670d163a07bfa5c2332ab795a64fce",()=>E.getMergeReviewData,"400aaeef828b97f8f457b2677f4d47373080f13fc2",()=>r.archiveFeature,"40195b3d4421d6c26d8b964939f11978c94fd5ec29",()=>x.addRepository,"401ef7015961ec8985741ef7716511e8a30fdcfeaa",()=>C.getFeatureArtifact,"401fe2ed6769139e86d0032a8dd2ea8e09d897da74",()=>g.stopDeployment,"40484da9a0a8ef60730bc55986c1d77bc45467cf43",()=>h.getDeploymentStatus,"404ba1838d447a97052dd5b3609ce4594f5ae0a3d3",()=>y.deleteRepository,"404d08d76635e4bb7531e52ed98a675498a4674525",()=>f.deployRepository,"4069671f37adf8a653708fb55e355e29c8bd12f5de",()=>z.getFeatureMetadata,"4071dec0c58e7e86cc0e87b35ec1f0188f23867373",()=>F.getFeaturePhaseTimings,"4073def04302b678d33af6dfacfd05213406a9b87e",()=>v.stopFeature,"40798a97d4baa4404df781010acdef0841a2b8141e",()=>i.openIde,"407c0f52f4999a18bc3ff124feaaa7faa3ad9c2e59",()=>j.openShell,"4085dc7531dbffb7ce94b3f6cf25fa6d3dded27af2",()=>d.importGitHubRepository,"4086e0a14c486adb71665f9019199db7155ac26894",()=>G.getFeaturePlan,"408ed13a22592b679b32422b3fda53265488b6edbc",()=>e.deployFeature,"40a806ba726721253704f38a8116db438be5d86686",()=>t.resumeFeature,"40aa612a01ba3e3ba1f5bf3bdce3b2c7c9980ea082",()=>u.startFeature,"40ad4358283a4d8c21d9f8bda51774a8f30f1913b4",()=>H.getFeatureDrawerData,"40af54b841c595719d9b1c40db7e8d594587188f5a",()=>w.unarchiveFeature,"40b14a0e43aa5994d76cbdfafd03fdc9892b6e036c",()=>D.getResearchArtifact,"40dc5fcc31c5259df5c27878a3a56723d14f7a9440",()=>k.openFolder,"40eecf3f9e755160a22929db838e7e841e7736c7be",()=>c.listGitHubRepositories,"40fd098583a9785b4fa8af2e7c7ff2e38a593ef803",()=>l.getDeploymentLogs,"60a06e2332c68c802149800521083006c2c3505320",()=>A.approveFeature,"60f3a382947bf150bfea448e11c59bcd42b6884929",()=>q.updateAgentAndModel,"704ae60a3a3524fd9e2c637a538bf0629283db8add",()=>B.rejectFeature,"781b2e1aa9eb838886be29cfd62f103950119cad07",()=>s.deleteFeature],65140)},6714,a=>{a.v(a=>Promise.resolve().then(()=>a(2157)))},11105,a=>{a.v(a=>Promise.resolve().then(()=>a(50227)))},29718,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(32996)))}];
3
-
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__61564698._.js.map