@shepai/cli 1.77.2 → 1.78.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 (522) hide show
  1. package/apis/json-schema/AgentRun.yaml +3 -0
  2. package/apis/json-schema/ModelConfiguration.yaml +5 -20
  3. package/dist/packages/core/src/application/ports/output/agents/agent-executor-factory.interface.d.ts +8 -0
  4. package/dist/packages/core/src/application/ports/output/agents/agent-executor-factory.interface.d.ts.map +1 -1
  5. package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts +1 -0
  6. package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts.map +1 -1
  7. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts.map +1 -1
  8. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.js +1 -0
  9. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
  10. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +9 -2
  11. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts +4 -0
  12. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts.map +1 -1
  13. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.d.ts.map +1 -1
  14. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.js +2 -0
  15. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts +3 -3
  16. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  17. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +5 -8
  18. package/dist/packages/core/src/domain/generated/output.d.ts +7 -15
  19. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  20. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/agent-run.mapper.d.ts +1 -0
  21. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/agent-run.mapper.d.ts.map +1 -1
  22. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/agent-run.mapper.js +2 -0
  23. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +1 -0
  24. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  25. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +8 -10
  26. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.d.ts.map +1 -1
  27. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.js +22 -3
  28. package/dist/packages/core/src/infrastructure/repositories/agent-run.repository.js +2 -2
  29. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  30. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +3 -2
  31. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts +8 -0
  32. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts.map +1 -1
  33. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.js +37 -0
  34. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts.map +1 -1
  35. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.js +3 -2
  36. package/dist/packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.d.ts.map +1 -1
  37. package/dist/packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.js +3 -2
  38. package/dist/packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.d.ts.map +1 -1
  39. package/dist/packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.js +3 -2
  40. package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.d.ts +1 -0
  41. package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.d.ts.map +1 -1
  42. package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.js +3 -0
  43. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts +5 -0
  44. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts.map +1 -1
  45. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +17 -0
  46. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts.map +1 -1
  47. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts +1 -0
  48. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts.map +1 -1
  49. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.js +3 -0
  50. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts +1 -0
  51. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
  52. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +35 -8
  53. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/log-context.d.ts +25 -0
  54. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/log-context.d.ts.map +1 -0
  55. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/log-context.js +34 -0
  56. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts +1 -0
  57. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
  58. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +6 -2
  59. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts +1 -0
  60. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts.map +1 -1
  61. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.js +4 -0
  62. package/dist/packages/core/src/infrastructure/services/settings.service.d.ts +1 -1
  63. package/dist/packages/core/src/infrastructure/services/settings.service.js +1 -1
  64. package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
  65. package/dist/src/presentation/cli/commands/feat/new.command.js +2 -0
  66. package/dist/src/presentation/cli/commands/feat/show.command.d.ts.map +1 -1
  67. package/dist/src/presentation/cli/commands/feat/show.command.js +13 -0
  68. package/dist/src/presentation/cli/commands/settings/index.d.ts +1 -0
  69. package/dist/src/presentation/cli/commands/settings/index.d.ts.map +1 -1
  70. package/dist/src/presentation/cli/commands/settings/index.js +4 -1
  71. package/dist/src/presentation/cli/commands/settings/model.command.d.ts +17 -0
  72. package/dist/src/presentation/cli/commands/settings/model.command.d.ts.map +1 -0
  73. package/dist/src/presentation/cli/commands/settings/model.command.js +62 -0
  74. package/dist/src/presentation/cli/ui/tables.d.ts.map +1 -1
  75. package/dist/src/presentation/cli/ui/tables.js +6 -23
  76. package/dist/src/presentation/web/app/(dashboard)/@drawer/create/page.d.ts.map +1 -1
  77. package/dist/src/presentation/web/app/(dashboard)/@drawer/create/page.js +3 -1
  78. package/dist/src/presentation/web/app/actions/create-feature.d.ts +4 -0
  79. package/dist/src/presentation/web/app/actions/create-feature.d.ts.map +1 -1
  80. package/dist/src/presentation/web/app/actions/create-feature.js +5 -1
  81. package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts +12 -0
  82. package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts.map +1 -0
  83. package/dist/src/presentation/web/app/actions/get-all-agent-models.js +49 -0
  84. package/dist/src/presentation/web/app/actions/get-supported-models.d.ts +11 -0
  85. package/dist/src/presentation/web/app/actions/get-supported-models.d.ts.map +1 -0
  86. package/dist/src/presentation/web/app/actions/get-supported-models.js +24 -0
  87. package/dist/src/presentation/web/app/actions/update-agent-and-model.d.ts +5 -0
  88. package/dist/src/presentation/web/app/actions/update-agent-and-model.d.ts.map +1 -0
  89. package/dist/src/presentation/web/app/actions/update-agent-and-model.js +28 -0
  90. package/dist/src/presentation/web/app/actions/update-model.d.ts +15 -0
  91. package/dist/src/presentation/web/app/actions/update-model.d.ts.map +1 -0
  92. package/dist/src/presentation/web/app/actions/update-model.js +35 -0
  93. package/dist/src/presentation/web/app/build-feature-node-data.d.ts.map +1 -1
  94. package/dist/src/presentation/web/app/build-feature-node-data.js +1 -0
  95. package/dist/src/presentation/web/app/build-graph-nodes.js +1 -0
  96. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.d.ts +3 -1
  97. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.d.ts.map +1 -1
  98. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.js +2 -2
  99. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts +9 -1
  100. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  101. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +29 -4
  102. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts +5 -0
  103. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts.map +1 -1
  104. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +32 -3
  105. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.d.ts +3 -1
  106. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.d.ts.map +1 -1
  107. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.js +6 -2
  108. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.d.ts +1 -0
  109. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.d.ts.map +1 -1
  110. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.js +15 -0
  111. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts +2 -0
  112. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts.map +1 -1
  113. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.js +11 -2
  114. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +2 -0
  115. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  116. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  117. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +9 -6
  118. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
  119. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +19 -0
  120. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  121. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +2 -0
  122. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts +12 -0
  123. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts.map +1 -0
  124. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.js +59 -0
  125. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts +11 -0
  126. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts.map +1 -0
  127. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +103 -0
  128. package/dist/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.d.ts +24 -0
  129. package/dist/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.d.ts.map +1 -0
  130. package/dist/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.js +53 -0
  131. package/dist/src/presentation/web/components/features/settings/ModelPicker/index.d.ts +18 -0
  132. package/dist/src/presentation/web/components/features/settings/ModelPicker/index.d.ts.map +1 -0
  133. package/dist/src/presentation/web/components/features/settings/ModelPicker/index.js +84 -0
  134. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  135. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +7 -21
  136. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts +2 -0
  137. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  138. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +1 -1
  139. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
  140. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +28 -3
  141. package/dist/src/presentation/web/components/ui/checkbox-group-item.js +1 -1
  142. package/dist/src/presentation/web/components/ui/checkbox-group.js +1 -1
  143. package/dist/src/presentation/web/components/ui/command.d.ts +19 -0
  144. package/dist/src/presentation/web/components/ui/command.d.ts.map +1 -0
  145. package/dist/src/presentation/web/components/ui/command.js +26 -0
  146. package/dist/src/presentation/web/components/ui/switch.js +1 -1
  147. package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts +2 -0
  148. package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts.map +1 -1
  149. package/dist/src/presentation/web/lib/model-metadata.d.ts +6 -0
  150. package/dist/src/presentation/web/lib/model-metadata.d.ts.map +1 -0
  151. package/dist/src/presentation/web/lib/model-metadata.js +41 -0
  152. package/dist/tsconfig.build.tsbuildinfo +1 -1
  153. package/package.json +1 -1
  154. package/web/.next/BUILD_ID +1 -1
  155. package/web/.next/build-manifest.json +4 -4
  156. package/web/.next/cache/.previewinfo +1 -1
  157. package/web/.next/cache/.rscinfo +1 -1
  158. package/web/.next/cache/.tsbuildinfo +1 -1
  159. package/web/.next/cache/config.json +3 -3
  160. package/web/.next/fallback-build-manifest.json +2 -2
  161. package/web/.next/prerender-manifest.json +3 -3
  162. package/web/.next/required-server-files.js +1 -1
  163. package/web/.next/required-server-files.json +1 -1
  164. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +2 -2
  165. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +62 -32
  166. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  167. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  168. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  169. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +2 -2
  170. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +19 -19
  171. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  172. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  173. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +2 -2
  174. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  175. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  176. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  177. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +2 -2
  178. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +62 -32
  179. package/web/.next/server/app/(dashboard)/create/page.js +1 -1
  180. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  181. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  182. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +2 -2
  183. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +19 -19
  184. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  185. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  186. package/web/.next/server/app/(dashboard)/page/build-manifest.json +2 -2
  187. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +14 -14
  188. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  189. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  190. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +2 -2
  191. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  192. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  193. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  194. package/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
  195. package/web/.next/server/app/_global-error.html +2 -2
  196. package/web/.next/server/app/_global-error.rsc +1 -1
  197. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  198. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  199. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  200. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  201. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  202. package/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
  203. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  204. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  205. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  206. package/web/.next/server/app/settings/page/build-manifest.json +2 -2
  207. package/web/.next/server/app/settings/page/server-reference-manifest.json +36 -6
  208. package/web/.next/server/app/settings/page.js +2 -2
  209. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  210. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  211. package/web/.next/server/app/skills/page/build-manifest.json +2 -2
  212. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  213. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  214. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  215. package/web/.next/server/app/tools/page/build-manifest.json +2 -2
  216. package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  217. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  218. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  219. package/web/.next/server/app/version/page/build-manifest.json +2 -2
  220. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  221. package/web/.next/server/app/version/page.js.nft.json +1 -1
  222. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  223. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  224. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  225. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  226. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_c7cfe351._.js +3 -0
  227. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_c7cfe351._.js.map +1 -0
  228. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js +1 -1
  229. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js.map +1 -1
  230. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +1 -1
  231. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js.map +1 -1
  232. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +1 -1
  233. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js.map +1 -1
  234. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  235. package/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js +1 -1
  236. package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +4 -0
  237. package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js.map +1 -0
  238. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
  239. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
  240. package/web/.next/server/chunks/ssr/[root-of-the-server]__bff2deea._.js +3 -0
  241. package/web/.next/server/chunks/ssr/[root-of-the-server]__bff2deea._.js.map +1 -0
  242. package/web/.next/server/chunks/ssr/[root-of-the-server]__c3c963c6._.js +1 -1
  243. package/web/.next/server/chunks/ssr/[root-of-the-server]__c3c963c6._.js.map +1 -1
  244. package/web/.next/server/chunks/ssr/[root-of-the-server]__c9777776._.js +1 -1
  245. package/web/.next/server/chunks/ssr/[root-of-the-server]__c9777776._.js.map +1 -1
  246. package/web/.next/server/chunks/ssr/[root-of-the-server]__d076a90b._.js +3 -0
  247. package/web/.next/server/chunks/ssr/[root-of-the-server]__d076a90b._.js.map +1 -0
  248. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js +2 -2
  249. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js.map +1 -1
  250. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +1 -1
  251. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js.map +1 -1
  252. package/web/.next/server/chunks/ssr/_0bd0fafb._.js +9 -0
  253. package/web/.next/server/chunks/ssr/_0bd0fafb._.js.map +1 -0
  254. package/web/.next/server/chunks/ssr/_0e9d6bf7._.js +1 -1
  255. package/web/.next/server/chunks/ssr/_0e9d6bf7._.js.map +1 -1
  256. package/web/.next/server/chunks/ssr/_14fa79b2._.js +3 -0
  257. package/web/.next/server/chunks/ssr/_14fa79b2._.js.map +1 -0
  258. package/web/.next/server/chunks/ssr/_61351ed3._.js +1 -1
  259. package/web/.next/server/chunks/ssr/_61351ed3._.js.map +1 -1
  260. package/web/.next/server/chunks/ssr/_6e08ce21._.js.map +1 -1
  261. package/web/.next/server/chunks/ssr/_8400c8bb._.js +1 -1
  262. package/web/.next/server/chunks/ssr/_8400c8bb._.js.map +1 -1
  263. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/_6645f218._.js → server/chunks/ssr/_8dacd1e7._.js} +2 -2
  264. package/web/.next/server/chunks/ssr/{_6645f218._.js.map → _8dacd1e7._.js.map} +1 -1
  265. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/_8a93b402._.js → server/chunks/ssr/_91588d08._.js} +2 -2
  266. package/web/.next/server/chunks/ssr/{_8a93b402._.js.map → _91588d08._.js.map} +1 -1
  267. package/web/.next/server/chunks/ssr/_9ac70f88._.js +5 -0
  268. package/web/.next/server/chunks/ssr/_9ac70f88._.js.map +1 -0
  269. package/web/.next/server/chunks/ssr/_a37f5f18._.js +1 -1
  270. package/web/.next/server/chunks/ssr/_a37f5f18._.js.map +1 -1
  271. package/web/.next/server/chunks/ssr/{_88c4dab8._.js → _b5fc318a._.js} +2 -2
  272. package/web/.next/server/chunks/ssr/_b5fc318a._.js.map +1 -0
  273. package/web/.next/server/chunks/ssr/_cbffd0e9._.js +3 -0
  274. package/web/.next/server/chunks/ssr/_cbffd0e9._.js.map +1 -0
  275. package/web/.next/server/chunks/ssr/_d4b20e29._.js +1 -1
  276. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
  277. package/web/.next/server/chunks/ssr/_ed356507._.js +3 -0
  278. package/web/.next/server/chunks/ssr/{_5428b384._.js.map → _ed356507._.js.map} +1 -1
  279. package/web/.next/server/chunks/ssr/_ef9046a1._.js +3 -0
  280. package/web/.next/server/chunks/ssr/_ef9046a1._.js.map +1 -0
  281. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  282. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  283. package/web/.next/server/chunks/ssr/node_modules__pnpm_1fcecd3a._.js +3 -0
  284. package/web/.next/server/chunks/ssr/node_modules__pnpm_1fcecd3a._.js.map +1 -0
  285. package/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js +1 -1
  286. package/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js.map +1 -1
  287. package/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js +1 -1
  288. package/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js.map +1 -1
  289. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js +1 -1
  290. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js.map +1 -1
  291. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
  292. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
  293. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
  294. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
  295. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js +1 -1
  296. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js.map +1 -1
  297. package/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js +6 -0
  298. package/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js.map +1 -0
  299. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  300. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  301. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  302. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  303. package/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.js +6 -0
  304. package/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.js.map +1 -0
  305. package/web/.next/server/middleware-build-manifest.js +2 -2
  306. package/web/.next/server/pages/500.html +2 -2
  307. package/web/.next/server/server-reference-manifest.js +1 -1
  308. package/web/.next/server/server-reference-manifest.json +117 -59
  309. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  310. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +4 -4
  311. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  312. package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
  313. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +2 -2
  314. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +62 -32
  315. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  316. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  317. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  318. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +2 -2
  319. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +19 -19
  320. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  321. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  322. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +2 -2
  323. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  324. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  325. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  326. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/build-manifest.json +2 -2
  327. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +62 -32
  328. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js +1 -1
  329. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  330. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  331. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +2 -2
  332. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +19 -19
  333. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  334. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  335. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/build-manifest.json +2 -2
  336. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +14 -14
  337. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  338. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  339. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +2 -2
  340. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  341. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  342. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  343. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
  344. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  345. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  346. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  347. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  348. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  349. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  350. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  351. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
  352. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  353. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  354. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  355. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/build-manifest.json +2 -2
  356. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/server-reference-manifest.json +36 -6
  357. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page.js +2 -2
  358. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page.js.nft.json +1 -1
  359. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  360. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/build-manifest.json +2 -2
  361. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  362. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js.nft.json +1 -1
  363. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  364. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/build-manifest.json +2 -2
  365. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  366. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.nft.json +1 -1
  367. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  368. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/build-manifest.json +2 -2
  369. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  370. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
  371. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  372. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  373. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_c7cfe351._.js +3 -0
  374. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js +1 -1
  375. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +1 -1
  376. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +1 -1
  377. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  378. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js +1 -1
  379. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +4 -0
  380. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
  381. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__bff2deea._.js +3 -0
  382. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__c3c963c6._.js +1 -1
  383. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__c9777776._.js +1 -1
  384. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__d076a90b._.js +3 -0
  385. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js +2 -2
  386. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +1 -1
  387. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_0bd0fafb._.js +9 -0
  388. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_0e9d6bf7._.js +1 -1
  389. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_14fa79b2._.js +3 -0
  390. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_61351ed3._.js +1 -1
  391. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_8400c8bb._.js +1 -1
  392. package/web/.next/{server/chunks/ssr/_6645f218._.js → standalone/src/presentation/web/.next/server/chunks/ssr/_8dacd1e7._.js} +2 -2
  393. package/web/.next/{server/chunks/ssr/_8a93b402._.js → standalone/src/presentation/web/.next/server/chunks/ssr/_91588d08._.js} +2 -2
  394. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_9ac70f88._.js +5 -0
  395. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_a37f5f18._.js +1 -1
  396. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_88c4dab8._.js → _b5fc318a._.js} +2 -2
  397. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_cbffd0e9._.js +3 -0
  398. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_d4b20e29._.js +1 -1
  399. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_ed356507._.js +3 -0
  400. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_ef9046a1._.js +3 -0
  401. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  402. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_1fcecd3a._.js +3 -0
  403. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js +1 -1
  404. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js +1 -1
  405. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js +1 -1
  406. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
  407. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
  408. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js +1 -1
  409. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js +6 -0
  410. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  411. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  412. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.js +6 -0
  413. package/web/.next/standalone/src/presentation/web/.next/server/middleware-build-manifest.js +2 -2
  414. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  415. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  416. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +117 -59
  417. package/web/.next/standalone/src/presentation/web/app/(dashboard)/@drawer/create/page.tsx +4 -0
  418. package/web/.next/standalone/src/presentation/web/app/actions/create-feature.ts +20 -2
  419. package/web/.next/standalone/src/presentation/web/app/actions/get-all-agent-models.ts +65 -0
  420. package/web/.next/standalone/src/presentation/web/app/actions/get-supported-models.ts +26 -0
  421. package/web/.next/standalone/src/presentation/web/app/actions/update-agent-and-model.ts +41 -0
  422. package/web/.next/standalone/src/presentation/web/app/actions/update-model.ts +45 -0
  423. package/web/.next/standalone/src/presentation/web/app/build-feature-node-data.ts +1 -0
  424. package/web/.next/standalone/src/presentation/web/app/build-graph-nodes.ts +1 -0
  425. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/create-drawer-client.tsx +6 -0
  426. package/web/.next/standalone/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.tsx +56 -0
  427. package/web/.next/standalone/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.tsx +238 -118
  428. package/web/.next/standalone/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.tsx +16 -0
  429. package/web/.next/standalone/src/presentation/web/components/common/feature-list-item/feature-list-item.tsx +33 -0
  430. package/web/.next/standalone/src/presentation/web/components/common/feature-node/agent-type-icons.tsx +54 -2
  431. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node-state-config.ts +2 -0
  432. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node.stories.tsx +19 -0
  433. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node.tsx +38 -16
  434. package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center-inner.tsx +4 -0
  435. package/web/.next/standalone/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.tsx +72 -0
  436. package/web/.next/standalone/src/presentation/web/components/features/settings/AgentModelPicker/index.tsx +228 -0
  437. package/web/.next/standalone/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.tsx +64 -0
  438. package/web/.next/standalone/src/presentation/web/components/features/settings/ModelPicker/index.tsx +167 -0
  439. package/web/.next/standalone/src/presentation/web/components/features/settings/settings-page-client.tsx +25 -41
  440. package/web/.next/standalone/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.tsx +28 -3
  441. package/web/.next/standalone/src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx +4 -0
  442. package/web/.next/standalone/src/presentation/web/components/ui/checkbox-group-item.tsx +1 -1
  443. package/web/.next/standalone/src/presentation/web/components/ui/checkbox-group.tsx +1 -1
  444. package/web/.next/standalone/src/presentation/web/components/ui/command.tsx +114 -0
  445. package/web/.next/standalone/src/presentation/web/components/ui/switch.tsx +1 -1
  446. package/web/.next/standalone/src/presentation/web/hooks/sidebar-features-context.tsx +2 -0
  447. package/web/.next/standalone/src/presentation/web/lib/model-metadata.ts +51 -0
  448. package/web/.next/standalone/src/presentation/web/server.js +1 -1
  449. package/web/.next/static/chunks/00bf58dc5071b119.js +1 -0
  450. package/web/.next/static/chunks/259d3d57e8cfa8a9.js +1 -0
  451. package/web/.next/static/chunks/{db3fc2ad5e82988a.js → 25db6b51953c2374.js} +1 -1
  452. package/web/.next/static/chunks/305c7a91027868ab.js +1 -0
  453. package/web/.next/static/chunks/{97908acfe33c0773.js → 32db703f00225a79.js} +1 -1
  454. package/web/.next/static/chunks/390b75b02f665809.js +1 -0
  455. package/web/.next/static/chunks/42bd17823c7f41a1.css +2 -0
  456. package/web/.next/static/chunks/4ea1b4276f27110b.js +1 -0
  457. package/web/.next/static/chunks/51454a23ce051ec9.js +1 -0
  458. package/web/.next/static/chunks/{98e3a7cf58fc912a.js → 672e3da3ad26005b.js} +1 -1
  459. package/web/.next/static/chunks/7acc79e599df9890.js +1 -0
  460. package/web/.next/static/chunks/{36d88ff9f7db4eb9.js → 876edf7bbd901942.js} +1 -1
  461. package/web/.next/static/chunks/8f122c3ac2102300.js +11 -0
  462. package/web/.next/static/chunks/{1e540786c8710d66.js → a06258d572f4492c.js} +1 -1
  463. package/web/.next/static/chunks/a1ddf1f9b1435434.js +3 -0
  464. package/web/.next/static/chunks/{ed9e614e536c06de.js → b9a0a65afea061c5.js} +1 -1
  465. package/web/.next/static/chunks/c8b2868ae430a586.js +1 -0
  466. package/web/.next/static/chunks/{b7f32185dc5f8480.js → d1818ddcad8d7b31.js} +2 -2
  467. package/web/.next/static/chunks/{89aac43287d73b02.js → ed3a602003bcb31b.js} +1 -1
  468. package/web/.next/static/chunks/f492adb2f80408c6.js +1 -0
  469. package/web/.next/static/chunks/{turbopack-080e470ea902d0ba.js → turbopack-426d9bc2450816ba.js} +1 -1
  470. package/web/.next/trace +1 -1
  471. package/web/.next/trace-build +1 -1
  472. package/web/.next/server/chunks/ssr/[root-of-the-server]__1c870feb._.js +0 -3
  473. package/web/.next/server/chunks/ssr/[root-of-the-server]__1c870feb._.js.map +0 -1
  474. package/web/.next/server/chunks/ssr/[root-of-the-server]__aea328fd._.js +0 -3
  475. package/web/.next/server/chunks/ssr/[root-of-the-server]__aea328fd._.js.map +0 -1
  476. package/web/.next/server/chunks/ssr/[root-of-the-server]__fd36b8bf._.js +0 -4
  477. package/web/.next/server/chunks/ssr/[root-of-the-server]__fd36b8bf._.js.map +0 -1
  478. package/web/.next/server/chunks/ssr/_4093a637._.js +0 -5
  479. package/web/.next/server/chunks/ssr/_4093a637._.js.map +0 -1
  480. package/web/.next/server/chunks/ssr/_5428b384._.js +0 -3
  481. package/web/.next/server/chunks/ssr/_88c4dab8._.js.map +0 -1
  482. package/web/.next/server/chunks/ssr/_956601a1._.js +0 -9
  483. package/web/.next/server/chunks/ssr/_956601a1._.js.map +0 -1
  484. package/web/.next/server/chunks/ssr/_c26c679f._.js +0 -3
  485. package/web/.next/server/chunks/ssr/_c26c679f._.js.map +0 -1
  486. package/web/.next/server/chunks/ssr/_caf6533c._.js +0 -3
  487. package/web/.next/server/chunks/ssr/_caf6533c._.js.map +0 -1
  488. package/web/.next/server/chunks/ssr/_f7f6173c._.js +0 -3
  489. package/web/.next/server/chunks/ssr/_f7f6173c._.js.map +0 -1
  490. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js +0 -3
  491. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js.map +0 -1
  492. package/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js +0 -6
  493. package/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js.map +0 -1
  494. package/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js +0 -6
  495. package/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js.map +0 -1
  496. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__1c870feb._.js +0 -3
  497. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aea328fd._.js +0 -3
  498. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fd36b8bf._.js +0 -4
  499. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_4093a637._.js +0 -5
  500. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_5428b384._.js +0 -3
  501. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_956601a1._.js +0 -9
  502. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_c26c679f._.js +0 -3
  503. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_caf6533c._.js +0 -3
  504. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_f7f6173c._.js +0 -3
  505. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js +0 -3
  506. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js +0 -6
  507. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js +0 -6
  508. package/web/.next/static/chunks/3479d6ae297e5410.css +0 -2
  509. package/web/.next/static/chunks/562043dcb8748208.js +0 -1
  510. package/web/.next/static/chunks/700501f5ac2bb320.js +0 -1
  511. package/web/.next/static/chunks/730cb306a35d6396.js +0 -1
  512. package/web/.next/static/chunks/907556417091ee06.js +0 -11
  513. package/web/.next/static/chunks/aa6cc6df962a3fc0.js +0 -3
  514. package/web/.next/static/chunks/b551d91ffdbb7c9e.js +0 -1
  515. package/web/.next/static/chunks/bf8d066811cf0d38.js +0 -3
  516. package/web/.next/static/chunks/c63d1c145c5a07dc.js +0 -1
  517. package/web/.next/static/chunks/dcc5fcd1ca8d263d.js +0 -1
  518. package/web/.next/static/chunks/f57f86dba6d4baba.js +0 -1
  519. package/web/.next/static/chunks/fc00e1b83852da4e.js +0 -1
  520. /package/web/.next/static/{5kMkMkfx5JoIMSJH9xQVJ → nwZ6x4KL92z5QBu5a6cPN}/_buildManifest.js +0 -0
  521. /package/web/.next/static/{5kMkMkfx5JoIMSJH9xQVJ → nwZ6x4KL92z5QBu5a6cPN}/_clientMiddlewareManifest.json +0 -0
  522. /package/web/.next/static/{5kMkMkfx5JoIMSJH9xQVJ → nwZ6x4KL92z5QBu5a6cPN}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,87292,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(31406),o=e.i(94237),i=e.i(3645);let n=(0,i.default)("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);var l=e.i(5240),s=e.i(31777),d=e.i(35364);e.i(98127),e.i(25235);var c=e.i(48249),u=e.i(90033);function f({...e}){return(0,t.jsx)(u.Dialog.Root,{"data-slot":"sheet",...e})}function p({...e}){return(0,t.jsx)(u.Dialog.Portal,{"data-slot":"sheet-portal",...e})}function h({className:e,...r}){return(0,t.jsx)(u.Dialog.Overlay,{"data-slot":"sheet-overlay",className:(0,s.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...r})}function m({className:e,children:r,side:a="right",showCloseButton:o=!0,...i}){return(0,t.jsxs)(p,{children:[(0,t.jsx)(h,{}),(0,t.jsxs)(u.Dialog.Content,{"data-slot":"sheet-content",className:(0,s.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500","right"===a&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm","left"===a&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm","top"===a&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===a&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",e),...i,children:[r,o?(0,t.jsxs)(u.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,t.jsx)(c.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})]})}function b({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"sheet-header",className:(0,s.cn)("flex flex-col gap-1.5 p-4",e),...r})}function g({className:e,...r}){return(0,t.jsx)(u.Dialog.Title,{"data-slot":"sheet-title",className:(0,s.cn)("text-foreground font-semibold",e),...r})}function v({className:e,...r}){return(0,t.jsx)(u.Dialog.Description,{"data-slot":"sheet-description",className:(0,s.cn)("text-muted-foreground text-sm",e),...r})}var x=e.i(2828);let w=r.createContext(null);function C(){let e=r.useContext(w);if(!e)throw Error("useSidebar must be used within a SidebarProvider.");return e}function y({defaultOpen:e=!0,open:a,onOpenChange:o,className:i,style:n,children:l,...d}){let c=function(){let[e,t]=r.useState(void 0);return r.useEffect(()=>{let e=window.matchMedia("(max-width: 767px)"),r=()=>{t(window.innerWidth<768)};return e.addEventListener("change",r),t(window.innerWidth<768),()=>e.removeEventListener("change",r)},[]),!!e}(),[u,f]=r.useState(!1),[p,h]=r.useState(e),m=a??p,b=r.useCallback(e=>{let t="function"==typeof e?e(m):e;o?o(t):h(t),document.cookie=`sidebar_state=${t}; path=/; max-age=604800`},[o,m]),g=r.useCallback(()=>c?f(e=>!e):b(e=>!e),[c,b,f]);r.useEffect(()=>{let e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),g())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[g]);let v=m?"expanded":"collapsed",C=r.useMemo(()=>({state:v,open:m,setOpen:b,isMobile:c,openMobile:u,setOpenMobile:f,toggleSidebar:g}),[v,m,b,c,u,f,g]);return(0,t.jsx)(w.Provider,{value:C,children:(0,t.jsx)(x.TooltipProvider,{delayDuration:0,children:(0,t.jsx)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...n},className:(0,s.cn)("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",i),...d,children:l})})})}function j({side:e="left",variant:r="sidebar",collapsible:a="offcanvas",className:o,children:i,...n}){let{isMobile:l,state:d,openMobile:c,setOpenMobile:u}=C();return"none"===a?(0,t.jsx)("div",{"data-slot":"sidebar",className:(0,s.cn)("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",o),...n,children:i}):l?(0,t.jsx)(f,{open:c,onOpenChange:u,...n,children:(0,t.jsxs)(m,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:e,children:[(0,t.jsxs)(b,{className:"sr-only",children:[(0,t.jsx)(g,{children:"Sidebar"}),(0,t.jsx)(v,{children:"Displays the mobile sidebar."})]}),(0,t.jsx)("div",{className:"flex h-full w-full flex-col",children:i})]})}):(0,t.jsxs)("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":d,"data-collapsible":"collapsed"===d?a:"","data-variant":r,"data-side":e,"data-slot":"sidebar",children:[(0,t.jsx)("div",{"data-slot":"sidebar-gap",className:(0,s.cn)("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===r||"inset"===r?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),(0,t.jsx)("div",{"data-slot":"sidebar-container",className:(0,s.cn)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex","left"===e?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===r||"inset"===r?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",o),...n,children:(0,t.jsx)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:i})})]})}function S({className:e,...r}){let{toggleSidebar:a}=C();return(0,t.jsx)("button",{"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:a,title:"Toggle Sidebar",className:(0,s.cn)("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex","in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...r})}function k({className:e,...r}){return(0,t.jsx)("main",{"data-slot":"sidebar-inset",className:(0,s.cn)("bg-background relative flex w-full flex-1 flex-col","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",e),...r})}function N({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:(0,s.cn)("flex flex-col gap-2 p-2",e),...r})}function E({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:(0,s.cn)("flex flex-col gap-2 p-2",e),...r})}function T({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:(0,s.cn)("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...r})}function R({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:(0,s.cn)("relative flex w-full min-w-0 flex-col p-2",e),...r})}function A({className:e,asChild:r=!1,...a}){let o=r?l.Slot.Root:"div";return(0,t.jsx)(o,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:(0,s.cn)("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...a})}function L({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:(0,s.cn)("w-full text-sm",e),...r})}function P({className:e,...r}){return(0,t.jsx)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:(0,s.cn)("flex w-full min-w-0 flex-col gap-1",e),...r})}function z({className:e,...r}){return(0,t.jsx)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:(0,s.cn)("group/menu-item relative",e),...r})}let D=(0,o.cva)("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function _({asChild:e=!1,isActive:r=!1,variant:a="default",size:o="default",tooltip:i,className:n,...d}){let c=e?l.Slot.Root:"button",{isMobile:u,state:f}=C(),p=(0,t.jsx)(c,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":o,"data-active":r,className:(0,s.cn)(D({variant:a,size:o}),n),...d});return i?("string"==typeof i&&(i={children:i}),(0,t.jsxs)(x.Tooltip,{children:[(0,t.jsx)(x.TooltipTrigger,{asChild:!0,children:p}),(0,t.jsx)(x.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==f||u,...i})]})):p}let M=(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"}]]);var H=e.i(81975),I=e.i(12103),W=e.i(3214),O=e.i(39200),F=e.i(87620),B=e.i(85995),U=e.i(22528),V=e.i(5978),X=e.i(29297),Y=e.i(66033),$=e.i(5192),q=e.i(27069),Z=e.i(91967),K="ScrollArea",[G,J]=(0,U.createContextScope)(K),[Q,ee]=G(K),et=r.forwardRef((e,a)=>{let{__scopeScrollArea:o,type:i="hover",dir:n,scrollHideDelay:l=600,...s}=e,[d,c]=r.useState(null),[u,f]=r.useState(null),[p,h]=r.useState(null),[m,b]=r.useState(null),[g,v]=r.useState(null),[x,w]=r.useState(0),[C,y]=r.useState(0),[j,S]=r.useState(!1),[k,N]=r.useState(!1),E=(0,V.useComposedRefs)(a,e=>c(e)),T=(0,Y.useDirection)(n);return(0,t.jsx)(Q,{scope:o,type:i,dir:T,scrollHideDelay:l,scrollArea:d,viewport:u,onViewportChange:f,content:p,onContentChange:h,scrollbarX:m,onScrollbarXChange:b,scrollbarXEnabled:j,onScrollbarXEnabledChange:S,scrollbarY:g,onScrollbarYChange:v,scrollbarYEnabled:k,onScrollbarYEnabledChange:N,onCornerWidthChange:w,onCornerHeightChange:y,children:(0,t.jsx)(F.Primitive.div,{dir:T,...s,ref:E,style:{position:"relative","--radix-scroll-area-corner-width":x+"px","--radix-scroll-area-corner-height":C+"px",...e.style}})})});et.displayName=K;var er="ScrollAreaViewport",ea=r.forwardRef((e,a)=>{let{__scopeScrollArea:o,children:i,nonce:n,...l}=e,s=ee(er,o),d=r.useRef(null),c=(0,V.useComposedRefs)(a,d,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:n}),(0,t.jsx)(F.Primitive.div,{"data-radix-scroll-area-viewport":"",...l,ref:c,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})})]})});ea.displayName=er;var eo="ScrollAreaScrollbar",ei=r.forwardRef((e,a)=>{let{forceMount:o,...i}=e,n=ee(eo,e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:s}=n,d="horizontal"===e.orientation;return r.useEffect(()=>(d?l(!0):s(!0),()=>{d?l(!1):s(!1)}),[d,l,s]),"hover"===n.type?(0,t.jsx)(en,{...i,ref:a,forceMount:o}):"scroll"===n.type?(0,t.jsx)(el,{...i,ref:a,forceMount:o}):"auto"===n.type?(0,t.jsx)(es,{...i,ref:a,forceMount:o}):"always"===n.type?(0,t.jsx)(ed,{...i,ref:a}):null});ei.displayName=eo;var en=r.forwardRef((e,a)=>{let{forceMount:o,...i}=e,n=ee(eo,e.__scopeScrollArea),[l,s]=r.useState(!1);return r.useEffect(()=>{let e=n.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),s(!0)},a=()=>{t=window.setTimeout(()=>s(!1),n.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",a),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",a)}}},[n.scrollArea,n.scrollHideDelay]),(0,t.jsx)(B.Presence,{present:o||l,children:(0,t.jsx)(es,{"data-state":l?"visible":"hidden",...i,ref:a})})}),el=r.forwardRef((e,a)=>{var o;let{forceMount:i,...n}=e,l=ee(eo,e.__scopeScrollArea),s="horizontal"===e.orientation,d=eE(()=>u("SCROLL_END"),100),[c,u]=(o={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)=>o[e][t]??e,"hidden"));return r.useEffect(()=>{if("idle"===c){let e=window.setTimeout(()=>u("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(e)}},[c,l.scrollHideDelay,u]),r.useEffect(()=>{let e=l.viewport,t=s?"scrollLeft":"scrollTop";if(e){let r=e[t],a=()=>{let a=e[t];r!==a&&(u("SCROLL"),d()),r=a};return e.addEventListener("scroll",a),()=>e.removeEventListener("scroll",a)}},[l.viewport,s,u,d]),(0,t.jsx)(B.Presence,{present:i||"hidden"!==c,children:(0,t.jsx)(ed,{"data-state":"hidden"===c?"hidden":"visible",...n,ref:a,onPointerEnter:(0,Z.composeEventHandlers)(e.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:(0,Z.composeEventHandlers)(e.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),es=r.forwardRef((e,a)=>{let o=ee(eo,e.__scopeScrollArea),{forceMount:i,...n}=e,[l,s]=r.useState(!1),d="horizontal"===e.orientation,c=eE(()=>{if(o.viewport){let e=o.viewport.offsetWidth<o.viewport.scrollWidth,t=o.viewport.offsetHeight<o.viewport.scrollHeight;s(d?e:t)}},10);return eT(o.viewport,c),eT(o.content,c),(0,t.jsx)(B.Presence,{present:i||l,children:(0,t.jsx)(ed,{"data-state":l?"visible":"hidden",...n,ref:a})})}),ed=r.forwardRef((e,a)=>{let{orientation:o="vertical",...i}=e,n=ee(eo,e.__scopeScrollArea),l=r.useRef(null),s=r.useRef(0),[d,c]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=ey(d.viewport,d.content),f={...i,sizes:d,onSizesChange:c,hasThumb:!!(u>0&&u<1),onThumbChange:e=>l.current=e,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:e=>s.current=e};function p(e,t){return function(e,t,r,a="ltr"){let o=ej(r),i=t||o/2,n=r.scrollbar.paddingStart+i,l=r.scrollbar.size-r.scrollbar.paddingEnd-(o-i),s=r.content-r.viewport;return ek([n,l],"ltr"===a?[0,s]:[-1*s,0])(e)}(e,s.current,d,t)}return"horizontal"===o?(0,t.jsx)(ec,{...f,ref:a,onThumbPositionChange:()=>{if(n.viewport&&l.current){let e=eS(n.viewport.scrollLeft,d,n.dir);l.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{n.viewport&&(n.viewport.scrollLeft=e)},onDragScroll:e=>{n.viewport&&(n.viewport.scrollLeft=p(e,n.dir))}}):"vertical"===o?(0,t.jsx)(eu,{...f,ref:a,onThumbPositionChange:()=>{if(n.viewport&&l.current){let e=eS(n.viewport.scrollTop,d);l.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{n.viewport&&(n.viewport.scrollTop=e)},onDragScroll:e=>{n.viewport&&(n.viewport.scrollTop=p(e))}}):null}),ec=r.forwardRef((e,a)=>{let{sizes:o,onSizesChange:i,...n}=e,l=ee(eo,e.__scopeScrollArea),[s,d]=r.useState(),c=r.useRef(null),u=(0,V.useComposedRefs)(a,c,l.onScrollbarXChange);return r.useEffect(()=>{c.current&&d(getComputedStyle(c.current))},[c]),(0,t.jsx)(eh,{"data-orientation":"horizontal",...n,ref:u,sizes:o,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":ej(o)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(l.viewport){var a,o;let i=l.viewport.scrollLeft+t.deltaX;e.onWheelScroll(i),a=i,o=r,a>0&&a<o&&t.preventDefault()}},onResize:()=>{c.current&&l.viewport&&s&&i({content:l.viewport.scrollWidth,viewport:l.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:eC(s.paddingLeft),paddingEnd:eC(s.paddingRight)}})}})}),eu=r.forwardRef((e,a)=>{let{sizes:o,onSizesChange:i,...n}=e,l=ee(eo,e.__scopeScrollArea),[s,d]=r.useState(),c=r.useRef(null),u=(0,V.useComposedRefs)(a,c,l.onScrollbarYChange);return r.useEffect(()=>{c.current&&d(getComputedStyle(c.current))},[c]),(0,t.jsx)(eh,{"data-orientation":"vertical",...n,ref:u,sizes:o,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":ej(o)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(l.viewport){var a,o;let i=l.viewport.scrollTop+t.deltaY;e.onWheelScroll(i),a=i,o=r,a>0&&a<o&&t.preventDefault()}},onResize:()=>{c.current&&l.viewport&&s&&i({content:l.viewport.scrollHeight,viewport:l.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:eC(s.paddingTop),paddingEnd:eC(s.paddingBottom)}})}})}),[ef,ep]=G(eo),eh=r.forwardRef((e,a)=>{let{__scopeScrollArea:o,sizes:i,hasThumb:n,onThumbChange:l,onThumbPointerUp:s,onThumbPointerDown:d,onThumbPositionChange:c,onDragScroll:u,onWheelScroll:f,onResize:p,...h}=e,m=ee(eo,o),[b,g]=r.useState(null),v=(0,V.useComposedRefs)(a,e=>g(e)),x=r.useRef(null),w=r.useRef(""),C=m.viewport,y=i.content-i.viewport,j=(0,X.useCallbackRef)(f),S=(0,X.useCallbackRef)(c),k=eE(p,10);function N(e){x.current&&u({x:e.clientX-x.current.left,y:e.clientY-x.current.top})}return r.useEffect(()=>{let e=e=>{let t=e.target;b?.contains(t)&&j(e,y)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[C,b,y,j]),r.useEffect(S,[i,S]),eT(b,k),eT(m.content,k),(0,t.jsx)(ef,{scope:o,scrollbar:b,hasThumb:n,onThumbChange:(0,X.useCallbackRef)(l),onThumbPointerUp:(0,X.useCallbackRef)(s),onThumbPositionChange:S,onThumbPointerDown:(0,X.useCallbackRef)(d),children:(0,t.jsx)(F.Primitive.div,{...h,ref:v,style:{position:"absolute",...h.style},onPointerDown:(0,Z.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),x.current=b.getBoundingClientRect(),w.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",m.viewport&&(m.viewport.style.scrollBehavior="auto"),N(e))}),onPointerMove:(0,Z.composeEventHandlers)(e.onPointerMove,N),onPointerUp:(0,Z.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=w.current,m.viewport&&(m.viewport.style.scrollBehavior=""),x.current=null})})})}),em="ScrollAreaThumb",eb=r.forwardRef((e,r)=>{let{forceMount:a,...o}=e,i=ep(em,e.__scopeScrollArea);return(0,t.jsx)(B.Presence,{present:a||i.hasThumb,children:(0,t.jsx)(eg,{ref:r,...o})})}),eg=r.forwardRef((e,a)=>{let{__scopeScrollArea:o,style:i,...n}=e,l=ee(em,o),s=ep(em,o),{onThumbPositionChange:d}=s,c=(0,V.useComposedRefs)(a,e=>s.onThumbChange(e)),u=r.useRef(void 0),f=eE(()=>{u.current&&(u.current(),u.current=void 0)},100);return r.useEffect(()=>{let e=l.viewport;if(e){let t=()=>{f(),u.current||(u.current=eN(e,d),d())};return d(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[l.viewport,f,d]),(0,t.jsx)(F.Primitive.div,{"data-state":s.hasThumb?"visible":"hidden",...n,ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...i},onPointerDownCapture:(0,Z.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,a=e.clientY-t.top;s.onThumbPointerDown({x:r,y:a})}),onPointerUp:(0,Z.composeEventHandlers)(e.onPointerUp,s.onThumbPointerUp)})});eb.displayName=em;var ev="ScrollAreaCorner",ex=r.forwardRef((e,r)=>{let a=ee(ev,e.__scopeScrollArea),o=!!(a.scrollbarX&&a.scrollbarY);return"scroll"!==a.type&&o?(0,t.jsx)(ew,{...e,ref:r}):null});ex.displayName=ev;var ew=r.forwardRef((e,a)=>{let{__scopeScrollArea:o,...i}=e,n=ee(ev,o),[l,s]=r.useState(0),[d,c]=r.useState(0),u=!!(l&&d);return eT(n.scrollbarX,()=>{let e=n.scrollbarX?.offsetHeight||0;n.onCornerHeightChange(e),c(e)}),eT(n.scrollbarY,()=>{let e=n.scrollbarY?.offsetWidth||0;n.onCornerWidthChange(e),s(e)}),u?(0,t.jsx)(F.Primitive.div,{...i,ref:a,style:{width:l,height:d,position:"absolute",right:"ltr"===n.dir?0:void 0,left:"rtl"===n.dir?0:void 0,bottom:0,...e.style}}):null});function eC(e){return e?parseInt(e,10):0}function ey(e,t){let r=e/t;return isNaN(r)?0:r}function ej(e){let t=ey(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function eS(e,t,r="ltr"){let a=ej(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,i=t.scrollbar.size-o,n=t.content-t.viewport,l=(0,q.clamp)(e,"ltr"===r?[0,n]:[-1*n,0]);return ek([0,n],[0,i-a])(l)}function ek(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let a=(t[1]-t[0])/(e[1]-e[0]);return t[0]+a*(r-e[0])}}var eN=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},a=0;return!function o(){let i={left:e.scrollLeft,top:e.scrollTop},n=r.left!==i.left,l=r.top!==i.top;(n||l)&&t(),r=i,a=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(a)};function eE(e,t){let a=(0,X.useCallbackRef)(e),o=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(o.current),[]),r.useCallback(()=>{window.clearTimeout(o.current),o.current=window.setTimeout(a,t)},[a,t])}function eT(e,t){let r=(0,X.useCallbackRef)(t);(0,$.useLayoutEffect)(()=>{let t=0;if(e){let a=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return a.observe(e),()=>{window.cancelAnimationFrame(t),a.unobserve(e)}}},[e,r])}e.s(["Corner",()=>ex,"Root",()=>et,"ScrollArea",()=>et,"ScrollAreaCorner",()=>ex,"ScrollAreaScrollbar",()=>ei,"ScrollAreaThumb",()=>eb,"ScrollAreaViewport",()=>ea,"Scrollbar",()=>ei,"Thumb",()=>eb,"Viewport",()=>ea,"createScrollAreaScope",()=>J],87516);var eR=e.i(87516),eR=eR;function eA({className:e,children:r,...a}){return(0,t.jsxs)(eR.Root,{"data-slot":"scroll-area",className:(0,s.cn)("relative",e),...a,children:[(0,t.jsx)(eR.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 [&>div]:block!",children:r}),(0,t.jsx)(eL,{}),(0,t.jsx)(eR.Corner,{})]})}function eL({className:e,orientation:r="vertical",...a}){return(0,t.jsx)(eR.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:r,className:(0,s.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),...a,children:(0,t.jsx)(eR.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}var eP=e.i(24035),ez=e.i(8361);function eD({icon:e,label:r,href:a,active:o=!1}){let i=(0,ez.useSoundAction)("navigate");return(0,t.jsx)(z,{"data-testid":"sidebar-nav-item",children:(0,t.jsx)(_,{asChild:!0,isActive:o,tooltip:r,children:(0,t.jsxs)(eP.default,{href:a,onClick:()=>i.play(),children:[(0,t.jsx)(e,{}),(0,t.jsx)("span",{children:r})]})})})}function e_({className:e}){let{toggleSidebar:r,open:a}=C(),o=(0,ez.useSoundAction)("expand"),i=(0,ez.useSoundAction)("collapse");return(0,t.jsx)("div",{className:(0,s.cn)("flex",e),children:(0,t.jsx)(d.Button,{"data-testid":"sidebar-collapse-toggle",variant:"ghost",size:"icon",className:"size-7 cursor-pointer group-data-[collapsible=icon]:size-8!",onClick:()=>{a?i.play():o.play(),r()},"aria-label":a?"Collapse sidebar":"Expand sidebar",children:(0,t.jsx)(n,{className:"size-4"})})})}function eM({className:e,size:r=24}){return(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 194 200",width:r,height:r,className:(0,s.cn)("shrink-0",e),"aria-hidden":"true",children:(0,t.jsx)("g",{transform:"matrix(1, 0, 0, 1, -111, -208)",children:(0,t.jsx)("path",{d:"M 198 406 C196,405 194,403 193,401 C192,399 191,398 186,398 C178,397 174,394 170,387 L 168 381 L 163 381 C156,381 150,377 147,370 C144,364 143,359 146,353 C148,348 148,347 147,347 C145,347 140,343 138,339 C133,329 139,314 149,311 L 152 311 L 149 307 C145,302 145,294 149,290 C151,288 152,287 151,286 C150,283 152,278 155,276 C156,275 159,274 162,273 C165,273 166,273 168,276 C171,278 171,280 172,287 C173,294 174,297 177,304 C180,309 182,314 183,316 C186,327 193,336 199,339 C204,342 211,342 216,340 C222,336 231,324 234,314 C235,312 237,307 239,302 C240,298 242,292 242,289 C243,281 245,278 247,275 C250,273 251,273 255,273 C261,274 264,278 264,282 C264,284 264,286 263,287 C262,287 263,288 265,290 C272,295 272,303 267,309 L 265 312 L 269 314 C276,317 279,323 279,332 C279,339 277,343 272,347 C268,351 268,351 269,354 C272,358 271,366 269,371 C266,376 259,381 254,381 C252,381 251,382 248,386 C242,395 234,400 227,399 C224,398 223,398 221,401 C220,403 217,405 216,406 C211,409 203,409 198,406 ZM 136 271 C123,267 115,262 113,256 C111,251 111,251 113,251 C118,254 124,254 132,252 C136,252 141,251 144,251 C149,251 157,253 162,256 C166,258 166,258 166,264 L 166 269 L 160 270 C149,272 142,272 136,271 ZM 264 271 C263,271 259,270 256,270 L 250 270 L 250 265 C249,259 250,257 259,254 C265,251 272,251 289,252 C297,253 299,253 302,252 C305,250 305,250 305,252 C305,255 301,262 297,264 C289,270 272,273 264,271 ZM 162 249 C160,247 159,245 159,242 C159,236 164,230 169,230 C170,230 171,228 171,225 C171,216 176,210 184,209 C189,209 195,211 195,213 C195,214 196,213 197,212 C201,209 204,208 208,208 C212,208 217,210 219,212 C220,214 220,213 223,211 C226,208 234,208 239,211 C243,214 246,221 246,226 C245,230 245,230 247,230 C253,230 258,238 257,244 C256,249 251,252 245,252 C241,252 237,251 234,248 C232,247 232,247 228,249 C225,251 222,252 220,252 C216,252 212,250 210,247 C209,246 209,246 206,248 C201,252 192,253 185,248 C183,247 183,247 178,249 C172,253 166,253 162,249 ZM 116 249 C112,248 114,247 119,247 C122,247 127,246 130,245 C138,242 146,242 152,245 L 158 248 L 148 247 C142,247 138,247 133,248 C128,250 120,250 116,249 ZM 284 248 C281,247 277,247 270,247 L 260 248 L 263 246 C269,243 276,242 284,245 C289,246 295,247 298,247 C303,247 304,247 303,248 C301,250 289,250 284,248 Z",fill:"currentColor"})})})}function eH({startedAt:e}){let[a,o]=(0,r.useState)(()=>Date.now()-e);return(0,r.useEffect)(()=>{let t=setInterval(()=>{(0,r.startTransition)(()=>o(Date.now()-e))},1e3);return()=>clearInterval(t)},[e]),(0,t.jsx)("span",{"data-testid":"elapsed-time",className:"tabular-nums",children:function(e){let t=Math.floor(e/1e3);if(t>=3600){let e=Math.floor(t/3600);return`${e}h`}let r=Math.floor(t/60);return`${String(r).padStart(2,"0")}:${String(t%60).padStart(2,"0")}`}(a)})}var eI=e.i(51251),eW=e.i(83428),eO=e.i(10942);let eF={"action-needed":{icon:eI.CircleAlert,iconClass:"text-amber-500",bgClass:"bg-amber-500/10",label:"Action Needed"},"in-progress":{icon:eW.Loader2,iconClass:"text-blue-500 animate-spin",bgClass:"bg-blue-500/10",label:"In Progress"},done:{icon:eO.CircleCheck,iconClass:"text-emerald-500",bgClass:"bg-emerald-500/10",label:"Done"}},eB=["action-needed","in-progress","done"];function eU({name:e,status:r,startedAt:a,duration:o,onClick:i}){let{icon:n,iconClass:l}=eF[r];return(0,t.jsx)(z,{"data-testid":"feature-list-item",children:(0,t.jsxs)(_,{size:"sm",onClick:i,tooltip:e,className:"cursor-pointer",children:[(0,t.jsx)(n,{className:l}),(0,t.jsx)("span",{className:"flex-1 truncate font-medium",children:e}),"in-progress"===r&&null!=a?(0,t.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:(0,t.jsx)(eH,{startedAt:a})}):null,"done"===r&&o?(0,t.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:o}):null]})})}function eV({label:e,count:r,children:a}){return(0,t.jsxs)(R,{"data-testid":"feature-status-group",className:"px-2 py-1",children:[(0,t.jsxs)(A,{className:"text-muted-foreground h-6 px-2 text-[0.65rem] font-semibold tracking-wider uppercase",children:[e,(0,t.jsx)("span",{"aria-label":`${r} items`,className:"bg-sidebar-accent text-sidebar-accent-foreground ml-1.5 inline-flex h-4 min-w-4 items-center justify-center rounded-full px-1 text-[0.6rem] font-medium tabular-nums",role:"img",children:r})]}),(0,t.jsx)(L,{children:(0,t.jsx)(P,{className:"gap-0.5",children:a})})]})}function eX({label:e,className:r}){return(0,t.jsx)(R,{"data-testid":"sidebar-section-header",className:(0,s.cn)("px-2 py-1",r),children:(0,t.jsx)("div",{className:"text-sidebar-foreground flex h-7 w-full shrink-0 items-center px-2 text-sm font-medium",children:(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e})})})}function eY({features:e,featureFlags:o,onNewFeature:i,onFeatureClick:n}){let l=(0,a.usePathname)(),{state:s}=C(),{mounted:d,visible:c}=function(e,t){let[a,o]=(0,r.useState)(!e),[i,n]=(0,r.useState)(!e);return(0,r.useEffect)(()=>{if(!e){o(!0);let e=requestAnimationFrame(()=>n(!0));return()=>cancelAnimationFrame(e)}n(!1);let t=window.setTimeout(()=>o(!1),200);return()=>window.clearTimeout(t)},[e,200]),{mounted:a,visible:i}}("collapsed"===s,0),u=eB.map(t=>{let{label:r}=eF[t],a=e.filter(e=>e.status===t);return{key:t,label:r,items:a}});return(0,t.jsxs)(j,{"data-testid":"app-sidebar","data-no-drawer-close":!0,collapsible:"icon",children:[(0,t.jsx)(N,{children:(0,t.jsxs)(P,{children:[(0,t.jsx)(z,{children:(0,t.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[d?(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",c?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!c,children:[(0,t.jsx)(eM,{className:"shrink-0",size:20}),(0,t.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"})]}):null,(0,t.jsx)(e_,{className:"shrink-0 transition-all duration-200"})]})}),(0,t.jsx)(eD,{icon:M,label:"Control Center",href:"/",active:"/"===l}),(0,t.jsx)(eD,{icon:H.Wrench,label:"Tools",href:"/tools",active:"/tools"===l}),o.skills?(0,t.jsx)(eD,{icon:I.Puzzle,label:"Skills",href:"/skills",active:"/skills"===l}):null,(0,t.jsx)(eD,{icon:O.Settings,label:"Settings",href:"/settings",active:"/settings"===l})]})}),(0,t.jsx)(T,{children:d?(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",c?"opacity-100":"opacity-0"].join(" "),children:[(0,t.jsx)(eX,{label:"Features"}),(0,t.jsx)(eA,{children:u.map(({key:e,label:r,items:a})=>a.length>0?(0,t.jsx)(eV,{label:r,count:a.length,children:a.map(e=>(0,t.jsx)(eU,{name:e.name,status:e.status,startedAt:e.startedAt,duration:e.duration,onClick:n?()=>n(e.featureId):void 0},e.featureId))},e):null)})]}):null}),(0,t.jsx)(E,{children:(0,t.jsx)(P,{children:(0,t.jsx)(z,{children:(0,t.jsxs)(_,{onClick:i,tooltip:"New feature",children:[(0,t.jsx)(W.Plus,{}),(0,t.jsx)("span",{children:"New feature"})]})})})}),(0,t.jsx)(S,{})]})}let e$=(0,i.default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var eq=e.i(78521);function eZ({onSelect:e}){let[a,o]=(0,r.useState)(!1);async function i(){if(!a){o(!0);try{let t=await (0,eq.pickFolder)();t&&e?.(t)}finally{o(!1)}}}return(0,t.jsx)(x.TooltipProvider,{children:(0,t.jsxs)(x.Tooltip,{children:[(0,t.jsx)(x.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(d.Button,{variant:"ghost",size:"icon","aria-label":"Add Repository","data-testid":"add-repository-button",onClick:i,disabled:a,children:a?(0,t.jsx)(eW.Loader2,{className:"h-5 w-5 animate-spin"}):(0,t.jsx)(e$,{className:"h-5 w-5"})})}),(0,t.jsx)(x.TooltipContent,{children:"Add Repository"})]})})}let eK=(0,i.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),eG=(0,i.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),eJ="shep-theme";function eQ(){let{theme:e,resolvedTheme:a,setTheme:o}=function(){let[e,t]=(0,r.useState)("system"),[a,o]=(0,r.useState)("light"),i=(0,r.useCallback)(()=>window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[]),n=(0,r.useCallback)(e=>"system"===e?i():e,[i]),l=(0,r.useCallback)(e=>{if("u"<typeof document)return;let t=document.documentElement;t.classList.remove("light","dark"),t.classList.add(e),o(e)},[]),s=(0,r.useCallback)(e=>{t(e),"u">typeof localStorage&&localStorage.setItem(eJ,e),l(n(e))},[n,l]);return(0,r.useEffect)(()=>{let e=localStorage.getItem(eJ)??"system";t(e),l(n(e))},[n,l]),(0,r.useEffect)(()=>{let t=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{"system"===e&&l(n("system"))};return t.addEventListener("change",r),()=>t.removeEventListener("change",r)},[e,n,l]),{theme:e,resolvedTheme:a,setTheme:s}}(),i=(0,ez.useSoundAction)("toggle-on"),n=(0,ez.useSoundAction)("toggle-off");return(0,t.jsxs)(d.Button,{variant:"ghost",size:"icon",onClick:t=>{let r="system"===e?"dark"===a?"light":"dark":"dark"===e?"light":"dark";"dark"!==("system"===e?a:e)?i.play():n.play();let l=window.matchMedia("(prefers-reduced-motion: reduce)").matches;!document.startViewTransition||l?o(r):(document.documentElement.style.setProperty("--x",`${t.clientX}px`),document.documentElement.style.setProperty("--y",`${t.clientY}px`),document.startViewTransition(()=>{o(r)}))},"aria-label":`Switch to ${"dark"===a?"light":"dark"} mode`,children:[(0,t.jsx)(eG,{className:"h-5 w-5 scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90"}),(0,t.jsx)(eK,{className:"absolute h-5 w-5 scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}let e0=(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"}]]),e2=(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 e1=e.i(73709);function e4(){let{enabled:e,toggle:r}=(0,e1.useSoundEnabled)();return(0,t.jsxs)(d.Button,{variant:"ghost",size:"icon",onClick:r,"aria-label":e?"Mute sounds":"Unmute sounds",children:[e?(0,t.jsx)(e0,{className:"h-5 w-5"}):(0,t.jsx)(e2,{className:"h-5 w-5"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle sound"})]})}var e3=e.i(39443),e5=e.i(30153),e7=e.i(5147),e6=e.i(60112),e8=e.i(17406);let e9={[e8.NotificationSeverity.Success]:"success",[e8.NotificationSeverity.Error]:"error",[e8.NotificationSeverity.Warning]:"warning",[e8.NotificationSeverity.Info]:"info"},te={[e8.NotificationSeverity.Success]:"notification-success",[e8.NotificationSeverity.Error]:"notification-error",[e8.NotificationSeverity.Warning]:"notification-warning",[e8.NotificationSeverity.Info]:"notification-info"};var tt=e.i(75921);function tr({children:e}){let o=(0,a.useRouter)(),{guardedNavigate:i}=(0,e5.useDrawerCloseGuard)(),n=(0,tt.useFeatureFlags)();!function(){let e=(0,a.useRouter)(),{events:t}=(0,e3.useAgentEventsContext)(),o=(0,ez.useSoundAction)("notification-success"),i=(0,ez.useSoundAction)("notification-error"),n=(0,ez.useSoundAction)("notification-warning"),l=(0,ez.useSoundAction)("notification-info"),s=(0,r.useMemo)(()=>({"notification-success":o,"notification-error":i,"notification-warning":n,"notification-info":l}),[o,i,n,l]),d=(0,r.useRef)(0);(0,r.useEffect)(()=>{if(t.length<=d.current)return;let r=t.slice(d.current);for(let a of(d.current=t.length,r)){if(a.severity!==e8.NotificationSeverity.Error&&a.severity!==e8.NotificationSeverity.Warning&&a.severity!==e8.NotificationSeverity.Success)continue;!function(e,t){let r=e9[e.severity]??"info",a=e.eventType===e8.NotificationEventType.WaitingApproval;e6.toast[r](e.featureName,{description:e.message,...a&&t&&{action:{label:"Review",onClick:()=>{t(`/feature/${e.featureId}`)}}}})}(a,t=>e.push(t));let t=te[a.severity];s[t]?.play()}},[t,s,e])}();let{features:l}=(0,e7.useSidebarFeaturesContext)(),s=(0,r.useCallback)(()=>{i(()=>o.push("/create"))},[o,i]),d=(0,r.useCallback)(e=>{i(()=>o.push(`/feature/${e}`))},[o,i]),c=(0,r.useCallback)(e=>{window.dispatchEvent(new CustomEvent("shep:add-repository",{detail:{path:e}}))},[]);return(0,t.jsxs)(y,{children:[(0,t.jsx)(eY,{features:l,featureFlags:n,onNewFeature:s,onFeatureClick:d}),(0,t.jsx)(k,{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)(eZ,{onSelect:c}),(0,t.jsx)(e4,{}),(0,t.jsx)(eQ,{})]}),(0,t.jsx)("main",{className:"h-full",children:e})]})})]})}function ta({children:e}){return(0,t.jsx)(e3.AgentEventsProvider,{children:(0,t.jsx)(e5.DrawerCloseGuardProvider,{children:(0,t.jsx)(e7.SidebarFeaturesProvider,{children:(0,t.jsx)(tr,{children:e})})})})}e.s(["AppShell",()=>ta],87292)},25251,e=>{"use strict";var t=e.i(20314),r=e.i(60112);let a=({...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",()=>a])}]);