@shipit-ai/cli 1.165.0 → 1.166.1

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 (742) hide show
  1. package/LICENSE +2 -1
  2. package/README.md +6 -0
  3. package/apis/json-schema/AgentSession.yaml +1 -1
  4. package/apis/json-schema/AgentType.yaml +2 -0
  5. package/dist/eslint.config.mjs +2 -0
  6. package/dist/packages/core/src/application/ports/output/services/spec-initializer.interface.d.ts +1 -1
  7. package/dist/packages/core/src/application/ports/output/services/spec-initializer.interface.js +1 -1
  8. package/dist/packages/core/src/application/use-cases/agents/delete-agent-run.use-case.js +1 -1
  9. package/dist/packages/core/src/domain/generated/output.d.ts +3 -1
  10. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  11. package/dist/packages/core/src/domain/generated/output.js +2 -0
  12. package/dist/packages/core/src/infrastructure/di/modules/agents.module.d.ts.map +1 -1
  13. package/dist/packages/core/src/infrastructure/di/modules/agents.module.js +6 -0
  14. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts.map +1 -1
  15. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.js +33 -0
  16. package/dist/packages/core/src/infrastructure/services/agents/common/agent-validator.service.d.ts.map +1 -1
  17. package/dist/packages/core/src/infrastructure/services/agents/common/agent-validator.service.js +2 -0
  18. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.d.ts +1 -1
  19. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.js +1 -1
  20. package/dist/packages/core/src/infrastructure/services/agents/common/executors/copilot-cli-executor.service.d.ts +34 -0
  21. package/dist/packages/core/src/infrastructure/services/agents/common/executors/copilot-cli-executor.service.d.ts.map +1 -0
  22. package/dist/packages/core/src/infrastructure/services/agents/common/executors/copilot-cli-executor.service.js +149 -0
  23. package/dist/packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.js +2 -2
  24. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/research.fixture.d.ts +1 -1
  25. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/research.fixture.d.ts.map +1 -1
  26. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/research.fixture.js +2 -2
  27. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/tasks.fixture.d.ts +1 -1
  28. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/tasks.fixture.d.ts.map +1 -1
  29. package/dist/packages/core/src/infrastructure/services/agents/common/executors/fixtures/tasks.fixture.js +1 -1
  30. package/dist/packages/core/src/infrastructure/services/agents/common/executors/rovo-dev-executor.service.d.ts +37 -0
  31. package/dist/packages/core/src/infrastructure/services/agents/common/executors/rovo-dev-executor.service.d.ts.map +1 -0
  32. package/dist/packages/core/src/infrastructure/services/agents/common/executors/rovo-dev-executor.service.js +150 -0
  33. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts +1 -1
  34. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +1 -1
  35. package/dist/packages/core/src/infrastructure/services/git/merge-strategy.service.js +1 -1
  36. package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.js +1 -1
  37. package/dist/packages/core/src/infrastructure/services/notifications/notification-bus.js +1 -1
  38. package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.d.ts +1 -1
  39. package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.js +3 -3
  40. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/copilot-cli.json +31 -0
  41. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/rovo-dev.json +31 -0
  42. package/dist/src/presentation/web/app/actions/check-agent-auth.d.ts.map +1 -1
  43. package/dist/src/presentation/web/app/actions/check-agent-auth.js +35 -0
  44. package/dist/src/presentation/web/app/actions/check-agent-tool.d.ts.map +1 -1
  45. package/dist/src/presentation/web/app/actions/check-agent-tool.js +4 -0
  46. package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts.map +1 -1
  47. package/dist/src/presentation/web/app/actions/get-all-agent-models.js +8 -2
  48. package/dist/src/presentation/web/components/assistant-ui/thread.js +2 -2
  49. package/dist/src/presentation/web/components/common/action-button/action-button.js +2 -2
  50. package/dist/src/presentation/web/components/common/action-button/action-button.stories.d.ts +1 -1
  51. package/dist/src/presentation/web/components/common/action-button/action-button.stories.d.ts.map +1 -1
  52. package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.d.ts.map +1 -1
  53. package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.js +3 -2
  54. package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.stories.d.ts +1 -1
  55. package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.stories.d.ts.map +1 -1
  56. package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.stories.js +1 -1
  57. package/dist/src/presentation/web/components/common/attachment-card/attachment-card.d.ts.map +1 -1
  58. package/dist/src/presentation/web/components/common/attachment-card/attachment-card.js +2 -2
  59. package/dist/src/presentation/web/components/common/attachment-card/attachment-card.stories.d.ts +1 -1
  60. package/dist/src/presentation/web/components/common/attachment-card/attachment-card.stories.d.ts.map +1 -1
  61. package/dist/src/presentation/web/components/common/attachment-card/attachment-card.stories.js +1 -1
  62. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.js +2 -2
  63. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.stories.d.ts +1 -1
  64. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.stories.d.ts.map +1 -1
  65. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.stories.js +1 -1
  66. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.stories.d.ts +1 -1
  67. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.stories.d.ts.map +1 -1
  68. package/dist/src/presentation/web/components/common/ci-status-badge/ci-status-badge.js +4 -4
  69. package/dist/src/presentation/web/components/common/ci-status-badge/ci-status-badge.stories.d.ts +1 -1
  70. package/dist/src/presentation/web/components/common/ci-status-badge/ci-status-badge.stories.d.ts.map +1 -1
  71. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.js +3 -3
  72. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.d.ts +1 -1
  73. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.d.ts.map +1 -1
  74. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.js +1 -1
  75. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-drawer-client.stories.d.ts +1 -1
  76. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-drawer-client.stories.d.ts.map +1 -1
  77. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
  78. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +3 -3
  79. package/dist/src/presentation/web/components/common/control-center-drawer/global-chat-drawer-client.stories.d.ts +1 -1
  80. package/dist/src/presentation/web/components/common/control-center-drawer/global-chat-drawer-client.stories.d.ts.map +1 -1
  81. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.js +5 -5
  82. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.stories.d.ts +1 -1
  83. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.stories.d.ts.map +1 -1
  84. package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.js +2 -2
  85. package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.stories.d.ts +1 -1
  86. package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.stories.d.ts.map +1 -1
  87. package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.stories.js +1 -1
  88. package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.js +2 -2
  89. package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.stories.d.ts +1 -1
  90. package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.stories.d.ts.map +1 -1
  91. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.js +2 -2
  92. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.stories.d.ts +1 -1
  93. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.stories.d.ts.map +1 -1
  94. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.stories.js +1 -1
  95. package/dist/src/presentation/web/components/common/drawer-revision-input/drawer-revision-input.stories.d.ts +1 -1
  96. package/dist/src/presentation/web/components/common/drawer-revision-input/drawer-revision-input.stories.d.ts.map +1 -1
  97. package/dist/src/presentation/web/components/common/drawer-revision-input/drawer-revision-input.stories.js +1 -1
  98. package/dist/src/presentation/web/components/common/editor-type-icons.stories.d.ts +1 -1
  99. package/dist/src/presentation/web/components/common/editor-type-icons.stories.d.ts.map +1 -1
  100. package/dist/src/presentation/web/components/common/elapsed-time/elapsed-time.stories.d.ts +1 -1
  101. package/dist/src/presentation/web/components/common/elapsed-time/elapsed-time.stories.d.ts.map +1 -1
  102. package/dist/src/presentation/web/components/common/empty-state/empty-state.stories.d.ts +1 -1
  103. package/dist/src/presentation/web/components/common/empty-state/empty-state.stories.d.ts.map +1 -1
  104. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts +1 -1
  105. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts.map +1 -1
  106. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +1 -1
  107. package/dist/src/presentation/web/components/common/feature-create-drawer/parent-feature-combobox.stories.d.ts +1 -1
  108. package/dist/src/presentation/web/components/common/feature-create-drawer/parent-feature-combobox.stories.d.ts.map +1 -1
  109. package/dist/src/presentation/web/components/common/feature-create-drawer/prompt-section.stories.d.ts +1 -1
  110. package/dist/src/presentation/web/components/common/feature-create-drawer/prompt-section.stories.d.ts.map +1 -1
  111. package/dist/src/presentation/web/components/common/feature-create-drawer/prompt-section.stories.js +1 -1
  112. package/dist/src/presentation/web/components/common/feature-create-drawer/repository-combobox.js +2 -2
  113. package/dist/src/presentation/web/components/common/feature-create-drawer/repository-combobox.stories.d.ts +1 -1
  114. package/dist/src/presentation/web/components/common/feature-create-drawer/repository-combobox.stories.d.ts.map +1 -1
  115. package/dist/src/presentation/web/components/common/feature-create-drawer/workflow-options-section.stories.d.ts +1 -1
  116. package/dist/src/presentation/web/components/common/feature-create-drawer/workflow-options-section.stories.d.ts.map +1 -1
  117. package/dist/src/presentation/web/components/common/feature-create-drawer/workflow-options-section.stories.js +1 -1
  118. package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.js +7 -7
  119. package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.stories.d.ts +1 -1
  120. package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.stories.d.ts.map +1 -1
  121. package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.js +2 -2
  122. package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.stories.d.ts +1 -1
  123. package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.stories.d.ts.map +1 -1
  124. package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.stories.js +1 -1
  125. package/dist/src/presentation/web/components/common/feature-drawer-tabs/event-log-viewer.js +4 -6
  126. package/dist/src/presentation/web/components/common/feature-drawer-tabs/event-log-viewer.stories.d.ts +1 -1
  127. package/dist/src/presentation/web/components/common/feature-drawer-tabs/event-log-viewer.stories.d.ts.map +1 -1
  128. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +2 -2
  129. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.stories.d.ts +1 -1
  130. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.stories.d.ts.map +1 -1
  131. package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.js +2 -2
  132. package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.stories.d.ts +1 -1
  133. package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.stories.d.ts.map +1 -1
  134. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.js +4 -4
  135. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.d.ts +1 -1
  136. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.d.ts.map +1 -1
  137. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.js +1 -1
  138. package/dist/src/presentation/web/components/common/feature-drawer-tabs/plan-tab.js +4 -4
  139. package/dist/src/presentation/web/components/common/feature-drawer-tabs/plan-tab.stories.d.ts +1 -1
  140. package/dist/src/presentation/web/components/common/feature-drawer-tabs/plan-tab.stories.d.ts.map +1 -1
  141. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.d.ts +1 -1
  142. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.d.ts.map +1 -1
  143. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.stories.d.ts +1 -1
  144. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.stories.d.ts.map +1 -1
  145. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +3 -3
  146. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +5 -11
  147. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts +1 -1
  148. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
  149. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +1 -1
  150. package/dist/src/presentation/web/components/common/feature-node/feature-sessions-dropdown.stories.d.ts +1 -1
  151. package/dist/src/presentation/web/components/common/feature-node/feature-sessions-dropdown.stories.d.ts.map +1 -1
  152. package/dist/src/presentation/web/components/common/feature-status-badges/feature-status-badges.stories.d.ts +1 -1
  153. package/dist/src/presentation/web/components/common/feature-status-badges/feature-status-badges.stories.d.ts.map +1 -1
  154. package/dist/src/presentation/web/components/common/feature-status-config.js +2 -2
  155. package/dist/src/presentation/web/components/common/feature-status-group/feature-status-group.stories.d.ts +1 -1
  156. package/dist/src/presentation/web/components/common/feature-status-group/feature-status-group.stories.d.ts.map +1 -1
  157. package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.js +2 -2
  158. package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.stories.d.ts +1 -1
  159. package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.stories.d.ts.map +1 -1
  160. package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.stories.d.ts +1 -1
  161. package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.stories.d.ts.map +1 -1
  162. package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.stories.js +1 -1
  163. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.js +3 -3
  164. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.stories.d.ts +1 -1
  165. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.stories.d.ts.map +1 -1
  166. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.stories.js +1 -1
  167. package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.js +2 -2
  168. package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.stories.d.ts +1 -1
  169. package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.stories.d.ts.map +1 -1
  170. package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.stories.js +1 -1
  171. package/dist/src/presentation/web/components/common/inline-attachments/inline-attachments.stories.d.ts +1 -1
  172. package/dist/src/presentation/web/components/common/inline-attachments/inline-attachments.stories.d.ts.map +1 -1
  173. package/dist/src/presentation/web/components/common/loading-skeleton/loading-skeleton.stories.d.ts +1 -1
  174. package/dist/src/presentation/web/components/common/loading-skeleton/loading-skeleton.stories.d.ts.map +1 -1
  175. package/dist/src/presentation/web/components/common/merge-review/diff-view.stories.d.ts +1 -1
  176. package/dist/src/presentation/web/components/common/merge-review/diff-view.stories.d.ts.map +1 -1
  177. package/dist/src/presentation/web/components/common/merge-review/merge-review.js +3 -5
  178. package/dist/src/presentation/web/components/common/merge-review/merge-review.stories.d.ts +1 -1
  179. package/dist/src/presentation/web/components/common/merge-review/merge-review.stories.d.ts.map +1 -1
  180. package/dist/src/presentation/web/components/common/merge-review/merge-review.stories.js +1 -1
  181. package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.js +2 -2
  182. package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.stories.d.ts +1 -1
  183. package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.stories.d.ts.map +1 -1
  184. package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.stories.js +1 -1
  185. package/dist/src/presentation/web/components/common/page-header/page-header.stories.d.ts +1 -1
  186. package/dist/src/presentation/web/components/common/page-header/page-header.stories.d.ts.map +1 -1
  187. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.d.ts +1 -1
  188. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.d.ts.map +1 -1
  189. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.js +1 -1
  190. package/dist/src/presentation/web/components/common/product-decisions-summary/product-decisions-summary.stories.d.ts +1 -1
  191. package/dist/src/presentation/web/components/common/product-decisions-summary/product-decisions-summary.stories.d.ts.map +1 -1
  192. package/dist/src/presentation/web/components/common/react-file-manager-dialog/react-file-manager-dialog.js +2 -2
  193. package/dist/src/presentation/web/components/common/react-file-manager-dialog/react-file-manager-dialog.stories.d.ts +1 -1
  194. package/dist/src/presentation/web/components/common/react-file-manager-dialog/react-file-manager-dialog.stories.d.ts.map +1 -1
  195. package/dist/src/presentation/web/components/common/react-file-manager-dialog/react-file-manager-dialog.stories.js +1 -1
  196. package/dist/src/presentation/web/components/common/reject-feedback-dialog/reject-feedback-dialog.js +2 -2
  197. package/dist/src/presentation/web/components/common/reject-feedback-dialog/reject-feedback-dialog.stories.d.ts +1 -1
  198. package/dist/src/presentation/web/components/common/reject-feedback-dialog/reject-feedback-dialog.stories.d.ts.map +1 -1
  199. package/dist/src/presentation/web/components/common/reject-feedback-dialog/reject-feedback-dialog.stories.js +1 -1
  200. package/dist/src/presentation/web/components/common/repo-group/repo-group.stories.d.ts +1 -1
  201. package/dist/src/presentation/web/components/common/repo-group/repo-group.stories.d.ts.map +1 -1
  202. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.d.ts +1 -1
  203. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.d.ts.map +1 -1
  204. package/dist/src/presentation/web/components/common/repository-node/repository-node.js +4 -7
  205. package/dist/src/presentation/web/components/common/repository-node/repository-node.stories.d.ts +1 -1
  206. package/dist/src/presentation/web/components/common/repository-node/repository-node.stories.d.ts.map +1 -1
  207. package/dist/src/presentation/web/components/common/server-log-viewer/server-log-viewer.stories.d.ts +1 -1
  208. package/dist/src/presentation/web/components/common/server-log-viewer/server-log-viewer.stories.d.ts.map +1 -1
  209. package/dist/src/presentation/web/components/common/shipit-ai-logo/shipit-ai-logo.stories.d.ts +1 -1
  210. package/dist/src/presentation/web/components/common/shipit-ai-logo/shipit-ai-logo.stories.d.ts.map +1 -1
  211. package/dist/src/presentation/web/components/common/sidebar-collapse-toggle/sidebar-collapse-toggle.stories.d.ts +1 -1
  212. package/dist/src/presentation/web/components/common/sidebar-collapse-toggle/sidebar-collapse-toggle.stories.d.ts.map +1 -1
  213. package/dist/src/presentation/web/components/common/sidebar-nav-item/sidebar-nav-item.stories.d.ts +1 -1
  214. package/dist/src/presentation/web/components/common/sidebar-nav-item/sidebar-nav-item.stories.d.ts.map +1 -1
  215. package/dist/src/presentation/web/components/common/sidebar-section-header/sidebar-section-header.stories.d.ts +1 -1
  216. package/dist/src/presentation/web/components/common/sidebar-section-header/sidebar-section-header.stories.d.ts.map +1 -1
  217. package/dist/src/presentation/web/components/common/sound-toggle/sound-toggle.stories.d.ts +1 -1
  218. package/dist/src/presentation/web/components/common/sound-toggle/sound-toggle.stories.d.ts.map +1 -1
  219. package/dist/src/presentation/web/components/common/task-progress-view/task-progress-view.js +4 -4
  220. package/dist/src/presentation/web/components/common/task-progress-view/task-progress-view.stories.d.ts +1 -1
  221. package/dist/src/presentation/web/components/common/task-progress-view/task-progress-view.stories.d.ts.map +1 -1
  222. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.stories.d.ts +1 -1
  223. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.stories.d.ts.map +1 -1
  224. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.stories.js +1 -1
  225. package/dist/src/presentation/web/components/common/theme-toggle/theme-toggle.stories.d.ts +1 -1
  226. package/dist/src/presentation/web/components/common/theme-toggle/theme-toggle.stories.d.ts.map +1 -1
  227. package/dist/src/presentation/web/components/common/version-badge/version-badge.stories.d.ts +1 -1
  228. package/dist/src/presentation/web/components/common/version-badge/version-badge.stories.d.ts.map +1 -1
  229. package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.js +7 -7
  230. package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.stories.d.ts +1 -1
  231. package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.stories.d.ts.map +1 -1
  232. package/dist/src/presentation/web/components/features/chat/ChatComposer.stories.d.ts +1 -1
  233. package/dist/src/presentation/web/components/features/chat/ChatComposer.stories.d.ts.map +1 -1
  234. package/dist/src/presentation/web/components/features/chat/ChatComposer.stories.js +1 -1
  235. package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.stories.d.ts +1 -1
  236. package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.stories.d.ts.map +1 -1
  237. package/dist/src/presentation/web/components/features/chat/ChatInput.stories.d.ts +1 -1
  238. package/dist/src/presentation/web/components/features/chat/ChatInput.stories.d.ts.map +1 -1
  239. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.stories.d.ts +1 -1
  240. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.stories.d.ts.map +1 -1
  241. package/dist/src/presentation/web/components/features/chat/ChatMessageList.stories.d.ts +2 -2
  242. package/dist/src/presentation/web/components/features/chat/ChatMessageList.stories.d.ts.map +1 -1
  243. package/dist/src/presentation/web/components/features/chat/ChatSheet.stories.d.ts +2 -2
  244. package/dist/src/presentation/web/components/features/chat/ChatSheet.stories.d.ts.map +1 -1
  245. package/dist/src/presentation/web/components/features/chat/ChatTab.stories.d.ts +1 -1
  246. package/dist/src/presentation/web/components/features/chat/ChatTab.stories.d.ts.map +1 -1
  247. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.js +9 -13
  248. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.stories.d.ts +1 -1
  249. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.stories.d.ts.map +1 -1
  250. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  251. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +3 -2
  252. package/dist/src/presentation/web/components/features/control-center/control-center-inner.stories.d.ts +2 -2
  253. package/dist/src/presentation/web/components/features/control-center/control-center-inner.stories.d.ts.map +1 -1
  254. package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts +1 -1
  255. package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts.map +1 -1
  256. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.js +3 -3
  257. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.stories.d.ts +1 -1
  258. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.stories.d.ts.map +1 -1
  259. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.stories.js +1 -1
  260. package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.stories.d.ts +2 -2
  261. package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.stories.d.ts.map +1 -1
  262. package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.stories.js +1 -1
  263. package/dist/src/presentation/web/components/features/features-canvas/dependency-edge.stories.d.ts +1 -1
  264. package/dist/src/presentation/web/components/features/features-canvas/dependency-edge.stories.d.ts.map +1 -1
  265. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.stories.d.ts +1 -1
  266. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.stories.d.ts.map +1 -1
  267. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.stories.js +1 -4
  268. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts +1 -1
  269. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts.map +1 -1
  270. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.js +1 -1
  271. package/dist/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.d.ts +1 -1
  272. package/dist/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.d.ts.map +1 -1
  273. package/dist/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.js +1 -1
  274. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts +1 -1
  275. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts.map +1 -1
  276. package/dist/src/presentation/web/components/features/settings/ci-settings-section.stories.d.ts +1 -1
  277. package/dist/src/presentation/web/components/features/settings/ci-settings-section.stories.d.ts.map +1 -1
  278. package/dist/src/presentation/web/components/features/settings/database-settings-section.stories.d.ts +1 -1
  279. package/dist/src/presentation/web/components/features/settings/database-settings-section.stories.d.ts.map +1 -1
  280. package/dist/src/presentation/web/components/features/settings/environment-settings-section.stories.d.ts +1 -1
  281. package/dist/src/presentation/web/components/features/settings/environment-settings-section.stories.d.ts.map +1 -1
  282. package/dist/src/presentation/web/components/features/settings/fab-layout-settings-section.stories.d.ts +1 -1
  283. package/dist/src/presentation/web/components/features/settings/fab-layout-settings-section.stories.d.ts.map +1 -1
  284. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts +1 -1
  285. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts.map +1 -1
  286. package/dist/src/presentation/web/components/features/settings/interactive-agent-settings-section.stories.d.ts +1 -1
  287. package/dist/src/presentation/web/components/features/settings/interactive-agent-settings-section.stories.d.ts.map +1 -1
  288. package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.d.ts +1 -1
  289. package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.d.ts.map +1 -1
  290. package/dist/src/presentation/web/components/features/settings/notification-settings-section.stories.d.ts +1 -1
  291. package/dist/src/presentation/web/components/features/settings/notification-settings-section.stories.d.ts.map +1 -1
  292. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts +1 -1
  293. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts.map +1 -1
  294. package/dist/src/presentation/web/components/features/settings/settings-section-utils.stories.d.ts +1 -1
  295. package/dist/src/presentation/web/components/features/settings/settings-section-utils.stories.d.ts.map +1 -1
  296. package/dist/src/presentation/web/components/features/settings/settings-section-utils.stories.js +1 -1
  297. package/dist/src/presentation/web/components/features/settings/stage-timeouts-settings-section.stories.d.ts +1 -1
  298. package/dist/src/presentation/web/components/features/settings/stage-timeouts-settings-section.stories.d.ts.map +1 -1
  299. package/dist/src/presentation/web/components/features/settings/timeout-slider.stories.d.ts +1 -1
  300. package/dist/src/presentation/web/components/features/settings/timeout-slider.stories.d.ts.map +1 -1
  301. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.d.ts +1 -1
  302. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.d.ts.map +1 -1
  303. package/dist/src/presentation/web/components/features/skills/category-filter.stories.d.ts +1 -1
  304. package/dist/src/presentation/web/components/features/skills/category-filter.stories.d.ts.map +1 -1
  305. package/dist/src/presentation/web/components/features/skills/skill-card.stories.d.ts +1 -1
  306. package/dist/src/presentation/web/components/features/skills/skill-card.stories.d.ts.map +1 -1
  307. package/dist/src/presentation/web/components/features/skills/skill-card.stories.js +3 -3
  308. package/dist/src/presentation/web/components/features/skills/skill-detail-drawer.stories.d.ts +1 -1
  309. package/dist/src/presentation/web/components/features/skills/skill-detail-drawer.stories.d.ts.map +1 -1
  310. package/dist/src/presentation/web/components/features/skills/skill-detail-drawer.stories.js +3 -3
  311. package/dist/src/presentation/web/components/features/skills/skill-list.stories.d.ts +1 -1
  312. package/dist/src/presentation/web/components/features/skills/skill-list.stories.d.ts.map +1 -1
  313. package/dist/src/presentation/web/components/features/skills/skill-list.stories.js +4 -4
  314. package/dist/src/presentation/web/components/features/skills/skills-page-client.stories.d.ts +1 -1
  315. package/dist/src/presentation/web/components/features/skills/skills-page-client.stories.d.ts.map +1 -1
  316. package/dist/src/presentation/web/components/features/skills/skills-page-client.stories.js +8 -8
  317. package/dist/src/presentation/web/components/features/tools/tool-card.js +3 -5
  318. package/dist/src/presentation/web/components/features/tools/tool-card.stories.d.ts +1 -1
  319. package/dist/src/presentation/web/components/features/tools/tool-card.stories.d.ts.map +1 -1
  320. package/dist/src/presentation/web/components/features/tools/tool-detail-drawer.js +3 -7
  321. package/dist/src/presentation/web/components/features/tools/tool-detail-drawer.stories.d.ts +1 -1
  322. package/dist/src/presentation/web/components/features/tools/tool-detail-drawer.stories.d.ts.map +1 -1
  323. package/dist/src/presentation/web/components/features/tools/tools-page-client.stories.d.ts +1 -1
  324. package/dist/src/presentation/web/components/features/tools/tools-page-client.stories.d.ts.map +1 -1
  325. package/dist/src/presentation/web/components/features/version/version-page-client.stories.d.ts +1 -1
  326. package/dist/src/presentation/web/components/features/version/version-page-client.stories.d.ts.map +1 -1
  327. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.stories.d.ts +1 -1
  328. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.stories.d.ts.map +1 -1
  329. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts +1 -1
  330. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
  331. package/dist/src/presentation/web/components/layouts/dashboard-layout/dashboard-layout.stories.d.ts +1 -1
  332. package/dist/src/presentation/web/components/layouts/dashboard-layout/dashboard-layout.stories.d.ts.map +1 -1
  333. package/dist/src/presentation/web/components/layouts/header/header.stories.d.ts +1 -1
  334. package/dist/src/presentation/web/components/layouts/header/header.stories.d.ts.map +1 -1
  335. package/dist/src/presentation/web/components/layouts/sidebar/sidebar.stories.d.ts +1 -1
  336. package/dist/src/presentation/web/components/layouts/sidebar/sidebar.stories.d.ts.map +1 -1
  337. package/dist/src/presentation/web/components/ui/accordion.stories.d.ts +1 -1
  338. package/dist/src/presentation/web/components/ui/accordion.stories.d.ts.map +1 -1
  339. package/dist/src/presentation/web/components/ui/alert-dialog.stories.d.ts +1 -1
  340. package/dist/src/presentation/web/components/ui/alert-dialog.stories.d.ts.map +1 -1
  341. package/dist/src/presentation/web/components/ui/alert.stories.d.ts +1 -1
  342. package/dist/src/presentation/web/components/ui/alert.stories.d.ts.map +1 -1
  343. package/dist/src/presentation/web/components/ui/alert.stories.js +2 -2
  344. package/dist/src/presentation/web/components/ui/badge.stories.d.ts +1 -1
  345. package/dist/src/presentation/web/components/ui/badge.stories.d.ts.map +1 -1
  346. package/dist/src/presentation/web/components/ui/button.stories.d.ts +1 -1
  347. package/dist/src/presentation/web/components/ui/button.stories.d.ts.map +1 -1
  348. package/dist/src/presentation/web/components/ui/card.stories.d.ts +1 -1
  349. package/dist/src/presentation/web/components/ui/card.stories.d.ts.map +1 -1
  350. package/dist/src/presentation/web/components/ui/checkbox-group-item.stories.d.ts +1 -1
  351. package/dist/src/presentation/web/components/ui/checkbox-group-item.stories.d.ts.map +1 -1
  352. package/dist/src/presentation/web/components/ui/checkbox-group.stories.d.ts +1 -1
  353. package/dist/src/presentation/web/components/ui/checkbox-group.stories.d.ts.map +1 -1
  354. package/dist/src/presentation/web/components/ui/checkbox.stories.d.ts +1 -1
  355. package/dist/src/presentation/web/components/ui/checkbox.stories.d.ts.map +1 -1
  356. package/dist/src/presentation/web/components/ui/comet-spinner.stories.d.ts +1 -1
  357. package/dist/src/presentation/web/components/ui/comet-spinner.stories.d.ts.map +1 -1
  358. package/dist/src/presentation/web/components/ui/command.stories.d.ts +2 -2
  359. package/dist/src/presentation/web/components/ui/command.stories.d.ts.map +1 -1
  360. package/dist/src/presentation/web/components/ui/dialog.stories.d.ts +1 -1
  361. package/dist/src/presentation/web/components/ui/dialog.stories.d.ts.map +1 -1
  362. package/dist/src/presentation/web/components/ui/drawer.stories.d.ts +1 -1
  363. package/dist/src/presentation/web/components/ui/drawer.stories.d.ts.map +1 -1
  364. package/dist/src/presentation/web/components/ui/dropdown-menu.stories.d.ts +1 -1
  365. package/dist/src/presentation/web/components/ui/dropdown-menu.stories.d.ts.map +1 -1
  366. package/dist/src/presentation/web/components/ui/github-icon.d.ts +13 -0
  367. package/dist/src/presentation/web/components/ui/github-icon.d.ts.map +1 -0
  368. package/dist/src/presentation/web/components/ui/github-icon.js +15 -0
  369. package/dist/src/presentation/web/components/ui/github-icon.stories.d.ts +10 -0
  370. package/dist/src/presentation/web/components/ui/github-icon.stories.d.ts.map +1 -0
  371. package/dist/src/presentation/web/components/ui/github-icon.stories.js +22 -0
  372. package/dist/src/presentation/web/components/ui/input.stories.d.ts +1 -1
  373. package/dist/src/presentation/web/components/ui/input.stories.d.ts.map +1 -1
  374. package/dist/src/presentation/web/components/ui/label.stories.d.ts +1 -1
  375. package/dist/src/presentation/web/components/ui/label.stories.d.ts.map +1 -1
  376. package/dist/src/presentation/web/components/ui/popover.stories.d.ts +1 -1
  377. package/dist/src/presentation/web/components/ui/popover.stories.d.ts.map +1 -1
  378. package/dist/src/presentation/web/components/ui/scroll-area.stories.d.ts +1 -1
  379. package/dist/src/presentation/web/components/ui/scroll-area.stories.d.ts.map +1 -1
  380. package/dist/src/presentation/web/components/ui/select.stories.d.ts +1 -1
  381. package/dist/src/presentation/web/components/ui/select.stories.d.ts.map +1 -1
  382. package/dist/src/presentation/web/components/ui/separator.stories.d.ts +1 -1
  383. package/dist/src/presentation/web/components/ui/separator.stories.d.ts.map +1 -1
  384. package/dist/src/presentation/web/components/ui/sheet.stories.d.ts +1 -1
  385. package/dist/src/presentation/web/components/ui/sheet.stories.d.ts.map +1 -1
  386. package/dist/src/presentation/web/components/ui/sidebar.stories.d.ts +1 -1
  387. package/dist/src/presentation/web/components/ui/sidebar.stories.d.ts.map +1 -1
  388. package/dist/src/presentation/web/components/ui/skeleton.stories.d.ts +1 -1
  389. package/dist/src/presentation/web/components/ui/skeleton.stories.d.ts.map +1 -1
  390. package/dist/src/presentation/web/components/ui/slider.stories.d.ts +1 -1
  391. package/dist/src/presentation/web/components/ui/slider.stories.d.ts.map +1 -1
  392. package/dist/src/presentation/web/components/ui/sonner.stories.d.ts +1 -1
  393. package/dist/src/presentation/web/components/ui/sonner.stories.d.ts.map +1 -1
  394. package/dist/src/presentation/web/components/ui/spinner.stories.d.ts +1 -1
  395. package/dist/src/presentation/web/components/ui/spinner.stories.d.ts.map +1 -1
  396. package/dist/src/presentation/web/components/ui/switch.stories.d.ts +1 -1
  397. package/dist/src/presentation/web/components/ui/switch.stories.d.ts.map +1 -1
  398. package/dist/src/presentation/web/components/ui/tabs.stories.d.ts +1 -1
  399. package/dist/src/presentation/web/components/ui/tabs.stories.d.ts.map +1 -1
  400. package/dist/src/presentation/web/components/ui/textarea.stories.d.ts +1 -1
  401. package/dist/src/presentation/web/components/ui/textarea.stories.d.ts.map +1 -1
  402. package/dist/src/presentation/web/components/ui/tooltip.stories.d.ts +2 -2
  403. package/dist/src/presentation/web/components/ui/tooltip.stories.d.ts.map +1 -1
  404. package/dist/src/presentation/web/hooks/use-notifications.stories.d.ts +1 -1
  405. package/dist/src/presentation/web/hooks/use-notifications.stories.d.ts.map +1 -1
  406. package/dist/src/presentation/web/hooks/use-sound-action.stories.d.ts +1 -1
  407. package/dist/src/presentation/web/hooks/use-sound-action.stories.d.ts.map +1 -1
  408. package/dist/src/presentation/web/hooks/use-sound.stories.d.ts +1 -1
  409. package/dist/src/presentation/web/hooks/use-sound.stories.d.ts.map +1 -1
  410. package/dist/src/presentation/web/lib/session-scanner.js +2 -2
  411. package/dist/src/presentation/web/lib/skills.js +2 -2
  412. package/dist/tsconfig.build.tsbuildinfo +1 -1
  413. package/package.json +24 -25
  414. package/web/.next/BUILD_ID +1 -1
  415. package/web/.next/build-manifest.json +5 -5
  416. package/web/.next/fallback-build-manifest.json +3 -3
  417. package/web/.next/prerender-manifest.json +3 -3
  418. package/web/.next/required-server-files.js +2 -2
  419. package/web/.next/required-server-files.json +2 -2
  420. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +2 -2
  421. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/react-loadable-manifest.json +3 -3
  422. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  423. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  424. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  425. package/web/.next/server/app/(dashboard)/@drawer/chat/page/build-manifest.json +2 -2
  426. package/web/.next/server/app/(dashboard)/@drawer/chat/page/react-loadable-manifest.json +3 -3
  427. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  428. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  429. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  430. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +2 -2
  431. package/web/.next/server/app/(dashboard)/@drawer/create/page/react-loadable-manifest.json +3 -3
  432. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
  433. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  434. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  435. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +2 -2
  436. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/react-loadable-manifest.json +3 -3
  437. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  438. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -1
  439. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  440. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  441. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +2 -2
  442. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/react-loadable-manifest.json +3 -3
  443. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +37 -37
  444. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
  445. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  446. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  447. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/build-manifest.json +2 -2
  448. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +3 -3
  449. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  450. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  451. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  452. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +2 -2
  453. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/react-loadable-manifest.json +3 -3
  454. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  455. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  456. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  457. package/web/.next/server/app/(dashboard)/chat/page/build-manifest.json +2 -2
  458. package/web/.next/server/app/(dashboard)/chat/page/react-loadable-manifest.json +3 -3
  459. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  460. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  461. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  462. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +2 -2
  463. package/web/.next/server/app/(dashboard)/create/page/react-loadable-manifest.json +3 -3
  464. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
  465. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  466. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  467. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +2 -2
  468. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/react-loadable-manifest.json +3 -3
  469. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  470. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -1
  471. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  472. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  473. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +2 -2
  474. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/react-loadable-manifest.json +3 -3
  475. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +37 -37
  476. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
  477. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  478. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  479. package/web/.next/server/app/(dashboard)/page/build-manifest.json +2 -2
  480. package/web/.next/server/app/(dashboard)/page/react-loadable-manifest.json +3 -3
  481. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  482. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  483. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  484. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/build-manifest.json +2 -2
  485. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +3 -3
  486. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  487. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  488. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  489. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +2 -2
  490. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/react-loadable-manifest.json +3 -3
  491. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  492. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  493. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  494. package/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
  495. package/web/.next/server/app/_global-error.html +1 -1
  496. package/web/.next/server/app/_global-error.rsc +1 -1
  497. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  498. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  499. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  500. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  501. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  502. package/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
  503. package/web/.next/server/app/_not-found/page/react-loadable-manifest.json +3 -3
  504. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  505. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  506. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  507. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  508. package/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  509. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  510. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  511. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  512. package/web/.next/server/app/api/sessions/route.js +2 -2
  513. package/web/.next/server/app/settings/page/build-manifest.json +2 -2
  514. package/web/.next/server/app/settings/page/react-loadable-manifest.json +3 -3
  515. package/web/.next/server/app/settings/page/server-reference-manifest.json +11 -11
  516. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  517. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  518. package/web/.next/server/app/skills/page/build-manifest.json +2 -2
  519. package/web/.next/server/app/skills/page/react-loadable-manifest.json +3 -3
  520. package/web/.next/server/app/skills/page/server-reference-manifest.json +11 -11
  521. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  522. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  523. package/web/.next/server/app/tools/page/build-manifest.json +2 -2
  524. package/web/.next/server/app/tools/page/react-loadable-manifest.json +3 -3
  525. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  526. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  527. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  528. package/web/.next/server/app/version/page/build-manifest.json +2 -2
  529. package/web/.next/server/app/version/page/react-loadable-manifest.json +3 -3
  530. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  531. package/web/.next/server/app/version/page.js.nft.json +1 -1
  532. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  533. package/web/.next/server/chunks/0n.o_server_app_api_interactive_chat_[featureId]_stop_route_actions_09da~zt.js +1 -1
  534. package/web/.next/server/chunks/11es_next_dist_esm_build_templates_app-route_067cwst.js +1 -1
  535. package/web/.next/server/chunks/11es_next_dist_esm_build_templates_app-route_067cwst.js.map +1 -1
  536. package/web/.next/server/chunks/[root-of-the-server]__07suer1._.js.map +1 -1
  537. package/web/.next/server/chunks/[root-of-the-server]__0_.w-eb._.js +1 -1
  538. package/web/.next/server/chunks/[root-of-the-server]__0_.w-eb._.js.map +1 -1
  539. package/web/.next/server/chunks/[root-of-the-server]__0tb~wwk._.js +1 -1
  540. package/web/.next/server/chunks/[root-of-the-server]__13ni_ow._.js +1 -1
  541. package/web/.next/server/chunks/ssr/{0lyk_lucide-react_dist_esm_icons_0shxsmr._.js → 08qz_lucide-react_dist_esm_icons_0_gqlce._.js} +2 -2
  542. package/web/.next/server/chunks/ssr/08qz_lucide-react_dist_esm_icons_0_gqlce._.js.map +1 -0
  543. package/web/.next/server/chunks/ssr/08qz_lucide-react_dist_esm_icons_0zwb4s4._.js +3 -0
  544. package/web/.next/server/chunks/ssr/08qz_lucide-react_dist_esm_icons_0zwb4s4._.js.map +1 -0
  545. package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_00~eq5i.js +1 -1
  546. package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_00~eq5i.js.map +1 -1
  547. package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_0979_c..js +1 -1
  548. package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_0979_c..js.map +1 -1
  549. package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_chat_page_actions_0dqll_1.js +1 -1
  550. package/web/.next/server/chunks/ssr/0j.8_web__next-internal_server_app_(dashboard)_chat_page_actions_0dqll_1.js.map +1 -1
  551. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js +1 -1
  552. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js.map +1 -1
  553. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js +3 -3
  554. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js.map +1 -1
  555. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js +1 -1
  556. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js.map +1 -1
  557. package/web/.next/server/chunks/ssr/11es_next_dist_0e36~wi._.js +2 -2
  558. package/web/.next/server/chunks/ssr/11es_next_dist_client_components_058~c_t._.js +1 -1
  559. package/web/.next/server/chunks/ssr/11es_next_dist_esm_build_templates_app-page_0l-25e2.js +1 -1
  560. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_global-chat-drawer-client_tsx_03s32.q._.js +1 -1
  561. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js +1 -1
  562. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js.map +1 -1
  563. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0uxn6-j._.js → [root-of-the-server]__045sv4b._.js} +2 -2
  564. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0uxn6-j._.js.map → [root-of-the-server]__045sv4b._.js.map} +1 -1
  565. package/web/.next/server/chunks/ssr/[root-of-the-server]__0brje6_._.js +1 -1
  566. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0np51e2._.js → [root-of-the-server]__0d_0_fp._.js} +2 -2
  567. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0np51e2._.js.map → [root-of-the-server]__0d_0_fp._.js.map} +1 -1
  568. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0~h382a._.js → [root-of-the-server]__0l4d7e.._.js} +2 -2
  569. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0~h382a._.js.map → [root-of-the-server]__0l4d7e.._.js.map} +1 -1
  570. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0_ag.8y._.js → [root-of-the-server]__0lslgap._.js} +3 -3
  571. package/web/.next/server/chunks/ssr/[root-of-the-server]__0lslgap._.js.map +1 -0
  572. package/web/.next/server/chunks/ssr/[root-of-the-server]__0o3qggc._.js +3 -0
  573. package/web/.next/server/chunks/ssr/[root-of-the-server]__0o3qggc._.js.map +1 -0
  574. package/web/.next/server/chunks/ssr/{[root-of-the-server]__01~y8wi._.js → [root-of-the-server]__0r32z03._.js} +2 -2
  575. package/web/.next/server/chunks/ssr/{[root-of-the-server]__01~y8wi._.js.map → [root-of-the-server]__0r32z03._.js.map} +1 -1
  576. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rv1gci._.js +1 -1
  577. package/web/.next/server/chunks/ssr/[root-of-the-server]__122xqm6._.js +1 -1
  578. package/web/.next/server/chunks/ssr/[root-of-the-server]__12g8h3_._.js +1 -1
  579. package/web/.next/server/chunks/ssr/[root-of-the-server]__12g8h3_._.js.map +1 -1
  580. package/web/.next/server/chunks/ssr/{_0d-pkk0._.js → _0-09vq7._.js} +2 -2
  581. package/web/.next/server/chunks/ssr/_0-09vq7._.js.map +1 -0
  582. package/web/.next/server/chunks/ssr/_0.rsra~._.js.map +1 -1
  583. package/web/.next/server/chunks/ssr/_00k65h-._.js +3 -0
  584. package/web/.next/server/chunks/ssr/_00k65h-._.js.map +1 -0
  585. package/web/.next/server/chunks/ssr/_01mq~sm._.js +2 -2
  586. package/web/.next/server/chunks/ssr/_01mq~sm._.js.map +1 -1
  587. package/web/.next/server/chunks/ssr/_01sesw0._.js +3 -0
  588. package/web/.next/server/chunks/ssr/_01sesw0._.js.map +1 -0
  589. package/web/.next/server/chunks/ssr/_04s_q5r._.js +1 -1
  590. package/web/.next/server/chunks/ssr/_04s_q5r._.js.map +1 -1
  591. package/web/.next/server/chunks/ssr/{_0xtds88._.js → _08i-c2n._.js} +2 -2
  592. package/web/.next/server/chunks/ssr/_08i-c2n._.js.map +1 -0
  593. package/web/.next/server/chunks/ssr/_0a-ddx-._.js +3 -0
  594. package/web/.next/server/chunks/ssr/_0a-ddx-._.js.map +1 -0
  595. package/web/.next/server/chunks/ssr/{_0jk5q_z._.js → _0e4npv~._.js} +2 -2
  596. package/web/.next/server/chunks/ssr/_0e4npv~._.js.map +1 -0
  597. package/web/.next/server/chunks/ssr/_0gdghcr._.js +3 -0
  598. package/web/.next/server/chunks/ssr/_0gdghcr._.js.map +1 -0
  599. package/web/.next/server/chunks/ssr/_0hwjfpu._.js +3 -0
  600. package/web/.next/server/chunks/ssr/_0hwjfpu._.js.map +1 -0
  601. package/web/.next/server/chunks/ssr/_0hw~zvl._.js +3 -0
  602. package/web/.next/server/chunks/ssr/_0hw~zvl._.js.map +1 -0
  603. package/web/.next/server/chunks/ssr/_0jpbsh_._.js +1 -1
  604. package/web/.next/server/chunks/ssr/_0jpbsh_._.js.map +1 -1
  605. package/web/.next/server/chunks/ssr/{_13bl-l1._.js → _0nvrqsj._.js} +2 -2
  606. package/web/.next/server/chunks/ssr/_0nvrqsj._.js.map +1 -0
  607. package/web/.next/server/chunks/ssr/_0phryzt._.js +3 -0
  608. package/web/.next/server/chunks/ssr/_0phryzt._.js.map +1 -0
  609. package/web/.next/server/chunks/ssr/_0vyfc4b._.js +3 -0
  610. package/web/.next/server/chunks/ssr/_0vyfc4b._.js.map +1 -0
  611. package/web/.next/server/chunks/ssr/_0w-_hww._.js +1 -1
  612. package/web/.next/server/chunks/ssr/_0w-_hww._.js.map +1 -1
  613. package/web/.next/server/chunks/ssr/{_0j9vx-1._.js → _0y8u4.e._.js} +3 -3
  614. package/web/.next/server/chunks/ssr/_0y8u4.e._.js.map +1 -0
  615. package/web/.next/server/chunks/ssr/_0~7lwu_._.js +3 -0
  616. package/web/.next/server/chunks/ssr/_0~7lwu_._.js.map +1 -0
  617. package/web/.next/server/chunks/ssr/{_0rvaoj4._.js → _109n-y4._.js} +2 -2
  618. package/web/.next/server/chunks/ssr/_109n-y4._.js.map +1 -0
  619. package/web/.next/server/chunks/ssr/{_09g41d0._.js → _12un22l._.js} +3 -3
  620. package/web/.next/server/chunks/ssr/_12un22l._.js.map +1 -0
  621. package/web/.next/server/chunks/ssr/node_modules__pnpm_0l8_ov3._.js +3 -0
  622. package/web/.next/server/chunks/ssr/node_modules__pnpm_0l8_ov3._.js.map +1 -0
  623. package/web/.next/server/chunks/ssr/src_presentation_web_0.e4~xc._.js +1 -1
  624. package/web/.next/server/chunks/ssr/src_presentation_web_0.e4~xc._.js.map +1 -1
  625. package/web/.next/server/chunks/ssr/src_presentation_web_00dvh.m._.js +1 -1
  626. package/web/.next/server/chunks/ssr/src_presentation_web_00dvh.m._.js.map +1 -1
  627. package/web/.next/server/chunks/ssr/src_presentation_web_05-w-~v._.js +1 -1
  628. package/web/.next/server/chunks/ssr/src_presentation_web_05-w-~v._.js.map +1 -1
  629. package/web/.next/server/chunks/ssr/src_presentation_web_06b6~lt._.js +2 -2
  630. package/web/.next/server/chunks/ssr/src_presentation_web_06b6~lt._.js.map +1 -1
  631. package/web/.next/server/chunks/ssr/src_presentation_web_08fy2mf._.js +1 -1
  632. package/web/.next/server/chunks/ssr/src_presentation_web_08fy2mf._.js.map +1 -1
  633. package/web/.next/server/chunks/ssr/src_presentation_web_0f~udu1._.js +1 -1
  634. package/web/.next/server/chunks/ssr/src_presentation_web_0f~udu1._.js.map +1 -1
  635. package/web/.next/server/chunks/ssr/src_presentation_web_0qys821._.js +2 -2
  636. package/web/.next/server/chunks/ssr/src_presentation_web_0qys821._.js.map +1 -1
  637. package/web/.next/server/chunks/ssr/src_presentation_web_0q~dt0o._.js +1 -1
  638. package/web/.next/server/chunks/ssr/src_presentation_web_0q~dt0o._.js.map +1 -1
  639. package/web/.next/server/chunks/ssr/src_presentation_web_0y11iiz._.js +1 -1
  640. package/web/.next/server/chunks/ssr/src_presentation_web_0y11iiz._.js.map +1 -1
  641. package/web/.next/server/chunks/ssr/src_presentation_web_11jrkxt._.js +1 -1
  642. package/web/.next/server/chunks/ssr/src_presentation_web_11jrkxt._.js.map +1 -1
  643. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_1199d3x.js +1 -1
  644. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_1199d3x.js.map +1 -1
  645. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_0m2jqxx.js +1 -1
  646. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_0m2jqxx.js.map +1 -1
  647. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_0krkh_0.js +1 -1
  648. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_0krkh_0.js.map +1 -1
  649. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_load-settings_ts_0b8f3pf._.js +1 -1
  650. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_0w2wqvu._.js +1 -1
  651. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_0w2wqvu._.js.map +1 -1
  652. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js +1 -1
  653. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js.map +1 -1
  654. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_0aji.op._.js +1 -1
  655. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_0aji.op._.js.map +1 -1
  656. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_select_tsx_0b.-59k._.js +1 -1
  657. package/web/.next/server/middleware-build-manifest.js +5 -5
  658. package/web/.next/server/pages/500.html +1 -1
  659. package/web/.next/server/server-reference-manifest.js +1 -1
  660. package/web/.next/server/server-reference-manifest.json +49 -49
  661. package/web/.next/static/chunks/0-lu0b1ewsb0_.js +1 -0
  662. package/web/.next/static/chunks/00dg6gti40.3i.js +1 -0
  663. package/web/.next/static/chunks/01~dudieyb7wl.js +5 -0
  664. package/web/.next/static/chunks/{0riti1bs-erm~.js → 02kpdawdtqcxm.js} +1 -1
  665. package/web/.next/static/chunks/{0~er~22zwvx0i.js → 09_oo_kc.j.df.js} +1 -1
  666. package/web/.next/static/chunks/09dqgshddfxff.js +1 -0
  667. package/web/.next/static/chunks/0_--5mgqukm__.js +1 -0
  668. package/web/.next/static/chunks/0_c5~n__lz4ks.js +1 -0
  669. package/web/.next/static/chunks/0awttldb-.7m..js +1 -0
  670. package/web/.next/static/chunks/0d-2jp.f._l2e.js +1 -0
  671. package/web/.next/static/chunks/0fg~vc93spa9c.js +1 -0
  672. package/web/.next/static/chunks/{0t_48qc0x7bhs.js → 0ist7260j__0m.js} +3 -3
  673. package/web/.next/static/chunks/0j_0i2qsrwh-c.js +1 -0
  674. package/web/.next/static/chunks/{07yqyvabetyrh.js → 0l.kymg3jmf7n.js} +2 -2
  675. package/web/.next/static/chunks/0m5~9kij3s~81.js +1 -0
  676. package/web/.next/static/chunks/0njrgvmyafrod.js +1 -0
  677. package/web/.next/static/chunks/0nk2r-18.7g6r.js +1 -0
  678. package/web/.next/static/chunks/0ntgq3d_.m5el.js +5 -0
  679. package/web/.next/static/chunks/{0wmckrtphfa12.js → 0odlgm-ixqorl.js} +1 -1
  680. package/web/.next/static/chunks/0q~uf2s33.48w.js +1 -0
  681. package/web/.next/static/chunks/0t.pzrmeoq6th.js +7 -0
  682. package/web/.next/static/chunks/0t8zwgaz.d1s5.js +1 -0
  683. package/web/.next/static/chunks/11bi612fz8agh.js +1 -0
  684. package/web/.next/static/chunks/{071_2_.sfp-im.js → 14g1l3~6i5251.js} +2 -2
  685. package/web/.next/static/chunks/164dnpi666fv_.js +5 -0
  686. package/web/.next/static/chunks/{turbopack-0ve8f54_veg.u.js → turbopack-0wsav6to5abtk.js} +1 -1
  687. package/web/package.json +5 -5
  688. package/web/.next/server/chunks/ssr/0lyk_lucide-react_dist_esm_icons_06zrfq4._.js +0 -3
  689. package/web/.next/server/chunks/ssr/0lyk_lucide-react_dist_esm_icons_06zrfq4._.js.map +0 -1
  690. package/web/.next/server/chunks/ssr/0lyk_lucide-react_dist_esm_icons_0shxsmr._.js.map +0 -1
  691. package/web/.next/server/chunks/ssr/[root-of-the-server]__0_ag.8y._.js.map +0 -1
  692. package/web/.next/server/chunks/ssr/[root-of-the-server]__12qqi.~._.js +0 -3
  693. package/web/.next/server/chunks/ssr/[root-of-the-server]__12qqi.~._.js.map +0 -1
  694. package/web/.next/server/chunks/ssr/_0.gy.n8._.js +0 -3
  695. package/web/.next/server/chunks/ssr/_0.gy.n8._.js.map +0 -1
  696. package/web/.next/server/chunks/ssr/_0.k7wl.._.js +0 -3
  697. package/web/.next/server/chunks/ssr/_0.k7wl.._.js.map +0 -1
  698. package/web/.next/server/chunks/ssr/_09g41d0._.js.map +0 -1
  699. package/web/.next/server/chunks/ssr/_0aa~oer._.js +0 -3
  700. package/web/.next/server/chunks/ssr/_0aa~oer._.js.map +0 -1
  701. package/web/.next/server/chunks/ssr/_0d-pkk0._.js.map +0 -1
  702. package/web/.next/server/chunks/ssr/_0ez.1o4._.js +0 -3
  703. package/web/.next/server/chunks/ssr/_0ez.1o4._.js.map +0 -1
  704. package/web/.next/server/chunks/ssr/_0j9vx-1._.js.map +0 -1
  705. package/web/.next/server/chunks/ssr/_0jk5q_z._.js.map +0 -1
  706. package/web/.next/server/chunks/ssr/_0n.xy38._.js +0 -3
  707. package/web/.next/server/chunks/ssr/_0n.xy38._.js.map +0 -1
  708. package/web/.next/server/chunks/ssr/_0rvaoj4._.js.map +0 -1
  709. package/web/.next/server/chunks/ssr/_0v.yfmg._.js +0 -3
  710. package/web/.next/server/chunks/ssr/_0v.yfmg._.js.map +0 -1
  711. package/web/.next/server/chunks/ssr/_0vl.03w._.js +0 -3
  712. package/web/.next/server/chunks/ssr/_0vl.03w._.js.map +0 -1
  713. package/web/.next/server/chunks/ssr/_0xtds88._.js.map +0 -1
  714. package/web/.next/server/chunks/ssr/_11kuznh._.js +0 -3
  715. package/web/.next/server/chunks/ssr/_11kuznh._.js.map +0 -1
  716. package/web/.next/server/chunks/ssr/_13bl-l1._.js.map +0 -1
  717. package/web/.next/server/chunks/ssr/_13euo-f._.js +0 -3
  718. package/web/.next/server/chunks/ssr/_13euo-f._.js.map +0 -1
  719. package/web/.next/server/chunks/ssr/node_modules__pnpm_0xyo1be._.js +0 -3
  720. package/web/.next/server/chunks/ssr/node_modules__pnpm_0xyo1be._.js.map +0 -1
  721. package/web/.next/static/chunks/00racug7sobut.js +0 -1
  722. package/web/.next/static/chunks/06sdx5zm71_u5.js +0 -1
  723. package/web/.next/static/chunks/08iq.j3rbmhbm.js +0 -1
  724. package/web/.next/static/chunks/08iuksm8rvb09.js +0 -1
  725. package/web/.next/static/chunks/08se-_opmk~.7.js +0 -1
  726. package/web/.next/static/chunks/09b2usag59_bi.js +0 -5
  727. package/web/.next/static/chunks/0icjwdqytqa_8.js +0 -5
  728. package/web/.next/static/chunks/0qjoc4x5q-aeg.js +0 -1
  729. package/web/.next/static/chunks/0rhzqh.-6e6k7.js +0 -1
  730. package/web/.next/static/chunks/0s-e-ekdbgoqa.js +0 -1
  731. package/web/.next/static/chunks/0u5.s.lv2bae5.js +0 -1
  732. package/web/.next/static/chunks/0vgbvqu82ac1x.js +0 -1
  733. package/web/.next/static/chunks/0w~84g7r9307~.js +0 -1
  734. package/web/.next/static/chunks/0y1nwnouroh6k.js +0 -1
  735. package/web/.next/static/chunks/0zz.xgsd83.3n.js +0 -1
  736. package/web/.next/static/chunks/0~wymq55b2bn3.js +0 -1
  737. package/web/.next/static/chunks/10wo3waalauct.js +0 -5
  738. package/web/.next/static/chunks/15lcx-697j_3z.js +0 -7
  739. package/web/.next/static/chunks/176x256xw_viv.js +0 -1
  740. /package/web/.next/static/{xP_-L4TLYvd3i_sEmljLs → ZpPnD_b687G9xVr2nzrds}/_buildManifest.js +0 -0
  741. /package/web/.next/static/{xP_-L4TLYvd3i_sEmljLs → ZpPnD_b687G9xVr2nzrds}/_clientMiddlewareManifest.js +0 -0
  742. /package/web/.next/static/{xP_-L4TLYvd3i_sEmljLs → ZpPnD_b687G9xVr2nzrds}/_ssgManifest.js +0 -0
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Loader2 } from 'lucide-react';
4
- import { AlertCircle, ListTodo } from 'lucide-react';
3
+ import { LoaderCircle } from 'lucide-react';
4
+ import { CircleAlert, ListTodo } from 'lucide-react';
5
5
  import { Badge } from '../../ui/badge.js';
