@shepai/cli 1.155.0-pr485.4c45fca → 1.155.0-pr486.e53674d

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 (537) hide show
  1. package/apis/json-schema/UserProfile.yaml +0 -3
  2. package/dist/packages/core/src/domain/generated/output.d.ts +0 -14
  3. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  4. package/dist/packages/core/src/domain/generated/output.js +0 -11
  5. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +0 -1
  6. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  7. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +2 -4
  8. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  9. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +2 -3
  10. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.d.ts.map +1 -1
  11. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.js +1 -3
  12. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/claude-code.json +4 -3
  13. package/dist/src/presentation/cli/commands/_serve.command.d.ts.map +1 -1
  14. package/dist/src/presentation/cli/commands/_serve.command.js +3 -5
  15. package/dist/src/presentation/cli/commands/agent/approve.command.d.ts.map +1 -1
  16. package/dist/src/presentation/cli/commands/agent/approve.command.js +4 -9
  17. package/dist/src/presentation/cli/commands/agent/delete.command.d.ts.map +1 -1
  18. package/dist/src/presentation/cli/commands/agent/delete.command.js +5 -9
  19. package/dist/src/presentation/cli/commands/agent/index.d.ts.map +1 -1
  20. package/dist/src/presentation/cli/commands/agent/index.js +1 -3
  21. package/dist/src/presentation/cli/commands/agent/logs.command.d.ts.map +1 -1
  22. package/dist/src/presentation/cli/commands/agent/logs.command.js +5 -7
  23. package/dist/src/presentation/cli/commands/agent/ls.command.d.ts.map +1 -1
  24. package/dist/src/presentation/cli/commands/agent/ls.command.js +10 -12
  25. package/dist/src/presentation/cli/commands/agent/reject.command.d.ts.map +1 -1
  26. package/dist/src/presentation/cli/commands/agent/reject.command.js +5 -10
  27. package/dist/src/presentation/cli/commands/agent/resolve-run.d.ts.map +1 -1
  28. package/dist/src/presentation/cli/commands/agent/resolve-run.js +2 -7
  29. package/dist/src/presentation/cli/commands/agent/show.command.d.ts.map +1 -1
  30. package/dist/src/presentation/cli/commands/agent/show.command.js +6 -8
  31. package/dist/src/presentation/cli/commands/agent/stop.command.d.ts.map +1 -1
  32. package/dist/src/presentation/cli/commands/agent/stop.command.js +4 -9
  33. package/dist/src/presentation/cli/commands/daemon/start-daemon.d.ts.map +1 -1
  34. package/dist/src/presentation/cli/commands/daemon/start-daemon.js +8 -10
  35. package/dist/src/presentation/cli/commands/daemon/stop-daemon.d.ts.map +1 -1
  36. package/dist/src/presentation/cli/commands/daemon/stop-daemon.js +3 -5
  37. package/dist/src/presentation/cli/commands/feat/adopt.command.d.ts.map +1 -1
  38. package/dist/src/presentation/cli/commands/feat/adopt.command.js +12 -14
  39. package/dist/src/presentation/cli/commands/feat/approve.command.d.ts.map +1 -1
  40. package/dist/src/presentation/cli/commands/feat/approve.command.js +6 -8
  41. package/dist/src/presentation/cli/commands/feat/archive.command.d.ts.map +1 -1
  42. package/dist/src/presentation/cli/commands/feat/archive.command.js +8 -10
  43. package/dist/src/presentation/cli/commands/feat/del.command.d.ts.map +1 -1
  44. package/dist/src/presentation/cli/commands/feat/del.command.js +15 -17
  45. package/dist/src/presentation/cli/commands/feat/index.d.ts.map +1 -1
  46. package/dist/src/presentation/cli/commands/feat/index.js +1 -2
  47. package/dist/src/presentation/cli/commands/feat/logs.command.d.ts.map +1 -1
  48. package/dist/src/presentation/cli/commands/feat/logs.command.js +6 -8
  49. package/dist/src/presentation/cli/commands/feat/ls.command.d.ts.map +1 -1
  50. package/dist/src/presentation/cli/commands/feat/ls.command.js +12 -14
  51. package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
  52. package/dist/src/presentation/cli/commands/feat/new.command.js +37 -43
  53. package/dist/src/presentation/cli/commands/feat/reject.command.d.ts.map +1 -1
  54. package/dist/src/presentation/cli/commands/feat/reject.command.js +9 -11
  55. package/dist/src/presentation/cli/commands/feat/resolve-waiting-feature.d.ts.map +1 -1
  56. package/dist/src/presentation/cli/commands/feat/resolve-waiting-feature.js +5 -12
  57. package/dist/src/presentation/cli/commands/feat/resume.command.d.ts.map +1 -1
  58. package/dist/src/presentation/cli/commands/feat/resume.command.js +6 -8
  59. package/dist/src/presentation/cli/commands/feat/review.command.d.ts.map +1 -1
  60. package/dist/src/presentation/cli/commands/feat/review.command.js +15 -17
  61. package/dist/src/presentation/cli/commands/feat/show.command.d.ts.map +1 -1
  62. package/dist/src/presentation/cli/commands/feat/show.command.js +45 -89
  63. package/dist/src/presentation/cli/commands/feat/start.command.d.ts.map +1 -1
  64. package/dist/src/presentation/cli/commands/feat/start.command.js +10 -12
  65. package/dist/src/presentation/cli/commands/feat/unarchive.command.d.ts.map +1 -1
  66. package/dist/src/presentation/cli/commands/feat/unarchive.command.js +6 -8
  67. package/dist/src/presentation/cli/commands/ide-open.command.d.ts.map +1 -1
  68. package/dist/src/presentation/cli/commands/ide-open.command.js +5 -10
  69. package/dist/src/presentation/cli/commands/install.command.d.ts.map +1 -1
  70. package/dist/src/presentation/cli/commands/install.command.js +21 -29
  71. package/dist/src/presentation/cli/commands/log-viewer.d.ts.map +1 -1
  72. package/dist/src/presentation/cli/commands/log-viewer.js +3 -6
  73. package/dist/src/presentation/cli/commands/repo/add.command.d.ts.map +1 -1
  74. package/dist/src/presentation/cli/commands/repo/add.command.js +10 -12
  75. package/dist/src/presentation/cli/commands/repo/index.d.ts.map +1 -1
  76. package/dist/src/presentation/cli/commands/repo/index.js +1 -3
  77. package/dist/src/presentation/cli/commands/repo/ls.command.d.ts.map +1 -1
  78. package/dist/src/presentation/cli/commands/repo/ls.command.js +9 -11
  79. package/dist/src/presentation/cli/commands/repo/resolve-repository.d.ts.map +1 -1
  80. package/dist/src/presentation/cli/commands/repo/resolve-repository.js +2 -7
  81. package/dist/src/presentation/cli/commands/repo/show.command.d.ts.map +1 -1
  82. package/dist/src/presentation/cli/commands/repo/show.command.js +10 -21
  83. package/dist/src/presentation/cli/commands/restart.command.d.ts.map +1 -1
  84. package/dist/src/presentation/cli/commands/restart.command.js +4 -6
  85. package/dist/src/presentation/cli/commands/run.command.d.ts.map +1 -1
  86. package/dist/src/presentation/cli/commands/run.command.js +17 -21
  87. package/dist/src/presentation/cli/commands/session/index.d.ts.map +1 -1
  88. package/dist/src/presentation/cli/commands/session/index.js +1 -3
  89. package/dist/src/presentation/cli/commands/session/ls.command.d.ts.map +1 -1
  90. package/dist/src/presentation/cli/commands/session/ls.command.js +9 -11
  91. package/dist/src/presentation/cli/commands/session/show.command.d.ts.map +1 -1
  92. package/dist/src/presentation/cli/commands/session/show.command.js +18 -26
  93. package/dist/src/presentation/cli/commands/settings/agent.command.d.ts.map +1 -1
  94. package/dist/src/presentation/cli/commands/settings/agent.command.js +8 -12
  95. package/dist/src/presentation/cli/commands/settings/ide.command.d.ts.map +1 -1
  96. package/dist/src/presentation/cli/commands/settings/ide.command.js +7 -13
  97. package/dist/src/presentation/cli/commands/settings/index.d.ts +0 -1
  98. package/dist/src/presentation/cli/commands/settings/index.d.ts.map +1 -1
  99. package/dist/src/presentation/cli/commands/settings/index.js +3 -7
  100. package/dist/src/presentation/cli/commands/settings/init.command.d.ts.map +1 -1
  101. package/dist/src/presentation/cli/commands/settings/init.command.js +7 -8
  102. package/dist/src/presentation/cli/commands/settings/model.command.d.ts.map +1 -1
  103. package/dist/src/presentation/cli/commands/settings/model.command.js +6 -7
  104. package/dist/src/presentation/cli/commands/settings/show.command.d.ts.map +1 -1
  105. package/dist/src/presentation/cli/commands/settings/show.command.js +3 -4
  106. package/dist/src/presentation/cli/commands/settings/workflow.command.d.ts.map +1 -1
  107. package/dist/src/presentation/cli/commands/settings/workflow.command.js +18 -20
  108. package/dist/src/presentation/cli/commands/start.command.d.ts.map +1 -1
  109. package/dist/src/presentation/cli/commands/start.command.js +3 -5
  110. package/dist/src/presentation/cli/commands/status.command.d.ts.map +1 -1
  111. package/dist/src/presentation/cli/commands/status.command.js +24 -32
  112. package/dist/src/presentation/cli/commands/stop.command.d.ts.map +1 -1
  113. package/dist/src/presentation/cli/commands/stop.command.js +2 -4
  114. package/dist/src/presentation/cli/commands/tools.command.d.ts.map +1 -1
  115. package/dist/src/presentation/cli/commands/tools.command.js +4 -8
  116. package/dist/src/presentation/cli/commands/ui.command.d.ts.map +1 -1
  117. package/dist/src/presentation/cli/commands/ui.command.js +10 -12
  118. package/dist/src/presentation/cli/commands/upgrade.command.d.ts.map +1 -1
  119. package/dist/src/presentation/cli/commands/upgrade.command.js +13 -18
  120. package/dist/src/presentation/cli/commands/version.command.d.ts.map +1 -1
  121. package/dist/src/presentation/cli/commands/version.command.js +3 -5
  122. package/dist/src/presentation/cli/index.js +1 -13
  123. package/dist/src/presentation/cli/ui/install-messages.d.ts.map +1 -1
  124. package/dist/src/presentation/cli/ui/install-messages.js +6 -16
  125. package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts +31 -13
  126. package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts.map +1 -1
  127. package/dist/src/presentation/tui/prompts/agent-select.prompt.js +15 -17
  128. package/dist/src/presentation/tui/prompts/auth-method.prompt.d.ts +11 -7
  129. package/dist/src/presentation/tui/prompts/auth-method.prompt.d.ts.map +1 -1
  130. package/dist/src/presentation/tui/prompts/auth-method.prompt.js +5 -7
  131. package/dist/src/presentation/tui/prompts/ide-select.prompt.d.ts.map +1 -1
  132. package/dist/src/presentation/tui/prompts/ide-select.prompt.js +1 -2
  133. package/dist/src/presentation/tui/prompts/prd-review-summary.prompt.d.ts.map +1 -1
  134. package/dist/src/presentation/tui/prompts/prd-review-summary.prompt.js +6 -8
  135. package/dist/src/presentation/tui/wizards/agent-config.wizard.d.ts.map +1 -1
  136. package/dist/src/presentation/tui/wizards/agent-config.wizard.js +1 -2
  137. package/dist/src/presentation/tui/wizards/github-import.wizard.d.ts.map +1 -1
  138. package/dist/src/presentation/tui/wizards/github-import.wizard.js +11 -15
  139. package/dist/src/presentation/tui/wizards/merge-review.wizard.d.ts.map +1 -1
  140. package/dist/src/presentation/tui/wizards/merge-review.wizard.js +8 -10
  141. package/dist/src/presentation/tui/wizards/onboarding/onboarding.wizard.d.ts.map +1 -1
  142. package/dist/src/presentation/tui/wizards/onboarding/onboarding.wizard.js +7 -10
  143. package/dist/src/presentation/tui/wizards/onboarding/steps/workflow-defaults.step.d.ts +41 -0
  144. package/dist/src/presentation/tui/wizards/onboarding/steps/workflow-defaults.step.d.ts.map +1 -1
  145. package/dist/src/presentation/tui/wizards/onboarding/steps/workflow-defaults.step.js +15 -15
  146. package/dist/src/presentation/tui/wizards/plan-review.wizard.d.ts.map +1 -1
  147. package/dist/src/presentation/tui/wizards/plan-review.wizard.js +8 -10
  148. package/dist/src/presentation/tui/wizards/prd-review.wizard.d.ts.map +1 -1
  149. package/dist/src/presentation/tui/wizards/prd-review.wizard.js +2 -3
  150. package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
  151. package/dist/src/presentation/web/app/layout.js +2 -5
  152. package/dist/src/presentation/web/components/assistant-ui/thread.js +5 -5
  153. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.js +1 -1
  154. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +1 -1
  155. package/dist/src/presentation/web/components/common/ci-status-badge/ci-status-badge.js +3 -3
  156. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.js +4 -4
  157. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.js +1 -1
  158. package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.d.ts.map +1 -1
  159. package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.js +1 -3
  160. package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.js +2 -2
  161. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.js +2 -2
  162. package/dist/src/presentation/web/components/common/empty-state/empty-state.stories.js +2 -2
  163. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +2 -2
  164. package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.js +4 -4
  165. package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.js +1 -1
  166. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +1 -1
  167. package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.js +1 -1
  168. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.js +1 -1
  169. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.js +1 -1
  170. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +2 -2
  171. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  172. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +22 -22
  173. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +4 -4
  174. package/dist/src/presentation/web/components/common/feature-node/feature-sessions-dropdown.js +1 -1
  175. package/dist/src/presentation/web/components/common/feature-status-group/feature-status-group.js +1 -1
  176. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.js +1 -1
  177. package/dist/src/presentation/web/components/common/merge-review/diff-view.js +2 -2
  178. package/dist/src/presentation/web/components/common/merge-review/merge-review.js +2 -2
  179. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.js +3 -3
  180. package/dist/src/presentation/web/components/common/reject-feedback-dialog/reject-feedback-dialog.d.ts.map +1 -1
  181. package/dist/src/presentation/web/components/common/reject-feedback-dialog/reject-feedback-dialog.js +4 -6
  182. package/dist/src/presentation/web/components/common/repository-node/repository-node.js +3 -3
  183. package/dist/src/presentation/web/components/common/server-log-viewer/server-log-viewer.js +1 -1
  184. package/dist/src/presentation/web/components/common/task-progress-view/task-progress-view.js +2 -2
  185. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.js +2 -2
  186. package/dist/src/presentation/web/components/common/version-badge/version-badge.js +1 -1
  187. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.js +4 -4
  188. package/dist/src/presentation/web/components/features/chat/ChatMessageList.js +1 -1
  189. package/dist/src/presentation/web/components/features/chat/ChatTab.js +1 -1
  190. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.d.ts.map +1 -1
  191. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.js +11 -15
  192. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.d.ts.map +1 -1
  193. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.js +6 -8
  194. package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.d.ts.map +1 -1
  195. package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.js +1 -3
  196. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
  197. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +2 -4
  198. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +2 -2
  199. package/dist/src/presentation/web/components/features/settings/ModelPicker/index.js +2 -2
  200. package/dist/src/presentation/web/components/features/settings/agent-settings-section.js +1 -1
  201. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  202. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +77 -89
  203. package/dist/src/presentation/web/components/features/settings/timeout-slider.js +1 -1
  204. package/dist/src/presentation/web/components/features/skills/category-filter.js +1 -1
  205. package/dist/src/presentation/web/components/features/skills/skills-page-client.js +1 -1
  206. package/dist/src/presentation/web/components/features/tools/tool-card.js +1 -1
  207. package/dist/src/presentation/web/components/features/tools/tool-detail-drawer.js +2 -2
  208. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  209. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +4 -10
  210. package/dist/src/presentation/web/components/ui/alert-dialog.js +1 -1
  211. package/dist/src/presentation/web/components/ui/alert.js +1 -1
  212. package/dist/src/presentation/web/components/ui/checkbox-group.js +1 -1
  213. package/dist/src/presentation/web/components/ui/command.js +1 -1
  214. package/dist/src/presentation/web/components/ui/dialog.d.ts.map +1 -1
  215. package/dist/src/presentation/web/components/ui/dialog.js +2 -2
  216. package/dist/src/presentation/web/components/ui/dialog.stories.js +1 -1
  217. package/dist/src/presentation/web/components/ui/drawer.js +1 -1
  218. package/dist/src/presentation/web/components/ui/dropdown-menu.js +6 -6
  219. package/dist/src/presentation/web/components/ui/scroll-area.js +1 -1
  220. package/dist/src/presentation/web/components/ui/select.js +1 -1
  221. package/dist/src/presentation/web/components/ui/sheet.js +1 -1
  222. package/dist/src/presentation/web/components/ui/sidebar.js +6 -6
  223. package/dist/src/presentation/web/hooks/use-sound-action.stories.js +1 -1
  224. package/dist/tsconfig.build.tsbuildinfo +1 -1
  225. package/package.json +2 -4
  226. package/web/.next/BUILD_ID +1 -1
  227. package/web/.next/build-manifest.json +2 -2
  228. package/web/.next/fallback-build-manifest.json +2 -2
  229. package/web/.next/prerender-manifest.json +3 -3
  230. package/web/.next/required-server-files.js +1 -1
  231. package/web/.next/required-server-files.json +1 -1
  232. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +28 -28
  233. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +3 -3
  234. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  235. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  236. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +26 -26
  237. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +3 -3
  238. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  239. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  240. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +29 -29
  241. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +3 -3
  242. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  243. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  244. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
  245. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +4 -4
  246. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  247. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  248. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +36 -36
  249. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +4 -4
  250. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  251. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  252. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +26 -26
  253. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +3 -3
  254. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  255. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  256. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
  257. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +3 -3
  258. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  259. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  260. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +26 -26
  261. package/web/.next/server/app/(dashboard)/chat/page.js +3 -3
  262. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  263. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  264. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +29 -29
  265. package/web/.next/server/app/(dashboard)/create/page.js +3 -3
  266. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  267. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  268. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
  269. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +4 -4
  270. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  271. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  272. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +36 -36
  273. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +4 -4
  274. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  275. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  276. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +26 -26
  277. package/web/.next/server/app/(dashboard)/page.js +3 -3
  278. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  279. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  280. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +26 -26
  281. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +3 -3
  282. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  283. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  284. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
  285. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +3 -3
  286. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  287. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  288. package/web/.next/server/app/_global-error.html +2 -2
  289. package/web/.next/server/app/_global-error.rsc +1 -1
  290. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  291. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  292. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  293. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  294. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  295. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +5 -5
  296. package/web/.next/server/app/_not-found/page.js +2 -2
  297. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  298. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  299. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  300. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  301. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  302. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  303. package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
  304. package/web/.next/server/app/settings/page.js +2 -2
  305. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  306. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  307. package/web/.next/server/app/skills/page/server-reference-manifest.json +10 -10
  308. package/web/.next/server/app/skills/page.js +4 -3
  309. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  310. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  311. package/web/.next/server/app/tools/page/server-reference-manifest.json +10 -10
  312. package/web/.next/server/app/tools/page.js +4 -3
  313. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  314. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  315. package/web/.next/server/app/version/page/server-reference-manifest.json +5 -5
  316. package/web/.next/server/app/version/page.js +2 -2
  317. package/web/.next/server/app/version/page.js.nft.json +1 -1
  318. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  319. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  320. package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js +1 -1
  321. package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js.map +1 -1
  322. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  323. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  324. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  325. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  326. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  327. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  328. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js +3 -0
  329. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js.map +1 -0
  330. package/web/.next/server/chunks/ssr/{[root-of-the-server]__27301e38._.js → [root-of-the-server]__17ed7ed1._.js} +2 -2
  331. package/web/.next/server/chunks/ssr/{[root-of-the-server]__27301e38._.js.map → [root-of-the-server]__17ed7ed1._.js.map} +1 -1
  332. package/web/.next/server/chunks/ssr/{[root-of-the-server]__8d27866c._.js → [root-of-the-server]__28d0d265._.js} +3 -3
  333. package/web/.next/server/chunks/ssr/[root-of-the-server]__28d0d265._.js.map +1 -0
  334. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  335. package/web/.next/server/chunks/ssr/{[root-of-the-server]__6fecf886._.js → [root-of-the-server]__42bf1807._.js} +2 -2
  336. package/web/.next/server/chunks/ssr/{[root-of-the-server]__6fecf886._.js.map → [root-of-the-server]__42bf1807._.js.map} +1 -1
  337. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js +1 -1
  338. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js.map +1 -1
  339. package/web/.next/server/chunks/ssr/[root-of-the-server]__5edfc56b._.js +1 -1
  340. package/web/.next/server/chunks/ssr/{[root-of-the-server]__209c9597._.js → [root-of-the-server]__88f7e8e6._.js} +2 -2
  341. package/web/.next/server/chunks/ssr/{[root-of-the-server]__209c9597._.js.map → [root-of-the-server]__88f7e8e6._.js.map} +1 -1
  342. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js +1 -1
  343. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js +1 -1
  344. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js.map +1 -1
  345. package/web/.next/server/chunks/ssr/[root-of-the-server]__e91ffd5e._.js +2 -2
  346. package/web/.next/server/chunks/ssr/[root-of-the-server]__e91ffd5e._.js.map +1 -1
  347. package/web/.next/server/chunks/ssr/{[root-of-the-server]__9f3504c7._.js → [root-of-the-server]__f80bfc75._.js} +2 -2
  348. package/web/.next/server/chunks/ssr/{[root-of-the-server]__9f3504c7._.js.map → [root-of-the-server]__f80bfc75._.js.map} +1 -1
  349. package/web/.next/server/chunks/ssr/{[root-of-the-server]__25ee8d4c._.js → [root-of-the-server]__f8dd4422._.js} +2 -2
  350. package/web/.next/server/chunks/ssr/[root-of-the-server]__f8dd4422._.js.map +1 -0
  351. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  352. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  353. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  354. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  355. package/web/.next/server/chunks/ssr/_3a0b989f._.js +2 -2
  356. package/web/.next/server/chunks/ssr/_3a0b989f._.js.map +1 -1
  357. package/web/.next/server/chunks/ssr/_41633e32._.js +3 -0
  358. package/web/.next/server/chunks/ssr/{_28e7429c._.js.map → _41633e32._.js.map} +1 -1
  359. package/web/.next/server/chunks/ssr/_4b432739._.js +3 -0
  360. package/web/.next/server/chunks/ssr/_4b432739._.js.map +1 -0
  361. package/web/.next/server/chunks/ssr/{_b9ba2473._.js → _507a8382._.js} +2 -2
  362. package/web/.next/server/chunks/ssr/_507a8382._.js.map +1 -0
  363. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  364. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  365. package/web/.next/server/chunks/ssr/{_7773b2dc._.js → _59d0f988._.js} +2 -2
  366. package/web/.next/server/chunks/ssr/{_7773b2dc._.js.map → _59d0f988._.js.map} +1 -1
  367. package/web/.next/server/chunks/ssr/_5f69c13f._.js +1 -1
  368. package/web/.next/server/chunks/ssr/_5f69c13f._.js.map +1 -1
  369. package/web/.next/server/chunks/ssr/{_3bcda5d7._.js → _67104d9e._.js} +2 -2
  370. package/web/.next/server/chunks/ssr/{_3bcda5d7._.js.map → _67104d9e._.js.map} +1 -1
  371. package/web/.next/server/chunks/ssr/_7c5b97c6._.js +1 -1
  372. package/web/.next/server/chunks/ssr/_7c5b97c6._.js.map +1 -1
  373. package/web/.next/server/chunks/ssr/_813095ef._.js +4 -0
  374. package/web/.next/server/chunks/ssr/_813095ef._.js.map +1 -0
  375. package/web/.next/server/chunks/ssr/_8219712a._.js +3 -0
  376. package/web/.next/server/chunks/ssr/_8219712a._.js.map +1 -0
  377. package/web/.next/server/chunks/ssr/_82c57f10._.js +1 -1
  378. package/web/.next/server/chunks/ssr/_82c57f10._.js.map +1 -1
  379. package/web/.next/server/chunks/ssr/_8b57edb8._.js +1 -1
  380. package/web/.next/server/chunks/ssr/_8b57edb8._.js.map +1 -1
  381. package/web/.next/server/chunks/ssr/_9495d50b._.js +1 -1
  382. package/web/.next/server/chunks/ssr/_9495d50b._.js.map +1 -1
  383. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js +1 -1
  384. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js.map +1 -1
  385. package/web/.next/server/chunks/ssr/_ac4a3873._.js +1 -1
  386. package/web/.next/server/chunks/ssr/_ac4a3873._.js.map +1 -1
  387. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js +1 -1
  388. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js.map +1 -1
  389. package/web/.next/server/chunks/ssr/_cb5a021e._.js +1 -1
  390. package/web/.next/server/chunks/ssr/_cb5a021e._.js.map +1 -1
  391. package/web/.next/server/chunks/ssr/_cfbd1d7e._.js +1 -1
  392. package/web/.next/server/chunks/ssr/_cfbd1d7e._.js.map +1 -1
  393. package/web/.next/server/chunks/ssr/_d4b20e29._.js +1 -1
  394. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
  395. package/web/.next/server/chunks/ssr/_d86175ae._.js +1 -1
  396. package/web/.next/server/chunks/ssr/_d86175ae._.js.map +1 -1
  397. package/web/.next/server/chunks/ssr/_d8bedf13._.js +1 -1
  398. package/web/.next/server/chunks/ssr/_d8bedf13._.js.map +1 -1
  399. package/web/.next/server/chunks/ssr/_e9a73a63._.js +9 -0
  400. package/web/.next/server/chunks/ssr/_e9a73a63._.js.map +1 -0
  401. package/web/.next/server/chunks/ssr/_fa7efce3._.js +2 -2
  402. package/web/.next/server/chunks/ssr/_fa7efce3._.js.map +1 -1
  403. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  404. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  405. package/web/.next/server/chunks/ssr/src_presentation_web_324a47da._.js +1 -1
  406. package/web/.next/server/chunks/ssr/src_presentation_web_324a47da._.js.map +1 -1
  407. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js +3 -0
  408. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js.map +1 -0
  409. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js +3 -0
  410. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js.map +1 -0
  411. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  412. package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js +3 -0
  413. package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js.map +1 -0
  414. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  415. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  416. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +1 -1
  417. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js.map +1 -1
  418. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js.map +1 -1
  419. package/web/.next/server/pages/500.html +2 -2
  420. package/web/.next/server/server-reference-manifest.js +1 -1
  421. package/web/.next/server/server-reference-manifest.json +45 -45
  422. package/web/.next/static/chunks/{47477ed4c5871747.js → 11091b676d1b3bd4.js} +1 -1
  423. package/web/.next/static/chunks/125b250c28113507.js +1 -0
  424. package/web/.next/static/chunks/{74db65fa7bfb80bd.js → 22c459f1877b1e4f.js} +1 -1
  425. package/web/.next/static/chunks/2817c3b9d560aaeb.js +1 -0
  426. package/web/.next/static/chunks/{24d5e151f7de6b4c.js → 42e9d0c76e624005.js} +1 -1
  427. package/web/.next/static/chunks/{e4e358c4f67366fd.js → 4b2c4a5c35ebb70d.js} +1 -1
  428. package/web/.next/static/chunks/{d6e702c209c413ce.js → 5ae60a052ab5f437.js} +2 -2
  429. package/web/.next/static/chunks/{3deefc76ea55047c.js → 688971d5bad5dc7c.js} +1 -1
  430. package/web/.next/static/chunks/{1c07a9270515f2e3.js → 6e6cd6218f76e404.js} +2 -2
  431. package/web/.next/static/chunks/7a1a68bdc20f0428.js +1 -0
  432. package/web/.next/static/chunks/8590bd2e69b24b9e.css +1 -0
  433. package/web/.next/static/chunks/{536afd754a63da39.js → 902c670cb337840c.js} +1 -1
  434. package/web/.next/static/chunks/{4978be67c4e6498f.js → a676d236e8214de3.js} +3 -3
  435. package/web/.next/static/chunks/a7c1cddd7d406fb8.js +7 -0
  436. package/web/.next/static/chunks/b3be394b3cc24151.js +1 -0
  437. package/web/.next/static/chunks/b4080e40597d7f8e.js +1 -0
  438. package/web/.next/static/chunks/{bfdb66301af07da1.js → b4cde06eff374c59.js} +2 -2
  439. package/web/.next/static/chunks/cd54b758f58061d0.js +1 -0
  440. package/web/.next/static/chunks/da980f1c277bafcb.js +2 -0
  441. package/web/.next/static/chunks/{b674bc11b321a5ee.js → ea823175bb410162.js} +1 -1
  442. package/apis/json-schema/Language.yaml +0 -13
  443. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-language-preference.d.ts +0 -14
  444. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-language-preference.d.ts.map +0 -1
  445. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-language-preference.js +0 -19
  446. package/dist/src/presentation/cli/commands/settings/language.command.d.ts +0 -14
  447. package/dist/src/presentation/cli/commands/settings/language.command.d.ts.map +0 -1
  448. package/dist/src/presentation/cli/commands/settings/language.command.js +0 -79
  449. package/dist/src/presentation/cli/i18n.d.ts +0 -41
  450. package/dist/src/presentation/cli/i18n.d.ts.map +0 -1
  451. package/dist/src/presentation/cli/i18n.js +0 -100
  452. package/dist/src/presentation/tui/i18n.d.ts +0 -24
  453. package/dist/src/presentation/tui/i18n.d.ts.map +0 -1
  454. package/dist/src/presentation/tui/i18n.js +0 -48
  455. package/dist/src/presentation/web/components/features/settings/language-settings-section.d.ts +0 -5
  456. package/dist/src/presentation/web/components/features/settings/language-settings-section.d.ts.map +0 -1
  457. package/dist/src/presentation/web/components/features/settings/language-settings-section.js +0 -54
  458. package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.d.ts +0 -18
  459. package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.d.ts.map +0 -1
  460. package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.js +0 -36
  461. package/dist/src/presentation/web/components/providers/i18n-provider.d.ts +0 -17
  462. package/dist/src/presentation/web/components/providers/i18n-provider.d.ts.map +0 -1
  463. package/dist/src/presentation/web/components/providers/i18n-provider.js +0 -36
  464. package/dist/src/presentation/web/lib/i18n.d.ts +0 -15
  465. package/dist/src/presentation/web/lib/i18n.d.ts.map +0 -1
  466. package/dist/src/presentation/web/lib/i18n.js +0 -46
  467. package/dist/src/presentation/web/lib/language.d.ts +0 -23
  468. package/dist/src/presentation/web/lib/language.d.ts.map +0 -1
  469. package/dist/src/presentation/web/lib/language.js +0 -37
  470. package/dist/src/presentation/web/lib/rtl-fonts.d.ts +0 -19
  471. package/dist/src/presentation/web/lib/rtl-fonts.d.ts.map +0 -1
  472. package/dist/src/presentation/web/lib/rtl-fonts.js +0 -51
  473. package/dist/translations/ar/cli.json +0 -613
  474. package/dist/translations/ar/common.json +0 -55
  475. package/dist/translations/ar/tui.json +0 -130
  476. package/dist/translations/ar/web.json +0 -320
  477. package/dist/translations/de/cli.json +0 -613
  478. package/dist/translations/de/common.json +0 -55
  479. package/dist/translations/de/tui.json +0 -109
  480. package/dist/translations/de/web.json +0 -306
  481. package/dist/translations/en/cli.json +0 -613
  482. package/dist/translations/en/common.json +0 -55
  483. package/dist/translations/en/tui.json +0 -130
  484. package/dist/translations/en/web.json +0 -320
  485. package/dist/translations/es/cli.json +0 -613
  486. package/dist/translations/es/common.json +0 -55
  487. package/dist/translations/es/tui.json +0 -130
  488. package/dist/translations/es/web.json +0 -320
  489. package/dist/translations/fr/cli.json +0 -613
  490. package/dist/translations/fr/common.json +0 -55
  491. package/dist/translations/fr/tui.json +0 -130
  492. package/dist/translations/fr/web.json +0 -320
  493. package/dist/translations/he/cli.json +0 -613
  494. package/dist/translations/he/common.json +0 -55
  495. package/dist/translations/he/tui.json +0 -130
  496. package/dist/translations/he/web.json +0 -320
  497. package/dist/translations/pt/cli.json +0 -613
  498. package/dist/translations/pt/common.json +0 -55
  499. package/dist/translations/pt/tui.json +0 -130
  500. package/dist/translations/pt/web.json +0 -320
  501. package/dist/translations/ru/cli.json +0 -613
  502. package/dist/translations/ru/common.json +0 -55
  503. package/dist/translations/ru/tui.json +0 -130
  504. package/dist/translations/ru/web.json +0 -320
  505. package/web/.next/server/chunks/ssr/[root-of-the-server]__25ee8d4c._.js.map +0 -1
  506. package/web/.next/server/chunks/ssr/[root-of-the-server]__8d27866c._.js.map +0 -1
  507. package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js +0 -4
  508. package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js.map +0 -1
  509. package/web/.next/server/chunks/ssr/[root-of-the-server]__dffa13c5._.js +0 -3
  510. package/web/.next/server/chunks/ssr/[root-of-the-server]__dffa13c5._.js.map +0 -1
  511. package/web/.next/server/chunks/ssr/_0cd9ca53._.js +0 -3
  512. package/web/.next/server/chunks/ssr/_0cd9ca53._.js.map +0 -1
  513. package/web/.next/server/chunks/ssr/_28e7429c._.js +0 -3
  514. package/web/.next/server/chunks/ssr/_470e90f4._.js +0 -9
  515. package/web/.next/server/chunks/ssr/_470e90f4._.js.map +0 -1
  516. package/web/.next/server/chunks/ssr/_5bfcc8de._.js +0 -4
  517. package/web/.next/server/chunks/ssr/_5bfcc8de._.js.map +0 -1
  518. package/web/.next/server/chunks/ssr/_b9ba2473._.js.map +0 -1
  519. package/web/.next/server/chunks/ssr/_d90b0a06._.js +0 -3
  520. package/web/.next/server/chunks/ssr/_d90b0a06._.js.map +0 -1
  521. package/web/.next/server/chunks/ssr/node_modules__pnpm_55cf6695._.js +0 -3
  522. package/web/.next/server/chunks/ssr/node_modules__pnpm_55cf6695._.js.map +0 -1
  523. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +0 -3
  524. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +0 -1
  525. package/web/.next/static/chunks/05c9ed792a1d9056.js +0 -1
  526. package/web/.next/static/chunks/2aada437f51df3e6.js +0 -1
  527. package/web/.next/static/chunks/2eeee9bcbf660a4b.js +0 -1
  528. package/web/.next/static/chunks/4a399ee2a9942a1b.js +0 -1
  529. package/web/.next/static/chunks/70390bd89521bc19.js +0 -1
  530. package/web/.next/static/chunks/8fd082719935d5e6.js +0 -1
  531. package/web/.next/static/chunks/91927044df8e28bb.js +0 -7
  532. package/web/.next/static/chunks/b1b5b0bf84caabd4.js +0 -1
  533. package/web/.next/static/chunks/b68b16b4c3528979.js +0 -2
  534. package/web/.next/static/chunks/d58e68d03d055a9b.css +0 -1
  535. /package/web/.next/static/{Uqo91vsr2HsZrCKrZOYMZ → _5yY0q7bqEA7bwlEo729P}/_buildManifest.js +0 -0
  536. /package/web/.next/static/{Uqo91vsr2HsZrCKrZOYMZ → _5yY0q7bqEA7bwlEo729P}/_clientMiddlewareManifest.json +0 -0
  537. /package/web/.next/static/{Uqo91vsr2HsZrCKrZOYMZ → _5yY0q7bqEA7bwlEo729P}/_ssgManifest.js +0 -0
