@shepai/cli 1.55.3 → 1.57.0

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 (393) hide show
  1. package/apis/json-schema/NotificationEventConfig.yaml +20 -0
  2. package/apis/json-schema/NotificationEventType.yaml +4 -0
  3. package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts +22 -0
  4. package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts.map +1 -1
  5. package/dist/packages/core/src/application/ports/output/services/ide-launcher-service.interface.d.ts +3 -1
  6. package/dist/packages/core/src/application/ports/output/services/ide-launcher-service.interface.d.ts.map +1 -1
  7. package/dist/packages/core/src/application/use-cases/tools/launch-tool.use-case.d.ts +29 -0
  8. package/dist/packages/core/src/application/use-cases/tools/launch-tool.use-case.d.ts.map +1 -0
  9. package/dist/packages/core/src/application/use-cases/tools/launch-tool.use-case.js +60 -0
  10. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts +31 -0
  11. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts.map +1 -0
  12. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.js +70 -0
  13. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  14. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +4 -0
  15. package/dist/packages/core/src/domain/generated/output.d.ts +21 -1
  16. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  17. package/dist/packages/core/src/domain/generated/output.js +4 -0
  18. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  19. package/dist/packages/core/src/infrastructure/di/container.js +13 -0
  20. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +4 -0
  21. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  22. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +8 -0
  23. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.d.ts.map +1 -1
  24. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.js +18 -0
  25. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +3 -1
  26. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
  27. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +28 -0
  28. package/dist/packages/core/src/infrastructure/services/ide-launchers/json-driven-ide-launcher.service.d.ts +3 -1
  29. package/dist/packages/core/src/infrastructure/services/ide-launchers/json-driven-ide-launcher.service.d.ts.map +1 -1
  30. package/dist/packages/core/src/infrastructure/services/ide-launchers/json-driven-ide-launcher.service.js +11 -5
  31. package/dist/packages/core/src/infrastructure/services/notifications/notification.service.d.ts.map +1 -1
  32. package/dist/packages/core/src/infrastructure/services/notifications/notification.service.js +4 -0
  33. package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.d.ts +61 -0
  34. package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.d.ts.map +1 -0
  35. package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.js +286 -0
  36. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.d.ts.map +1 -1
  37. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.js +18 -7
  38. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.d.ts +11 -1
  39. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.d.ts.map +1 -1
  40. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/CLAUDE.md +63 -0
  41. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/antigravity.json +3 -2
  42. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/claude-code.json +5 -0
  43. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/cursor-cli.json +6 -1
  44. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/cursor.json +1 -0
  45. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/gemini-cli.json +27 -0
  46. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/gh.json +18 -0
  47. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/git.json +18 -0
  48. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/vscode.json +1 -0
  49. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/windsurf.json +1 -0
  50. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/zed.json +1 -0
  51. package/dist/src/presentation/cli/commands/install.command.d.ts.map +1 -1
  52. package/dist/src/presentation/cli/commands/install.command.js +6 -13
  53. package/dist/src/presentation/cli/commands/tools.command.d.ts +14 -0
  54. package/dist/src/presentation/cli/commands/tools.command.d.ts.map +1 -0
  55. package/dist/src/presentation/cli/commands/tools.command.js +36 -0
  56. package/dist/src/presentation/cli/commands/ui.command.d.ts.map +1 -1
  57. package/dist/src/presentation/cli/commands/ui.command.js +6 -0
  58. package/dist/src/presentation/cli/index.js +2 -0
  59. package/dist/src/presentation/web/app/api/tools/[id]/install/route.d.ts +7 -0
  60. package/dist/src/presentation/web/app/api/tools/[id]/install/route.d.ts.map +1 -0
  61. package/dist/src/presentation/web/app/api/tools/[id]/install/route.js +18 -0
  62. package/dist/src/presentation/web/app/api/tools/[id]/launch/route.d.ts +7 -0
  63. package/dist/src/presentation/web/app/api/tools/[id]/launch/route.d.ts.map +1 -0
  64. package/dist/src/presentation/web/app/api/tools/[id]/launch/route.js +28 -0
  65. package/dist/src/presentation/web/app/api/tools/route.d.ts +3 -0
  66. package/dist/src/presentation/web/app/api/tools/route.d.ts.map +1 -0
  67. package/dist/src/presentation/web/app/api/tools/route.js +13 -0
  68. package/dist/src/presentation/web/app/tools/page.d.ts +4 -0
  69. package/dist/src/presentation/web/app/tools/page.d.ts.map +1 -0
  70. package/dist/src/presentation/web/app/tools/page.js +10 -0
  71. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
  72. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +6 -0
  73. package/dist/src/presentation/web/components/features/index.d.ts +3 -0
  74. package/dist/src/presentation/web/components/features/index.d.ts.map +1 -1
  75. package/dist/src/presentation/web/components/features/index.js +3 -0
  76. package/dist/src/presentation/web/components/features/tools/index.d.ts +4 -0
  77. package/dist/src/presentation/web/components/features/tools/index.d.ts.map +1 -0
  78. package/dist/src/presentation/web/components/features/tools/index.js +3 -0
  79. package/dist/src/presentation/web/components/features/tools/install-instructions.d.ts +9 -0
  80. package/dist/src/presentation/web/components/features/tools/install-instructions.d.ts.map +1 -0
  81. package/dist/src/presentation/web/components/features/tools/install-instructions.js +19 -0
  82. package/dist/src/presentation/web/components/features/tools/install-instructions.stories.d.ts +12 -0
  83. package/dist/src/presentation/web/components/features/tools/install-instructions.stories.d.ts.map +1 -0
  84. package/dist/src/presentation/web/components/features/tools/install-instructions.stories.js +77 -0
  85. package/dist/src/presentation/web/components/features/tools/tool-card.d.ts +8 -0
  86. package/dist/src/presentation/web/components/features/tools/tool-card.d.ts.map +1 -0
  87. package/dist/src/presentation/web/components/features/tools/tool-card.js +39 -0
  88. package/dist/src/presentation/web/components/features/tools/tool-card.stories.d.ts +15 -0
  89. package/dist/src/presentation/web/components/features/tools/tool-card.stories.d.ts.map +1 -0
  90. package/dist/src/presentation/web/components/features/tools/tool-card.stories.js +136 -0
  91. package/dist/src/presentation/web/components/features/tools/tools-page-client.d.ts +7 -0
  92. package/dist/src/presentation/web/components/features/tools/tools-page-client.d.ts.map +1 -0
  93. package/dist/src/presentation/web/components/features/tools/tools-page-client.js +31 -0
  94. package/dist/src/presentation/web/components/features/tools/tools-page-client.stories.d.ts +13 -0
  95. package/dist/src/presentation/web/components/features/tools/tools-page-client.stories.d.ts.map +1 -0
  96. package/dist/src/presentation/web/components/features/tools/tools-page-client.stories.js +122 -0
  97. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +2 -2
  98. package/dist/src/presentation/web/dev-server.js +11 -0
  99. package/dist/tsconfig.build.tsbuildinfo +1 -1
  100. package/package.json +1 -1
  101. package/web/.next/BUILD_ID +1 -1
  102. package/web/.next/app-path-routes-manifest.json +4 -0
  103. package/web/.next/build-manifest.json +5 -5
  104. package/web/.next/cache/.previewinfo +1 -1
  105. package/web/.next/cache/.rscinfo +1 -1
  106. package/web/.next/cache/.tsbuildinfo +1 -1
  107. package/web/.next/cache/config.json +3 -3
  108. package/web/.next/fallback-build-manifest.json +2 -2
  109. package/web/.next/prerender-manifest.json +3 -3
  110. package/web/.next/required-server-files.js +1 -1
  111. package/web/.next/required-server-files.json +1 -1
  112. package/web/.next/routes-manifest.json +30 -1
  113. package/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  114. package/web/.next/server/app/_global-error/page.js +1 -1
  115. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  116. package/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  117. package/web/.next/server/app/_global-error.html +2 -2
  118. package/web/.next/server/app/_global-error.rsc +1 -1
  119. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  120. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  121. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  122. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  123. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  124. package/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  125. package/web/.next/server/app/_not-found/page.js +1 -1
  126. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  127. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  128. package/web/.next/server/app/api/dialog/pick-files/route.js +2 -2
  129. package/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  130. package/web/.next/server/app/api/tools/[id]/install/route/app-paths-manifest.json +3 -0
  131. package/web/.next/server/app/api/tools/[id]/install/route/build-manifest.json +11 -0
  132. package/web/.next/server/app/api/tools/[id]/install/route/server-reference-manifest.json +4 -0
  133. package/web/.next/server/app/api/tools/[id]/install/route.js +7 -0
  134. package/web/.next/server/app/api/tools/[id]/install/route.js.map +5 -0
  135. package/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +1 -0
  136. package/web/.next/server/app/api/tools/[id]/install/route_client-reference-manifest.js +2 -0
  137. package/web/.next/server/app/api/tools/[id]/launch/route/app-paths-manifest.json +3 -0
  138. package/web/.next/server/app/api/tools/[id]/launch/route/build-manifest.json +11 -0
  139. package/web/.next/server/app/api/tools/[id]/launch/route/server-reference-manifest.json +4 -0
  140. package/web/.next/server/app/api/tools/[id]/launch/route.js +7 -0
  141. package/web/.next/server/app/api/tools/[id]/launch/route.js.map +5 -0
  142. package/web/.next/server/app/api/tools/[id]/launch/route.js.nft.json +1 -0
  143. package/web/.next/server/app/api/tools/[id]/launch/route_client-reference-manifest.js +2 -0
  144. package/web/.next/server/app/api/tools/route/app-paths-manifest.json +3 -0
  145. package/web/.next/server/app/api/tools/route/build-manifest.json +11 -0
  146. package/web/.next/server/app/api/tools/route/server-reference-manifest.json +4 -0
  147. package/web/.next/server/app/api/tools/route.js +7 -0
  148. package/web/.next/server/app/api/tools/route.js.map +5 -0
  149. package/web/.next/server/app/api/tools/route.js.nft.json +1 -0
  150. package/web/.next/server/app/api/tools/route_client-reference-manifest.js +2 -0
  151. package/web/.next/server/app/page/build-manifest.json +3 -3
  152. package/web/.next/server/app/page/server-reference-manifest.json +14 -14
  153. package/web/.next/server/app/page.js +2 -2
  154. package/web/.next/server/app/page.js.nft.json +1 -1
  155. package/web/.next/server/app/page_client-reference-manifest.js +1 -1
  156. package/web/.next/server/app/tools/page/app-paths-manifest.json +3 -0
  157. package/web/.next/server/app/tools/page/build-manifest.json +17 -0
  158. package/web/.next/server/app/tools/page/next-font-manifest.json +6 -0
  159. package/web/.next/server/app/tools/page/react-loadable-manifest.json +1 -0
  160. package/web/.next/server/app/tools/page/server-reference-manifest.json +4 -0
  161. package/web/.next/server/app/tools/page.js +15 -0
  162. package/web/.next/server/app/tools/page.js.map +5 -0
  163. package/web/.next/server/app/tools/page.js.nft.json +1 -0
  164. package/web/.next/server/app/tools/page_client-reference-manifest.js +2 -0
  165. package/web/.next/server/app/version/page/build-manifest.json +3 -3
  166. package/web/.next/server/app/version/page.js +2 -2
  167. package/web/.next/server/app/version/page.js.nft.json +1 -1
  168. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  169. package/web/.next/server/app-paths-manifest.json +4 -0
  170. package/web/.next/server/chunks/{403f9_next_435614de._.js → 403f9_next_567de315._.js} +6 -7
  171. package/web/.next/server/chunks/403f9_next_567de315._.js.map +1 -0
  172. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
  173. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  174. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_tools_[id]_install_route_actions_ad71fb5e.js +3 -0
  175. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_tools_[id]_launch_route_actions_0501a9ac.js +3 -0
  176. package/web/.next/server/chunks/[root-of-the-server]__332c8d91._.js +4 -0
  177. package/web/.next/server/chunks/[root-of-the-server]__332c8d91._.js.map +1 -0
  178. package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js +3 -0
  179. package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js.map +1 -0
  180. package/web/.next/server/chunks/[root-of-the-server]__b4102cc7._.js +3 -0
  181. package/web/.next/server/chunks/[root-of-the-server]__b4102cc7._.js.map +1 -0
  182. package/web/.next/server/chunks/[root-of-the-server]__bb619083._.js +3 -0
  183. package/web/.next/server/chunks/[root-of-the-server]__bb619083._.js.map +1 -0
  184. package/web/.next/server/chunks/src_presentation_web__next-internal_server_app_api_tools_route_actions_b8d6f9a0.js +3 -0
  185. package/web/.next/server/chunks/src_presentation_web__next-internal_server_app_api_tools_route_actions_b8d6f9a0.js.map +1 -0
  186. package/web/.next/server/chunks/ssr/6769f_@radix-ui_react-roving-focus_dist_index_mjs_b3be3d8e._.js +3 -0
  187. package/web/.next/server/chunks/ssr/6769f_@radix-ui_react-roving-focus_dist_index_mjs_b3be3d8e._.js.map +1 -0
  188. package/web/.next/server/chunks/ssr/[root-of-the-server]__1efeb0eb._.js +3 -0
  189. package/web/.next/server/chunks/ssr/[root-of-the-server]__1efeb0eb._.js.map +1 -0
  190. package/web/.next/server/chunks/ssr/[root-of-the-server]__2d1a8e37._.js +2 -2
  191. package/web/.next/server/chunks/ssr/[root-of-the-server]__48c68a96._.js +12 -0
  192. package/web/.next/server/chunks/ssr/[root-of-the-server]__48c68a96._.js.map +1 -0
  193. package/web/.next/server/chunks/ssr/{[root-of-the-server]__32472b89._.js → [root-of-the-server]__685eaa45._.js} +2 -2
  194. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__f47a461b._.js → server/chunks/ssr/[root-of-the-server]__757c7912._.js} +2 -2
  195. package/web/.next/server/chunks/ssr/[root-of-the-server]__847521e6._.js +3 -0
  196. package/web/.next/server/chunks/ssr/[root-of-the-server]__847521e6._.js.map +1 -0
  197. package/web/.next/server/chunks/ssr/[root-of-the-server]__950afd5e._.js +3 -0
  198. package/web/.next/server/chunks/ssr/{[root-of-the-server]__d8fbe735._.js.map → [root-of-the-server]__950afd5e._.js.map} +1 -1
  199. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__e1c44885._.js → server/chunks/ssr/[root-of-the-server]__dbd220d2._.js} +2 -2
  200. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6e8b5181._.js → server/chunks/ssr/[root-of-the-server]__fbc89707._.js} +2 -2
  201. package/web/.next/server/chunks/ssr/_0e2c2b4f._.js +6 -0
  202. package/web/.next/server/chunks/ssr/_0e2c2b4f._.js.map +1 -0
  203. package/web/.next/server/chunks/ssr/_2900ed94._.js +3 -0
  204. package/web/.next/server/chunks/ssr/_2900ed94._.js.map +1 -0
  205. package/web/.next/server/chunks/ssr/_ad8a094f._.js +4 -0
  206. package/web/.next/server/chunks/ssr/_ad8a094f._.js.map +1 -0
  207. package/web/.next/server/chunks/ssr/_e242b954._.js +3 -0
  208. package/web/.next/server/chunks/ssr/_e242b954._.js.map +1 -0
  209. package/web/.next/server/chunks/ssr/node_modules__pnpm_0ce0b44d._.js +3 -0
  210. package/web/.next/server/chunks/ssr/node_modules__pnpm_0ce0b44d._.js.map +1 -0
  211. package/web/.next/server/chunks/ssr/node_modules__pnpm_d26a7485._.js +7 -0
  212. package/web/.next/server/chunks/ssr/node_modules__pnpm_d26a7485._.js.map +1 -0
  213. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_f1dd7791.js +3 -0
  214. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_f1dd7791.js.map +1 -0
  215. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  216. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  217. package/web/.next/server/chunks/ssr/src_presentation_web_components_ec3b0a65._.js +3 -0
  218. package/web/.next/server/chunks/ssr/src_presentation_web_components_ec3b0a65._.js.map +1 -0
  219. package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js +1 -1
  220. package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js.map +1 -1
  221. package/web/.next/server/middleware-build-manifest.js +3 -3
  222. package/web/.next/server/pages/500.html +2 -2
  223. package/web/.next/server/server-reference-manifest.js +1 -1
  224. package/web/.next/server/server-reference-manifest.json +15 -15
  225. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  226. package/web/.next/standalone/src/presentation/web/.next/app-path-routes-manifest.json +4 -0
  227. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +5 -5
  228. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  229. package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
  230. package/web/.next/standalone/src/presentation/web/.next/routes-manifest.json +30 -1
  231. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  232. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page.js +1 -1
  233. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  234. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  235. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  236. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  237. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  238. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  239. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  240. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  241. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  242. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  243. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js +1 -1
  244. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  245. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  246. package/web/.next/standalone/src/presentation/web/.next/server/app/api/dialog/pick-files/route.js +2 -2
  247. package/web/.next/standalone/src/presentation/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  248. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route/app-paths-manifest.json +3 -0
  249. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route/build-manifest.json +11 -0
  250. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route/server-reference-manifest.json +4 -0
  251. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js +7 -0
  252. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js.map +5 -0
  253. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +1 -0
  254. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route_client-reference-manifest.js +2 -0
  255. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route/app-paths-manifest.json +3 -0
  256. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route/build-manifest.json +11 -0
  257. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route/server-reference-manifest.json +4 -0
  258. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route.js +7 -0
  259. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route.js.map +5 -0
  260. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route.js.nft.json +1 -0
  261. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route_client-reference-manifest.js +2 -0
  262. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route/app-paths-manifest.json +3 -0
  263. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route/build-manifest.json +11 -0
  264. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route/server-reference-manifest.json +4 -0
  265. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route.js +7 -0
  266. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route.js.map +5 -0
  267. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route.js.nft.json +1 -0
  268. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route_client-reference-manifest.js +2 -0
  269. package/web/.next/standalone/src/presentation/web/.next/server/app/page/build-manifest.json +3 -3
  270. package/web/.next/standalone/src/presentation/web/.next/server/app/page/server-reference-manifest.json +14 -14
  271. package/web/.next/standalone/src/presentation/web/.next/server/app/page.js +2 -2
  272. package/web/.next/standalone/src/presentation/web/.next/server/app/page.js.nft.json +1 -1
  273. package/web/.next/standalone/src/presentation/web/.next/server/app/page_client-reference-manifest.js +1 -1
  274. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/app-paths-manifest.json +3 -0
  275. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/build-manifest.json +17 -0
  276. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/next-font-manifest.json +6 -0
  277. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/react-loadable-manifest.json +1 -0
  278. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +4 -0
  279. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js +15 -0
  280. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.map +5 -0
  281. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.nft.json +1 -0
  282. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +2 -0
  283. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/build-manifest.json +3 -3
  284. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js +2 -2
  285. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
  286. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  287. package/web/.next/standalone/src/presentation/web/.next/server/app-paths-manifest.json +4 -0
  288. package/web/.next/standalone/src/presentation/web/.next/server/chunks/{403f9_next_435614de._.js → 403f9_next_567de315._.js} +6 -7
  289. package/web/.next/standalone/src/presentation/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
  290. package/web/.next/standalone/src/presentation/web/.next/server/chunks/744ca_web__next-internal_server_app_api_tools_[id]_install_route_actions_ad71fb5e.js +3 -0
  291. package/web/.next/standalone/src/presentation/web/.next/server/chunks/744ca_web__next-internal_server_app_api_tools_[id]_launch_route_actions_0501a9ac.js +3 -0
  292. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__332c8d91._.js +4 -0
  293. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__9191749c._.js +3 -0
  294. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__b4102cc7._.js +3 -0
  295. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__bb619083._.js +3 -0
  296. package/web/.next/standalone/src/presentation/web/.next/server/chunks/src_presentation_web__next-internal_server_app_api_tools_route_actions_b8d6f9a0.js +3 -0
  297. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/6769f_@radix-ui_react-roving-focus_dist_index_mjs_b3be3d8e._.js +3 -0
  298. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__1efeb0eb._.js +3 -0
  299. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__2d1a8e37._.js +2 -2
  300. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__48c68a96._.js +12 -0
  301. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{[root-of-the-server]__32472b89._.js → [root-of-the-server]__685eaa45._.js} +2 -2
  302. package/web/.next/{server/chunks/ssr/[root-of-the-server]__f47a461b._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__757c7912._.js} +2 -2
  303. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__847521e6._.js +3 -0
  304. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__950afd5e._.js +3 -0
  305. package/web/.next/{server/chunks/ssr/[root-of-the-server]__e1c44885._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__dbd220d2._.js} +2 -2
  306. package/web/.next/{server/chunks/ssr/[root-of-the-server]__6e8b5181._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fbc89707._.js} +2 -2
  307. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_0e2c2b4f._.js +6 -0
  308. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_2900ed94._.js +3 -0
  309. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_ad8a094f._.js +4 -0
  310. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_e242b954._.js +3 -0
  311. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_0ce0b44d._.js +3 -0
  312. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_d26a7485._.js +7 -0
  313. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_f1dd7791.js +3 -0
  314. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  315. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_ec3b0a65._.js +3 -0
  316. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js +1 -1
  317. package/web/.next/standalone/src/presentation/web/.next/server/middleware-build-manifest.js +3 -3
  318. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  319. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  320. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +15 -15
  321. package/web/.next/standalone/src/presentation/web/app/api/tools/[id]/install/route.ts +24 -0
  322. package/web/.next/standalone/src/presentation/web/app/api/tools/[id]/launch/route.ts +38 -0
  323. package/web/.next/standalone/src/presentation/web/app/api/tools/route.ts +14 -0
  324. package/web/.next/standalone/src/presentation/web/app/tools/page.tsx +17 -0
  325. package/web/.next/standalone/src/presentation/web/components/common/feature-node/derive-feature-state.ts +6 -0
  326. package/web/.next/standalone/src/presentation/web/components/features/index.ts +3 -0
  327. package/web/.next/standalone/src/presentation/web/components/features/tools/index.ts +3 -0
  328. package/web/.next/standalone/src/presentation/web/components/features/tools/install-instructions.stories.tsx +89 -0
  329. package/web/.next/standalone/src/presentation/web/components/features/tools/install-instructions.tsx +109 -0
  330. package/web/.next/standalone/src/presentation/web/components/features/tools/tool-card.stories.tsx +181 -0
  331. package/web/.next/standalone/src/presentation/web/components/features/tools/tool-card.tsx +188 -0
  332. package/web/.next/standalone/src/presentation/web/components/features/tools/tools-page-client.stories.tsx +141 -0
  333. package/web/.next/standalone/src/presentation/web/components/features/tools/tools-page-client.tsx +100 -0
  334. package/web/.next/standalone/src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx +5 -5
  335. package/web/.next/standalone/src/presentation/web/dev-server.ts +15 -0
  336. package/web/.next/standalone/src/presentation/web/server.js +1 -1
  337. package/web/.next/static/chunks/0cd7c513169faee3.js +1 -0
  338. package/web/.next/static/chunks/1887af4ad3781531.js +2 -0
  339. package/web/.next/static/chunks/225de19e886a62ab.js +10 -0
  340. package/web/.next/static/chunks/35f41ba0a6d626d7.js +1 -0
  341. package/web/.next/static/chunks/3d4dcf0be654a331.js +5 -0
  342. package/web/.next/static/chunks/4651f20be1a3b7d7.css +2 -0
  343. package/web/.next/static/chunks/7138c478667158d0.js +1 -0
  344. package/web/.next/static/chunks/a1f2befd62b321c0.js +1 -0
  345. package/web/.next/static/chunks/a9c2b889c8749a94.js +1 -0
  346. package/web/.next/static/chunks/cda11a2491d519fc.js +1 -0
  347. package/web/.next/static/chunks/ef237b70209d9853.js +1 -0
  348. package/web/.next/static/chunks/{turbopack-35ff53de4dab1e56.js → turbopack-6a11f2f1634ff6e0.js} +1 -1
  349. package/web/.next/trace +1 -1
  350. package/web/.next/trace-build +1 -1
  351. package/web/.next/types/link.d.ts +5 -1
  352. package/web/.next/types/routes.d.ts +6 -2
  353. package/web/.next/types/validator.ts +36 -0
  354. package/web/.next/server/chunks/403f9_next_435614de._.js.map +0 -1
  355. package/web/.next/server/chunks/[externals]__ba6223e5._.js +0 -3
  356. package/web/.next/server/chunks/ssr/[externals]_node:path_d28a9bfe._.js +0 -3
  357. package/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js +0 -12
  358. package/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js.map +0 -1
  359. package/web/.next/server/chunks/ssr/[root-of-the-server]__d8fbe735._.js +0 -3
  360. package/web/.next/server/chunks/ssr/_1632a21f._.js +0 -10
  361. package/web/.next/server/chunks/ssr/_1632a21f._.js.map +0 -1
  362. package/web/.next/server/chunks/ssr/_a35f2870._.js +0 -3
  363. package/web/.next/server/chunks/ssr/_a35f2870._.js.map +0 -1
  364. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_version_version-page-client_tsx_fe9db753._.js +0 -3
  365. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_version_version-page-client_tsx_fe9db753._.js.map +0 -1
  366. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_badge_tsx_964c2a3b._.js +0 -3
  367. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_badge_tsx_964c2a3b._.js.map +0 -1
  368. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[externals]__ba6223e5._.js +0 -3
  369. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[externals]_node:path_d28a9bfe._.js +0 -3
  370. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js +0 -12
  371. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__d8fbe735._.js +0 -3
  372. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_1632a21f._.js +0 -10
  373. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_a35f2870._.js +0 -3
  374. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_version_version-page-client_tsx_fe9db753._.js +0 -3
  375. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_ui_badge_tsx_964c2a3b._.js +0 -3
  376. package/web/.next/static/chunks/00f6ac2dde225eb7.js +0 -1
  377. package/web/.next/static/chunks/084314470f2144d2.js +0 -2
  378. package/web/.next/static/chunks/1f13bc20e938335c.css +0 -2
  379. package/web/.next/static/chunks/8f4461aee9a05741.js +0 -5
  380. package/web/.next/static/chunks/958c51856b8d6ed7.js +0 -10
  381. package/web/.next/static/chunks/9a82d8c76f175235.js +0 -1
  382. package/web/.next/static/chunks/b13aa397579082e7.js +0 -1
  383. package/web/.next/static/chunks/e21d644e5a584136.js +0 -1
  384. package/web/.next/static/chunks/f023fd36b47a5baa.js +0 -1
  385. /package/web/.next/server/chunks/{[externals]__ba6223e5._.js.map → 744ca_web__next-internal_server_app_api_tools_[id]_install_route_actions_ad71fb5e.js.map} +0 -0
  386. /package/web/.next/server/chunks/{ssr/[externals]_node:path_d28a9bfe._.js.map → 744ca_web__next-internal_server_app_api_tools_[id]_launch_route_actions_0501a9ac.js.map} +0 -0
  387. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__32472b89._.js.map → [root-of-the-server]__685eaa45._.js.map} +0 -0
  388. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__f47a461b._.js.map → [root-of-the-server]__757c7912._.js.map} +0 -0
  389. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__e1c44885._.js.map → [root-of-the-server]__dbd220d2._.js.map} +0 -0
  390. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__6e8b5181._.js.map → [root-of-the-server]__fbc89707._.js.map} +0 -0
  391. /package/web/.next/static/{cqDB25f0Vxmh-LBw_64mT → V2579MPjpJ_hqKjPsmMlR}/_buildManifest.js +0 -0
  392. /package/web/.next/static/{cqDB25f0Vxmh-LBw_64mT → V2579MPjpJ_hqKjPsmMlR}/_clientMiddlewareManifest.json +0 -0
  393. /package/web/.next/static/{cqDB25f0Vxmh-LBw_64mT → V2579MPjpJ_hqKjPsmMlR}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24270,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return o}});let o=e=>{}},87292,e=>{"use strict";var t=e.i(20314),r=e.i(79054),o=e.i(57638),n=e.i(31406),i=e.i(3645);let a=(0,i.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]),l=(0,i.default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);var s=e.i(3214),c=e.i(87620),u=e.i(85995),d=e.i(22528),p=e.i(5978),f=e.i(29297),h=e.i(66033),v=e.i(5192),m=e.i(91967),b="ScrollArea",[w,g]=(0,d.createContextScope)(b),[S,x]=w(b),y=r.forwardRef((e,o)=>{let{__scopeScrollArea:n,type:i="hover",dir:a,scrollHideDelay:l=600,...s}=e,[u,d]=r.useState(null),[f,v]=r.useState(null),[m,b]=r.useState(null),[w,g]=r.useState(null),[x,y]=r.useState(null),[j,C]=r.useState(0),[E,T]=r.useState(0),[R,N]=r.useState(!1),[P,A]=r.useState(!1),k=(0,p.useComposedRefs)(o,e=>d(e)),L=(0,h.useDirection)(a);return(0,t.jsx)(S,{scope:n,type:i,dir:L,scrollHideDelay:l,scrollArea:u,viewport:f,onViewportChange:v,content:m,onContentChange:b,scrollbarX:w,onScrollbarXChange:g,scrollbarXEnabled:R,onScrollbarXEnabledChange:N,scrollbarY:x,onScrollbarYChange:y,scrollbarYEnabled:P,onScrollbarYEnabledChange:A,onCornerWidthChange:C,onCornerHeightChange:T,children:(0,t.jsx)(c.Primitive.div,{dir:L,...s,ref:k,style:{position:"relative","--radix-scroll-area-corner-width":j+"px","--radix-scroll-area-corner-height":E+"px",...e.style}})})});y.displayName=b;var j="ScrollAreaViewport",C=r.forwardRef((e,o)=>{let{__scopeScrollArea:n,children:i,nonce:a,...l}=e,s=x(j,n),u=r.useRef(null),d=(0,p.useComposedRefs)(o,u,s.onViewportChange);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),(0,t.jsx)(c.Primitive.div,{"data-radix-scroll-area-viewport":"",...l,ref:d,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,t.jsx)("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:i})})]})});C.displayName=j;var E="ScrollAreaScrollbar",T=r.forwardRef((e,o)=>{let{forceMount:n,...i}=e,a=x(E,e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:s}=a,c="horizontal"===e.orientation;return r.useEffect(()=>(c?l(!0):s(!0),()=>{c?l(!1):s(!1)}),[c,l,s]),"hover"===a.type?(0,t.jsx)(R,{...i,ref:o,forceMount:n}):"scroll"===a.type?(0,t.jsx)(N,{...i,ref:o,forceMount:n}):"auto"===a.type?(0,t.jsx)(P,{...i,ref:o,forceMount:n}):"always"===a.type?(0,t.jsx)(A,{...i,ref:o}):null});T.displayName=E;var R=r.forwardRef((e,o)=>{let{forceMount:n,...i}=e,a=x(E,e.__scopeScrollArea),[l,s]=r.useState(!1);return r.useEffect(()=>{let e=a.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),s(!0)},o=()=>{t=window.setTimeout(()=>s(!1),a.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",o),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",o)}}},[a.scrollArea,a.scrollHideDelay]),(0,t.jsx)(u.Presence,{present:n||l,children:(0,t.jsx)(P,{"data-state":l?"visible":"hidden",...i,ref:o})})}),N=r.forwardRef((e,o)=>{var n;let{forceMount:i,...a}=e,l=x(E,e.__scopeScrollArea),s="horizontal"===e.orientation,c=$(()=>p("SCROLL_END"),100),[d,p]=(n={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},r.useReducer((e,t)=>n[e][t]??e,"hidden"));return r.useEffect(()=>{if("idle"===d){let e=window.setTimeout(()=>p("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(e)}},[d,l.scrollHideDelay,p]),r.useEffect(()=>{let e=l.viewport,t=s?"scrollLeft":"scrollTop";if(e){let r=e[t],o=()=>{let o=e[t];r!==o&&(p("SCROLL"),c()),r=o};return e.addEventListener("scroll",o),()=>e.removeEventListener("scroll",o)}},[l.viewport,s,p,c]),(0,t.jsx)(u.Presence,{present:i||"hidden"!==d,children:(0,t.jsx)(A,{"data-state":"hidden"===d?"hidden":"visible",...a,ref:o,onPointerEnter:(0,m.composeEventHandlers)(e.onPointerEnter,()=>p("POINTER_ENTER")),onPointerLeave:(0,m.composeEventHandlers)(e.onPointerLeave,()=>p("POINTER_LEAVE"))})})}),P=r.forwardRef((e,o)=>{let n=x(E,e.__scopeScrollArea),{forceMount:i,...a}=e,[l,s]=r.useState(!1),c="horizontal"===e.orientation,d=$(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;s(c?e:t)}},10);return K(n.viewport,d),K(n.content,d),(0,t.jsx)(u.Presence,{present:i||l,children:(0,t.jsx)(A,{"data-state":l?"visible":"hidden",...a,ref:o})})}),A=r.forwardRef((e,o)=>{let{orientation:n="vertical",...i}=e,a=x(E,e.__scopeScrollArea),l=r.useRef(null),s=r.useRef(0),[c,u]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=B(c.viewport,c.content),p={...i,sizes:c,onSizesChange:u,hasThumb:!!(d>0&&d<1),onThumbChange:e=>l.current=e,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:e=>s.current=e};function f(e,t){return function(e,t,r,o="ltr"){let n=X(r),i=t||n/2,a=r.scrollbar.paddingStart+i,l=r.scrollbar.size-r.scrollbar.paddingEnd-(n-i),s=r.content-r.viewport;return V([a,l],"ltr"===o?[0,s]:[-1*s,0])(e)}(e,s.current,c,t)}return"horizontal"===n?(0,t.jsx)(k,{...p,ref:o,onThumbPositionChange:()=>{if(a.viewport&&l.current){let e=Y(a.viewport.scrollLeft,c,a.dir);l.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollLeft=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollLeft=f(e,a.dir))}}):"vertical"===n?(0,t.jsx)(L,{...p,ref:o,onThumbPositionChange:()=>{if(a.viewport&&l.current){let e=Y(a.viewport.scrollTop,c);l.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollTop=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollTop=f(e))}}):null}),k=r.forwardRef((e,o)=>{let{sizes:n,onSizesChange:i,...a}=e,l=x(E,e.__scopeScrollArea),[s,c]=r.useState(),u=r.useRef(null),d=(0,p.useComposedRefs)(o,u,l.onScrollbarXChange);return r.useEffect(()=>{u.current&&c(getComputedStyle(u.current))},[u]),(0,t.jsx)(D,{"data-orientation":"horizontal",...a,ref:d,sizes:n,style:{bottom:0,left:"rtl"===l.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===l.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":X(n)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(l.viewport){var o,n;let i=l.viewport.scrollLeft+t.deltaX;e.onWheelScroll(i),o=i,n=r,o>0&&o<n&&t.preventDefault()}},onResize:()=>{u.current&&l.viewport&&s&&i({content:l.viewport.scrollWidth,viewport:l.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:U(s.paddingLeft),paddingEnd:U(s.paddingRight)}})}})}),L=r.forwardRef((e,o)=>{let{sizes:n,onSizesChange:i,...a}=e,l=x(E,e.__scopeScrollArea),[s,c]=r.useState(),u=r.useRef(null),d=(0,p.useComposedRefs)(o,u,l.onScrollbarYChange);return r.useEffect(()=>{u.current&&c(getComputedStyle(u.current))},[u]),(0,t.jsx)(D,{"data-orientation":"vertical",...a,ref:d,sizes:n,style:{top:0,right:"ltr"===l.dir?0:void 0,left:"rtl"===l.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":X(n)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(l.viewport){var o,n;let i=l.viewport.scrollTop+t.deltaY;e.onWheelScroll(i),o=i,n=r,o>0&&o<n&&t.preventDefault()}},onResize:()=>{u.current&&l.viewport&&s&&i({content:l.viewport.scrollHeight,viewport:l.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:U(s.paddingTop),paddingEnd:U(s.paddingBottom)}})}})}),[M,_]=w(E),D=r.forwardRef((e,o)=>{let{__scopeScrollArea:n,sizes:i,hasThumb:a,onThumbChange:l,onThumbPointerUp:s,onThumbPointerDown:u,onThumbPositionChange:d,onDragScroll:h,onWheelScroll:v,onResize:b,...w}=e,g=x(E,n),[S,y]=r.useState(null),j=(0,p.useComposedRefs)(o,e=>y(e)),C=r.useRef(null),T=r.useRef(""),R=g.viewport,N=i.content-i.viewport,P=(0,f.useCallbackRef)(v),A=(0,f.useCallbackRef)(d),k=$(b,10);function L(e){C.current&&h({x:e.clientX-C.current.left,y:e.clientY-C.current.top})}return r.useEffect(()=>{let e=e=>{let t=e.target;S?.contains(t)&&P(e,N)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[R,S,N,P]),r.useEffect(A,[i,A]),K(S,k),K(g.content,k),(0,t.jsx)(M,{scope:n,scrollbar:S,hasThumb:a,onThumbChange:(0,f.useCallbackRef)(l),onThumbPointerUp:(0,f.useCallbackRef)(s),onThumbPositionChange:A,onThumbPointerDown:(0,f.useCallbackRef)(u),children:(0,t.jsx)(c.Primitive.div,{...w,ref:j,style:{position:"absolute",...w.style},onPointerDown:(0,m.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),C.current=S.getBoundingClientRect(),T.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",g.viewport&&(g.viewport.style.scrollBehavior="auto"),L(e))}),onPointerMove:(0,m.composeEventHandlers)(e.onPointerMove,L),onPointerUp:(0,m.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=T.current,g.viewport&&(g.viewport.style.scrollBehavior=""),C.current=null})})})}),H="ScrollAreaThumb",z=r.forwardRef((e,r)=>{let{forceMount:o,...n}=e,i=_(H,e.__scopeScrollArea);return(0,t.jsx)(u.Presence,{present:o||i.hasThumb,children:(0,t.jsx)(I,{ref:r,...n})})}),I=r.forwardRef((e,o)=>{let{__scopeScrollArea:n,style:i,...a}=e,l=x(H,n),s=_(H,n),{onThumbPositionChange:u}=s,d=(0,p.useComposedRefs)(o,e=>s.onThumbChange(e)),f=r.useRef(void 0),h=$(()=>{f.current&&(f.current(),f.current=void 0)},100);return r.useEffect(()=>{let e=l.viewport;if(e){let t=()=>{h(),f.current||(f.current=q(e,u),u())};return u(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[l.viewport,h,u]),(0,t.jsx)(c.Primitive.div,{"data-state":s.hasThumb?"visible":"hidden",...a,ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...i},onPointerDownCapture:(0,m.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,o=e.clientY-t.top;s.onThumbPointerDown({x:r,y:o})}),onPointerUp:(0,m.composeEventHandlers)(e.onPointerUp,s.onThumbPointerUp)})});z.displayName=H;var O="ScrollAreaCorner",W=r.forwardRef((e,r)=>{let o=x(O,e.__scopeScrollArea),n=!!(o.scrollbarX&&o.scrollbarY);return"scroll"!==o.type&&n?(0,t.jsx)(F,{...e,ref:r}):null});W.displayName=O;var F=r.forwardRef((e,o)=>{let{__scopeScrollArea:n,...i}=e,a=x(O,n),[l,s]=r.useState(0),[u,d]=r.useState(0),p=!!(l&&u);return K(a.scrollbarX,()=>{let e=a.scrollbarX?.offsetHeight||0;a.onCornerHeightChange(e),d(e)}),K(a.scrollbarY,()=>{let e=a.scrollbarY?.offsetWidth||0;a.onCornerWidthChange(e),s(e)}),p?(0,t.jsx)(c.Primitive.div,{...i,ref:o,style:{width:l,height:u,position:"absolute",right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:0,...e.style}}):null});function U(e){return e?parseInt(e,10):0}function B(e,t){let r=e/t;return isNaN(r)?0:r}function X(e){let t=B(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function Y(e,t,r="ltr"){let o=X(t),n=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,i=t.scrollbar.size-n,a=t.content-t.viewport,l=function(e,[t,r]){return Math.min(r,Math.max(t,e))}(e,"ltr"===r?[0,a]:[-1*a,0]);return V([0,a],[0,i-o])(l)}function V(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let o=(t[1]-t[0])/(e[1]-e[0]);return t[0]+o*(r-e[0])}}var q=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},o=0;return!function n(){let i={left:e.scrollLeft,top:e.scrollTop},a=r.left!==i.left,l=r.top!==i.top;(a||l)&&t(),r=i,o=window.requestAnimationFrame(n)}(),()=>window.cancelAnimationFrame(o)};function $(e,t){let o=(0,f.useCallbackRef)(e),n=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(n.current),[]),r.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(o,t)},[o,t])}function K(e,t){let r=(0,f.useCallbackRef)(t);(0,v.useLayoutEffect)(()=>{let t=0;if(e){let o=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return o.observe(e),()=>{window.cancelAnimationFrame(t),o.unobserve(e)}}},[e,r])}e.s(["Corner",()=>W,"Root",()=>y,"ScrollArea",()=>y,"ScrollAreaCorner",()=>W,"ScrollAreaScrollbar",()=>T,"ScrollAreaThumb",()=>z,"ScrollAreaViewport",()=>C,"Scrollbar",()=>T,"Thumb",()=>z,"Viewport",()=>C,"createScrollAreaScope",()=>g],87516);var G=e.i(87516),G=G,J=e.i(31777);function Q({className:e,children:r,...o}){return(0,t.jsxs)(G.Root,{"data-slot":"scroll-area",className:(0,J.cn)("relative",e),...o,children:[(0,t.jsx)(G.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:r}),(0,t.jsx)(Z,{}),(0,t.jsx)(G.Corner,{})]})}function Z({className:e,orientation:r="vertical",...o}){return(0,t.jsx)(G.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:r,className:(0,J.cn)("flex touch-none p-px transition-colors select-none","vertical"===r&&"h-full w-2.5 border-l border-l-transparent","horizontal"===r&&"h-2.5 flex-col border-t border-t-transparent",e),...o,children:(0,t.jsx)(G.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}e.i(90491);var ee=e.i(90798);e.i(85462);var et=e.i(26506);e.i(92233);var er=e.i(10025);e.i(8356);var eo=e.i(71045);e.i(78788);var en=e.i(91495);e.i(72028);var ei=e.i(41506),ea=e.i(40327);function el({features:e,onNewFeature:i,onFeatureClick:c,onFeaturesFolderClick:u,onFeaturesMenuClick:d}){let p=(0,n.usePathname)(),{state:f}=(0,o.useSidebar)(),{mounted:h,visible:v}=function(e,t){let[o,n]=(0,r.useState)(!e),[i,a]=(0,r.useState)(!e);return(0,r.useEffect)(()=>{if(!e){n(!0);let e=requestAnimationFrame(()=>a(!0));return()=>cancelAnimationFrame(e)}a(!1);let t=window.setTimeout(()=>n(!1),200);return()=>window.clearTimeout(t)},[e,200]),{mounted:o,visible:i}}("collapsed"===f,0),m=ea.featureStatusOrder.map(t=>{let{label:r}=ea.featureStatusConfig[t],o=e.filter(e=>e.status===t);return{key:t,label:r,items:o}});return(0,t.jsxs)(o.Sidebar,{"data-testid":"app-sidebar",collapsible:"icon",children:[(0,t.jsx)(o.SidebarHeader,{children:(0,t.jsxs)(o.SidebarMenu,{children:[(0,t.jsx)(o.SidebarMenuItem,{children:(0,t.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[h?(0,t.jsxs)("div",{className:["flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2 transition-opacity duration-200 ease-out",v?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!v,children:[(0,t.jsx)(er.ShepLogo,{className:"shrink-0",size:20}),(0,t.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"})]}):null,(0,t.jsx)(et.SidebarCollapseToggle,{className:"shrink-0 transition-all duration-200"})]})}),(0,t.jsx)(ee.SidebarNavItem,{icon:a,label:"Control Center",href:"/",active:"/"===p}),(0,t.jsx)(ee.SidebarNavItem,{icon:l,label:"Memory",href:"/memory",active:"/memory"===p})]})}),(0,t.jsx)(o.SidebarContent,{children:h?(0,t.jsxs)("div",{className:["min-w-0 overflow-hidden transition-opacity duration-200 ease-out [&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none",v?"opacity-100":"opacity-0"].join(" "),children:[(0,t.jsx)(ei.SidebarSectionHeader,{label:"Features",onFolderClick:u,onMenuClick:d}),(0,t.jsx)(Q,{children:m.map(({key:e,label:r,items:o})=>o.length>0?(0,t.jsx)(en.FeatureStatusGroup,{label:r,count:o.length,children:o.map(e=>(0,t.jsx)(eo.FeatureListItem,{name:e.name,status:e.status,startedAt:e.startedAt,duration:e.duration,onClick:c?()=>c(e.name):void 0},e.name))},e):null)})]}):null}),(0,t.jsx)(o.SidebarFooter,{children:(0,t.jsx)(o.SidebarMenu,{children:(0,t.jsx)(o.SidebarMenuItem,{children:(0,t.jsxs)(o.SidebarMenuButton,{onClick:i,tooltip:"New feature",children:[(0,t.jsx)(s.Plus,{}),(0,t.jsx)("span",{children:"New feature"})]})})})}),(0,t.jsx)(o.SidebarRail,{})]})}e.i(53777);var es=e.i(25732);let ec=(0,i.default)("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),eu=(0,i.default)("volume-off",[["path",{d:"M16 9a5 5 0 0 1 .95 2.293",key:"1fgyg8"}],["path",{d:"M19.364 5.636a9 9 0 0 1 1.889 9.96",key:"l3zxae"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11",key:"1gbwow"}],["path",{d:"M9.828 4.172A.686.686 0 0 1 11 4.657v.686",key:"s2je0y"}]]);var ed=e.i(35364),ep=e.i(73709);function ef(){let{enabled:e,toggle:r}=(0,ep.useSoundEnabled)();return(0,t.jsxs)(ed.Button,{variant:"ghost",size:"icon",onClick:r,"aria-label":e?"Mute sounds":"Unmute sounds",children:[e?(0,t.jsx)(ec,{className:"h-5 w-5"}):(0,t.jsx)(eu,{className:"h-5 w-5"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle sound"})]})}var eh=e.i(39443),ev=e.i(60112),em=e.i(17406),eb=e.i(17607);let ew={[em.NotificationSeverity.Success]:"success",[em.NotificationSeverity.Error]:"error",[em.NotificationSeverity.Warning]:"warning",[em.NotificationSeverity.Info]:"info"},eg={[em.NotificationSeverity.Success]:"celebration",[em.NotificationSeverity.Error]:"caution",[em.NotificationSeverity.Warning]:"notification",[em.NotificationSeverity.Info]:"button"};function eS({children:e}){!function(){let{events:e}=(0,eh.useAgentEventsContext)(),t=(0,eb.useSound)("celebration",{volume:.5}),o=(0,eb.useSound)("caution",{volume:.5}),n=(0,eb.useSound)("notification",{volume:.5}),i=(0,eb.useSound)("button",{volume:.5}),a=(0,r.useMemo)(()=>({celebration:t,caution:o,notification:n,button:i}),[t,o,n,i]),[l,s]=(0,r.useState)(()=>void 0===globalThis.Notification?"default":globalThis.Notification.permission),c=(0,r.useRef)(0);(0,r.useEffect)(()=>{if(e.length<=c.current)return;let t=e.slice(c.current);for(let r of(c.current=e.length,t)){if(r.severity!==em.NotificationSeverity.Error&&r.severity!==em.NotificationSeverity.Warning&&r.severity!==em.NotificationSeverity.Success)continue;!function(e){let t=ew[e.severity]??"info",r=e.eventType===em.NotificationEventType.WaitingApproval;ev.toast[t](e.featureName,{description:e.message,...r&&{action:{label:"Review",onClick:()=>{window.dispatchEvent(new CustomEvent("shep:select-feature",{detail:{featureId:e.featureId}}))}}}})}(r),globalThis.Notification?.permission==="granted"&&new Notification(`Shep: ${r.featureName}`,{body:r.message,icon:"/favicon-light.svg"});let e=eg[r.severity];a[e]?.play()}},[e,a]),(0,r.useCallback)(async()=>{void 0===globalThis.Notification||s(await globalThis.Notification.requestPermission())},[])}();let n=(0,r.useCallback)(()=>{window.dispatchEvent(new CustomEvent("shep:open-create-drawer"))},[]);return(0,t.jsxs)(o.SidebarProvider,{children:[(0,t.jsx)(el,{features:[],onNewFeature:n}),(0,t.jsx)(o.SidebarInset,{children:(0,t.jsxs)("div",{className:"relative h-full",children:[(0,t.jsxs)("div",{className:"absolute top-3 right-3 z-50 flex gap-1",children:[(0,t.jsx)(ef,{}),(0,t.jsx)(es.ThemeToggle,{})]}),(0,t.jsx)("main",{className:"h-full",children:e})]})})]})}function ex({children:e}){return(0,t.jsx)(eh.AgentEventsProvider,{children:(0,t.jsx)(eS,{children:e})})}e.s(["AppShell",()=>ex],87292)},25251,e=>{"use strict";var t=e.i(20314),r=e.i(60112);let o=({...e})=>(0,t.jsx)(r.Toaster,{className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e});e.s(["Toaster",()=>o])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,48094,(e,t,r)=>{var n={229:function(e){var t,r,n,o=e.exports={};function u(){throw Error("setTimeout has not been defined")}function i(){throw Error("clearTimeout has not been defined")}try{t="function"==typeof setTimeout?setTimeout:u}catch(e){t=u}try{r="function"==typeof clearTimeout?clearTimeout:i}catch(e){r=i}function l(e){if(t===setTimeout)return setTimeout(e,0);if((t===u||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}var a=[],s=!1,c=-1;function d(){s&&n&&(s=!1,n.length?a=n.concat(a):c=-1,a.length&&f())}function f(){if(!s){var e=l(d);s=!0;for(var t=a.length;t;){for(n=a,a=[];++c<t;)n&&n[c].run();c=-1,t=a.length}n=null,s=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===i||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function y(){}o.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];a.push(new p(e,t)),1!==a.length||s||l(f)},p.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=y,o.addListener=y,o.once=y,o.off=y,o.removeListener=y,o.removeAllListeners=y,o.emit=y,o.prependListener=y,o.prependOnceListener=y,o.listeners=function(e){return[]},o.binding=function(e){throw Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw Error("process.chdir is not supported")},o.umask=function(){return 0}}},o={};function u(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={exports:{}},i=!0;try{n[e](r,r.exports,u),i=!1}finally{i&&delete o[e]}return r.exports}u.ab="/ROOT/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/process/",t.exports=u(229)},44172,(e,t,r)=>{"use strict";var n,o;t.exports=(null==(n=e.g.process)?void 0:n.env)&&"object"==typeof(null==(o=e.g.process)?void 0:o.env)?e.g.process:e.r(48094)},94455,(e,t,r)=>{"use strict";var n=Symbol.for("react.transitional.element");function o(e,t,r){var o=null;if(void 0!==r&&(o=""+r),void 0!==t.key&&(o=""+t.key),"key"in t)for(var u in r={},t)"key"!==u&&(r[u]=t[u]);else r=t;return{$$typeof:n,type:e,key:o,ref:void 0!==(t=r.ref)?t:null,props:r}}r.Fragment=Symbol.for("react.fragment"),r.jsx=o,r.jsxs=o},20314,(e,t,r)=>{"use strict";t.exports=e.r(94455)},65064,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={bindSnapshot:function(){return s},createAsyncLocalStorage:function(){return a},createSnapshot:function(){return c}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class i{disable(){throw u}getStore(){}run(){throw u}exit(){throw u}enterWith(){throw u}static bind(e){return e}}let l="u">typeof globalThis&&globalThis.AsyncLocalStorage;function a(){return l?new l:new i}function s(e){return l?l.bind(e):i.bind(e)}function c(){return l?l.snapshot():function(e,...t){return e(...t)}}},22874,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(65064).createAsyncLocalStorage)()},58988,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=e.r(22874)},86762,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HandleISRError",{enumerable:!0,get:function(){return o}});let n="u"<typeof window?e.r(58988).workAsyncStorage:void 0;function o({error:e}){if(n){let t=n.getStore();if(t?.isStaticGeneration)throw e&&console.error(e),e}return null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},9338,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useUntrackedPathname",{enumerable:!0,get:function(){return u}});let n=e.r(79054),o=e.r(14869);function u(){return!function(){if("u"<typeof window){let{workUnitAsyncStorage:t}=e.r(3163),r=t.getStore();if(!r)return!1;switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":let n=r.fallbackRouteParams;return!!n&&n.size>0}}return!1}()?(0,n.useContext)(o.PathnameContext):null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},62949,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={handleHardNavError:function(){return i},useNavFailureHandler:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});e.r(79054);let u=e.r(32801);function i(e){return!!(e&&"u">typeof window)&&!!window.next.__pendingUrl&&(0,u.createHrefFromUrl)(new URL(window.location.href))!==(0,u.createHrefFromUrl)(window.next.__pendingUrl)&&(console.error("Error occurred during navigation, falling back to hard navigation",e),window.location.href=window.next.__pendingUrl.toString(),!0)}function l(){}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},57351,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ErrorBoundary:function(){return y},ErrorBoundaryHandler:function(){return p}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(81258),i=e.r(20314),l=u._(e.r(79054)),a=e.r(9338),s=e.r(86092);e.r(62949);let c=e.r(86762),d=e.r(41608),f="u">typeof window&&(0,d.isBot)(window.navigator.userAgent);class p extends l.default.Component{constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}static getDerivedStateFromError(e){if((0,s.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){let{error:r}=t;return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error&&!f?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(c.HandleISRError,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,i.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}}function y({errorComponent:e,errorStyles:t,errorScripts:r,children:n}){let o=(0,a.useUntrackedPathname)();return e?(0,i.jsx)(p,{pathname:o,errorComponent:e,errorStyles:t,errorScripts:r,children:n}):(0,i.jsx)(i.Fragment,{children:n})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},10706,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={RedirectBoundary:function(){return p},RedirectErrorBoundary:function(){return f}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(44066),i=e.r(20314),l=u._(e.r(79054)),a=e.r(67013),s=e.r(25133),c=e.r(54809);function d({redirect:e,reset:t,redirectType:r}){let n=(0,a.useRouter)();return(0,l.useEffect)(()=>{l.default.startTransition(()=>{r===c.RedirectType.push?n.push(e,{}):n.replace(e,{}),t()})},[e,r,t,n]),null}class f extends l.default.Component{constructor(e){super(e),this.state={redirect:null,redirectType:null}}static getDerivedStateFromError(e){if((0,c.isRedirectError)(e)){let t=(0,s.getURLFromRedirectError)(e),r=(0,s.getRedirectTypeFromError)(e);return"handled"in e?{redirect:null,redirectType:null}:{redirect:t,redirectType:r}}throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,i.jsx)(d,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}}function p({children:e}){let t=(0,a.useRouter)();return(0,i.jsx)(f,{router:t,children:e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},99271,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unresolvedThenable",{enumerable:!0,get:function(){return n}});let n={then:()=>{}};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},66658,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={MetadataBoundary:function(){return l},OutletBoundary:function(){return s},RootLayoutBoundary:function(){return c},ViewportBoundary:function(){return a}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(42771),i={[u.METADATA_BOUNDARY_NAME]:function({children:e}){return e},[u.VIEWPORT_BOUNDARY_NAME]:function({children:e}){return e},[u.OUTLET_BOUNDARY_NAME]:function({children:e}){return e},[u.ROOT_LAYOUT_BOUNDARY_NAME]:function({children:e}){return e}},l=i[u.METADATA_BOUNDARY_NAME.slice(0)],a=i[u.VIEWPORT_BOUNDARY_NAME.slice(0)],s=i[u.OUTLET_BOUNDARY_NAME.slice(0)],c=i[u.ROOT_LAYOUT_BOUNDARY_NAME.slice(0)]},42726,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return l}});let n=e.r(20314),o=e.r(86762),u={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},i={fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"},l=function({error:e}){let t=e?.digest;return(0,n.jsxs)("html",{id:"__next_error__",children:[(0,n.jsx)("head",{}),(0,n.jsxs)("body",{children:[(0,n.jsx)(o.HandleISRError,{error:e}),(0,n.jsx)("div",{style:u,children:(0,n.jsxs)("div",{children:[(0,n.jsxs)("h2",{style:i,children:["Application error: a ",t?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",t?"server logs":"browser console"," for more information)."]}),t?(0,n.jsx)("p",{style:i,children:`Digest: ${t}`}):null]})})]})]})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},84210,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=e.r(81258)._(e.r(79054)).default.createContext({})}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81846,87342,51080,e=>{"use strict";var t=e.i(20314),r=e.i(94237),s=e.i(31777);let i=(0,r.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 n({className:e,variant:r,...n}){return(0,t.jsx)("div",{className:(0,s.cn)(i({variant:r}),e),...n})}e.s(["Badge",()=>n],81846);var o=e.i(79054),l=e.i(91967),u=e.i(22528),a=e.i(5978),f=e.i(86874);function c(e){let r=e+"CollectionProvider",[s,i]=(0,u.createContextScope)(r),[n,l]=s(r,{collectionRef:{current:null},itemMap:new Map}),c=e=>{let{scope:r,children:s}=e,i=o.default.useRef(null),l=o.default.useRef(new Map).current;return(0,t.jsx)(n,{scope:r,itemMap:l,collectionRef:i,children:s})};c.displayName=r;let d=e+"CollectionSlot",h=(0,f.createSlot)(d),p=o.default.forwardRef((e,r)=>{let{scope:s,children:i}=e,n=l(d,s),o=(0,a.useComposedRefs)(r,n.collectionRef);return(0,t.jsx)(h,{ref:o,children:i})});p.displayName=d;let y=e+"CollectionItemSlot",v="data-radix-collection-item",m=(0,f.createSlot)(y),g=o.default.forwardRef((e,r)=>{let{scope:s,children:i,...n}=e,u=o.default.useRef(null),f=(0,a.useComposedRefs)(r,u),c=l(y,s);return o.default.useEffect(()=>(c.itemMap.set(u,{ref:u,...n}),()=>void c.itemMap.delete(u))),(0,t.jsx)(m,{...{[v]:""},ref:f,children:i})});return g.displayName=y,[{Provider:c,Slot:p,ItemSlot:g},function(t){let r=l(e+"CollectionConsumer",t);return o.default.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${v}]`));return Array.from(r.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[r.collectionRef,r.itemMap])},i]}var d=new WeakMap;function h(e,t){var r,s;let i,n,o;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let l=(r=e,s=t,i=r.length,(o=(n=p(s))>=0?n:i+n)<0||o>=i?-1:o);return -1===l?void 0:e[l]}function p(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],d.set(this,!0)}set(e,t){return d.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let s,i=this.has(t),n=this.#e.length,o=p(e),l=o>=0?o:n+o,u=l<0||l>=n?-1:l;if(u===this.size||i&&u===this.size-1||-1===u)return this.set(t,r),this;let a=this.size+ +!i;o<0&&l++;let f=[...this.#e],c=!1;for(let e=l;e<a;e++)if(l===e){let n=f[e];f[e]===t&&(n=f[e+1]),i&&this.delete(t),s=this.get(n),this.set(t,r)}else{c||f[e-1]!==t||(c=!0);let r=f[c?e:e-1],i=s;s=this.get(r),this.delete(r),this.set(r,i)}return this}with(t,r,s){let i=new e(this);return i.insert(t,r,s),i}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s,t,r)}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,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s+1,t,r)}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=h(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=h(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return h(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.at(s)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.keyAt(s)}find(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return s;r++}}findIndex(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return r;r++}return -1}filter(t,r){let s=[],i=0;for(let e of this)Reflect.apply(t,r,[e,i,this])&&s.push(e),i++;return new e(s)}map(t,r){let s=[],i=0;for(let e of this)s.push([e[0],Reflect.apply(t,r,[e,i,this])]),i++;return new e(s)}reduce(...e){let[t,r]=e,s=0,i=r??this.at(0);for(let r of this)i=0===s&&1===e.length?r:Reflect.apply(t,this,[i,r,s,this]),s++;return i}reduceRight(...e){let[t,r]=e,s=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let i=this.at(r);s=r===this.size-1&&1===e.length?i:Reflect.apply(t,this,[s,i,r,this])}return s}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),s=this.get(r);t.set(r,s)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let s=new e,i=this.size-1;if(void 0===t)return s;t<0&&(t+=this.size),void 0!==r&&r>0&&(i=r-1);for(let e=t;e<=i;e++){let t=this.keyAt(e),r=this.get(t);s.set(t,r)}return s}every(e,t){let r=0;for(let s of this){if(!Reflect.apply(e,t,[s,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return!0;r++}return!1}}),e.s(["createCollection",()=>c],87342);var y=e.i(13123),v=e.i(87620),m=e.i(29297),g=e.i(36589),x=e.i(66033),R="rovingFocusGroup.onEntryFocus",w={bubbles:!1,cancelable:!0},b="RovingFocusGroup",[k,A,S]=c(b),[C,I]=(0,u.createContextScope)(b,[S]),[E,F]=C(b),O=o.forwardRef((e,r)=>(0,t.jsx)(k.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(k.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(T,{...e,ref:r})})}));O.displayName=b;var T=o.forwardRef((e,r)=>{let{__scopeRovingFocusGroup:s,orientation:i,loop:n=!1,dir:u,currentTabStopId:f,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:d,onEntryFocus:h,preventScrollOnEntryFocus:p=!1,...y}=e,k=o.useRef(null),S=(0,a.useComposedRefs)(r,k),C=(0,x.useDirection)(u),[I,F]=(0,g.useControllableState)({prop:f,defaultProp:c??null,onChange:d,caller:b}),[O,T]=o.useState(!1),z=(0,m.useCallbackRef)(h),M=A(s),j=o.useRef(!1),[P,K]=o.useState(0);return o.useEffect(()=>{let e=k.current;if(e)return e.addEventListener(R,z),()=>e.removeEventListener(R,z)},[z]),(0,t.jsx)(E,{scope:s,orientation:i,dir:C,loop:n,currentTabStopId:I,onItemFocus:o.useCallback(e=>F(e),[F]),onItemShiftTab:o.useCallback(()=>T(!0),[]),onFocusableItemAdd:o.useCallback(()=>K(e=>e+1),[]),onFocusableItemRemove:o.useCallback(()=>K(e=>e-1),[]),children:(0,t.jsx)(v.Primitive.div,{tabIndex:O||0===P?-1:0,"data-orientation":i,...y,ref:S,style:{outline:"none",...e.style},onMouseDown:(0,l.composeEventHandlers)(e.onMouseDown,()=>{j.current=!0}),onFocus:(0,l.composeEventHandlers)(e.onFocus,e=>{let t=!j.current;if(e.target===e.currentTarget&&t&&!O){let t=new CustomEvent(R,w);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=M().filter(e=>e.focusable);D([e.find(e=>e.active),e.find(e=>e.id===I),...e].filter(Boolean).map(e=>e.ref.current),p)}}j.current=!1}),onBlur:(0,l.composeEventHandlers)(e.onBlur,()=>T(!1))})})}),z="RovingFocusGroupItem",M=o.forwardRef((e,r)=>{let{__scopeRovingFocusGroup:s,focusable:i=!0,active:n=!1,tabStopId:u,children:a,...f}=e,c=(0,y.useId)(),d=u||c,h=F(z,s),p=h.currentTabStopId===d,m=A(s),{onFocusableItemAdd:g,onFocusableItemRemove:x,currentTabStopId:R}=h;return o.useEffect(()=>{if(i)return g(),()=>x()},[i,g,x]),(0,t.jsx)(k.ItemSlot,{scope:s,id:d,focusable:i,active:n,children:(0,t.jsx)(v.Primitive.span,{tabIndex:p?0:-1,"data-orientation":h.orientation,...f,ref:r,onMouseDown:(0,l.composeEventHandlers)(e.onMouseDown,e=>{i?h.onItemFocus(d):e.preventDefault()}),onFocus:(0,l.composeEventHandlers)(e.onFocus,()=>h.onItemFocus(d)),onKeyDown:(0,l.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void h.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var s;let i=(s=e.key,"rtl"!==r?s:"ArrowLeft"===s?"ArrowRight":"ArrowRight"===s?"ArrowLeft":s);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(i))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(i)))return j[i]}(e,h.orientation,h.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let i=m().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)i.reverse();else if("prev"===t||"next"===t){var r,s;"prev"===t&&i.reverse();let n=i.indexOf(e.currentTarget);i=h.loop?(r=i,s=n+1,r.map((e,t)=>r[(s+t)%r.length])):i.slice(n+1)}setTimeout(()=>D(i))}}),children:"function"==typeof a?a({isCurrentTabStop:p,hasTabStop:null!=R}):a})})});M.displayName=z;var j={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function D(e,t=!1){let r=document.activeElement;for(let s of e)if(s===r||(s.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",()=>M,"Root",()=>O,"createRovingFocusGroupScope",()=>I],51080)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81846,87342,51080,e=>{"use strict";var t=e.i(20314),r=e.i(94237),s=e.i(31777);let i=(0,r.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 n({className:e,variant:r,...n}){return(0,t.jsx)("div",{className:(0,s.cn)(i({variant:r}),e),...n})}e.s(["Badge",()=>n],81846);var a=e.i(79054),l=e.i(91967),o=e.i(22528),c=e.i(5978),d=e.i(86874);function u(e){let r=e+"CollectionProvider",[s,i]=(0,o.createContextScope)(r),[n,l]=s(r,{collectionRef:{current:null},itemMap:new Map}),u=e=>{let{scope:r,children:s}=e,i=a.default.useRef(null),l=a.default.useRef(new Map).current;return(0,t.jsx)(n,{scope:r,itemMap:l,collectionRef:i,children:s})};u.displayName=r;let f=e+"CollectionSlot",h=(0,d.createSlot)(f),p=a.default.forwardRef((e,r)=>{let{scope:s,children:i}=e,n=l(f,s),a=(0,c.useComposedRefs)(r,n.collectionRef);return(0,t.jsx)(h,{ref:a,children:i})});p.displayName=f;let m=e+"CollectionItemSlot",v="data-radix-collection-item",x=(0,d.createSlot)(m),g=a.default.forwardRef((e,r)=>{let{scope:s,children:i,...n}=e,o=a.default.useRef(null),d=(0,c.useComposedRefs)(r,o),u=l(m,s);return a.default.useEffect(()=>(u.itemMap.set(o,{ref:o,...n}),()=>void u.itemMap.delete(o))),(0,t.jsx)(x,{...{[v]:""},ref:d,children:i})});return g.displayName=m,[{Provider:u,Slot:p,ItemSlot:g},function(t){let r=l(e+"CollectionConsumer",t);return a.default.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${v}]`));return Array.from(r.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[r.collectionRef,r.itemMap])},i]}var f=new WeakMap;function h(e,t){var r,s;let i,n,a;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let l=(r=e,s=t,i=r.length,(a=(n=p(s))>=0?n:i+n)<0||a>=i?-1:a);return -1===l?void 0:e[l]}function p(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],f.set(this,!0)}set(e,t){return f.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let s,i=this.has(t),n=this.#e.length,a=p(e),l=a>=0?a:n+a,o=l<0||l>=n?-1:l;if(o===this.size||i&&o===this.size-1||-1===o)return this.set(t,r),this;let c=this.size+ +!i;a<0&&l++;let d=[...this.#e],u=!1;for(let e=l;e<c;e++)if(l===e){let n=d[e];d[e]===t&&(n=d[e+1]),i&&this.delete(t),s=this.get(n),this.set(t,r)}else{u||d[e-1]!==t||(u=!0);let r=d[u?e:e-1],i=s;s=this.get(r),this.delete(r),this.set(r,i)}return this}with(t,r,s){let i=new e(this);return i.insert(t,r,s),i}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s,t,r)}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,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s+1,t,r)}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=h(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=h(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return h(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.at(s)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.keyAt(s)}find(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return s;r++}}findIndex(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return r;r++}return -1}filter(t,r){let s=[],i=0;for(let e of this)Reflect.apply(t,r,[e,i,this])&&s.push(e),i++;return new e(s)}map(t,r){let s=[],i=0;for(let e of this)s.push([e[0],Reflect.apply(t,r,[e,i,this])]),i++;return new e(s)}reduce(...e){let[t,r]=e,s=0,i=r??this.at(0);for(let r of this)i=0===s&&1===e.length?r:Reflect.apply(t,this,[i,r,s,this]),s++;return i}reduceRight(...e){let[t,r]=e,s=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let i=this.at(r);s=r===this.size-1&&1===e.length?i:Reflect.apply(t,this,[s,i,r,this])}return s}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),s=this.get(r);t.set(r,s)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let s=new e,i=this.size-1;if(void 0===t)return s;t<0&&(t+=this.size),void 0!==r&&r>0&&(i=r-1);for(let e=t;e<=i;e++){let t=this.keyAt(e),r=this.get(t);s.set(t,r)}return s}every(e,t){let r=0;for(let s of this){if(!Reflect.apply(e,t,[s,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return!0;r++}return!1}}),e.s(["createCollection",()=>u],87342);var m=e.i(13123),v=e.i(87620),x=e.i(29297),g=e.i(36589),y=e.i(66033),b="rovingFocusGroup.onEntryFocus",j={bubbles:!1,cancelable:!0},w="RovingFocusGroup",[R,N,C]=u(w),[k,A]=(0,o.createContextScope)(w,[C]),[I,S]=k(w),T=a.forwardRef((e,r)=>(0,t.jsx)(R.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(R.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(F,{...e,ref:r})})}));T.displayName=w;var F=a.forwardRef((e,r)=>{let{__scopeRovingFocusGroup:s,orientation:i,loop:n=!1,dir:o,currentTabStopId:d,defaultCurrentTabStopId:u,onCurrentTabStopIdChange:f,onEntryFocus:h,preventScrollOnEntryFocus:p=!1,...m}=e,R=a.useRef(null),C=(0,c.useComposedRefs)(r,R),k=(0,y.useDirection)(o),[A,S]=(0,g.useControllableState)({prop:d,defaultProp:u??null,onChange:f,caller:w}),[T,F]=a.useState(!1),D=(0,x.useCallbackRef)(h),E=N(s),P=a.useRef(!1),[B,O]=a.useState(0);return a.useEffect(()=>{let e=R.current;if(e)return e.addEventListener(b,D),()=>e.removeEventListener(b,D)},[D]),(0,t.jsx)(I,{scope:s,orientation:i,dir:k,loop:n,currentTabStopId:A,onItemFocus:a.useCallback(e=>S(e),[S]),onItemShiftTab:a.useCallback(()=>F(!0),[]),onFocusableItemAdd:a.useCallback(()=>O(e=>e+1),[]),onFocusableItemRemove:a.useCallback(()=>O(e=>e-1),[]),children:(0,t.jsx)(v.Primitive.div,{tabIndex:T||0===B?-1:0,"data-orientation":i,...m,ref:C,style:{outline:"none",...e.style},onMouseDown:(0,l.composeEventHandlers)(e.onMouseDown,()=>{P.current=!0}),onFocus:(0,l.composeEventHandlers)(e.onFocus,e=>{let t=!P.current;if(e.target===e.currentTarget&&t&&!T){let t=new CustomEvent(b,j);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=E().filter(e=>e.focusable);M([e.find(e=>e.active),e.find(e=>e.id===A),...e].filter(Boolean).map(e=>e.ref.current),p)}}P.current=!1}),onBlur:(0,l.composeEventHandlers)(e.onBlur,()=>F(!1))})})}),D="RovingFocusGroupItem",E=a.forwardRef((e,r)=>{let{__scopeRovingFocusGroup:s,focusable:i=!0,active:n=!1,tabStopId:o,children:c,...d}=e,u=(0,m.useId)(),f=o||u,h=S(D,s),p=h.currentTabStopId===f,x=N(s),{onFocusableItemAdd:g,onFocusableItemRemove:y,currentTabStopId:b}=h;return a.useEffect(()=>{if(i)return g(),()=>y()},[i,g,y]),(0,t.jsx)(R.ItemSlot,{scope:s,id:f,focusable:i,active:n,children:(0,t.jsx)(v.Primitive.span,{tabIndex:p?0:-1,"data-orientation":h.orientation,...d,ref:r,onMouseDown:(0,l.composeEventHandlers)(e.onMouseDown,e=>{i?h.onItemFocus(f):e.preventDefault()}),onFocus:(0,l.composeEventHandlers)(e.onFocus,()=>h.onItemFocus(f)),onKeyDown:(0,l.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void h.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var s;let i=(s=e.key,"rtl"!==r?s:"ArrowLeft"===s?"ArrowRight":"ArrowRight"===s?"ArrowLeft":s);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(i))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(i)))return P[i]}(e,h.orientation,h.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let i=x().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)i.reverse();else if("prev"===t||"next"===t){var r,s;"prev"===t&&i.reverse();let n=i.indexOf(e.currentTarget);i=h.loop?(r=i,s=n+1,r.map((e,t)=>r[(s+t)%r.length])):i.slice(n+1)}setTimeout(()=>M(i))}}),children:"function"==typeof c?c({isCurrentTabStop:p,hasTabStop:null!=b}):c})})});E.displayName=D;var P={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function M(e,t=!1){let r=document.activeElement;for(let s of e)if(s===r||(s.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",()=>E,"Root",()=>T,"createRovingFocusGroupScope",()=>A],51080)},75752,e=>{"use strict";var t=e.i(20314),r=e.i(24035),s=e.i(79054),i=e.i(31777);let n=s.forwardRef(({className:e,...r},s)=>(0,t.jsx)("div",{ref:s,className:(0,i.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...r}));n.displayName="Card";let a=s.forwardRef(({className:e,...r},s)=>(0,t.jsx)("div",{ref:s,className:(0,i.cn)("flex flex-col space-y-1.5 p-6",e),...r}));a.displayName="CardHeader";let l=s.forwardRef(({className:e,...r},s)=>(0,t.jsx)("div",{ref:s,className:(0,i.cn)("leading-none font-semibold tracking-tight",e),...r}));l.displayName="CardTitle";let o=s.forwardRef(({className:e,...r},s)=>(0,t.jsx)("div",{ref:s,className:(0,i.cn)("text-muted-foreground text-sm",e),...r}));o.displayName="CardDescription";let c=s.forwardRef(({className:e,...r},s)=>(0,t.jsx)("div",{ref:s,className:(0,i.cn)("p-6 pt-0",e),...r}));c.displayName="CardContent",s.forwardRef(({className:e,...r},s)=>(0,t.jsx)("div",{ref:s,className:(0,i.cn)("flex items-center p-6 pt-0",e),...r})).displayName="CardFooter";var d=e.i(81846),u=e.i(35364),f=e.i(91967),h=e.i(22528),p=e.i(51080),m=e.i(85995),v=e.i(87620),x=e.i(66033),g=e.i(36589),y=e.i(13123),b="Tabs",[j,w]=(0,h.createContextScope)(b,[p.createRovingFocusGroupScope]),R=(0,p.createRovingFocusGroupScope)(),[N,C]=j(b),k=s.forwardRef((e,r)=>{let{__scopeTabs:s,value:i,onValueChange:n,defaultValue:a,orientation:l="horizontal",dir:o,activationMode:c="automatic",...d}=e,u=(0,x.useDirection)(o),[f,h]=(0,g.useControllableState)({prop:i,onChange:n,defaultProp:a??"",caller:b});return(0,t.jsx)(N,{scope:s,baseId:(0,y.useId)(),value:f,onValueChange:h,orientation:l,dir:u,activationMode:c,children:(0,t.jsx)(v.Primitive.div,{dir:u,"data-orientation":l,...d,ref:r})})});k.displayName=b;var A="TabsList",I=s.forwardRef((e,r)=>{let{__scopeTabs:s,loop:i=!0,...n}=e,a=C(A,s),l=R(s);return(0,t.jsx)(p.Root,{asChild:!0,...l,orientation:a.orientation,dir:a.dir,loop:i,children:(0,t.jsx)(v.Primitive.div,{role:"tablist","aria-orientation":a.orientation,...n,ref:r})})});I.displayName=A;var S="TabsTrigger",T=s.forwardRef((e,r)=>{let{__scopeTabs:s,value:i,disabled:n=!1,...a}=e,l=C(S,s),o=R(s),c=E(l.baseId,i),d=P(l.baseId,i),u=i===l.value;return(0,t.jsx)(p.Item,{asChild:!0,...o,focusable:!n,active:u,children:(0,t.jsx)(v.Primitive.button,{type:"button",role:"tab","aria-selected":u,"aria-controls":d,"data-state":u?"active":"inactive","data-disabled":n?"":void 0,disabled:n,id:c,...a,ref:r,onMouseDown:(0,f.composeEventHandlers)(e.onMouseDown,e=>{n||0!==e.button||!1!==e.ctrlKey?e.preventDefault():l.onValueChange(i)}),onKeyDown:(0,f.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&l.onValueChange(i)}),onFocus:(0,f.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==l.activationMode;u||n||!e||l.onValueChange(i)})})})});T.displayName=S;var F="TabsContent",D=s.forwardRef((e,r)=>{let{__scopeTabs:i,value:n,forceMount:a,children:l,...o}=e,c=C(F,i),d=E(c.baseId,n),u=P(c.baseId,n),f=n===c.value,h=s.useRef(f);return s.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(m.Presence,{present:a||f,children:({present:s})=>(0,t.jsx)(v.Primitive.div,{"data-state":f?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":d,hidden:!s,id:u,tabIndex:0,...o,ref:r,style:{...e.style,animationDuration:h.current?"0s":void 0},children:s&&l})})});function E(e,t){return`${e}-trigger-${t}`}function P(e,t){return`${e}-content-${t}`}D.displayName=F,e.s(["Content",()=>D,"List",()=>I,"Root",()=>k,"Tabs",()=>k,"TabsContent",()=>D,"TabsList",()=>I,"TabsTrigger",()=>T,"Trigger",()=>T,"createTabsScope",()=>w],43133);var M=e.i(43133),M=M;let B=M.Root,O=s.forwardRef(({className:e,...r},s)=>(0,t.jsx)(M.List,{ref:s,className:(0,i.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...r}));O.displayName=M.List.displayName;let z=s.forwardRef(({className:e,...r},s)=>(0,t.jsx)(M.Trigger,{ref:s,className:(0,i.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),...r}));z.displayName=M.Trigger.displayName;let L=s.forwardRef(({className:e,...r},s)=>(0,t.jsx)(M.Content,{ref:s,className:(0,i.cn)("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",e),...r}));function H({label:e,value:r,badge:s,badgeVariant:i="secondary"}){return(0,t.jsxs)("div",{className:"flex items-center justify-between py-2",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-sm",children:e}),s?(0,t.jsx)(d.Badge,{variant:i,children:r}):(0,t.jsx)("span",{className:"font-mono text-sm",children:r})]})}function K({versionInfo:e,systemInfo:s}){return(0,t.jsx)("div",{className:"flex flex-col items-center justify-center p-4",children:(0,t.jsxs)("div",{className:"w-full max-w-2xl space-y-6",children:[(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("h1",{className:"text-3xl font-bold tracking-tight",children:e.name}),(0,t.jsx)("p",{className:"text-muted-foreground mt-2",children:e.description}),(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsxs)(d.Badge,{variant:"default","data-testid":"version-badge",children:["v",e.version]})})]}),(0,t.jsxs)(B,{defaultValue:"overview",className:"w-full",children:[(0,t.jsxs)(O,{className:"grid w-full grid-cols-3",children:[(0,t.jsx)(z,{value:"overview",children:"Overview"}),(0,t.jsx)(z,{value:"system",children:"System"}),(0,t.jsx)(z,{value:"features",children:"Features"})]}),(0,t.jsx)(L,{value:"overview",children:(0,t.jsxs)(n,{children:[(0,t.jsxs)(a,{children:[(0,t.jsx)(l,{children:"Package Information"}),(0,t.jsx)(o,{children:"Details about the Shep AI CLI package"})]}),(0,t.jsxs)(c,{className:"space-y-1",children:[(0,t.jsx)(H,{label:"Package",value:e.name}),(0,t.jsx)(H,{label:"Version",value:`v${e.version}`,badge:!0,badgeVariant:"default"}),(0,t.jsx)(H,{label:"License",value:"MIT",badge:!0,badgeVariant:"outline"}),(0,t.jsx)(H,{label:"Author",value:"Shep AI"})]})]})}),(0,t.jsx)(L,{value:"system",children:(0,t.jsxs)(n,{children:[(0,t.jsxs)(a,{children:[(0,t.jsx)(l,{children:"System Information"}),(0,t.jsx)(o,{children:"Runtime environment details"})]}),(0,t.jsxs)(c,{className:"space-y-1",children:[(0,t.jsx)(H,{label:"Node.js",value:s.nodeVersion,badge:!0,badgeVariant:"secondary"}),(0,t.jsx)(H,{label:"Platform",value:`${s.platform} ${s.arch}`})]})]})}),(0,t.jsx)(L,{value:"features",children:(0,t.jsxs)(n,{children:[(0,t.jsxs)(a,{children:[(0,t.jsx)(l,{children:"Key Features"}),(0,t.jsx)(o,{children:"What Shep AI can do for you"})]}),(0,t.jsx)(c,{children:(0,t.jsxs)("ul",{className:"space-y-2 text-sm",children:[(0,t.jsxs)("li",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Badge,{variant:"outline",children:"AI"}),(0,t.jsx)("span",{children:"Autonomous code generation"})]}),(0,t.jsxs)("li",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Badge,{variant:"outline",children:"SDLC"}),(0,t.jsx)("span",{children:"Full development lifecycle automation"})]}),(0,t.jsxs)("li",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Badge,{variant:"outline",children:"CLI"}),(0,t.jsx)("span",{children:"Powerful command-line interface"})]}),(0,t.jsxs)("li",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Badge,{variant:"outline",children:"Web"}),(0,t.jsx)("span",{children:"Modern web UI dashboard"})]})]})})]})})]}),(0,t.jsxs)("div",{className:"flex justify-center gap-4",children:[(0,t.jsx)(u.Button,{asChild:!0,variant:"outline",children:(0,t.jsx)(r.default,{href:"/",children:"Back to Home"})}),(0,t.jsx)(u.Button,{asChild:!0,children:(0,t.jsx)("a",{href:"https://github.com/shep-ai/cli",target:"_blank",rel:"noopener noreferrer",children:"View on GitHub"})})]})]})})}L.displayName=M.Content.displayName,e.s(["default",()=>K],75752)}]);