6
6
  import { TaskProgressView } from '../../common/task-progress-view/index.js';
7
7
  const planStateBadgeStyles = {
@@ -11,10 +11,10 @@ const planStateBadgeStyles = {
11
11
  };
12
12
  export function PlanTab({ plan, loading, error }) {
13
13
  if (loading) {
14
- return (_jsx("div", { "data-testid": "plan-tab-loading", className: "flex items-center justify-center p-8", children: _jsx(Loader2, { className: "text-muted-foreground h-6 w-6 animate-spin" }) }));
14
+ return (_jsx("div", { "data-testid": "plan-tab-loading", className: "flex items-center justify-center p-8", children: _jsx(LoaderCircle, { className: "text-muted-foreground h-6 w-6 animate-spin" }) }));
15
15
  }
16
16
  if (error) {
17
- return (_jsxs("div", { className: "flex items-center gap-2 p-4 text-sm text-red-600", children: [_jsx(AlertCircle, { className: "h-4 w-4 shrink-0" }), _jsx("span", { children: error })] }));
17
+ return (_jsxs("div", { className: "flex items-center gap-2 p-4 text-sm text-red-600", children: [_jsx(CircleAlert, { className: "h-4 w-4 shrink-0" }), _jsx("span", { children: error })] }));
18
18
  }
19
19
  if (!plan) {
20
20
  return (_jsxs("div", { className: "flex flex-col items-center justify-center gap-2 p-8", children: [_jsx(ListTodo, { className: "text-muted-foreground h-8 w-8" }), _jsx("p", { className: "text-muted-foreground text-sm", children: "No plan created yet" })] }));
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { PlanTab } from './plan-tab.js';
3
3
  declare const meta: Meta<typeof PlanTab>;
4
4
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"plan-tab.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer-tabs/plan-tab.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAc9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAoMtC,6EAA6E;AAC7E,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,qBAAqB,EAAE,KAMnC,CAAC;AAEF,mDAAmD;AACnD,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAC;AAEF,0CAA0C;AAC1C,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAC"}
1
+ {"version":3,"file":"plan-tab.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer-tabs/plan-tab.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAc9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAoMtC,6EAA6E;AAC7E,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,qBAAqB,EAAE,KAMnC,CAAC;AAEF,mDAAmD;AACnD,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAC;AAEF,0CAA0C;AAC1C,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { FeatureListItem } from './feature-list-item.js';
3
3
  declare const meta: Meta<typeof FeatureListItem>;
4
4
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"feature-list-item.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-list-item/feature-list-item.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,eAAe,CAgBtC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,YAAY,EAAE,KAO1B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAQxB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAQlB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAOnB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAQ9B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC"}
1
+ {"version":3,"file":"feature-list-item.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-list-item/feature-list-item.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,eAAe,CAgBtC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,YAAY,EAAE,KAO1B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAQxB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAQlB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAOnB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAQ9B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  declare const meta: Meta;
3
3
  export default meta;
4
4
  type Story = StoryObj;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-type-icons.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-node/agent-type-icons.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AA0CvD,QAAA,MAAM,IAAI,EAAE,IAIX,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAExB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAExB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAa1B,CAAC"}
1
+ {"version":3,"file":"agent-type-icons.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-node/agent-type-icons.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AA0C5D,QAAA,MAAM,IAAI,EAAE,IAIX,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAExB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAExB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAa1B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Loader2, CircleAlert, CircleCheck, Ban, CircleX, Trash2, Clock, Archive, } from 'lucide-react';
1
+ import { LoaderCircle, CircleAlert, CircleCheck, Ban, CircleX, Trash2, Clock, Archive, } from 'lucide-react';
2
2
  /** Human-readable display labels for lifecycle phases. */
3
3
  export const lifecycleDisplayLabels = {
4
4
  pending: 'PENDING',
@@ -124,7 +124,7 @@ export const lifecycleRunningVerbs = {
124
124
  };
125
125
  export const featureNodeStateConfig = {
126
126
  creating: {
127
- icon: Loader2,
127
+ icon: LoaderCircle,
128
128
  borderClass: 'border-s-blue-500',
129
129
  labelClass: 'text-blue-500',
130
130
  progressClass: 'bg-blue-500',
@@ -134,7 +134,7 @@ export const featureNodeStateConfig = {
134
134
  showProgressBar: false,
135
135
  },
136
136
  running: {
137
- icon: Loader2,
137
+ icon: LoaderCircle,
138
138
  borderClass: 'border-s-blue-500',
139
139
  labelClass: 'text-blue-500',
140
140
  progressClass: 'bg-blue-500',
@@ -4,7 +4,7 @@ import { useState } from 'react';
4
4
  import { useTranslation } from 'react-i18next';
5
5
  import { useRouter } from 'next/navigation';
6
6
  import { Handle, Position } from '@xyflow/react';
7
- import { Plus, Trash2, Zap, ClipboardList, Loader2, Globe, RotateCcw, Play, Square, Eye, Archive, ArchiveRestore, MessageSquare, } from 'lucide-react';
7
+ import { Plus, Trash2, Zap, ClipboardList, LoaderCircle, Globe, RotateCcw, Play, Square, Eye, Archive, ArchiveRestore, MessageSquare, } from 'lucide-react';
8
8
  import { cn } from '../../../lib/utils.js';
9
9
  import { ActionButton } from '../../common/action-button/action-button.js';
10
10
  import { Button } from '../../ui/button.js';
@@ -131,24 +131,18 @@ export function FeatureNode({ data, selected, }) {
131
131
  }, children: idCopied ? (_jsx("span", { className: "text-emerald-500", children: t('featureNode.copied') })) : (data.featureId.slice(0, 6)) }) }), _jsxs(TooltipContent, { side: "top", children: ["Click to copy: ", data.featureId] })] }) })) : null, (data.worktreePath ?? data.repositoryPath) ? (_jsx(FeatureSessionsDropdown, { repositoryPath: data.worktreePath ?? data.repositoryPath })) : null, data.state !== 'creating' && data.state !== 'deleting' && (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", size: "xs", "aria-label": "Open chat", "data-testid": "feature-node-chat-button", onClick: (e) => {
132
132
  e.stopPropagation();
133
133
  router.push(`/feature/${data.featureId}/chat`);
134
- }, className: "nodrag relative cursor-pointer text-violet-500 hover:text-violet-600 dark:text-violet-400 dark:hover:text-violet-300", children: [_jsx(MessageSquare, { className: "h-3 w-3" }), _jsx(ChatDotIndicator, { status: chatTurnStatus })] }) }), _jsx(TooltipContent, { side: "top", children: _jsx("p", { className: "text-xs", children: t('featureNode.chatWithAgent') }) })] }) })), deployTarget && data.state !== 'deleting' && data.state !== 'creating' ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "bg-border h-3 w-px shrink-0" }), isDeployReady ? (
135
- /* Ready: Globe + URL — Globe morphs to Stop on hover */
136
- _jsxs("span", { className: "group/deploy nodrag flex min-w-0 items-center gap-1.5", "data-testid": "feature-node-deploy-button", onClick: (e) => e.stopPropagation(), children: [_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("button", { type: "button", "aria-label": t('featureNode.stopDevServer'), className: "flex h-5 shrink-0 cursor-pointer items-center justify-center rounded-full transition-colors", onClick: (e) => {
134
+ }, className: "nodrag relative cursor-pointer text-violet-500 hover:text-violet-600 dark:text-violet-400 dark:hover:text-violet-300", children: [_jsx(MessageSquare, { className: "h-3 w-3" }), _jsx(ChatDotIndicator, { status: chatTurnStatus })] }) }), _jsx(TooltipContent, { side: "top", children: _jsx("p", { className: "text-xs", children: t('featureNode.chatWithAgent') }) })] }) })), deployTarget && data.state !== 'deleting' && data.state !== 'creating' ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "bg-border h-3 w-px shrink-0" }), isDeployReady ? (_jsxs("span", { className: "group/deploy nodrag flex min-w-0 items-center gap-1.5", "data-testid": "feature-node-deploy-button", onClick: (e) => e.stopPropagation(), children: [_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("button", { type: "button", "aria-label": t('featureNode.stopDevServer'), className: "flex h-5 shrink-0 cursor-pointer items-center justify-center rounded-full transition-colors", onClick: (e) => {
137
135
  e.stopPropagation();
138
136
  deployAction.stop();
139
- }, children: deployAction.stopLoading ? (_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin text-red-500" })) : (_jsxs("span", { className: "relative h-3.5 w-3.5", children: [_jsx(Globe, { className: "absolute inset-0 h-3.5 w-3.5 text-green-600 transition-opacity duration-200 group-hover/deploy:opacity-0 dark:text-green-400" }), _jsx(Square, { className: "absolute inset-0 h-3.5 w-3.5 text-red-500 opacity-0 transition-opacity duration-200 group-hover/deploy:opacity-100 dark:text-red-400" })] })) }) }), _jsx(TooltipContent, { side: "top", children: t('featureNode.stopDevServer') })] }) }), deployAction.url ? (_jsx("a", { href: deployAction.url, target: "_blank", rel: "noopener noreferrer", "data-testid": "feature-node-deployment-indicator", className: "nodrag min-w-0 truncate text-[10px] text-green-700 hover:underline dark:text-green-400", onClick: (e) => e.stopPropagation(), children: deployAction.url })) : null] })) : isDeployActive ? (
140
- /* Booting: Stop button + "Starting…" */
141
- _jsxs("span", { className: "nodrag flex min-w-0 items-center gap-1.5", "data-testid": "feature-node-deploy-button", onClick: (e) => e.stopPropagation(), children: [_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("button", { type: "button", "aria-label": t('featureNode.stopDevServer'), className: "flex h-5 shrink-0 cursor-pointer items-center justify-center rounded-full text-red-500 transition-colors hover:text-red-600 dark:text-red-400 dark:hover:text-red-300", onClick: (e) => {
137
+ }, children: deployAction.stopLoading ? (_jsx(LoaderCircle, { className: "h-3.5 w-3.5 animate-spin text-red-500" })) : (_jsxs("span", { className: "relative h-3.5 w-3.5", children: [_jsx(Globe, { className: "absolute inset-0 h-3.5 w-3.5 text-green-600 transition-opacity duration-200 group-hover/deploy:opacity-0 dark:text-green-400" }), _jsx(Square, { className: "absolute inset-0 h-3.5 w-3.5 text-red-500 opacity-0 transition-opacity duration-200 group-hover/deploy:opacity-100 dark:text-red-400" })] })) }) }), _jsx(TooltipContent, { side: "top", children: t('featureNode.stopDevServer') })] }) }), deployAction.url ? (_jsx("a", { href: deployAction.url, target: "_blank", rel: "noopener noreferrer", "data-testid": "feature-node-deployment-indicator", className: "nodrag min-w-0 truncate text-[10px] text-green-700 hover:underline dark:text-green-400", onClick: (e) => e.stopPropagation(), children: deployAction.url })) : null] })) : isDeployActive ? (_jsxs("span", { className: "nodrag flex min-w-0 items-center gap-1.5", "data-testid": "feature-node-deploy-button", onClick: (e) => e.stopPropagation(), children: [_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("button", { type: "button", "aria-label": t('featureNode.stopDevServer'), className: "flex h-5 shrink-0 cursor-pointer items-center justify-center rounded-full text-red-500 transition-colors hover:text-red-600 dark:text-red-400 dark:hover:text-red-300", onClick: (e) => {
142
138
  e.stopPropagation();
143
139
  deployAction.stop();
144
- }, children: deployAction.stopLoading ? (_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin" })) : (_jsx(Square, { className: "h-3.5 w-3.5" })) }) }), _jsx(TooltipContent, { side: "top", children: t('featureNode.stopDevServer') })] }) }), _jsx("span", { className: "text-muted-foreground animate-pulse text-[10px]", children: t('featureNode.starting') })] })) : (
145
- /* Idle / Error: Play or Retry button */
146
- _jsxs(_Fragment, { children: [_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("span", { className: cn('nodrag flex shrink-0 items-center', !deployAction.deployError &&
140
+ }, children: deployAction.stopLoading ? (_jsx(LoaderCircle, { className: "h-3.5 w-3.5 animate-spin" })) : (_jsx(Square, { className: "h-3.5 w-3.5" })) }) }), _jsx(TooltipContent, { side: "top", children: t('featureNode.stopDevServer') })] }) }), _jsx("span", { className: "text-muted-foreground animate-pulse text-[10px]", children: t('featureNode.starting') })] })) : (_jsxs(_Fragment, { children: [_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("span", { className: cn('nodrag flex shrink-0 items-center', !deployAction.deployError &&
147
141
  '[&_button]:text-green-600 [&_button]:hover:text-green-700 dark:[&_button]:text-green-400 dark:[&_button]:hover:text-green-300'), "data-testid": "feature-node-deploy-button", onClick: (e) => e.stopPropagation(), children: _jsx(ActionButton, { label: deployAction.deployError
148
142
  ? t('featureNode.retry')
149
143
  : t('featureNode.startDevServer'), onClick: deployAction.deploy, loading: deployAction.deployLoading, error: false, icon: deployAction.deployError ? RotateCcw : Play, iconOnly: true, variant: "ghost", size: "icon-xs" }) }) }), _jsx(TooltipContent, { side: "top", children: deployAction.deployError
150
144
  ? t('featureNode.retryDevServer')
151
- : t('featureNode.startDevServer') })] }) }), deployAction.deployError ? (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("span", { className: "min-w-0 truncate text-[10px] text-red-500", children: t('featureNode.failed') }) }), _jsx(TooltipContent, { side: "top", className: "max-w-64", children: _jsx("p", { className: "text-xs", children: deployAction.deployError }) })] }) })) : null] }))] })) : null] }), data.state === 'deleting' ? (_jsxs("div", { className: "flex items-center gap-1.5 text-xs", children: [_jsx(Loader2, { className: "h-3.5 w-3.5 shrink-0 animate-spin text-gray-400" }), _jsx("span", { className: "text-muted-foreground", children: t('featureNode.deleting') })] })) : data.state === 'creating' ? (_jsxs("div", { className: "flex items-center gap-1.5 text-xs", children: [_jsx(Icon, { className: "h-3.5 w-3.5 shrink-0 animate-spin text-teal-600 dark:text-teal-400" }), _jsx("span", { className: "font-medium text-teal-600 dark:text-teal-400", children: getBadgeText(data, t) })] })) : data.state === 'running' ? (_jsxs("div", { className: "flex items-center gap-1.5 text-xs", children: [_jsx(Icon, { className: "h-3.5 w-3.5 shrink-0 animate-spin text-teal-600 dark:text-teal-400" }), _jsx("span", { className: "font-medium text-teal-600 dark:text-teal-400", children: getBadgeText(data, t) })] })) : data.state === 'action-required' ? (_jsxs(Button, { variant: "default", size: "xs", "aria-label": getActionRequiredLabel(data, t), "data-testid": "feature-node-approve-button",
145
+ : t('featureNode.startDevServer') })] }) }), deployAction.deployError ? (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("span", { className: "min-w-0 truncate text-[10px] text-red-500", children: t('featureNode.failed') }) }), _jsx(TooltipContent, { side: "top", className: "max-w-64", children: _jsx("p", { className: "text-xs", children: deployAction.deployError }) })] }) })) : null] }))] })) : null] }), data.state === 'deleting' ? (_jsxs("div", { className: "flex items-center gap-1.5 text-xs", children: [_jsx(LoaderCircle, { className: "h-3.5 w-3.5 shrink-0 animate-spin text-gray-400" }), _jsx("span", { className: "text-muted-foreground", children: t('featureNode.deleting') })] })) : data.state === 'creating' ? (_jsxs("div", { className: "flex items-center gap-1.5 text-xs", children: [_jsx(Icon, { className: "h-3.5 w-3.5 shrink-0 animate-spin text-teal-600 dark:text-teal-400" }), _jsx("span", { className: "font-medium text-teal-600 dark:text-teal-400", children: getBadgeText(data, t) })] })) : data.state === 'running' ? (_jsxs("div", { className: "flex items-center gap-1.5 text-xs", children: [_jsx(Icon, { className: "h-3.5 w-3.5 shrink-0 animate-spin text-teal-600 dark:text-teal-400" }), _jsx("span", { className: "font-medium text-teal-600 dark:text-teal-400", children: getBadgeText(data, t) })] })) : data.state === 'action-required' ? (_jsxs(Button, { variant: "default", size: "xs", "aria-label": getActionRequiredLabel(data, t), "data-testid": "feature-node-approve-button",
152
146
  // eslint-disable-next-line @typescript-eslint/no-empty-function -- click bubbles to card's onNodeClick
153
147
  onClick: () => { }, className: "nodrag dark:bg-primary dark:text-primary-foreground dark:hover:bg-primary/90 cursor-pointer bg-neutral-900 text-[11px] text-white hover:bg-neutral-800", children: [_jsx(Eye, { className: "h-3 w-3" }), getActionRequiredLabel(data, t)] })) : data.state === 'error' && data.onRetry ? (_jsxs(Button, { variant: "outline", size: "xs", "aria-label": t('featureNode.retry'), "data-testid": "feature-node-retry-button", onClick: (e) => {
154
148
  e.stopPropagation();
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import type { FeatureNodeData } from './feature-node-state-config.js';
3
3
  declare const meta: Meta<FeatureNodeData>;
4
4
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"feature-node.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-node/feature-node.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAOvD,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,6BAA6B,CAAC;AAoCrC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,eAAe,CAqB/B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAEvC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AA+LF,eAAO,MAAM,SAAS,EAAE,KAQvB,CAAC;AAaF,eAAO,MAAM,aAAa,EAAE,KAqB3B,CAAC;AA2EF,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAMxB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAW7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAW9B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAUtB,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAUvC,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAUtB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAW9B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAY5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAW9B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAatB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAc1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAY/B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAa7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAYlC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,KAe5C,CAAC;AA4EF,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAUrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAW9B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAUtB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAWnC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAa7B,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,yBAAyB,EAAE,KAyBvC,CAAC;AA0DF,uFAAuF;AACvF,eAAO,MAAM,yBAAyB,EAAE,KAoCvC,CAAC"}
1
+ {"version":3,"file":"feature-node.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-node/feature-node.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAO5D,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,6BAA6B,CAAC;AAoCrC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,eAAe,CAqB/B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAEvC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AA+LF,eAAO,MAAM,SAAS,EAAE,KAQvB,CAAC;AAaF,eAAO,MAAM,aAAa,EAAE,KAqB3B,CAAC;AA2EF,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAMxB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAW7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAW9B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAUtB,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAUvC,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAUtB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAW9B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAY5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAW9B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAatB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAc1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAY/B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAa7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAYlC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,KAe5C,CAAC;AA4EF,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAUrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAW9B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAUtB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAWnC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAa7B,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,yBAAyB,EAAE,KAyBvC,CAAC;AA0DF,uFAAuF;AACvF,eAAO,MAAM,yBAAyB,EAAE,KAoCvC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useMemo } from 'react';
3
- import { expect, fn, userEvent, waitFor, within } from '@storybook/test';
3
+ import { expect, fn, userEvent, waitFor, within } from 'storybook/test';
4
4
  import { ReactFlowProvider, ReactFlow, useNodesState } from '@xyflow/react';
5
5
  import { Eye } from 'lucide-react';
6
6
  import { DeploymentState, PrStatus, CiStatus } from '../../../../../../packages/core/src/domain/generated/output.js';
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { FeatureSessionsDropdown } from './feature-sessions-dropdown.js';
3
3
  declare const meta: Meta<typeof FeatureSessionsDropdown>;
4
4
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"feature-sessions-dropdown.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-node/feature-sessions-dropdown.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAsEtE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,uBAAuB,CAM9C,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEtD,eAAO,MAAM,YAAY,EAAE,KAE1B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAEhC,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAEnB,CAAC"}
1
+ {"version":3,"file":"feature-sessions-dropdown.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-node/feature-sessions-dropdown.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAsEtE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,uBAAuB,CAM9C,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEtD,eAAO,MAAM,YAAY,EAAE,KAE1B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAEhC,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAEnB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { FeatureStatusBadges } from './feature-status-badges.js';
3
3
  declare const meta: Meta<typeof FeatureStatusBadges>;
4
4
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"feature-status-badges.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-status-badges/feature-status-badges.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,mBAAmB,CAgB1C,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,WAAW,EAAE,KAIzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAI9B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAI5B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAItB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAIzB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAInB,CAAC"}
1
+ {"version":3,"file":"feature-status-badges.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-status-badges/feature-status-badges.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,mBAAmB,CAgB1C,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,WAAW,EAAE,KAIzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAI9B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAI5B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAItB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAIzB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAInB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { CircleAlert, Loader2, CircleCheck, Ban, CircleX, Clock } from 'lucide-react';
1
+ import { CircleAlert, LoaderCircle, CircleCheck, Ban, CircleX, Clock } from 'lucide-react';
2
2
  export const featureStatusConfig = {
3
3
  'action-needed': {
4
4
  icon: CircleAlert,
@@ -7,7 +7,7 @@ export const featureStatusConfig = {
7
7
  labelKey: 'sidebar.statusActionNeeded',
8
8
  },
9
9
  'in-progress': {
10
- icon: Loader2,
10
+ icon: LoaderCircle,
11
11
  iconClass: 'text-blue-500 animate-spin',
12
12
  bgClass: 'bg-blue-500/10',
13
13
  labelKey: 'sidebar.statusInProgress',
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { FeatureStatusGroup } from './feature-status-group.js';
3
3
  declare const meta: Meta<typeof FeatureStatusGroup>;
4
4
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"feature-status-group.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-status-group/feature-status-group.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,kBAAkB,CAgBzC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,UAAU,EAAE,KAWxB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAYlB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAWrB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAW1B,CAAC"}
1
+ {"version":3,"file":"feature-status-group.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-status-group/feature-status-group.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,kBAAkB,CAgBzC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,UAAU,EAAE,KAWxB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAYlB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAWrB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAW1B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { useEffect, useState } from 'react';
4
- import { Plus, Loader2, X } from 'lucide-react';
4
+ import { Plus, LoaderCircle, X } from 'lucide-react';
5
5
  import { useTranslation } from 'react-i18next';
6
6
  import { cn } from '../../../lib/utils.js';
7
7
  import { Button } from '../../ui/button.js';
@@ -35,6 +35,6 @@ export function FloatingActionButton({ actions, className, style }) {
35
35
  }, onClick: () => {
36
36
  action.onClick();
37
37
  setOpen(false);
38
- }, children: [_jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: action.loading ? _jsx(Loader2, { className: "h-4 w-4 animate-spin" }) : action.icon }), _jsx("span", { children: action.label })] }, action.id));
38
+ }, children: [_jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: action.loading ? _jsx(LoaderCircle, { className: "h-4 w-4 animate-spin" }) : action.icon }), _jsx("span", { children: action.label })] }, action.id));
39
39
  }) }), _jsxs(Button, { size: "icon", "data-testid": "fab-trigger", "aria-label": open ? t('fab.closeActions') : t('fab.createNew'), className: cn('relative h-14 w-14 rounded-full shadow-lg', 'bg-indigo-500 text-white hover:bg-indigo-400 dark:bg-indigo-500 dark:hover:bg-indigo-400', 'transition-all duration-200 hover:scale-105 hover:shadow-xl active:scale-95'), onClick: () => setOpen((prev) => !prev), children: [_jsx(Plus, { className: cn('absolute h-7 w-7 stroke-[2.5] transition-all', open ? 'scale-0 rotate-90 opacity-0' : 'scale-100 rotate-0 opacity-100'), style: { transitionDuration: `${DURATION_MS}ms` } }), _jsx(X, { className: cn('absolute h-6 w-6 stroke-[2.5] transition-all', open ? 'scale-100 rotate-0 opacity-100' : 'scale-0 -rotate-90 opacity-0'), style: { transitionDuration: `${DURATION_MS}ms` } })] })] })] }));