@@ -82,14 +82,14 @@ export function ToolDetailDrawer({ tool, open, onClose, onRefresh, autoStart, })
82
82
  void onRefresh();
83
83
  }
84
84
  }, [status, onRefresh]);
85
- const header = (_jsxs("div", { className: "flex flex-col gap-1.5 pe-6", children: [_jsxs("div", { className: "flex items-center gap-2", children: [tool.iconUrl ? (
85
+ const header = (_jsxs("div", { className: "flex flex-col gap-1.5 pr-6", children: [_jsxs("div", { className: "flex items-center gap-2", children: [tool.iconUrl ? (
86
86
  /* eslint-disable-next-line @next/next/no-img-element */
87
87
  _jsx("img", { src: tool.iconUrl, alt: "", width: 24, height: 24, className: "shrink-0 dark:invert" })) : (_jsx(Package, { className: "text-muted-foreground h-6 w-6 shrink-0" })), _jsx("h2", { className: "text-base font-bold", children: tool.name }), _jsx(StatusBadge, { status: tool.status.status })] }), _jsx("div", { className: "flex items-center gap-2", children: tool.tags.map((tag) => {
88
88
  const config = TAG_CONFIG[tag] ?? { label: tag, icon: Monitor };
89
89
  const TagIcon = config.icon;
90
90
  return (_jsxs("span", { className: "text-muted-foreground/70 inline-flex items-center gap-0.5 text-[10px]", children: [_jsx(TagIcon, { className: "h-3 w-3" }), config.label] }, tag));
91
91
  }) })] }));
92
- return (_jsx(BaseDrawer, { open: open, onClose: onClose, size: "md", modal: true, title: tool.name, header: header, "data-testid": "tool-detail-drawer", children: _jsxs("div", { className: "flex flex-1 flex-col gap-4 overflow-y-auto p-4", children: [_jsx("p", { className: "text-muted-foreground text-sm", children: tool.description }), tool.author || tool.platforms ? (_jsxs("div", { className: "flex flex-wrap items-center gap-x-4 gap-y-1 text-xs", children: [tool.author ? (_jsxs("span", { className: "text-muted-foreground", children: ["by", ' ', tool.website ? (_jsx("a", { href: tool.website, target: "_blank", rel: "noopener noreferrer", className: "text-foreground hover:underline", children: tool.author })) : (_jsx("span", { className: "text-foreground", children: tool.author }))] })) : null, tool.platforms && tool.platforms.length > 0 ? (_jsx("span", { className: "text-muted-foreground", children: tool.platforms.map((p) => PLATFORM_LABELS[p] ?? p).join(' · ') })) : null] })) : null, tool.installCommand ? (_jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx("span", { className: "text-muted-foreground text-xs font-semibold tracking-wide uppercase", children: "Install command" }), _jsxs("div", { className: "relative rounded-md bg-zinc-900 text-zinc-100", children: [_jsx("pre", { className: "overflow-x-auto px-3 py-2.5 pe-16 font-mono text-xs leading-relaxed break-all whitespace-pre-wrap", children: _jsx("code", { children: tool.installCommand }) }), _jsxs(Button, { variant: "ghost", size: "sm", className: "absolute top-1.5 right-1.5 h-7 cursor-pointer px-2 text-zinc-400 hover:text-zinc-100", onClick: handleCopy, "aria-label": copied ? 'Copied!' : 'Copy install command', children: [copied ? (_jsx(Check, { className: "h-3.5 w-3.5 text-emerald-500" })) : (_jsx(Copy, { className: "h-3.5 w-3.5" })), _jsx("span", { className: "ms-1 text-[10px]", children: copied ? 'Copied!' : 'Copy' })] })] })] })) : null, _jsxs("div", { className: "flex items-center gap-2", children: [canInstall ? (_jsxs(Button, { size: "sm", onClick: startInstall, disabled: status === 'streaming', "aria-label": `Install ${tool.name}`, className: "cursor-pointer", children: [status === 'streaming' ? (_jsx(Loader2, { className: "me-1.5 h-3.5 w-3.5 animate-spin" })) : (_jsx(Download, { className: "me-1.5 h-3.5 w-3.5" })), status === 'streaming' ? 'Installing...' : 'Install'] })) : null, canLaunch ? (_jsxs(Button, { size: "sm", variant: "outline", onClick: () => void handleLaunch(), disabled: isLaunching, "aria-label": `Launch ${tool.name}`, className: "cursor-pointer", children: [isLaunching ? (_jsx(Loader2, { className: "me-1.5 h-3.5 w-3.5 animate-spin" })) : (_jsx(Rocket, { className: "me-1.5 h-3.5 w-3.5" })), "Launch"] })) : null, tool.documentationUrl ? (_jsx(Button, { variant: "outline", size: "sm", className: "cursor-pointer", asChild: true, children: _jsxs("a", { href: tool.documentationUrl, target: "_blank", rel: "noopener noreferrer", children: ["Docs", _jsx(ExternalLink, { className: "ms-1 h-3 w-3" })] }) })) : null] }), (status === 'streaming' || status === 'done' || status === 'error') && logs.length > 0 ? (_jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx("span", { className: "text-muted-foreground text-xs font-semibold tracking-wide uppercase", children: "Install log" }), _jsxs("div", { ref: logRef, onScroll: handleScroll, className: "max-h-60 overflow-auto rounded-md bg-zinc-900 p-3 font-mono text-xs leading-relaxed text-zinc-100", "data-testid": "tool-install-log", children: [logs.map((line, idx) => (
92
+ return (_jsx(BaseDrawer, { open: open, onClose: onClose, size: "md", modal: true, title: tool.name, header: header, "data-testid": "tool-detail-drawer", children: _jsxs("div", { className: "flex flex-1 flex-col gap-4 overflow-y-auto p-4", children: [_jsx("p", { className: "text-muted-foreground text-sm", children: tool.description }), tool.author || tool.platforms ? (_jsxs("div", { className: "flex flex-wrap items-center gap-x-4 gap-y-1 text-xs", children: [tool.author ? (_jsxs("span", { className: "text-muted-foreground", children: ["by", ' ', tool.website ? (_jsx("a", { href: tool.website, target: "_blank", rel: "noopener noreferrer", className: "text-foreground hover:underline", children: tool.author })) : (_jsx("span", { className: "text-foreground", children: tool.author }))] })) : null, tool.platforms && tool.platforms.length > 0 ? (_jsx("span", { className: "text-muted-foreground", children: tool.platforms.map((p) => PLATFORM_LABELS[p] ?? p).join(' · ') })) : null] })) : null, tool.installCommand ? (_jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx("span", { className: "text-muted-foreground text-xs font-semibold tracking-wide uppercase", children: "Install command" }), _jsxs("div", { className: "relative rounded-md bg-zinc-900 text-zinc-100", children: [_jsx("pre", { className: "overflow-x-auto px-3 py-2.5 pr-16 font-mono text-xs leading-relaxed break-all whitespace-pre-wrap", children: _jsx("code", { children: tool.installCommand }) }), _jsxs(Button, { variant: "ghost", size: "sm", className: "absolute top-1.5 right-1.5 h-7 cursor-pointer px-2 text-zinc-400 hover:text-zinc-100", onClick: handleCopy, "aria-label": copied ? 'Copied!' : 'Copy install command', children: [copied ? (_jsx(Check, { className: "h-3.5 w-3.5 text-emerald-500" })) : (_jsx(Copy, { className: "h-3.5 w-3.5" })), _jsx("span", { className: "ml-1 text-[10px]", children: copied ? 'Copied!' : 'Copy' })] })] })] })) : null, _jsxs("div", { className: "flex items-center gap-2", children: [canInstall ? (_jsxs(Button, { size: "sm", onClick: startInstall, disabled: status === 'streaming', "aria-label": `Install ${tool.name}`, className: "cursor-pointer", children: [status === 'streaming' ? (_jsx(Loader2, { className: "mr-1.5 h-3.5 w-3.5 animate-spin" })) : (_jsx(Download, { className: "mr-1.5 h-3.5 w-3.5" })), status === 'streaming' ? 'Installing...' : 'Install'] })) : null, canLaunch ? (_jsxs(Button, { size: "sm", variant: "outline", onClick: () => void handleLaunch(), disabled: isLaunching, "aria-label": `Launch ${tool.name}`, className: "cursor-pointer", children: [isLaunching ? (_jsx(Loader2, { className: "mr-1.5 h-3.5 w-3.5 animate-spin" })) : (_jsx(Rocket, { className: "mr-1.5 h-3.5 w-3.5" })), "Launch"] })) : null, tool.documentationUrl ? (_jsx(Button, { variant: "outline", size: "sm", className: "cursor-pointer", asChild: true, children: _jsxs("a", { href: tool.documentationUrl, target: "_blank", rel: "noopener noreferrer", children: ["Docs", _jsx(ExternalLink, { className: "ml-1 h-3 w-3" })] }) })) : null] }), (status === 'streaming' || status === 'done' || status === 'error') && logs.length > 0 ? (_jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx("span", { className: "text-muted-foreground text-xs font-semibold tracking-wide uppercase", children: "Install log" }), _jsxs("div", { ref: logRef, onScroll: handleScroll, className: "max-h-60 overflow-auto rounded-md bg-zinc-900 p-3 font-mono text-xs leading-relaxed text-zinc-100", "data-testid": "tool-install-log", children: [logs.map((line, idx) => (
93
93
  // eslint-disable-next-line react/no-array-index-key -- logs are append-only, never reorder
94
94
  _jsx("div", { className: "break-all whitespace-pre-wrap", children: line }, idx))), status === 'done' ? (_jsx("div", { className: "mt-2 border-t border-zinc-700 pt-2 text-emerald-400", children: "Installation complete" })) : null, status === 'error' ? (_jsx("div", { className: "mt-2 border-t border-zinc-700 pt-2 text-red-400", children: "Installation failed" })) : null] })] })) : null] }) }));
95
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app-sidebar.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAI/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,YAAY,EAAE,iBAAiB,CAAC;IAEhC,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,YAAY,EAEZ,cAAc,GACf,EAAE,eAAe,2CAkNjB"}
1
+ {"version":3,"file":"app-sidebar.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAI/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,YAAY,EAAE,iBAAiB,CAAC;IAEhC,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,YAAY,EAEZ,cAAc,GACf,EAAE,eAAe,2CAoMjB"}
@@ -2,7 +2,6 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { usePathname } from 'next/navigation';
4
4
  import { Home, Moon, Sun, Volume2, VolumeOff, Wrench, Puzzle, Settings } from 'lucide-react';
5
- import { useTranslation } from 'react-i18next';
6
5
  import { Sidebar, SidebarHeader, SidebarContent, SidebarFooter, SidebarMenu, SidebarMenuItem, SidebarMenuButton, SidebarRail, useSidebar, } from '../../ui/sidebar.js';
7
6
  import { ScrollArea } from '../../ui/scroll-area.js';
8
7
  import { SidebarNavItem } from '../../common/sidebar-nav-item/index.js';
@@ -20,7 +19,6 @@ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../../
20
19
  import { useDeferredMount } from '../../../hooks/use-deferred-mount.js';
21
20
  import { useVersion } from '../../../hooks/use-version.js';
22
21
  export function AppSidebar({ features, featureFlags, onFeatureClick, }) {
23
- const { t } = useTranslation('web');
24
22
  const pathname = usePathname();
25
23
  const { state } = useSidebar();
26
24
  const collapsed = state === 'collapsed';
@@ -40,11 +38,11 @@ export function AppSidebar({ features, featureFlags, onFeatureClick, }) {
40
38
  'flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2',
41
39
  'transition-opacity duration-200 ease-out',
42
40
  expandedVisible ? 'opacity-100' : 'opacity-0',
43
- ].join(' '), "aria-hidden": !expandedVisible, children: [_jsx(ShepLogo, { className: "shrink-0", size: 20, variant: versionData.isDev ? 'dev' : 'default' }), _jsx("span", { className: "truncate text-sm font-semibold tracking-tight", children: "Shep" }), _jsx(VersionBadge, { version: versionData.version, branch: versionData.branch || undefined, commitHash: versionData.commitHash || undefined, isDev: versionData.isDev, packageName: versionData.packageName, description: versionData.description, instancePath: versionData.instancePath || undefined })] })) : null, _jsx(SidebarCollapseToggle, { className: "shrink-0 transition-all duration-200" })] }) }), _jsx(SidebarNavItem, { icon: Home, label: t('navigation.controlCenter'), href: "/", active: pathname === '/' }), _jsx(SidebarNavItem, { icon: Wrench, label: t('navigation.tools'), href: "/tools", active: pathname === '/tools' }), featureFlags.skills ? (_jsx(SidebarNavItem, { icon: Puzzle, label: t('navigation.skills'), href: "/skills", active: pathname === '/skills' })) : null, _jsx(SidebarNavItem, { icon: Settings, label: t('navigation.settings'), href: "/settings", active: pathname === '/settings' })] }) }), _jsx(SidebarContent, { children: showExpanded ? (_jsxs("div", { className: [
41
+ ].join(' '), "aria-hidden": !expandedVisible, children: [_jsx(ShepLogo, { className: "shrink-0", size: 20, variant: versionData.isDev ? 'dev' : 'default' }), _jsx("span", { className: "truncate text-sm font-semibold tracking-tight", children: "Shep" }), _jsx(VersionBadge, { version: versionData.version, branch: versionData.branch || undefined, commitHash: versionData.commitHash || undefined, isDev: versionData.isDev, packageName: versionData.packageName, description: versionData.description, instancePath: versionData.instancePath || undefined })] })) : null, _jsx(SidebarCollapseToggle, { className: "shrink-0 transition-all duration-200" })] }) }), _jsx(SidebarNavItem, { icon: Home, label: "Control Center", href: "/", active: pathname === '/' }), _jsx(SidebarNavItem, { icon: Wrench, label: "Tools", href: "/tools", active: pathname === '/tools' }), featureFlags.skills ? (_jsx(SidebarNavItem, { icon: Puzzle, label: "Skills", href: "/skills", active: pathname === '/skills' })) : null, _jsx(SidebarNavItem, { icon: Settings, label: "Settings", href: "/settings", active: pathname === '/settings' })] }) }), _jsx(SidebarContent, { children: showExpanded ? (_jsxs("div", { className: [
44
42
  'flex min-h-0 flex-1 flex-col overflow-hidden transition-opacity duration-200 ease-out',
45
43
  '[&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none',
46
44
  expandedVisible ? 'opacity-100' : 'opacity-0',
47
- ].join(' '), children: [_jsx(SidebarSectionHeader, { label: t('sidebar.features') }), _jsx(ScrollArea, { className: "min-h-0 flex-1", children: grouped.map(({ key, label, items }) => items.length > 0 ? (_jsx(FeatureStatusGroup, { label: label, count: items.length, children: items.map((feature) => (_jsx(FeatureListItem, { name: feature.name, status: feature.status, startedAt: feature.startedAt, duration: feature.duration, agentType: feature.agentType, modelId: feature.modelId, onClick: onFeatureClick ? () => onFeatureClick(feature.featureId) : undefined }, feature.featureId))) }, key)) : null) })] })) : null }), _jsx(SidebarFooter, { className: "border-t p-2", children: _jsx(SidebarMenu, { children: _jsx(SidebarMenuItem, { children: _jsx("div", { className: "flex items-center gap-1", children: _jsxs(TooltipProvider, { children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsxs(SidebarMenuButton, { className: "w-auto flex-none", onClick: (e) => {
45
+ ].join(' '), children: [_jsx(SidebarSectionHeader, { label: "Features" }), _jsx(ScrollArea, { className: "min-h-0 flex-1", children: grouped.map(({ key, label, items }) => items.length > 0 ? (_jsx(FeatureStatusGroup, { label: label, count: items.length, children: items.map((feature) => (_jsx(FeatureListItem, { name: feature.name, status: feature.status, startedAt: feature.startedAt, duration: feature.duration, agentType: feature.agentType, modelId: feature.modelId, onClick: onFeatureClick ? () => onFeatureClick(feature.featureId) : undefined }, feature.featureId))) }, key)) : null) })] })) : null }), _jsx(SidebarFooter, { className: "border-t p-2", children: _jsx(SidebarMenu, { children: _jsx(SidebarMenuItem, { children: _jsx("div", { className: "flex items-center gap-1", children: _jsxs(TooltipProvider, { children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsxs(SidebarMenuButton, { className: "w-auto flex-none", onClick: (e) => {
48
46
  const currentResolved = theme === 'system' ? resolvedTheme : theme;
49
47
  const goingToDark = currentResolved !== 'dark';
50
48
  const newTheme = theme === 'system'
@@ -71,12 +69,8 @@ export function AppSidebar({ features, featureFlags, onFeatureClick, }) {
71
69
  document.startViewTransition(() => {
72
70
  setTheme(newTheme);
73
71
  });
74
- }, "aria-label": resolvedTheme === 'dark'
75
- ? t('sidebar.switchToLight')
76
- : t('sidebar.switchToDark'), children: [_jsx(Sun, { className: "h-4 w-4 scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90" }), _jsx(Moon, { className: "absolute h-4 w-4 scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0" })] }) }), _jsx(TooltipContent, { side: "top", children: resolvedTheme === 'dark'
77
- ? t('sidebar.switchToLight')
78
- : t('sidebar.switchToDark') })] }), !collapsed && (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(SidebarMenuButton, { className: "w-auto flex-none", onClick: () => {
72
+ }, "aria-label": `Switch to ${resolvedTheme === 'dark' ? 'light' : 'dark'} mode`, children: [_jsx(Sun, { className: "h-4 w-4 scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90" }), _jsx(Moon, { className: "absolute h-4 w-4 scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0" })] }) }), _jsx(TooltipContent, { side: "top", children: resolvedTheme === 'dark' ? 'Light mode' : 'Dark mode' })] }), !collapsed && (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(SidebarMenuButton, { className: "w-auto flex-none", onClick: () => {
79
73
  clickSound.play();
80
74
  toggleSound();
81
- }, "aria-label": soundEnabled ? t('sidebar.muteSounds') : t('sidebar.unmuteSounds'), children: soundEnabled ? (_jsx(Volume2, { className: "h-4 w-4" })) : (_jsx(VolumeOff, { className: "h-4 w-4" })) }) }), _jsx(TooltipContent, { side: "top", children: soundEnabled ? t('sidebar.muteSounds') : t('sidebar.unmuteSounds') })] }))] }) }) }) }) }), _jsx(SidebarRail, {})] }));
75
+ }, "aria-label": soundEnabled ? 'Mute sounds' : 'Unmute sounds', children: soundEnabled ? (_jsx(Volume2, { className: "h-4 w-4" })) : (_jsx(VolumeOff, { className: "h-4 w-4" })) }) }), _jsx(TooltipContent, { side: "top", children: soundEnabled ? 'Mute sounds' : 'Unmute sounds' })] }))] }) }) }) }) }), _jsx(SidebarRail, {})] }));
82
76
  }
