@shepai/cli 1.92.1 → 1.92.2-pr281.bc03a69

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 (195) hide show
  1. package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts +16 -4
  2. package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.d.ts +14 -9
  4. package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.d.ts.map +1 -1
  5. package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.js +41 -20
  6. package/dist/packages/core/src/domain/generated/output.d.ts +3 -2
  7. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  8. package/dist/packages/core/src/domain/generated/output.js +1 -0
  9. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts +1 -0
  10. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts.map +1 -1
  11. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.js +4 -0
  12. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.d.ts.map +1 -1
  13. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.js +12 -0
  14. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts +2 -0
  15. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map +1 -1
  16. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +13 -3
  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 +9 -2
  19. package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
  20. package/dist/src/presentation/web/app/api/agent-events/route.js +1 -0
  21. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.d.ts +2 -0
  22. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.d.ts.map +1 -1
  23. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.js +16 -0
  24. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
  25. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +4 -0
  26. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +1 -1
  27. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  28. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +11 -1
  29. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts +1 -0
  30. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
  31. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +21 -0
  32. package/dist/src/presentation/web/components/common/feature-status-badges/feature-status-badges.stories.js +6 -6
  33. package/dist/src/presentation/web/components/common/feature-status-config.d.ts +1 -1
  34. package/dist/src/presentation/web/components/common/feature-status-config.d.ts.map +1 -1
  35. package/dist/src/presentation/web/components/common/feature-status-config.js +20 -2
  36. package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts +1 -1
  37. package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts.map +1 -1
  38. package/dist/src/presentation/web/hooks/sidebar-features-context.js +5 -4
  39. package/dist/src/presentation/web/lib/layout-with-dagre.d.ts.map +1 -1
  40. package/dist/src/presentation/web/lib/layout-with-dagre.js +78 -55
  41. package/dist/tsconfig.build.tsbuildinfo +1 -1
  42. package/package.json +1 -1
  43. package/web/.next/BUILD_ID +1 -1
  44. package/web/.next/build-manifest.json +2 -2
  45. package/web/.next/fallback-build-manifest.json +2 -2
  46. package/web/.next/prerender-manifest.json +3 -3
  47. package/web/.next/required-server-files.js +3 -3
  48. package/web/.next/required-server-files.json +3 -3
  49. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +18 -18
  50. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  51. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  52. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +21 -21
  53. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  54. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  55. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +21 -21
  56. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  57. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  58. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  59. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  60. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  61. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +18 -18
  62. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  63. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  64. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +21 -21
  65. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  66. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  67. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +21 -21
  68. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  69. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  70. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +14 -14
  71. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  72. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  73. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  74. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  75. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  76. package/web/.next/server/app/_global-error.html +2 -2
  77. package/web/.next/server/app/_global-error.rsc +1 -1
  78. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  79. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  80. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  81. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  82. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  83. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  84. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  85. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  86. package/web/.next/server/app/settings/page/server-reference-manifest.json +5 -5
  87. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  88. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  89. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  90. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  91. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  92. package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  93. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  94. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  95. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  96. package/web/.next/server/app/version/page.js.nft.json +1 -1
  97. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  98. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +1 -1
  99. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  100. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  101. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  102. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js +1 -1
  103. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js.map +1 -1
  104. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +1 -1
  105. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js.map +1 -1
  106. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +1 -1
  107. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js.map +1 -1
  108. package/web/.next/server/chunks/ssr/[root-of-the-server]__17143953._.js +1 -1
  109. package/web/.next/server/chunks/ssr/[root-of-the-server]__17143953._.js.map +1 -1
  110. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  111. package/web/.next/server/chunks/ssr/[root-of-the-server]__45aad79d._.js +1 -1
  112. package/web/.next/server/chunks/ssr/[root-of-the-server]__45aad79d._.js.map +1 -1
  113. package/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js +1 -1
  114. package/web/.next/server/chunks/ssr/[root-of-the-server]__5cc4752a._.js +1 -1
  115. package/web/.next/server/chunks/ssr/[root-of-the-server]__5cc4752a._.js.map +1 -1
  116. package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +1 -1
  117. package/web/.next/server/chunks/ssr/[root-of-the-server]__845a9d2a._.js +3 -0
  118. package/web/.next/server/chunks/ssr/[root-of-the-server]__845a9d2a._.js.map +1 -0
  119. package/web/.next/server/chunks/ssr/[root-of-the-server]__89e8a5cc._.js +2 -2
  120. package/web/.next/server/chunks/ssr/[root-of-the-server]__89e8a5cc._.js.map +1 -1
  121. package/web/.next/server/chunks/ssr/[root-of-the-server]__9de266fa._.js +1 -1
  122. package/web/.next/server/chunks/ssr/[root-of-the-server]__9de266fa._.js.map +1 -1
  123. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
  124. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
  125. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +1 -1
  126. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js.map +1 -1
  127. package/web/.next/server/chunks/ssr/_135edb9c._.js +1 -1
  128. package/web/.next/server/chunks/ssr/_135edb9c._.js.map +1 -1
  129. package/web/.next/server/chunks/ssr/_1bb131c4._.js.map +1 -1
  130. package/web/.next/server/chunks/ssr/{_f02f4210._.js → _23f32b50._.js} +2 -2
  131. package/web/.next/server/chunks/ssr/_23f32b50._.js.map +1 -0
  132. package/web/.next/server/chunks/ssr/_364346ad._.js +3 -0
  133. package/web/.next/server/chunks/ssr/_364346ad._.js.map +1 -0
  134. package/web/.next/server/chunks/ssr/_6e08ce21._.js +1 -1
  135. package/web/.next/server/chunks/ssr/_6e08ce21._.js.map +1 -1
  136. package/web/.next/server/chunks/ssr/_8dacd1e7._.js +1 -1
  137. package/web/.next/server/chunks/ssr/_8dacd1e7._.js.map +1 -1
  138. package/web/.next/server/chunks/ssr/_cc77a143._.js +1 -1
  139. package/web/.next/server/chunks/ssr/_cc77a143._.js.map +1 -1
  140. package/web/.next/server/chunks/ssr/_df15bd24._.js +3 -0
  141. package/web/.next/server/chunks/ssr/_df15bd24._.js.map +1 -0
  142. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  143. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  144. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js +1 -1
  145. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js.map +1 -1
  146. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
  147. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
  148. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
  149. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
  150. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js +1 -1
  151. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js.map +1 -1
  152. package/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js +2 -2
  153. package/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js.map +1 -1
  154. package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js +1 -1
  155. package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js.map +1 -1
  156. package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js +1 -1
  157. package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js.map +1 -1
  158. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  159. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  160. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  161. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  162. package/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.js +2 -2
  163. package/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.js.map +1 -1
  164. package/web/.next/server/pages/500.html +2 -2
  165. package/web/.next/server/server-reference-manifest.js +1 -1
  166. package/web/.next/server/server-reference-manifest.json +28 -28
  167. package/web/.next/static/chunks/2536dce61f55daad.js +1 -0
  168. package/web/.next/static/chunks/{e1adbd3c092ccc3c.js → 3371e02956d6cf23.js} +2 -2
  169. package/web/.next/static/chunks/39560c01879ac76a.css +2 -0
  170. package/web/.next/static/chunks/455370fd4c47c0e0.js +1 -0
  171. package/web/.next/static/chunks/{8a174308ba4bd69d.js → 53e9831f023776f3.js} +1 -1
  172. package/web/.next/static/chunks/5f95404ff95fa501.js +1 -0
  173. package/web/.next/static/chunks/{bea7a5f44d99512f.js → 6b54e626d611dd2b.js} +1 -1
  174. package/web/.next/static/chunks/{5b3dd4146a57ce02.js → 7ff10ef16519c63f.js} +1 -1
  175. package/web/.next/static/chunks/{2ddedc7a1d0d0a35.js → 87988f9114fedca4.js} +1 -1
  176. package/web/.next/static/chunks/b87c2e7d1de24c3c.js +1 -0
  177. package/web/.next/static/chunks/{2d02a8deb3cfb404.js → dc37a8365766fe69.js} +1 -1
  178. package/web/.next/static/chunks/ea20e8964d472f76.js +11 -0
  179. package/web/.next/static/chunks/{d7f984a3e8043cb0.js → f9c0e62c0e4e5115.js} +1 -1
  180. package/web/.next/server/chunks/ssr/[root-of-the-server]__e630cc47._.js +0 -3
  181. package/web/.next/server/chunks/ssr/[root-of-the-server]__e630cc47._.js.map +0 -1
  182. package/web/.next/server/chunks/ssr/_21c75883._.js +0 -3
  183. package/web/.next/server/chunks/ssr/_21c75883._.js.map +0 -1
  184. package/web/.next/server/chunks/ssr/_a5c23e45._.js +0 -3
  185. package/web/.next/server/chunks/ssr/_a5c23e45._.js.map +0 -1
  186. package/web/.next/server/chunks/ssr/_f02f4210._.js.map +0 -1
  187. package/web/.next/static/chunks/1a2af08680037549.js +0 -1
  188. package/web/.next/static/chunks/30a344bb33a015e4.js +0 -1
  189. package/web/.next/static/chunks/4f94860011f9fb20.css +0 -2
  190. package/web/.next/static/chunks/dac26a484f476f36.js +0 -1
  191. package/web/.next/static/chunks/dd04e12ee5ccb0ad.js +0 -1
  192. package/web/.next/static/chunks/f54b972c149092b5.js +0 -11
  193. /package/web/.next/static/{UOxWj8CnreBdyLxAYAGYQ → zZ0u38VWwBCzG7Stx-hTP}/_buildManifest.js +0 -0
  194. /package/web/.next/static/{UOxWj8CnreBdyLxAYAGYQ → zZ0u38VWwBCzG7Stx-hTP}/_clientMiddlewareManifest.json +0 -0
  195. /package/web/.next/static/{UOxWj8CnreBdyLxAYAGYQ → zZ0u38VWwBCzG7Stx-hTP}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "node": {
3
- "0060ae7c093d14b5949f53ee4904dea2dc96af6d86": {
3
+ "00dbf2320fd7c2eb53e5250566323984f65c7932ef": {
4
4
  "workers": {
5
5
  "app/(dashboard)/@drawer/create/page": {
6
6
  "moduleId": 5744,
@@ -106,7 +106,7 @@
106
106
  "filename": "src/presentation/web/app/actions/pick-folder.ts",
107
107
  "exportedName": "pickFolder"
108
108
  },
109
- "408d5d6f9ff08225b867e6e23b478abf7cf2efb8e2": {
109
+ "4079a143b72d38ce8d35e98433cb97fb9a91e35216": {
110
110
  "workers": {
111
111
  "app/(dashboard)/@drawer/create/page": {
112
112
  "moduleId": 5744,
@@ -191,7 +191,7 @@
191
191
  "filename": "src/presentation/web/app/actions/get-deployment-logs.ts",
192
192
  "exportedName": "getDeploymentLogs"
193
193
  },
194
- "4040ea207e0631c862801852405dc31e11477cf680": {
194
+ "40a019f44b6d8249d11b1c453c1bb7f07b66f649af": {
195
195
  "workers": {
196
196
  "app/(dashboard)/@drawer/create/page": {
197
197
  "moduleId": 5744,
@@ -276,7 +276,7 @@
276
276
  "filename": "src/presentation/web/app/actions/deploy-feature.ts",
277
277
  "exportedName": "deployFeature"
278
278
  },
279
- "4018b4028fac75405f9d5fdb1cafaa58686d090ad2": {
279
+ "40ba741f5f2a4b2c187555878de82a5b9eac669fbd": {
280
280
  "workers": {
281
281
  "app/(dashboard)/@drawer/create/page": {
282
282
  "moduleId": 5744,
@@ -361,7 +361,7 @@
361
361
  "filename": "src/presentation/web/app/actions/deploy-repository.ts",
362
362
  "exportedName": "deployRepository"
363
363
  },
364
- "40c3567bfe887534356e1846ef30ecd3d16359df04": {
364
+ "40a576461e748f10b37720c65c5d9f4ae4f3b0f6f1": {
365
365
  "workers": {
366
366
  "app/(dashboard)/@drawer/create/page": {
367
367
  "moduleId": 5744,
@@ -446,7 +446,7 @@
446
446
  "filename": "src/presentation/web/app/actions/stop-deployment.ts",
447
447
  "exportedName": "stopDeployment"
448
448
  },
449
- "40c48e65fb469577c49adbb845af9711478cea3617": {
449
+ "40c1165844256ffbf7812c0db157ab7453137422b3": {
450
450
  "workers": {
451
451
  "app/(dashboard)/@drawer/create/page": {
452
452
  "moduleId": 5744,
@@ -531,7 +531,7 @@
531
531
  "filename": "src/presentation/web/app/actions/get-deployment-status.ts",
532
532
  "exportedName": "getDeploymentStatus"
533
533
  },
534
- "40ebb526137a44852002bd8a64de56df44a1f7220e": {
534
+ "40d5c8c8ecb61f6ad2e0a0066d960a15b24237f690": {
535
535
  "workers": {
536
536
  "app/(dashboard)/@drawer/create/page": {
537
537
  "moduleId": 5744,
@@ -602,7 +602,7 @@
602
602
  "filename": "src/presentation/web/app/actions/open-ide.ts",
603
603
  "exportedName": "openIde"
604
604
  },
605
- "4073821ffc913d8517434b08ef63defe5132530904": {
605
+ "40141d4b6bdccf1dcf1ac5af89e4d0e6d47618a339": {
606
606
  "workers": {
607
607
  "app/(dashboard)/@drawer/create/page": {
608
608
  "moduleId": 5744,
@@ -673,7 +673,7 @@
673
673
  "filename": "src/presentation/web/app/actions/open-shell.ts",
674
674
  "exportedName": "openShell"
675
675
  },
676
- "407e3ee9c2e1ae156482691c11125ba38b2ba6ee4b": {
676
+ "4017c33a302a16f44dbb475bd2e57ab5f1ae7c67aa": {
677
677
  "workers": {
678
678
  "app/(dashboard)/@drawer/create/page": {
679
679
  "moduleId": 5744,
@@ -744,7 +744,7 @@
744
744
  "filename": "src/presentation/web/app/actions/open-folder.ts",
745
745
  "exportedName": "openFolder"
746
746
  },
747
- "609c222a216f1d88e6319cde54018d6659a878f608": {
747
+ "60affee90e25ef8a98c21049ea7e75e63fa1e20a07": {
748
748
  "workers": {
749
749
  "app/(dashboard)/@drawer/create/page": {
750
750
  "moduleId": 5744,
@@ -815,7 +815,7 @@
815
815
  "filename": "src/presentation/web/app/actions/delete-feature.ts",
816
816
  "exportedName": "deleteFeature"
817
817
  },
818
- "40f212637cf54b75f8369a28f2ef02047afa0dd44f": {
818
+ "40463076382e06a3dc72c589ce036f49eb0862bff6": {
819
819
  "workers": {
820
820
  "app/(dashboard)/@drawer/create/page": {
821
821
  "moduleId": 5744,
@@ -886,7 +886,7 @@
886
886
  "filename": "src/presentation/web/app/actions/add-repository.ts",
887
887
  "exportedName": "addRepository"
888
888
  },
889
- "404d7ef6741e7ba754958ecc114042f77e9bf820a2": {
889
+ "40a659642912dbd64b41fb762348dc1f1ab44360e0": {
890
890
  "workers": {
891
891
  "app/(dashboard)/@drawer/create/page": {
892
892
  "moduleId": 5744,
@@ -957,7 +957,7 @@
957
957
  "filename": "src/presentation/web/app/actions/delete-repository.ts",
958
958
  "exportedName": "deleteRepository"
959
959
  },
960
- "4081653b3aa484365fe0f4290fbcdd040326bd7eb7": {
960
+ "402bba91e0972b108c6c79ef36e7a37260ae94a0f6": {
961
961
  "workers": {
962
962
  "app/(dashboard)/@drawer/create/page": {
963
963
  "moduleId": 5744,
@@ -1028,7 +1028,7 @@
1028
1028
  "filename": "src/presentation/web/app/actions/get-feature-metadata.ts",
1029
1029
  "exportedName": "getFeatureMetadata"
1030
1030
  },
1031
- "0003b68c84f80e76685f11cf5cc265bfeb64a68543": {
1031
+ "001070f7b9fa3d841c9e13cd59b470f656f2904268": {
1032
1032
  "workers": {
1033
1033
  "app/(dashboard)/@drawer/create/page": {
1034
1034
  "moduleId": 5744,
@@ -1099,7 +1099,7 @@
1099
1099
  "filename": "src/presentation/web/app/actions/get-graph-data.ts",
1100
1100
  "exportedName": "fetchGraphData"
1101
1101
  },
1102
- "009c829946f08fc2c203a21114b44f8ca0df4195c2": {
1102
+ "00f7199d9e1100f8c82415ae56e7cf72bcfacffdc2": {
1103
1103
  "workers": {
1104
1104
  "app/(dashboard)/@drawer/create/page": {
1105
1105
  "moduleId": 5744,
@@ -1121,7 +1121,7 @@
1121
1121
  "filename": "src/presentation/web/app/actions/get-workflow-defaults.ts",
1122
1122
  "exportedName": "getWorkflowDefaults"
1123
1123
  },
1124
- "402b4d308559197627130314408dc939f113b4ee22": {
1124
+ "40d0076f4cfaeff303923795623f71465e6df3a130": {
1125
1125
  "workers": {
1126
1126
  "app/(dashboard)/@drawer/create/page": {
1127
1127
  "moduleId": 5744,
@@ -1143,7 +1143,7 @@
1143
1143
  "filename": "src/presentation/web/app/actions/create-feature.ts",
1144
1144
  "exportedName": "createFeature"
1145
1145
  },
1146
- "00dfb79b44acc0fc9a944a26ec622eff3efdf34f35": {
1146
+ "00d5d7a5ce67620faf7dc34dc83dee923b7a84194d": {
1147
1147
  "workers": {
1148
1148
  "app/(dashboard)/@drawer/create/page": {
1149
1149
  "moduleId": 5744,
@@ -1172,7 +1172,7 @@
1172
1172
  "filename": "src/presentation/web/app/actions/get-all-agent-models.ts",
1173
1173
  "exportedName": "getAllAgentModels"
1174
1174
  },
1175
- "60e82301ff03559406d46def67340245c08ec5634a": {
1175
+ "605a38bfb450ab0bfea7bb210a42569ea2c2fd55d9": {
1176
1176
  "workers": {
1177
1177
  "app/(dashboard)/@drawer/create/page": {
1178
1178
  "moduleId": 5744,
@@ -1201,7 +1201,7 @@
1201
1201
  "filename": "src/presentation/web/app/actions/update-agent-and-model.ts",
1202
1202
  "exportedName": "updateAgentAndModel"
1203
1203
  },
1204
- "607624cf587ebc75644f6269a503233cc25b5ada7a": {
1204
+ "6017545b7bdc9544d943ec2cd025bb5b83cf22a526": {
1205
1205
  "workers": {
1206
1206
  "app/(dashboard)/@drawer/feature/[featureId]/[tab]/page": {
1207
1207
  "moduleId": 10258,
@@ -1237,7 +1237,7 @@
1237
1237
  "filename": "src/presentation/web/app/actions/approve-feature.ts",
1238
1238
  "exportedName": "approveFeature"
1239
1239
  },
1240
- "70f6fe2b6a57f9b3be75b0eb905a431ba092c25572": {
1240
+ "7006e4ca2e720f6f2335ddb5bf9af3d62b73db0c0c": {
1241
1241
  "workers": {
1242
1242
  "app/(dashboard)/@drawer/feature/[featureId]/[tab]/page": {
1243
1243
  "moduleId": 10258,
@@ -1273,7 +1273,7 @@
1273
1273
  "filename": "src/presentation/web/app/actions/reject-feature.ts",
1274
1274
  "exportedName": "rejectFeature"
1275
1275
  },
1276
- "408ac383718bbee849dd1ee1c4420f7ffad5bea65f": {
1276
+ "401b7f243a7cb3dab6d2b8506cb458cac280fd4e3b": {
1277
1277
  "workers": {
1278
1278
  "app/(dashboard)/@drawer/feature/[featureId]/[tab]/page": {
1279
1279
  "moduleId": 10258,
@@ -1309,7 +1309,7 @@
1309
1309
  "filename": "src/presentation/web/app/actions/get-feature-artifact.ts",
1310
1310
  "exportedName": "getFeatureArtifact"
1311
1311
  },
1312
- "40c983f1cec713db742dd3de1fdf6e422d9b281a4c": {
1312
+ "4095e6ba5f4699c05bbf316c3bbbd09cde448be765": {
1313
1313
  "workers": {
1314
1314
  "app/(dashboard)/@drawer/feature/[featureId]/[tab]/page": {
1315
1315
  "moduleId": 10258,
@@ -1345,7 +1345,7 @@
1345
1345
  "filename": "src/presentation/web/app/actions/get-research-artifact.ts",
1346
1346
  "exportedName": "getResearchArtifact"
1347
1347
  },
1348
- "40dcc7a21112a926b0e5b0bb6a75411f6aef36eb7c": {
1348
+ "40d493d464ab56dfb45429328e8355a9930798f885": {
1349
1349
  "workers": {
1350
1350
  "app/(dashboard)/@drawer/feature/[featureId]/[tab]/page": {
1351
1351
  "moduleId": 10258,
@@ -1381,7 +1381,7 @@
1381
1381
  "filename": "src/presentation/web/app/actions/get-merge-review-data.ts",
1382
1382
  "exportedName": "getMergeReviewData"
1383
1383
  },
1384
- "4023d6fc37dbcdec9825a467ce3ba3e56ab6033a4f": {
1384
+ "4028b688466d108bfb8904baff212b5affab94d432": {
1385
1385
  "workers": {
1386
1386
  "app/(dashboard)/@drawer/feature/[featureId]/[tab]/page": {
1387
1387
  "moduleId": 10258,
@@ -1417,7 +1417,7 @@
1417
1417
  "filename": "src/presentation/web/app/actions/get-feature-phase-timings.ts",
1418
1418
  "exportedName": "getFeaturePhaseTimings"
1419
1419
  },
1420
- "402301bc7ae22f1ece285abcf77a3a523b676b9bd1": {
1420
+ "40702beec1e3b022b89becf6b072d92e77f49793c0": {
1421
1421
  "workers": {
1422
1422
  "app/(dashboard)/@drawer/feature/[featureId]/[tab]/page": {
1423
1423
  "moduleId": 10258,
@@ -1453,7 +1453,7 @@
1453
1453
  "filename": "src/presentation/web/app/actions/get-feature-plan.ts",
1454
1454
  "exportedName": "getFeaturePlan"
1455
1455
  },
1456
- "001807009d07b4aadd9d966a4d5d302654f4f10517": {
1456
+ "00913703a3971dda2b65928c28e343deb568ac79d3": {
1457
1457
  "workers": {
1458
1458
  "app/settings/page": {
1459
1459
  "moduleId": 67125,
@@ -1468,7 +1468,7 @@
1468
1468
  "filename": "src/presentation/web/app/actions/load-settings.ts",
1469
1469
  "exportedName": "loadSettings"
1470
1470
  },
1471
- "40b43d08b3e30ccc7fccdd90a2d996a80de893fbf5": {
1471
+ "40b83ef319c196e9cb935e0510b7a8b67097cbf5cc": {
1472
1472
  "workers": {
1473
1473
  "app/settings/page": {
1474
1474
  "moduleId": 67125,
@@ -1485,5 +1485,5 @@
1485
1485
  }
1486
1486
  },
1487
1487
  "edge": {},
1488
- "encryptionKey": "Qk5Ux0Bgb7sCh7W7goCH1ESQ7NKlWqF3UN59jsXkMBs="
1488
+ "encryptionKey": "HSg7+egPGUAguJ4K/upkaFQuQpjsEYDNX/VVWRx5OLg="
1489
1489
  }
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95812,35e3,e=>{"use strict";let t=(0,e.i(3645).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],95812);var s=e.i(80986);e.s(["CheckCircle2",()=>s.default],35e3)},33548,e=>{"use strict";let t=(0,e.i(3645).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",()=>t],33548)},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)},81846,e=>{"use strict";var t=e.i(20314),s=e.i(94237),r=e.i(31777);let a=(0,s.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i({className:e,variant:s,...i}){return(0,t.jsx)("div",{className:(0,r.cn)(a({variant:s}),e),...i})}e.s(["Badge",()=>i])},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)},95230,e=>{"use strict";let t=(0,e.i(3645).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["default",()=>t])},87342,e=>{"use strict";var t=e.i(79054),s=e.i(22528),r=e.i(5978),a=e.i(86874),i=e.i(20314);function l(e){let l=e+"CollectionProvider",[n,o]=(0,s.createContextScope)(l),[c,d]=n(l,{collectionRef:{current:null},itemMap:new Map}),u=e=>{let{scope:s,children:r}=e,a=t.default.useRef(null),l=t.default.useRef(new Map).current;return(0,i.jsx)(c,{scope:s,itemMap:l,collectionRef:a,children:r})};u.displayName=l;let m=e+"CollectionSlot",f=(0,a.createSlot)(m),h=t.default.forwardRef((e,t)=>{let{scope:s,children:a}=e,l=d(m,s),n=(0,r.useComposedRefs)(t,l.collectionRef);return(0,i.jsx)(f,{ref:n,children:a})});h.displayName=m;let x=e+"CollectionItemSlot",p="data-radix-collection-item",g=(0,a.createSlot)(x),v=t.default.forwardRef((e,s)=>{let{scope:a,children:l,...n}=e,o=t.default.useRef(null),c=(0,r.useComposedRefs)(s,o),u=d(x,a);return t.default.useEffect(()=>(u.itemMap.set(o,{ref:o,...n}),()=>void u.itemMap.delete(o))),(0,i.jsx)(g,{...{[p]:""},ref:c,children:l})});return v.displayName=x,[{Provider:u,Slot:h,ItemSlot:v},function(s){let r=d(e+"CollectionConsumer",s);return t.default.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${p}]`));return Array.from(r.itemMap.values()).sort((e,s)=>t.indexOf(e.ref.current)-t.indexOf(s.ref.current))},[r.collectionRef,r.itemMap])},o]}var n=new WeakMap;function o(e,t){var s,r;let a,i,l;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let n=(s=e,r=t,a=s.length,(l=(i=c(r))>=0?i:a+i)<0||l>=a?-1:l);return -1===n?void 0:e[n]}function c(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],n.set(this,!0)}set(e,t){return n.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,s){let r,a=this.has(t),i=this.#e.length,l=c(e),n=l>=0?l:i+l,o=n<0||n>=i?-1:n;if(o===this.size||a&&o===this.size-1||-1===o)return this.set(t,s),this;let d=this.size+ +!a;l<0&&n++;let u=[...this.#e],m=!1;for(let e=n;e<d;e++)if(n===e){let i=u[e];u[e]===t&&(i=u[e+1]),a&&this.delete(t),r=this.get(i),this.set(t,s)}else{m||u[e-1]!==t||(m=!0);let s=u[m?e:e-1],a=r;r=this.get(s),this.delete(s),this.set(s,a)}return this}with(t,s,r){let a=new e(this);return a.insert(t,s,r),a}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,s){let r=this.#e.indexOf(e);return -1===r?this:this.insert(r,t,s)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,s){let r=this.#e.indexOf(e);return -1===r?this:this.insert(r+1,t,s)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=o(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=o(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return o(this.#e,e)}from(e,t){let s=this.indexOf(e);if(-1===s)return;let r=s+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.at(r)}keyFrom(e,t){let s=this.indexOf(e);if(-1===s)return;let r=s+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.keyAt(r)}find(e,t){let s=0;for(let r of this){if(Reflect.apply(e,t,[r,s,this]))return r;s++}}findIndex(e,t){let s=0;for(let r of this){if(Reflect.apply(e,t,[r,s,this]))return s;s++}return -1}filter(t,s){let r=[],a=0;for(let e of this)Reflect.apply(t,s,[e,a,this])&&r.push(e),a++;return new e(r)}map(t,s){let r=[],a=0;for(let e of this)r.push([e[0],Reflect.apply(t,s,[e,a,this])]),a++;return new e(r)}reduce(...e){let[t,s]=e,r=0,a=s??this.at(0);for(let s of this)a=0===r&&1===e.length?s:Reflect.apply(t,this,[a,s,r,this]),r++;return a}reduceRight(...e){let[t,s]=e,r=s??this.at(-1);for(let s=this.size-1;s>=0;s--){let a=this.at(s);r=s===this.size-1&&1===e.length?a:Reflect.apply(t,this,[r,a,s,this])}return r}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let s=this.keyAt(e),r=this.get(s);t.set(s,r)}return t}toSpliced(...t){let s=[...this.entries()];return s.splice(...t),new e(s)}slice(t,s){let r=new e,a=this.size-1;if(void 0===t)return r;t<0&&(t+=this.size),void 0!==s&&s>0&&(a=s-1);for(let e=t;e<=a;e++){let t=this.keyAt(e),s=this.get(t);r.set(t,s)}return r}every(e,t){let s=0;for(let r of this){if(!Reflect.apply(e,t,[r,s,this]))return!1;s++}return!0}some(e,t){let s=0;for(let r of this){if(Reflect.apply(e,t,[r,s,this]))return!0;s++}return!1}}),e.s(["createCollection",()=>l])},49228,e=>{"use strict";let t=(0,e.i(3645).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>t],49228)},68304,51080,e=>{"use strict";var t=e.i(20314),s=e.i(79054),r=e.i(91967),a=e.i(22528),i=e.i(87342),l=e.i(5978),n=e.i(13123),o=e.i(87620),c=e.i(29297),d=e.i(36589),u=e.i(66033),m="rovingFocusGroup.onEntryFocus",f={bubbles:!1,cancelable:!0},h="RovingFocusGroup",[x,p,g]=(0,i.createCollection)(h),[v,b]=(0,a.createContextScope)(h,[g]),[y,j]=v(h),k=s.forwardRef((e,s)=>(0,t.jsx)(x.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(x.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(w,{...e,ref:s})})}));k.displayName=h;var w=s.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:i,orientation:n,loop:x=!1,dir:g,currentTabStopId:v,defaultCurrentTabStopId:b,onCurrentTabStopIdChange:j,onEntryFocus:k,preventScrollOnEntryFocus:w=!1,...N}=e,C=s.useRef(null),T=(0,l.useComposedRefs)(a,C),I=(0,u.useDirection)(g),[S,A]=(0,d.useControllableState)({prop:v,defaultProp:b??null,onChange:j,caller:h}),[z,E]=s.useState(!1),M=(0,c.useCallbackRef)(k),L=p(i),D=s.useRef(!1),[P,F]=s.useState(0);return s.useEffect(()=>{let e=C.current;if(e)return e.addEventListener(m,M),()=>e.removeEventListener(m,M)},[M]),(0,t.jsx)(y,{scope:i,orientation:n,dir:I,loop:x,currentTabStopId:S,onItemFocus:s.useCallback(e=>A(e),[A]),onItemShiftTab:s.useCallback(()=>E(!0),[]),onFocusableItemAdd:s.useCallback(()=>F(e=>e+1),[]),onFocusableItemRemove:s.useCallback(()=>F(e=>e-1),[]),children:(0,t.jsx)(o.Primitive.div,{tabIndex:z||0===P?-1:0,"data-orientation":n,...N,ref:T,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{D.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!D.current;if(e.target===e.currentTarget&&t&&!z){let t=new CustomEvent(m,f);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=L().filter(e=>e.focusable);R([e.find(e=>e.active),e.find(e=>e.id===S),...e].filter(Boolean).map(e=>e.ref.current),w)}}D.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>E(!1))})})}),N="RovingFocusGroupItem",C=s.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:i,focusable:l=!0,active:c=!1,tabStopId:d,children:u,...m}=e,f=(0,n.useId)(),h=d||f,g=j(N,i),v=g.currentTabStopId===h,b=p(i),{onFocusableItemAdd:y,onFocusableItemRemove:k,currentTabStopId:w}=g;return s.useEffect(()=>{if(l)return y(),()=>k()},[l,y,k]),(0,t.jsx)(x.ItemSlot,{scope:i,id:h,focusable:l,active:c,children:(0,t.jsx)(o.Primitive.span,{tabIndex:v?0:-1,"data-orientation":g.orientation,...m,ref:a,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{l?g.onItemFocus(h):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>g.onItemFocus(h)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void g.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,s){var r;let a=(r=e.key,"rtl"!==s?r:"ArrowLeft"===r?"ArrowRight":"ArrowRight"===r?"ArrowLeft":r);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(a))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(a)))return T[a]}(e,g.orientation,g.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let a=b().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)a.reverse();else if("prev"===t||"next"===t){var s,r;"prev"===t&&a.reverse();let i=a.indexOf(e.currentTarget);a=g.loop?(s=a,r=i+1,s.map((e,t)=>s[(r+t)%s.length])):a.slice(i+1)}setTimeout(()=>R(a))}}),children:"function"==typeof u?u({isCurrentTabStop:v,hasTabStop:null!=w}):u})})});C.displayName=N;var T={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function R(e,t=!1){let s=document.activeElement;for(let r of e)if(r===s||(r.focus({preventScroll:t}),document.activeElement!==s))return}e.s(["Item",()=>C,"Root",()=>k,"createRovingFocusGroupScope",()=>b],51080);var I=e.i(85995),S="Tabs",[A,z]=(0,a.createContextScope)(S,[b]),E=b(),[M,L]=A(S),D=s.forwardRef((e,s)=>{let{__scopeTabs:r,value:a,onValueChange:i,defaultValue:l,orientation:c="horizontal",dir:m,activationMode:f="automatic",...h}=e,x=(0,u.useDirection)(m),[p,g]=(0,d.useControllableState)({prop:a,onChange:i,defaultProp:l??"",caller:S});return(0,t.jsx)(M,{scope:r,baseId:(0,n.useId)(),value:p,onValueChange:g,orientation:c,dir:x,activationMode:f,children:(0,t.jsx)(o.Primitive.div,{dir:x,"data-orientation":c,...h,ref:s})})});D.displayName=S;var P="TabsList",F=s.forwardRef((e,s)=>{let{__scopeTabs:r,loop:a=!0,...i}=e,l=L(P,r),n=E(r);return(0,t.jsx)(k,{asChild:!0,...n,orientation:l.orientation,dir:l.dir,loop:a,children:(0,t.jsx)(o.Primitive.div,{role:"tablist","aria-orientation":l.orientation,...i,ref:s})})});F.displayName=P;var O="TabsTrigger",B=s.forwardRef((e,s)=>{let{__scopeTabs:a,value:i,disabled:l=!1,...n}=e,c=L(O,a),d=E(a),u=V(c.baseId,i),m=K(c.baseId,i),f=i===c.value;return(0,t.jsx)(C,{asChild:!0,...d,focusable:!l,active:f,children:(0,t.jsx)(o.Primitive.button,{type:"button",role:"tab","aria-selected":f,"aria-controls":m,"data-state":f?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:u,...n,ref:s,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{l||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(i)}),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(i)}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;f||l||!e||c.onValueChange(i)})})})});B.displayName=O;var H="TabsContent",q=s.forwardRef((e,r)=>{let{__scopeTabs:a,value:i,forceMount:l,children:n,...c}=e,d=L(H,a),u=V(d.baseId,i),m=K(d.baseId,i),f=i===d.value,h=s.useRef(f);return s.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(I.Presence,{present:l||f,children:({present:s})=>(0,t.jsx)(o.Primitive.div,{"data-state":f?"active":"inactive","data-orientation":d.orientation,role:"tabpanel","aria-labelledby":u,hidden:!s,id:m,tabIndex:0,...c,ref:r,style:{...e.style,animationDuration:h.current?"0s":void 0},children:s&&n})})});function V(e,t){return`${e}-trigger-${t}`}function K(e,t){return`${e}-content-${t}`}q.displayName=H,e.s(["Content",()=>q,"List",()=>F,"Root",()=>D,"Tabs",()=>D,"TabsContent",()=>q,"TabsList",()=>F,"TabsTrigger",()=>B,"Trigger",()=>B,"createTabsScope",()=>z],43133);var $=e.i(43133),$=$,U=e.i(31777);let G=$.Root,_=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)($.List,{ref:r,className:(0,U.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...s}));_.displayName=$.List.displayName;let W=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)($.Trigger,{ref:r,className:(0,U.cn)("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow",e),...s}));W.displayName=$.Trigger.displayName;let J=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)($.Content,{ref:r,className:(0,U.cn)("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",e),...s}));J.displayName=$.Content.displayName,e.s(["Tabs",()=>G,"TabsContent",()=>J,"TabsList",()=>_,"TabsTrigger",()=>W],68304)},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)},44412,e=>{"use strict";var t=e.i(20314),s=e.i(79054),r=e.i(81975),a=e.i(68304),i=e.i(31777),l=e.i(83428),n=e.i(83902),o=e.i(95230),o=o,c=e.i(3645);let d=(0,c.default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var u=e.i(38573),m=e.i(49228),f=e.i(54277),h=e.i(95812),x=e.i(35e3);let p=(0,c.default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);var g=e.i(35364),v=e.i(2828),b=e.i(33548),y=e.i(23925),j=e.i(30702),o=o,k=e.i(11495);let w={linux:"Linux",darwin:"macOS",win32:"Windows"},N={ide:{label:"IDE",icon:d},"cli-agent":{label:"CLI Agent",icon:u.Terminal},vcs:{label:"VCS",icon:m.GitBranch},terminal:{label:"Terminal",icon:u.Terminal}};function C({status:e}){return"available"===e?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-emerald-100 px-2 py-0.5 text-xs font-medium text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400",children:[(0,t.jsx)(y.Check,{className:"h-3 w-3"}),"Installed"]}):"error"===e?(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full bg-red-100 px-2 py-0.5 text-xs font-medium text-red-700 dark:bg-red-900/30 dark:text-red-400",children:"Error"}):(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full bg-amber-100 px-2 py-0.5 text-xs font-medium text-amber-700 dark:bg-amber-900/30 dark:text-amber-400",children:"Missing"})}function T({tool:e,open:r,onClose:a,onRefresh:i,autoStart:c}){let[u,m]=(0,s.useState)(!1),[f,h]=(0,s.useState)(!1),{logs:x,status:v,startInstall:T}=function(e){let[t,r]=(0,s.useState)([]),[a,i]=(0,s.useState)("idle"),[l,n]=(0,s.useState)(null),o=(0,s.useRef)(null),c=(0,s.useCallback)(()=>{o.current&&(o.current.close(),o.current=null)},[]);return(0,s.useEffect)(()=>c,[c]),{logs:t,status:a,result:l,startInstall:(0,s.useCallback)(()=>{c(),r([]),n(null),i("streaming");let t=new EventSource(`/api/tools/${e}/install/stream`);o.current=t,t.onmessage=e=>{r(t=>[...t,e.data])},t.addEventListener("done",e=>{let t=JSON.parse(e.data);n(t),i("error"===t.status?"error":"done"),c()}),t.onerror=()=>{i("error"),c()}},[e,c])}}(e.id),R=(0,s.useRef)(null),I=(0,s.useRef)(!0),S=(0,s.useRef)(!1),A="available"===e.status.status,z="error"===e.status.status,E=A&&!!e.openDirectory,M=!A&&!z&&e.autoInstall;async function L(){h(!0);try{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})}finally{h(!1)}}(0,s.useEffect)(()=>{r&&c&&M&&"idle"===v&&!S.current&&(S.current=!0,T()),r||(S.current=!1)},[r,c,M,v,T]);let D=(0,s.useCallback)(()=>{let e=R.current;e&&(I.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);(0,s.useEffect)(()=>{I.current&&R.current&&(R.current.scrollTop=R.current.scrollHeight)},[x,v]),(0,s.useEffect)(()=>{"done"===v&&i&&i()},[v,i]);let P=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5 pr-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[e.iconUrl?(0,t.jsx)("img",{src:e.iconUrl,alt:"",width:24,height:24,className:"shrink-0 dark:invert"}):(0,t.jsx)(p,{className:"text-muted-foreground h-6 w-6 shrink-0"}),(0,t.jsx)("h2",{className:"text-base font-bold",children:e.name}),(0,t.jsx)(C,{status:e.status.status})]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:e.tags.map(e=>{let s=N[e]??{label:e,icon:d},r=s.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[10px]",children:[(0,t.jsx)(r,{className:"h-3 w-3"}),s.label]},e)})})]});return(0,t.jsx)(k.BaseDrawer,{open:r,onClose:a,size:"md",modal:!0,title:e.name,header:P,"data-testid":"tool-detail-drawer",children:(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-4 overflow-y-auto p-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),e.author||e.platforms?(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs",children:[e.author?(0,t.jsxs)("span",{className:"text-muted-foreground",children:["by"," ",e.website?(0,t.jsx)("a",{href:e.website,target:"_blank",rel:"noopener noreferrer",className:"text-foreground hover:underline",children:e.author}):(0,t.jsx)("span",{className:"text-foreground",children:e.author})]}):null,e.platforms&&e.platforms.length>0?(0,t.jsx)("span",{className:"text-muted-foreground",children:e.platforms.map(e=>w[e]??e).join(" · ")}):null]}):null,e.installCommand?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs font-semibold tracking-wide uppercase",children:"Install command"}),(0,t.jsxs)("div",{className:"relative rounded-md bg-zinc-900 text-zinc-100",children:[(0,t.jsx)("pre",{className:"overflow-x-auto px-3 py-2.5 pr-16 font-mono text-xs leading-relaxed break-all whitespace-pre-wrap",children:(0,t.jsx)("code",{children:e.installCommand})}),(0,t.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"absolute top-1.5 right-1.5 h-7 cursor-pointer px-2 text-zinc-400 hover:text-zinc-100",onClick:function(){e.installCommand&&navigator.clipboard.writeText(e.installCommand).then(()=>{m(!0),setTimeout(()=>m(!1),2e3)})},"aria-label":u?"Copied!":"Copy install command",children:[u?(0,t.jsx)(y.Check,{className:"h-3.5 w-3.5 text-emerald-500"}):(0,t.jsx)(b.Copy,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"ml-1 text-[10px]",children:u?"Copied!":"Copy"})]})]})]}):null,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[M?(0,t.jsxs)(g.Button,{size:"sm",onClick:T,disabled:"streaming"===v,"aria-label":`Install ${e.name}`,className:"cursor-pointer",children:["streaming"===v?(0,t.jsx)(l.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(o.default,{className:"mr-1.5 h-3.5 w-3.5"}),"streaming"===v?"Installing...":"Install"]}):null,E?(0,t.jsxs)(g.Button,{size:"sm",variant:"outline",onClick:()=>void L(),disabled:f,"aria-label":`Launch ${e.name}`,className:"cursor-pointer",children:[f?(0,t.jsx)(l.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(n.Rocket,{className:"mr-1.5 h-3.5 w-3.5"}),"Launch"]}):null,e.documentationUrl?(0,t.jsx)(g.Button,{variant:"outline",size:"sm",className:"cursor-pointer",asChild:!0,children:(0,t.jsxs)("a",{href:e.documentationUrl,target:"_blank",rel:"noopener noreferrer",children:["Docs",(0,t.jsx)(j.ExternalLink,{className:"ml-1 h-3 w-3"})]})}):null]}),("streaming"===v||"done"===v||"error"===v)&&x.length>0?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs font-semibold tracking-wide uppercase",children:"Install log"}),(0,t.jsxs)("div",{ref:R,onScroll:D,className:"max-h-60 overflow-auto rounded-md bg-zinc-900 p-3 font-mono text-xs leading-relaxed text-zinc-100","data-testid":"tool-install-log",children:[x.map((e,s)=>(0,t.jsx)("div",{className:"break-all whitespace-pre-wrap",children:e},s)),"done"===v?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-emerald-400",children:"Installation complete"}):null,"error"===v?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-red-400",children:"Installation failed"}):null]})]}):null]})})}let R={ide:{label:"IDE",icon:d},"cli-agent":{label:"CLI Agent",icon:u.Terminal},vcs:{label:"VCS",icon:m.GitBranch},terminal:{label:"Terminal",icon:u.Terminal}};function I({tool:e,onRefresh:r,className:a}){let[c,u]=(0,s.useState)(!1),[m,b]=(0,s.useState)(!1),[y,j]=(0,s.useTransition)(),k="available"===e.status.status,w="error"===e.status.status,N=k&&!!e.openDirectory;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{"data-testid":"tool-card",onClick:function(){b(!1),u(!0)},className:(0,i.cn)("bg-card group flex h-30 w-full cursor-pointer flex-col rounded-lg border p-3 transition-shadow hover:shadow-md",a),children:[(0,t.jsxs)("div",{className:"mb-2 flex items-start justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[e.iconUrl?(0,t.jsx)("img",{src:e.iconUrl,alt:"",width:20,height:20,className:"shrink-0 dark:invert"}):(0,t.jsx)(p,{className:"text-muted-foreground h-5 w-5 shrink-0"}),(0,t.jsx)("h3",{"data-testid":"tool-card-name",className:"truncate text-sm font-bold",children:e.name})]}),(0,t.jsx)("div",{"data-testid":"tool-card-tags",className:"flex shrink-0 items-center gap-1",children:e.tags.map(e=>{let s=R[e]??{label:e,icon:d},r=s.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[9px]",children:[(0,t.jsx)(r,{className:"h-2.5 w-2.5"}),s.label]},e)})})]}),(0,t.jsx)("p",{"data-testid":"tool-card-summary",className:"text-muted-foreground mt-1 truncate text-xs",children:e.summary}),(0,t.jsxs)("div",{className:"mt-auto flex items-center justify-between pt-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[w&&"error"===e.status.status?(0,t.jsxs)("span",{className:"flex items-center gap-1 truncate text-[10px] text-red-600 dark:text-red-400",title:e.status.errorMessage,children:[(0,t.jsx)(f.CircleX,{className:"h-3 w-3 shrink-0"}),e.status.errorMessage??"Error"]}):k?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-[10px] text-emerald-600 dark:text-emerald-400",children:[(0,t.jsx)(x.CheckCircle2,{className:"h-3 w-3"}),"Installed"]}):(0,t.jsxs)("span",{className:"text-muted-foreground flex items-center gap-1 text-[10px]",children:[(0,t.jsx)(h.Circle,{className:"h-3 w-3"}),"Not installed"]}),e.required?(0,t.jsx)(v.TooltipProvider,{children:(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"rounded bg-amber-100 px-1.5 py-0.5 text-[9px] font-medium text-amber-700 dark:bg-amber-900/50 dark:text-amber-400",children:"Required"})}),(0,t.jsx)(v.TooltipContent,{side:"top",children:"This tool is required for Shep to function properly"})]})}):null]}),(0,t.jsx)("div",{className:"flex items-center gap-1",children:k&&N?(0,t.jsxs)(g.Button,{size:"sm",variant:"outline",onClick:function(t){t.stopPropagation(),j(async()=>{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})})},disabled:y,"aria-label":`Launch ${e.name}`,"data-testid":"tool-card-launch-button",className:"h-7 cursor-pointer rounded-md px-3 text-xs",children:[y?(0,t.jsx)(l.Loader2,{className:"mr-1 h-3 w-3 animate-spin"}):(0,t.jsx)(n.Rocket,{className:"mr-1 h-3 w-3"}),"Launch"]}):k||w?null:(0,t.jsxs)(g.Button,{size:"sm",variant:"default",onClick:function(t){t.stopPropagation(),b(e.autoInstall),u(!0)},"aria-label":`Install ${e.name}`,"data-testid":"tool-card-install-button",className:"h-7 cursor-pointer rounded-md px-3 text-xs",children:[(0,t.jsx)(o.default,{className:"mr-1 h-3 w-3"}),"Install"]})})]})]}),(0,t.jsx)(T,{tool:e,open:c,onClose:()=>u(!1),onRefresh:r,autoStart:m})]})}let S={all:()=>!0,ide:e=>e.tags.includes("ide"),"cli-agent":e=>e.tags.includes("cli-agent"),vcs:e=>e.tags.includes("vcs"),terminal:e=>e.tags.includes("terminal")};function A({tools:e,className:l}){let[n,o]=(0,s.useState)(e),[c,d]=(0,s.useState)("all"),u=(0,s.useCallback)(async()=>{try{let e=await fetch("/api/tools");if(e.ok){let t=await e.json();o(t)}}catch{}},[]),m=n.filter(S[c]);return(0,t.jsxs)("div",{"data-testid":"tools-page-client",className:(0,i.cn)("space-y-4",l),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.Wrench,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Tools"}),(0,t.jsxs)("span",{className:"text-muted-foreground text-[10px]",children:[n.filter(e=>"available"===e.status.status).length,"/",n.length," installed"]})]}),(0,t.jsxs)(a.Tabs,{value:c,onValueChange:e=>d(e),"data-testid":"tools-page-tabs",children:[(0,t.jsxs)(a.TabsList,{className:"h-7",children:[(0,t.jsx)(a.TabsTrigger,{value:"all","data-testid":"tools-tab-all",className:"px-2.5 text-xs",children:"All"}),(0,t.jsx)(a.TabsTrigger,{value:"ide","data-testid":"tools-tab-ide",className:"px-2.5 text-xs",children:"IDEs"}),(0,t.jsx)(a.TabsTrigger,{value:"cli-agent","data-testid":"tools-tab-cli-agent",className:"px-2.5 text-xs",children:"CLI Agents"}),(0,t.jsx)(a.TabsTrigger,{value:"vcs","data-testid":"tools-tab-vcs",className:"px-2.5 text-xs",children:"Version Control"}),(0,t.jsx)(a.TabsTrigger,{value:"terminal","data-testid":"tools-tab-terminal",className:"px-2.5 text-xs",children:"Terminals"})]}),(0,t.jsx)(a.TabsContent,{value:c,className:"mt-3",children:0===m.length?(0,t.jsxs)("div",{"data-testid":"tools-page-empty",className:"text-muted-foreground flex flex-col items-center justify-center py-12 text-center",children:[(0,t.jsx)(r.Wrench,{className:"mb-2 h-6 w-6 opacity-20"}),(0,t.jsx)("p",{className:"text-xs",children:"No tools in this category."})]}):(0,t.jsx)("div",{"data-testid":"tools-page-grid",className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:m.map(e=>(0,t.jsx)(I,{tool:e,onRefresh:u},e.id))})})]})]})}e.s(["ToolsPageClient",()=>A],44412)}]);