40
40
  }
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { FloatingActionButton } from './floating-action-button.js';
3
3
  declare const meta: Meta<typeof FloatingActionButton>;
4
4
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"floating-action-button.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/floating-action-button/floating-action-button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAmC,MAAM,0BAA0B,CAAC;AAiBjG,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,oBAAoB,CAiB3C,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAU/B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAI1B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAY1B,CAAC"}
1
+ {"version":3,"file":"floating-action-button.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/floating-action-button/floating-action-button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAmC,MAAM,0BAA0B,CAAC;AAiBjG,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,oBAAoB,CAiB3C,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAU/B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAI1B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAY1B,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { GitHubImportDialog } from './github-import-dialog.js';
3
3
  declare const meta: Meta<typeof GitHubImportDialog>;
4
4
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"github-import-dialog.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/github-import-dialog/github-import-dialog.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,kBAAkB,CAYzC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEjD,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,MAAM,EAAE,KAEpB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAEvB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC"}
1
+ {"version":3,"file":"github-import-dialog.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/github-import-dialog/github-import-dialog.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,kBAAkB,CAYzC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEjD,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,MAAM,EAAE,KAEpB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAEvB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { fn } from '@storybook/test';
1
+ import { fn } from 'storybook/test';
2
2
  import { GitHubImportDialog } from './github-import-dialog.js';
3
3
  const meta = {
4
4
  title: 'Composed/GitHubImportDialog',
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { useCallback, useEffect, useRef, useState } from 'react';
4
- import { Lock, Globe, Loader2, Search, AlertCircle } from 'lucide-react';
4
+ import { Lock, Globe, LoaderCircle, Search, CircleAlert } from 'lucide-react';
5
5
  import { Input } from '../../ui/input.js';
6
6
  import { Badge } from '../../ui/badge.js';
7
7
  import { Skeleton } from '../../ui/skeleton.js';
@@ -76,7 +76,7 @@ export function GitHubRepoBrowser({ onSelect, loading: externalLoading = false,
76
76
  }
77
77
  const disabled = externalLoading;
78
78
  if (error && !fetching) {
79
- return (_jsxs("div", { className: "flex flex-col items-center gap-2 py-8 text-center", "data-testid": "repo-browser-error", children: [_jsx(AlertCircle, { className: "text-destructive h-8 w-8" }), _jsx("p", { className: "text-destructive text-sm", children: error })] }));
79
+ return (_jsxs("div", { className: "flex flex-col items-center gap-2 py-8 text-center", "data-testid": "repo-browser-error", children: [_jsx(CircleAlert, { className: "text-destructive h-8 w-8" }), _jsx("p", { className: "text-destructive text-sm", children: error })] }));
80
80
  }
81
- return (_jsxs("div", { className: "flex flex-col gap-3", children: [orgs.length > 0 ? (_jsxs(Select, { value: selectedOwner, onValueChange: handleOwnerChange, disabled: disabled, children: [_jsx(SelectTrigger, { "aria-label": "Select owner", children: _jsx(SelectValue, { placeholder: "Select owner" }) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: PERSONAL_OWNER, children: "My repositories" }), orgs.map((org) => (_jsx(SelectItem, { value: org.login, children: org.login }, org.login)))] })] })) : null, _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "text-muted-foreground absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2" }), _jsx(Input, { placeholder: "Search repositories...", value: search, onChange: (e) => handleSearchChange(e.target.value), className: "ps-9", disabled: disabled, "aria-label": "Search repositories" })] }), _jsx("div", { className: "max-h-64 overflow-x-hidden overflow-y-auto rounded-md border", role: "listbox", "aria-label": "GitHub repositories", children: fetching ? (_jsx("div", { className: "flex flex-col gap-2 p-3", "data-testid": "repo-browser-loading", children: Array.from({ length: 5 }).map((_, i) => (_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx(Skeleton, { className: "h-4 w-48" }), _jsx(Skeleton, { className: "h-3 w-72" })] }, `skeleton-${String(i)}`))) })) : repos.length === 0 ? (_jsx("div", { className: "text-muted-foreground py-8 text-center text-sm", "data-testid": "repo-browser-empty", children: "No repositories found" })) : (repos.map((repo) => (_jsxs("button", { type: "button", role: "option", "aria-selected": false, className: "hover:bg-accent flex w-full items-start gap-2 border-b px-3 py-2.5 text-start last:border-b-0 disabled:opacity-50", onClick: () => onSelect(repo.nameWithOwner), disabled: disabled, children: [_jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "truncate text-sm font-medium", children: repo.nameWithOwner }), _jsx(Badge, { variant: repo.isPrivate ? 'secondary' : 'outline', className: "shrink-0 text-xs", children: repo.isPrivate ? (_jsxs(_Fragment, { children: [_jsx(Lock, { className: "me-1 h-3 w-3" }), "Private"] })) : (_jsxs(_Fragment, { children: [_jsx(Globe, { className: "me-1 h-3 w-3" }), "Public"] })) })] }), repo.description ? (_jsx("p", { className: "text-muted-foreground mt-0.5 truncate text-xs", children: repo.description })) : null] }), disabled ? _jsx(Loader2, { className: "mt-0.5 h-4 w-4 shrink-0 animate-spin" }) : null] }, repo.nameWithOwner)))) })] }));
81
+ return (_jsxs("div", { className: "flex flex-col gap-3", children: [orgs.length > 0 ? (_jsxs(Select, { value: selectedOwner, onValueChange: handleOwnerChange, disabled: disabled, children: [_jsx(SelectTrigger, { "aria-label": "Select owner", children: _jsx(SelectValue, { placeholder: "Select owner" }) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: PERSONAL_OWNER, children: "My repositories" }), orgs.map((org) => (_jsx(SelectItem, { value: org.login, children: org.login }, org.login)))] })] })) : null, _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "text-muted-foreground absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2" }), _jsx(Input, { placeholder: "Search repositories...", value: search, onChange: (e) => handleSearchChange(e.target.value), className: "ps-9", disabled: disabled, "aria-label": "Search repositories" })] }), _jsx("div", { className: "max-h-64 overflow-x-hidden overflow-y-auto rounded-md border", role: "listbox", "aria-label": "GitHub repositories", children: fetching ? (_jsx("div", { className: "flex flex-col gap-2 p-3", "data-testid": "repo-browser-loading", children: Array.from({ length: 5 }).map((_, i) => (_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx(Skeleton, { className: "h-4 w-48" }), _jsx(Skeleton, { className: "h-3 w-72" })] }, `skeleton-${String(i)}`))) })) : repos.length === 0 ? (_jsx("div", { className: "text-muted-foreground py-8 text-center text-sm", "data-testid": "repo-browser-empty", children: "No repositories found" })) : (repos.map((repo) => (_jsxs("button", { type: "button", role: "option", "aria-selected": false, className: "hover:bg-accent flex w-full items-start gap-2 border-b px-3 py-2.5 text-start last:border-b-0 disabled:opacity-50", onClick: () => onSelect(repo.nameWithOwner), disabled: disabled, children: [_jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "truncate text-sm font-medium", children: repo.nameWithOwner }), _jsx(Badge, { variant: repo.isPrivate ? 'secondary' : 'outline', className: "shrink-0 text-xs", children: repo.isPrivate ? (_jsxs(_Fragment, { children: [_jsx(Lock, { className: "me-1 h-3 w-3" }), "Private"] })) : (_jsxs(_Fragment, { children: [_jsx(Globe, { className: "me-1 h-3 w-3" }), "Public"] })) })] }), repo.description ? (_jsx("p", { className: "text-muted-foreground mt-0.5 truncate text-xs", children: repo.description })) : null] }), disabled ? _jsx(LoaderCircle, { className: "mt-0.5 h-4 w-4 shrink-0 animate-spin" }) : null] }, repo.nameWithOwner)))) })] }));
82
82
  }
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { GitHubRepoBrowser } from './github-repo-browser.js';
3
3
  declare const meta: Meta<typeof GitHubRepoBrowser>;