@@ -24,7 +24,7 @@ function AlertDialogContent({ className, size = 'default', ...props }) {
24
24
  return (_jsxs(AlertDialogPortal, { children: [_jsx(AlertDialogOverlay, {}), _jsx(AlertDialogPrimitive.Content, { "data-slot": "alert-dialog-content", "data-size": size, className: cn('bg-background group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg', className), ...props })] }));
25
25
  }
26
26
  function AlertDialogHeader({ className, ...props }) {
27
- return (_jsx("div", { "data-slot": "alert-dialog-header", className: cn('grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-start sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]', className), ...props }));
27
+ return (_jsx("div", { "data-slot": "alert-dialog-header", className: cn('grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]', className), ...props }));
28
28
  }
29
29
  function AlertDialogFooter({ className, ...props }) {
30
30
  return (_jsx("div", { "data-slot": "alert-dialog-footer", className: cn('flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end', className), ...props }));
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { cn } from '../../lib/utils.js';
5
- const alertVariants = cva('relative w-full rounded-lg border px-4 py-3 text-sm [&>svg]:absolute [&>svg]:top-4 [&>svg]:start-4 [&>svg]:text-foreground [&>svg+div]:translate-y-[-3px] [&>svg~*]:ps-7', {
5
+ const alertVariants = cva('relative w-full rounded-lg border px-4 py-3 text-sm [&>svg]:absolute [&>svg]:top-4 [&>svg]:left-4 [&>svg]:text-foreground [&>svg+div]:translate-y-[-3px] [&>svg~*]:pl-7', {
6
6
  variants: {
7
7
  variant: {
8
8
  default: 'bg-background text-foreground',
@@ -19,6 +19,6 @@ function CheckboxGroup({ label, description, parentAriaLabel, options, value, on
19
19
  onValueChange({ ...value, [id]: checked });
20
20
  };
21
21
  const parentId = `${label.toLowerCase().replace(/\s+/g, '-')}-group`;
22
- return (_jsxs("div", { className: "flex flex-col gap-3", children: [_jsxs("div", { className: "flex cursor-pointer items-start gap-2", children: [_jsx(Checkbox, { id: parentId, className: "mt-0.75", checked: parentIndeterminate ? 'indeterminate' : parentChecked, onCheckedChange: handleParentToggle, disabled: disabled, "aria-label": parentAriaLabel ?? `${label} select all` }), _jsxs("div", { className: "flex flex-col gap-0.5", children: [_jsx(Label, { htmlFor: parentId, className: "cursor-pointer text-sm font-medium", children: label }), description ? (_jsx(Label, { htmlFor: parentId, className: "text-muted-foreground cursor-pointer text-xs font-normal", children: description })) : null] })] }), _jsx("div", { className: "flex flex-col gap-3 ps-6", children: options.map((option) => (_jsx(CheckboxGroupItem, { id: option.id, label: option.label, description: option.description, checked: value[option.id] ?? false, onCheckedChange: (checked) => handleItemChange(option.id, checked), disabled: disabled }, option.id))) })] }));
22
+ return (_jsxs("div", { className: "flex flex-col gap-3", children: [_jsxs("div", { className: "flex cursor-pointer items-start gap-2", children: [_jsx(Checkbox, { id: parentId, className: "mt-0.75", checked: parentIndeterminate ? 'indeterminate' : parentChecked, onCheckedChange: handleParentToggle, disabled: disabled, "aria-label": parentAriaLabel ?? `${label} select all` }), _jsxs("div", { className: "flex flex-col gap-0.5", children: [_jsx(Label, { htmlFor: parentId, className: "cursor-pointer text-sm font-medium", children: label }), description ? (_jsx(Label, { htmlFor: parentId, className: "text-muted-foreground cursor-pointer text-xs font-normal", children: description })) : null] })] }), _jsx("div", { className: "flex flex-col gap-3 pl-6", children: options.map((option) => (_jsx(CheckboxGroupItem, { id: option.id, label: option.label, description: option.description, checked: value[option.id] ?? false, onCheckedChange: (checked) => handleItemChange(option.id, checked), disabled: disabled }, option.id))) })] }));
23
23
  }
24
24
  export { CheckboxGroup };
@@ -11,7 +11,7 @@ import { cn } from '../../lib/utils.js';
11
11
  */
12
12
  const Command = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn('bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md', className), ...props })));
13
13
  Command.displayName = 'Command';
14
- const CommandInput = React.forwardRef(({ className, ...props }, ref) => (_jsxs("div", { className: "flex items-center border-b px-3", children: [_jsx(Search, { className: "me-2 h-4 w-4 shrink-0 opacity-50" }), _jsx("input", { ref: ref, className: cn('placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50', className), ...props })] })));
14
+ const CommandInput = React.forwardRef(({ className, ...props }, ref) => (_jsxs("div", { className: "flex items-center border-b px-3", children: [_jsx(Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }), _jsx("input", { ref: ref, className: cn('placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50', className), ...props })] })));
15
15
  CommandInput.displayName = 'CommandInput';
16
16
  const CommandList = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn('max-h-[300px] overflow-x-hidden overflow-y-auto', className), ...props })));