4
4
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"github-repo-browser.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/github-import-dialog/github-repo-browser.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAgE1D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,iBAAiB,CAiBxC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhD,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAU/B,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAQnB,CAAC"}
1
+ {"version":3,"file":"github-repo-browser.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/github-import-dialog/github-repo-browser.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAgE1D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,iBAAiB,CAiBxC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhD,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAU/B,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAQnB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { fn } from '@storybook/test';
2
+ import { fn } from 'storybook/test';
3
3
  import { GitHubRepoBrowser } from './github-repo-browser.js';
4
4
  const mockRepos = [
5
5
  {
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useState } from 'react';
4
- import { Loader2 } from 'lucide-react';
4
+ import { LoaderCircle } from 'lucide-react';
5
5
  import { Input } from '../../ui/input.js';
6
6
  import { Button } from '../../ui/button.js';
7
7
  import { Label } from '../../ui/label.js';
@@ -42,5 +42,5 @@ export function GitHubUrlInput({ onSubmit, loading = false }) {
42
42
  setUrl(e.target.value);
43
43
  if (error)
44
44
  setError('');
45
- }, onKeyDown: handleKeyDown, disabled: loading, "aria-invalid": !!error, "aria-describedby": error ? 'github-url-error' : undefined }), _jsx(Button, { onClick: handleSubmit, disabled: loading || !url.trim(), size: "sm", children: loading ? _jsx(Loader2, { className: "h-4 w-4 animate-spin" }) : 'Import' })] }), error ? (_jsx("p", { id: "github-url-error", className: "text-destructive text-sm", role: "alert", children: error })) : null] }));
45
+ }, onKeyDown: handleKeyDown, disabled: loading, "aria-invalid": !!error, "aria-describedby": error ? 'github-url-error' : undefined }), _jsx(Button, { onClick: handleSubmit, disabled: loading || !url.trim(), size: "sm", children: loading ? _jsx(LoaderCircle, { className: "h-4 w-4 animate-spin" }) : 'Import' })] }), error ? (_jsx("p", { id: "github-url-error", className: "text-destructive text-sm", role: "alert", children: error })) : null] }));
46
46
  }
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { GitHubUrlInput } from './github-url-input.js';
3
3
  declare const meta: Meta<typeof GitHubUrlInput>;
4
4
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"github-url-input.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/github-import-dialog/github-url-input.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CAiBrC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAC;AAE7C,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAGvB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAAU,CAAC"}
1
+ {"version":3,"file":"github-url-input.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/github-import-dialog/github-url-input.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CAiBrC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAC;AAE7C,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAGvB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAAU,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { fn } from '@storybook/test';
2
+ import { fn } from 'storybook/test';
3
3
  import { GitHubUrlInput } from './github-url-input.js';
4
4
  const meta = {
5
5
  title: 'Composed/GitHubUrlInput',
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { InlineAttachments } from './inline-attachments.js';
3
3
  declare const meta: Meta<typeof InlineAttachments>;
4
4
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"inline-attachments.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/inline-attachments/inline-attachments.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,iBAAiB,CAYxC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhD,gDAAgD;AAChD,eAAO,MAAM,SAAS,EAAE,KAIvB,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,mBAAmB,EAAE,KAIjC,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,mBAAmB,EAAE,KAIjC,CAAC;AAEF,6CAA6C;AAC7C,eAAO,MAAM,cAAc,EAAE,KAI5B,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,EAAE,KAQlC,CAAC"}
1
+ {"version":3,"file":"inline-attachments.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/inline-attachments/inline-attachments.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,iBAAiB,CAYxC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhD,gDAAgD;AAChD,eAAO,MAAM,SAAS,EAAE,KAIvB,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,mBAAmB,EAAE,KAIjC,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,mBAAmB,EAAE,KAIjC,CAAC;AAEF,6CAA6C;AAC7C,eAAO,MAAM,cAAc,EAAE,KAI5B,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,EAAE,KAQlC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { LoadingSkeleton } from './loading-skeleton.js';
3
3
  declare const meta: Meta<typeof LoadingSkeleton>;
4
4
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"loading-skeleton.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/loading-skeleton/loading-skeleton.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,eAAe,CAmBtC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAIpB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAM9B,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAkBnB,CAAC"}
1
+ {"version":3,"file":"loading-skeleton.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/loading-skeleton/loading-skeleton.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,eAAe,CAmBtC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAIpB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAM9B,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAkBnB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { DiffView } from './diff-view.js';
3
3
  declare const meta: Meta<typeof DiffView>;
4
4
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"diff-view.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/merge-review/diff-view.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA2HvC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,QAAQ,CAuB/B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEvC,0DAA0D;AAC1D,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,4BAA4B;AAC5B,eAAO,MAAM,UAAU,EAAE,KAIxB,CAAC;AAEF,4BAA4B;AAC5B,eAAO,MAAM,aAAa,EAAE,KAI3B,CAAC;AAEF,0BAA0B;AAC1B,eAAO,MAAM,aAAa,EAAE,KAI3B,CAAC;AAEF,oBAAoB;AACpB,eAAO,MAAM,WAAW,EAAE,KAIzB,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,UAAU,EAAE,KAIxB,CAAC"}
1
+ {"version":3,"file":"diff-view.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/merge-review/diff-view.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA2HvC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,QAAQ,CAuB/B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEvC,0DAA0D;AAC1D,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,4BAA4B;AAC5B,eAAO,MAAM,UAAU,EAAE,KAIxB,CAAC;AAEF,4BAA4B;AAC5B,eAAO,MAAM,aAAa,EAAE,KAI3B,CAAC;AAEF,0BAA0B;AAC1B,eAAO,MAAM,aAAa,EAAE,KAI3B,CAAC;AAEF,oBAAoB;AACpB,eAAO,MAAM,WAAW,EAAE,KAIzB,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,UAAU,EAAE,KAIxB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useState } from 'react';
4
- import { ExternalLink, AlertTriangle, FileDiff, GitCommitHorizontal, GitBranch, ArrowRight, Camera, FileText, MonitorPlay, Terminal, Download, ChevronDown, ChevronRight, } from 'lucide-react';
4
+ import { ExternalLink, TriangleAlert, FileDiff, GitCommitHorizontal, GitBranch, ArrowRight, Camera, FileText, MonitorPlay, Terminal, Download, ChevronDown, ChevronRight, } from 'lucide-react';
5
5
  import { Badge } from '../../ui/badge.js';
6
6
  import { CiStatusBadge } from '../../common/ci-status-badge/index.js';
7
7
  import { DrawerActionBar } from '../../common/drawer-action-bar/index.js';
@@ -30,9 +30,7 @@ function EvidenceItem({ evidence }) {
30
30
  const isImage = evidence.type === 'Screenshot' || IMAGE_EXTENSIONS.has(ext);
31
31
  const isVideo = evidence.type === 'Video' || VIDEO_EXTENSIONS.has(ext);
32
32
  const isText = evidence.type === 'TestOutput' || evidence.type === 'TerminalRecording';
33
- return (_jsxs("li", { className: "border-border rounded-md border", children: [_jsxs("button", { type: "button", onClick: () => setExpanded(!expanded), className: "flex w-full cursor-pointer items-center gap-2.5 px-3 py-2.5 text-start", children: [expanded ? (_jsx(ChevronDown, { className: "text-muted-foreground h-3 w-3 shrink-0" })) : (_jsx(ChevronRight, { className: "text-muted-foreground h-3 w-3 shrink-0" })), _jsx(Icon, { className: "text-muted-foreground h-3.5 w-3.5 shrink-0" }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("span", { className: "text-foreground text-xs font-medium", children: evidence.description }), evidence.taskRef ? (_jsxs("span", { className: "text-muted-foreground ms-1.5 text-[10px]", children: ["(", evidence.taskRef, ")"] })) : null] }), url ? (_jsx("a", { href: url, download: true, onClick: (e) => e.stopPropagation(), className: "text-muted-foreground hover:text-foreground shrink-0 rounded p-1 transition-colors", "aria-label": "Download", children: _jsx(Download, { className: "h-3 w-3" }) })) : null] }), expanded && url ? (_jsx("div", { className: "border-border border-t px-3 py-2.5", children: isImage ? (
34
- /* eslint-disable-next-line @next/next/no-img-element */
35
- _jsx("img", { src: url, alt: evidence.description, className: "max-h-80 w-full rounded-md border object-contain", loading: "lazy" })) : isVideo ? (_jsx("video", { src: url, controls: true, className: "max-h-80 w-full rounded-md border", preload: "metadata", children: _jsx("track", { kind: "captions" }) })) : isText ? (_jsx(EvidenceTextPreview, { url: url })) : (_jsx("p", { className: "text-muted-foreground truncate font-mono text-[10px]", children: evidence.relativePath })) })) : null, expanded && !url ? (_jsx("div", { className: "border-border border-t px-3 py-2.5", children: _jsx("p", { className: "text-muted-foreground truncate font-mono text-[10px]", children: evidence.relativePath }) })) : null] }));
33
+ return (_jsxs("li", { className: "border-border rounded-md border", children: [_jsxs("button", { type: "button", onClick: () => setExpanded(!expanded), className: "flex w-full cursor-pointer items-center gap-2.5 px-3 py-2.5 text-start", children: [expanded ? (_jsx(ChevronDown, { className: "text-muted-foreground h-3 w-3 shrink-0" })) : (_jsx(ChevronRight, { className: "text-muted-foreground h-3 w-3 shrink-0" })), _jsx(Icon, { className: "text-muted-foreground h-3.5 w-3.5 shrink-0" }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("span", { className: "text-foreground text-xs font-medium", children: evidence.description }), evidence.taskRef ? (_jsxs("span", { className: "text-muted-foreground ms-1.5 text-[10px]", children: ["(", evidence.taskRef, ")"] })) : null] }), url ? (_jsx("a", { href: url, download: true, onClick: (e) => e.stopPropagation(), className: "text-muted-foreground hover:text-foreground shrink-0 rounded p-1 transition-colors", "aria-label": "Download", children: _jsx(Download, { className: "h-3 w-3" }) })) : null] }), expanded && url ? (_jsx("div", { className: "border-border border-t px-3 py-2.5", children: isImage ? (_jsx("img", { src: url, alt: evidence.description, className: "max-h-80 w-full rounded-md border object-contain", loading: "lazy" })) : isVideo ? (_jsx("video", { src: url, controls: true, className: "max-h-80 w-full rounded-md border", preload: "metadata", children: _jsx("track", { kind: "captions" }) })) : isText ? (_jsx(EvidenceTextPreview, { url: url })) : (_jsx("p", { className: "text-muted-foreground truncate font-mono text-[10px]", children: evidence.relativePath })) })) : null, expanded && !url ? (_jsx("div", { className: "border-border border-t px-3 py-2.5", children: _jsx("p", { className: "text-muted-foreground truncate font-mono text-[10px]", children: evidence.relativePath }) })) : null] }));
36
34
  }