17
17
  CommandList.displayName = 'CommandList';
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/components/ui/dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAKrD,QAAA,MAAM,MAAM,uCAAuB,CAAC;AAEpC,QAAA,MAAM,aAAa,8GAA0B,CAAC;AAE9C,QAAA,MAAM,YAAY,6CAAyB,CAAC;AAE5C,QAAA,MAAM,WAAW,4GAAwB,CAAC;AAE1C,QAAA,MAAM,aAAa,8JAkBjB,CAAC;AAGH,QAAA,MAAM,aAAa,8JAqBjB,CAAC;AAGH,QAAA,MAAM,YAAY;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAKlF,CAAC;AAGF,QAAA,MAAM,YAAY;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAKlF,CAAC;AAGF,QAAA,MAAM,WAAW,oKASf,CAAC;AAGH,QAAA,MAAM,iBAAiB,8KASrB,CAAC;AAGH,OAAO,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,CAAC"}
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/components/ui/dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAKrD,QAAA,MAAM,MAAM,uCAAuB,CAAC;AAEpC,QAAA,MAAM,aAAa,8GAA0B,CAAC;AAE9C,QAAA,MAAM,YAAY,6CAAyB,CAAC;AAE5C,QAAA,MAAM,WAAW,4GAAwB,CAAC;AAE1C,QAAA,MAAM,aAAa,8JAkBjB,CAAC;AAGH,QAAA,MAAM,aAAa,8JAqBjB,CAAC;AAGH,QAAA,MAAM,YAAY;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAElF,CAAC;AAGF,QAAA,MAAM,YAAY;8BAA6B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAKlF,CAAC;AAGF,QAAA,MAAM,WAAW,oKASf,CAAC;AAGH,QAAA,MAAM,iBAAiB,8KASrB,CAAC;AAGH,OAAO,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,CAAC"}
@@ -15,9 +15,9 @@ const DialogOverlay = React.forwardRef(({ className, onClick, ...props }, ref) =
15
15
  onClick?.(e);
16
16
  }, ...props })));