37
35
  function EvidenceTextPreview({ url }) {
38
36
  const [content, setContent] = useState(null);
@@ -65,5 +63,5 @@ export function MergeReview({ data, readOnly = false, onApprove, onReject, isPro
65
63
  ? 'This feature was merged. Review the pull request details and evidence below.'
66
64
  : pr
67
65
  ? 'Review the pull request details and approve to merge.'
68
- : 'Review the changes and approve to merge.' })] })] }), branch ? (_jsx("div", { className: "border-border rounded-lg border", children: _jsxs("div", { className: "flex items-center gap-2 px-4 py-3", children: [_jsx(GitBranch, { className: "text-muted-foreground h-4 w-4 shrink-0" }), _jsx(Badge, { variant: "secondary", className: "font-mono text-[11px]", children: branch.source }), _jsx(ArrowRight, { className: "text-muted-foreground h-3.5 w-3.5 shrink-0" }), _jsx(Badge, { variant: "outline", className: "font-mono text-[11px]", children: branch.target })] }) })) : null, pr ? (_jsx("div", { className: "border-border rounded-lg border", children: _jsxs("div", { className: "space-y-3 px-4 py-3", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("a", { href: pr.url, target: "_blank", rel: "noopener noreferrer", className: "text-primary flex items-center gap-1.5 text-sm font-semibold underline underline-offset-2", children: ["PR #", pr.number, _jsx(ExternalLink, { className: "h-3.5 w-3.5" })] }), _jsx(Badge, { variant: "outline", className: "text-xs", children: pr.status })] }), pr.mergeable === false ? (_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-muted-foreground text-xs font-medium", children: "Merge Status" }), _jsxs(Badge, { className: "border-transparent bg-orange-50 text-orange-700 hover:bg-orange-50", children: [_jsx(AlertTriangle, { className: "me-1 h-3.5 w-3.5" }), "Conflicts"] })] })) : null, pr.ciStatus && hideCiStatus !== true ? (_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-muted-foreground text-xs font-medium", children: "CI Status" }), _jsx(CiStatusBadge, { status: pr.ciStatus })] })) : null, pr.commitHash ? (_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-muted-foreground text-xs font-medium", children: "Commit" }), _jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx(GitCommitHorizontal, { className: "text-muted-foreground h-3.5 w-3.5" }), _jsx("code", { className: "bg-muted text-foreground rounded-md px-1.5 py-0.5 font-mono text-[11px]", children: pr.commitHash.slice(0, 7) })] })] })) : null] }) })) : null, diffSummary ? (_jsx("div", { className: "border-border rounded-lg border", children: _jsxs("div", { className: "px-4 py-3", children: [_jsxs("div", { className: "mb-3 flex items-center gap-2", children: [_jsx(FileDiff, { className: "text-muted-foreground h-4 w-4" }), _jsx("span", { className: "text-foreground text-xs font-semibold", children: "Changes" })] }), _jsxs("div", { className: "grid grid-cols-4 gap-3", children: [_jsxs("div", { className: "text-center", children: [_jsx("div", { className: "text-foreground text-sm font-bold", children: diffSummary.filesChanged }), _jsx("div", { className: "text-muted-foreground text-[10px]", children: "files" })] }), _jsxs("div", { className: "text-center", children: [_jsxs("div", { className: "text-sm font-bold text-green-600", children: ["+", diffSummary.additions] }), _jsx("div", { className: "text-muted-foreground text-[10px]", children: "additions" })] }), _jsxs("div", { className: "text-center", children: [_jsxs("div", { className: "text-sm font-bold text-red-600", children: ["-", diffSummary.deletions] }), _jsx("div", { className: "text-muted-foreground text-[10px]", children: "deletions" })] }), _jsxs("div", { className: "text-center", children: [_jsx("div", { className: "text-foreground text-sm font-bold", children: diffSummary.commitCount }), _jsx("div", { className: "text-muted-foreground text-[10px]", children: "commits" })] })] })] }) })) : warning ? (_jsx("div", { className: "border-border rounded-lg border", children: _jsxs("div", { className: "flex items-center gap-2 px-4 py-3", children: [_jsx(AlertTriangle, { className: "text-muted-foreground h-4 w-4 shrink-0" }), _jsx("span", { className: "text-muted-foreground text-xs", children: warning })] }) })) : null, evidence && evidence.length > 0 ? _jsx(EvidenceList, { evidence: evidence }) : null, fileDiffs && fileDiffs.length > 0 ? _jsx(DiffView, { fileDiffs: fileDiffs }) : null] }), !readOnly && (_jsx(DrawerActionBar, { onReject: onReject, onApprove: handleApproveOrResolve, approveLabel: hasConflicts ? 'Resolve Conflicts' : 'Approve Merge', approveVariant: hasConflicts ? 'warning' : 'default', revisionPlaceholder: "Ask AI to revise before merging...", isProcessing: isProcessing, isRejecting: isRejecting, chatInput: chatInput, onChatInputChange: onChatInputChange }))] }));
66
+ : 'Review the changes and approve to merge.' })] })] }), branch ? (_jsx("div", { className: "border-border rounded-lg border", children: _jsxs("div", { className: "flex items-center gap-2 px-4 py-3", children: [_jsx(GitBranch, { className: "text-muted-foreground h-4 w-4 shrink-0" }), _jsx(Badge, { variant: "secondary", className: "font-mono text-[11px]", children: branch.source }), _jsx(ArrowRight, { className: "text-muted-foreground h-3.5 w-3.5 shrink-0" }), _jsx(Badge, { variant: "outline", className: "font-mono text-[11px]", children: branch.target })] }) })) : null, pr ? (_jsx("div", { className: "border-border rounded-lg border", children: _jsxs("div", { className: "space-y-3 px-4 py-3", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("a", { href: pr.url, target: "_blank", rel: "noopener noreferrer", className: "text-primary flex items-center gap-1.5 text-sm font-semibold underline underline-offset-2", children: ["PR #", pr.number, _jsx(ExternalLink, { className: "h-3.5 w-3.5" })] }), _jsx(Badge, { variant: "outline", className: "text-xs", children: pr.status })] }), pr.mergeable === false ? (_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-muted-foreground text-xs font-medium", children: "Merge Status" }), _jsxs(Badge, { className: "border-transparent bg-orange-50 text-orange-700 hover:bg-orange-50", children: [_jsx(TriangleAlert, { className: "me-1 h-3.5 w-3.5" }), "Conflicts"] })] })) : null, pr.ciStatus && hideCiStatus !== true ? (_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-muted-foreground text-xs font-medium", children: "CI Status" }), _jsx(CiStatusBadge, { status: pr.ciStatus })] })) : null, pr.commitHash ? (_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-muted-foreground text-xs font-medium", children: "Commit" }), _jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx(GitCommitHorizontal, { className: "text-muted-foreground h-3.5 w-3.5" }), _jsx("code", { className: "bg-muted text-foreground rounded-md px-1.5 py-0.5 font-mono text-[11px]", children: pr.commitHash.slice(0, 7) })] })] })) : null] }) })) : null, diffSummary ? (_jsx("div", { className: "border-border rounded-lg border", children: _jsxs("div", { className: "px-4 py-3", children: [_jsxs("div", { className: "mb-3 flex items-center gap-2", children: [_jsx(FileDiff, { className: "text-muted-foreground h-4 w-4" }), _jsx("span", { className: "text-foreground text-xs font-semibold", children: "Changes" })] }), _jsxs("div", { className: "grid grid-cols-4 gap-3", children: [_jsxs("div", { className: "text-center", children: [_jsx("div", { className: "text-foreground text-sm font-bold", children: diffSummary.filesChanged }), _jsx("div", { className: "text-muted-foreground text-[10px]", children: "files" })] }), _jsxs("div", { className: "text-center", children: [_jsxs("div", { className: "text-sm font-bold text-green-600", children: ["+", diffSummary.additions] }), _jsx("div", { className: "text-muted-foreground text-[10px]", children: "additions" })] }), _jsxs("div", { className: "text-center", children: [_jsxs("div", { className: "text-sm font-bold text-red-600", children: ["-", diffSummary.deletions] }), _jsx("div", { className: "text-muted-foreground text-[10px]", children: "deletions" })] }), _jsxs("div", { className: "text-center", children: [_jsx("div", { className: "text-foreground text-sm font-bold", children: diffSummary.commitCount }), _jsx("div", { className: "text-muted-foreground text-[10px]", children: "commits" })] })] })] }) })) : warning ? (_jsx("div", { className: "border-border rounded-lg border", children: _jsxs("div", { className: "flex items-center gap-2 px-4 py-3", children: [_jsx(TriangleAlert, { className: "text-muted-foreground h-4 w-4 shrink-0" }), _jsx("span", { className: "text-muted-foreground text-xs", children: warning })] }) })) : null, evidence && evidence.length > 0 ? _jsx(EvidenceList, { evidence: evidence }) : null, fileDiffs && fileDiffs.length > 0 ? _jsx(DiffView, { fileDiffs: fileDiffs }) : null] }), !readOnly && (_jsx(DrawerActionBar, { onReject: onReject, onApprove: handleApproveOrResolve, approveLabel: hasConflicts ? 'Resolve Conflicts' : 'Approve Merge', approveVariant: hasConflicts ? 'warning' : 'default', revisionPlaceholder: "Ask AI to revise before merging...", isProcessing: isProcessing, isRejecting: isRejecting, chatInput: chatInput, onChatInputChange: onChatInputChange }))] }));
69
67
  }
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { MergeReview } from './merge-review.js';
3
3
  declare const meta: Meta<typeof MergeReview>;