17
17
  DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
18
- const DialogContent = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(DialogPortal, { children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { ref: ref, className: cn('bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg', className), ...props, children: [children, _jsxs(DialogPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none", children: [_jsx(X, { className: "h-4 w-4" }), _jsx("span", { className: "sr-only", children: "Close" })] })] })] })));
18
+ const DialogContent = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(DialogPortal, { children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { ref: ref, className: cn('bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg', className), ...props, children: [children, _jsxs(DialogPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none", children: [_jsx(X, { className: "h-4 w-4" }), _jsx("span", { className: "sr-only", children: "Close" })] })] })] })));
19
19
  DialogContent.displayName = DialogPrimitive.Content.displayName;
20
- const DialogHeader = ({ className, ...props }) => (_jsx("div", { className: cn('flex flex-col space-y-1.5 text-center sm:text-start', className), ...props }));
20
+ const DialogHeader = ({ className, ...props }) => (_jsx("div", { className: cn('flex flex-col space-y-1.5 text-center sm:text-left', className), ...props }));
21
21
  DialogHeader.displayName = 'DialogHeader';
22
22
  const DialogFooter = ({ className, ...props }) => (_jsx("div", { className: cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className), ...props }));
23
23
  DialogFooter.displayName = 'DialogFooter';
@@ -13,7 +13,7 @@ const meta = {
13
13
  };
14
14
  export default meta;
15
15
  export const Default = {
16
- render: () => (_jsxs(Dialog, { children: [_jsx(DialogTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", children: "Open Dialog" }) }), _jsxs(DialogContent, { className: "sm:max-w-[425px]", children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: "Edit profile" }), _jsx(DialogDescription, { children: "Make changes to your profile here. Click save when you're done." })] }), _jsxs("div", { className: "grid gap-4 py-4", children: [_jsxs("div", { className: "grid grid-cols-4 items-center gap-4", children: [_jsx(Label, { htmlFor: "name", className: "text-end", children: "Name" }), _jsx(Input, { id: "name", defaultValue: "Pedro Duarte", className: "col-span-3" })] }), _jsxs("div", { className: "grid grid-cols-4 items-center gap-4", children: [_jsx(Label, { htmlFor: "username", className: "text-end", children: "Username" }), _jsx(Input, { id: "username", defaultValue: "@peduarte", className: "col-span-3" })] })] }), _jsx(DialogFooter, { children: _jsx(Button, { type: "submit", children: "Save changes" }) })] })] })),
16
+ render: () => (_jsxs(Dialog, { children: [_jsx(DialogTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", children: "Open Dialog" }) }), _jsxs(DialogContent, { className: "sm:max-w-[425px]", children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: "Edit profile" }), _jsx(DialogDescription, { children: "Make changes to your profile here. Click save when you're done." })] }), _jsxs("div", { className: "grid gap-4 py-4", children: [_jsxs("div", { className: "grid grid-cols-4 items-center gap-4", children: [_jsx(Label, { htmlFor: "name", className: "text-right", children: "Name" }), _jsx(Input, { id: "name", defaultValue: "Pedro Duarte", className: "col-span-3" })] }), _jsxs("div", { className: "grid grid-cols-4 items-center gap-4", children: [_jsx(Label, { htmlFor: "username", className: "text-right", children: "Username" }), _jsx(Input, { id: "username", defaultValue: "@peduarte", className: "col-span-3" })] })] }), _jsx(DialogFooter, { children: _jsx(Button, { type: "submit", children: "Save changes" }) })] })] })),
17
17
  };
18
18
  export const WithForm = {
19
19
  render: () => (_jsxs(Dialog, { children: [_jsx(DialogTrigger, { asChild: true, children: _jsx(Button, { children: "Create Account" }) }), _jsxs(DialogContent, { className: "sm:max-w-[425px]", children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: "Create account" }), _jsx(DialogDescription, { children: "Enter your email below to create your account." })] }), _jsxs("div", { className: "grid gap-4 py-4", children: [_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { htmlFor: "email", children: "Email" }), _jsx(Input, { id: "email", type: "email", placeholder: "m@example.com" })] }), _jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { htmlFor: "password", children: "Password" }), _jsx(Input, { id: "password", type: "password" })] })] }), _jsx(DialogFooter, { children: _jsx(Button, { type: "submit", className: "w-full", children: "Create account" }) })] })] })),
@@ -30,7 +30,7 @@ function DrawerContent({ className, children, direction = 'bottom', showCloseBut
30
30
  // Override vaul's user-select:none on [data-vaul-drawer] so text is selectable
31
31
  userSelect: 'text',
32
32
  ...(props.style ?? {}),
33
- }, ...props, children: [children, showCloseButton ? (_jsxs(DrawerPrimitive.Close, { className: "ring-offset-background focus:ring-ring absolute end-4 top-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: [_jsx(XIcon, { className: "size-4" }), _jsx("span", { className: "sr-only", children: "Close" })] })) : null] }) }));
33
+ }, ...props, children: [children, showCloseButton ? (_jsxs(DrawerPrimitive.Close, { className: "ring-offset-background focus:ring-ring 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: [_jsx(XIcon, { className: "size-4" }), _jsx("span", { className: "sr-only", children: "Close" })] })) : null] }) }));
34
34
  }
35
35
  function DrawerHeader({ className, ...props }) {
36
36
  return (_jsx("div", { "data-slot": "drawer-header", className: cn('flex flex-col gap-1.5 p-4', className), ...props }));
@@ -10,24 +10,24 @@ const DropdownMenuGroup = DropdownMenuPrimitive.Group;
10
10
  const DropdownMenuPortal = DropdownMenuPrimitive.Portal;
11
11
  const DropdownMenuSub = DropdownMenuPrimitive.Sub;
12
12
  const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
13
- const DropdownMenuSubTrigger = React.forwardRef(({ className, inset, children, ...props }, ref) => (_jsxs(DropdownMenuPrimitive.SubTrigger, { ref: ref, className: cn('focus:bg-accent data-[state=open]:bg-accent flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0', inset && 'ps-8', className), ...props, children: [children, _jsx(ChevronRight, { className: "ms-auto" })] })));
13
+ const DropdownMenuSubTrigger = React.forwardRef(({ className, inset, children, ...props }, ref) => (_jsxs(DropdownMenuPrimitive.SubTrigger, { ref: ref, className: cn('focus:bg-accent data-[state=open]:bg-accent flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0', inset && 'pl-8', className), ...props, children: [children, _jsx(ChevronRight, { className: "ml-auto" })] })));
14
14
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
15
15
  const DropdownMenuSubContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(DropdownMenuPrimitive.SubContent, { ref: ref, className: cn('bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg', className), ...props })));
16
16
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
17
17
  const DropdownMenuContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => (_jsx(DropdownMenuPrimitive.Portal, { children: _jsx(DropdownMenuPrimitive.Content, { ref: ref, sideOffset: sideOffset, className: cn('bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md', className), ...props }) })));
18
18
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
19
- const DropdownMenuItem = React.forwardRef(({ className, inset, ...props }, ref) => (_jsx(DropdownMenuPrimitive.Item, { ref: ref, className: cn('focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0', inset && 'ps-8', className), ...props })));
19
+ const DropdownMenuItem = React.forwardRef(({ className, inset, ...props }, ref) => (_jsx(DropdownMenuPrimitive.Item, { ref: ref, className: cn('focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0', inset && 'pl-8', className), ...props })));
20
20
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
21
- const DropdownMenuCheckboxItem = React.forwardRef(({ className, children, checked, ...props }, ref) => (_jsxs(DropdownMenuPrimitive.CheckboxItem, { ref: ref, className: cn('focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 ps-8 pe-2 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50', className), checked: checked, ...props, children: [_jsx("span", { className: "absolute start-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(DropdownMenuPrimitive.ItemIndicator, { children: _jsx(Check, { className: "h-4 w-4" }) }) }), children] })));
21
+ const DropdownMenuCheckboxItem = React.forwardRef(({ className, children, checked, ...props }, ref) => (_jsxs(DropdownMenuPrimitive.CheckboxItem, { ref: ref, className: cn('focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50', className), checked: checked, ...props, children: [_jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(DropdownMenuPrimitive.ItemIndicator, { children: _jsx(Check, { className: "h-4 w-4" }) }) }), children] })));
22
22
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
23
- const DropdownMenuRadioItem = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(DropdownMenuPrimitive.RadioItem, { ref: ref, className: cn('focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 ps-8 pe-2 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50', className), ...props, children: [_jsx("span", { className: "absolute start-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(DropdownMenuPrimitive.ItemIndicator, { children: _jsx(Circle, { className: "h-2 w-2 fill-current" }) }) }), children] })));
23
+ const DropdownMenuRadioItem = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(DropdownMenuPrimitive.RadioItem, { ref: ref, className: cn('focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50', className), ...props, children: [_jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(DropdownMenuPrimitive.ItemIndicator, { children: _jsx(Circle, { className: "h-2 w-2 fill-current" }) }) }), children] })));
24
24
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
25
- const DropdownMenuLabel = React.forwardRef(({ className, inset, ...props }, ref) => (_jsx(DropdownMenuPrimitive.Label, { ref: ref, className: cn('px-2 py-1.5 text-sm font-semibold', inset && 'ps-8', className), ...props })));
25
+ const DropdownMenuLabel = React.forwardRef(({ className, inset, ...props }, ref) => (_jsx(DropdownMenuPrimitive.Label, { ref: ref, className: cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className), ...props })));
26
26
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
27
27
  const DropdownMenuSeparator = React.forwardRef(({ className, ...props }, ref) => (_jsx(DropdownMenuPrimitive.Separator, { ref: ref, className: cn('bg-muted -mx-1 my-1 h-px', className), ...props })));
28
28
  DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
29
29
  const DropdownMenuShortcut = ({ className, ...props }) => {
30
- return (_jsx("span", { className: cn('ms-auto text-xs tracking-widest opacity-60', className), ...props }));
30
+ return (_jsx("span", { className: cn('ml-auto text-xs tracking-widest opacity-60', className), ...props }));
31
31
  };
32
32
  DropdownMenuShortcut.displayName = 'DropdownMenuShortcut';
33
33
  export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup, };
@@ -6,6 +6,6 @@ function ScrollArea({ className, children, ...props }) {
6
6
  return (_jsxs(ScrollAreaPrimitive.Root, { "data-slot": "scroll-area", className: cn('relative', className), ...props, children: [_jsx(ScrollAreaPrimitive.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: children }), _jsx(ScrollBar, {}), _jsx(ScrollAreaPrimitive.Corner, {})] }));
7
7
  }
8
8
  function ScrollBar({ className, orientation = 'vertical', ...props }) {
9
- return (_jsx(ScrollAreaPrimitive.ScrollAreaScrollbar, { "data-slot": "scroll-area-scrollbar", orientation: orientation, className: cn('flex touch-none p-px transition-colors select-none', orientation === 'vertical' && 'h-full w-2.5 border-s border-s-transparent', orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent', className), ...props, children: _jsx(ScrollAreaPrimitive.ScrollAreaThumb, { "data-slot": "scroll-area-thumb", className: "bg-border relative flex-1 rounded-full" }) }));
9
+ return (_jsx(ScrollAreaPrimitive.ScrollAreaScrollbar, { "data-slot": "scroll-area-scrollbar", orientation: orientation, className: cn('flex touch-none p-px transition-colors select-none', orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent', orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent', className), ...props, children: _jsx(ScrollAreaPrimitive.ScrollAreaThumb, { "data-slot": "scroll-area-thumb", className: "bg-border relative flex-1 rounded-full" }) }));
10
10
  }
11
11
  export { ScrollArea, ScrollBar };
@@ -19,7 +19,7 @@ const SelectContent = React.forwardRef(({ className, children, position = 'poppe
19
19
  SelectContent.displayName = SelectPrimitive.Content.displayName;
20
20
  const SelectLabel = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.Label, { ref: ref, className: cn('px-2 py-1.5 text-sm font-semibold', className), ...props })));
21
21
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
22
- const SelectItem = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(SelectPrimitive.Item, { ref: ref, className: cn('focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 ps-2 pe-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50', className), ...props, children: [_jsx("span", { className: "absolute end-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(SelectPrimitive.ItemIndicator, { children: _jsx(Check, { className: "h-4 w-4" }) }) }), _jsx(SelectPrimitive.ItemText, { children: children })] })));
22
+ const SelectItem = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(SelectPrimitive.Item, { ref: ref, className: cn('focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-8 pl-2 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50', className), ...props, children: [_jsx("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(SelectPrimitive.ItemIndicator, { children: _jsx(Check, { className: "h-4 w-4" }) }) }), _jsx(SelectPrimitive.ItemText, { children: children })] })));
23
23
  SelectItem.displayName = SelectPrimitive.Item.displayName;
24
24
  const SelectSeparator = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.Separator, { ref: ref, className: cn('bg-muted -mx-1 my-1 h-px', className), ...props })));
25
25
  SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
@@ -23,7 +23,7 @@ function SheetContent({ className, children, side = 'right', showCloseButton = t
23
23
  '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', side === 'left' &&
24
24
  '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', side === 'top' &&
25
25
  'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b', side === 'bottom' &&
26
- 'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t', className), ...props, children: [children, showCloseButton ? (_jsxs(SheetPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute end-4 top-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: [_jsx(XIcon, { className: "size-4" }), _jsx("span", { className: "sr-only", children: "Close" })] })) : null] })] }));
26
+ 'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t', className), ...props, children: [children, showCloseButton ? (_jsxs(SheetPrimitive.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: [_jsx(XIcon, { className: "size-4" }), _jsx("span", { className: "sr-only", children: "Close" })] })) : null] })] }));
27
27
  }
28
28
  function SheetHeader({ className, ...props }) {
29
29
  return (_jsx("div", { "data-slot": "sheet-header", className: cn('flex flex-col gap-1.5 p-4', className), ...props }));
@@ -134,7 +134,7 @@ function SidebarRail({ className, ...props }) {
134
134
  return (_jsx("button", { "data-sidebar": "rail", "data-slot": "sidebar-rail", "aria-label": "Toggle Sidebar", tabIndex: -1, onClick: toggleSidebar, title: "Toggle Sidebar", className: 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', className), ...props }));
135
135
  }
136
136
  function SidebarInset({ className, ...props }) {
137
- return (_jsx("main", { "data-slot": "sidebar-inset", className: cn('bg-background relative flex w-full flex-1 flex-col', 'md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ms-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ms-2', className), ...props }));
137
+ return (_jsx("main", { "data-slot": "sidebar-inset", className: 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', className), ...props }));
138
138
  }
139
139
  function SidebarInput({ className, ...props }) {
140
140
  return (_jsx(Input, { "data-slot": "sidebar-input", "data-sidebar": "input", className: cn('bg-background h-8 w-full shadow-none', className), ...props }));
@@ -160,7 +160,7 @@ function SidebarGroupLabel({ className, asChild = false, ...props }) {
160
160
  }
161
161
  function SidebarGroupAction({ className, asChild = false, ...props }) {
162
162
  const Comp = asChild ? Slot.Root : 'button';
163
- return (_jsx(Comp, { "data-slot": "sidebar-group-action", "data-sidebar": "group-action", className: cn('text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute end-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',
163
+ return (_jsx(Comp, { "data-slot": "sidebar-group-action", "data-sidebar": "group-action", className: cn('text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',
164
164
  // Increases the hit area of the button on mobile.
165
165
  'after:absolute after:-inset-2 md:after:hidden', 'group-data-[collapsible=icon]:hidden', className), ...props }));
166
166
  }
@@ -173,7 +173,7 @@ function SidebarMenu({ className, ...props }) {
173
173
  function SidebarMenuItem({ className, ...props }) {
174
174
  return (_jsx("li", { "data-slot": "sidebar-menu-item", "data-sidebar": "menu-item", className: cn('group/menu-item relative', className), ...props }));
175
175
  }
176
- const sidebarMenuButtonVariants = cva('peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-start text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pe-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', {
176
+ const sidebarMenuButtonVariants = 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', {
177
177
  variants: {
178
178
  variant: {
179
179
  default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',
@@ -206,13 +206,13 @@ function SidebarMenuButton({ asChild = false, isActive = false, variant = 'defau
206
206
  }
207
207
  function SidebarMenuAction({ className, asChild = false, showOnHover = false, ...props }) {
208
208
  const Comp = asChild ? Slot.Root : 'button';
209
- return (_jsx(Comp, { "data-slot": "sidebar-menu-action", "data-sidebar": "menu-action", className: cn('text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute end-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',
209
+ return (_jsx(Comp, { "data-slot": "sidebar-menu-action", "data-sidebar": "menu-action", className: cn('text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',
210
210
  // Increases the hit area of the button on mobile.
211
211
  'after:absolute after:-inset-2 md:after:hidden', 'peer-data-[size=sm]/menu-button:top-1', 'peer-data-[size=default]/menu-button:top-1.5', 'peer-data-[size=lg]/menu-button:top-2.5', 'group-data-[collapsible=icon]:hidden', showOnHover &&
212
212
  'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0', className), ...props }));
213
213
  }
214
214
  function SidebarMenuBadge({ className, ...props }) {
215
- return (_jsx("div", { "data-slot": "sidebar-menu-badge", "data-sidebar": "menu-badge", className: cn('text-sidebar-foreground pointer-events-none absolute end-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none', 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground', 'peer-data-[size=sm]/menu-button:top-1', 'peer-data-[size=default]/menu-button:top-1.5', 'peer-data-[size=lg]/menu-button:top-2.5', 'group-data-[collapsible=icon]:hidden', className), ...props }));
215
+ return (_jsx("div", { "data-slot": "sidebar-menu-badge", "data-sidebar": "menu-badge", className: cn('text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none', 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground', 'peer-data-[size=sm]/menu-button:top-1', 'peer-data-[size=default]/menu-button:top-1.5', 'peer-data-[size=lg]/menu-button:top-2.5', 'group-data-[collapsible=icon]:hidden', className), ...props }));
216
216
  }
217
217
  function SidebarMenuSkeleton({ className, showIcon = false, ...props }) {
218
218
  // Random width between 50 to 90%.
@@ -224,7 +224,7 @@ function SidebarMenuSkeleton({ className, showIcon = false, ...props }) {
224
224
  } })] }));
225
225
  }
226
226
  function SidebarMenuSub({ className, ...props }) {
227
- return (_jsx("ul", { "data-slot": "sidebar-menu-sub", "data-sidebar": "menu-sub", className: cn('border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-s px-2.5 py-0.5', 'group-data-[collapsible=icon]:hidden', className), ...props }));
227
+ return (_jsx("ul", { "data-slot": "sidebar-menu-sub", "data-sidebar": "menu-sub", className: cn('border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5', 'group-data-[collapsible=icon]:hidden', className), ...props }));
228
228
  }
229
229
  function SidebarMenuSubItem({ className, ...props }) {
230
230
  return (_jsx("li", { "data-slot": "sidebar-menu-sub-item", "data-sidebar": "menu-sub-item", className: cn('group/menu-sub-item relative', className), ...props }));
@@ -39,7 +39,7 @@ function ActionSoundButton({ action }) {
39
39
  setPlaying(true);
40
40
  setTimeout(() => setPlaying(false), 600);
41
41
  };
42
- return (_jsxs(Button, { size: "sm", variant: playing ? 'default' : 'outline', onClick: handleClick, className: "min-w-[160px] font-mono text-xs", children: [action, _jsxs("span", { className: "text-muted-foreground ms-1 text-[10px]", children: ["(", entry.sound, " @ ", entry.volume, ")"] })] }));
42
+ return (_jsxs(Button, { size: "sm", variant: playing ? 'default' : 'outline', onClick: handleClick, className: "min-w-[160px] font-mono text-xs", children: [action, _jsxs("span", { className: "text-muted-foreground ml-1 text-[10px]", children: ["(", entry.sound, " @ ", entry.volume, ")"] })] }));
43
43
  }
44
44
  /* ------------------------------------------------------------------ */
45
45
  /* Full catalog */