4
4
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"merge-review.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/merge-review/merge-review.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AA2F7C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAclC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAC;AAE1C,kDAAkD;AAClD,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,mDAAmD;AACnD,eAAO,MAAM,cAAc,EAAE,KAQ5B,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,SAAS,EAAE,KAQvB,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,SAAS,EAAE,KAQvB,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,aAAa,EAAE,KAS3B,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,UAAU,EAAE,KAQxB,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,UAAU,EAAE,KAMxB,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,YAAY,EAAE,KAQ1B,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,UAAU,EAAE,KAQxB,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,YAAY,EAAE,KAoC1B,CAAC;AAaF,iGAAiG;AACjG,eAAO,MAAM,gBAAgB,EAAE,KA2B9B,CAAC;AAEF,+FAA+F;AAC/F,eAAO,MAAM,uBAAuB,EAAE,KAwBrC,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,cAAc,EAAE,KAS5B,CAAC"}
1
+ {"version":3,"file":"merge-review.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/merge-review/merge-review.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AA2F7C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAclC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAC;AAE1C,kDAAkD;AAClD,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,mDAAmD;AACnD,eAAO,MAAM,cAAc,EAAE,KAQ5B,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,SAAS,EAAE,KAQvB,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,SAAS,EAAE,KAQvB,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,aAAa,EAAE,KAS3B,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,UAAU,EAAE,KAQxB,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,UAAU,EAAE,KAMxB,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,YAAY,EAAE,KAQ1B,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,UAAU,EAAE,KAQxB,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,YAAY,EAAE,KAoC1B,CAAC;AAaF,iGAAiG;AACjG,eAAO,MAAM,gBAAgB,EAAE,KA2B9B,CAAC;AAEF,+FAA+F;AAC/F,eAAO,MAAM,uBAAuB,EAAE,KAwBrC,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,cAAc,EAAE,KAS5B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { fn } from '@storybook/test';
2
+ import { fn } from 'storybook/test';
3
3
  import { PrStatus, CiStatus } from '../../../../../../packages/core/src/domain/generated/output.js';
4
4
  import { MergeReview } from './merge-review.js';
5
5
  const fullPr = {
@@ -1,13 +1,13 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useState } from 'react';
4
- import { Code2, Terminal, FolderOpen, FileText, Copy, Check, Loader2, CircleAlert, } from 'lucide-react';
4
+ import { Code2, Terminal, FolderOpen, FileText, Copy, Check, LoaderCircle, CircleAlert, } from 'lucide-react';
5
5
  import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../../ui/tooltip.js';
6
6
  const COPY_FEEDBACK_DELAY = 2000;
7
7
  const tbBtn = 'text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-8 items-center justify-center rounded-[3px] disabled:opacity-40';
8
8
  function TbIcon({ loading, error, icon: Icon, }) {
9
9
  if (loading)
10
- return _jsx(Loader2, { className: "size-3.5 animate-spin" });
10
+ return _jsx(LoaderCircle, { className: "size-3.5 animate-spin" });
11
11
  if (error)
12
12
  return _jsx(CircleAlert, { className: "text-destructive size-3.5" });
13
13
  return _jsx(Icon, { className: "size-4" });
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { OpenActionMenu } from './open-action-menu.js';
3
3
  declare const meta: Meta<typeof OpenActionMenu>;
4
4
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"open-action-menu.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/open-action-menu/open-action-menu.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAqBpD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CAOrC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAC;AAE7C,4DAA4D;AAC5D,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,4CAA4C;AAC5C,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,EAAE,KAO9B,CAAC"}
1
+ {"version":3,"file":"open-action-menu.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/open-action-menu/open-action-menu.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAqBpD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CAOrC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAC;AAE7C,4DAA4D;AAC5D,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,4CAA4C;AAC5C,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,EAAE,KAO9B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { fn } from '@storybook/test';
1
+ import { fn } from 'storybook/test';
2
2
  import { OpenActionMenu } from './open-action-menu.js';
3
3
  const defaultActions = {
4
4
  openInIde: fn().mockName('openInIde'),
@@ -1,4 +1,4 @@
1
- import type { StoryObj } from '@storybook/react';
1
+ import type { StoryObj } from '@storybook/react-vite';
2
2
  import { PageHeader } from './page-header.js';
3
3
  declare const meta: {
4
4
  title: string;