@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
@@ -62,7 +62,7 @@ decisions:
62
62
  - title: 'Persistence Layer for Theme Preference'
63
63
  chosen: >
64
64
  localStorage Web API. Read on ThemeProvider mount to restore the preference;
65
- write on every toggleTheme() call. Key: shep-theme, values: light or dark.
65
+ write on every toggleTheme() call. Key: shipit-ai-theme, values: light or dark.
66
66
  rejected:
67
67
  - >
68
68
  SQLite settings via backend API: requires a new settings field, API endpoint,
@@ -102,7 +102,7 @@ content: |
102
102
 
103
103
  ### 3. Persistence Layer
104
104
 
105
- **Chosen:** localStorage (key: shep-theme, values: light | dark)
105
+ **Chosen:** localStorage (key: shipit-ai-theme, values: light | dark)
106
106
 
107
107
  **Rejected:**
108
108
  - SQLite settings via API — out of scope, requires migration
@@ -2,5 +2,5 @@
2
2
  * Tasks Fixture — fictional "Add dark-mode toggle to ShipIT Web UI" feature.
3
3
  * Passes validateTasks() against plan phase IDs [phase-1, phase-2, phase-3].
4
4
  */
5
- export declare const TASKS_FIXTURE = "name: dark-mode-toggle\nsummary: >\n 8 tasks across 3 phases: ThemeProvider context (phase-1), ThemeToggle component\n (phase-2), settings panel integration and validation (phase-3).\n\nrelatedFeatures: []\ntechnologies: []\nrelatedLinks: []\n\ntasks:\n - id: task-1\n phaseId: phase-1\n title: 'Create ThemeProvider and useTheme hook'\n description: 'ThemeProvider managing light/dark state via React context with localStorage persistence.'\n state: Todo\n dependencies: []\n acceptanceCriteria:\n - 'ThemeProvider renders children without error'\n - 'useTheme returns { theme, toggleTheme } where theme is \"light\" or \"dark\"'\n - 'toggleTheme() switches theme and toggles html element dark class'\n - 'Theme persists to localStorage key \"shep-theme\" on toggle'\n tdd:\n red: ['Write test: useTheme default is \"light\" with no localStorage entry', 'Write test: toggleTheme() adds dark class to html element']\n green: ['Implement ThemeProvider reading localStorage and calling classList.toggle', 'Implement useTheme hook calling useContext(ThemeContext)']\n refactor: ['Extract THEME_KEY constant; add sanitization for non-light/dark values']\n estimatedEffort: '2h'\n\n - id: task-2\n phaseId: phase-1\n title: 'Write unit tests for ThemeProvider edge cases'\n description: 'Cover edge cases: invalid stored value, double-toggle cycle, SSR safety.'\n state: Todo\n dependencies: ['task-1']\n acceptanceCriteria:\n - 'Test: invalid localStorage value \"purple\" defaults to \"light\"'\n - 'Test: toggling twice returns to original theme'\n - 'Test: ThemeProvider handles window being undefined (SSR safety)'\n tdd:\n red: ['Write test: localStorage \"purple\" \u2192 theme defaults to \"light\"']\n green: ['Sanitization branch handles all non-light/dark values']\n refactor: ['Consolidate theme validation into isValidTheme() helper']\n estimatedEffort: '1h'\n\n - id: task-3\n phaseId: phase-2\n title: 'Create ThemeToggle component'\n description: 'shadcn/ui Switch + Label component wired to useTheme(). onClick calls toggleTheme().'\n state: Todo\n dependencies: ['task-1']\n acceptanceCriteria:\n - 'ThemeToggle renders a Switch with aria-label \"Toggle dark mode\"'\n - 'Switch checked reflects current theme (\"dark\" = checked)'\n - 'Clicking Switch calls toggleTheme() exactly once'\n - 'Component file is <= 50 lines'\n tdd:\n red: ['Write test: Switch checked is false when theme is \"light\"', 'Write test: Switch click triggers toggleTheme()']\n green: ['Implement ThemeToggle with Switch checked wired to theme === \"dark\"']\n refactor: ['Extract aria-label constant; remove any inline styles']\n estimatedEffort: '1h'\n\n - id: task-4\n phaseId: phase-2\n title: 'Create Storybook story for ThemeToggle'\n description: 'theme-toggle.stories.tsx with Default and DarkMode variants using ThemeProvider decorator.'\n state: Todo\n dependencies: ['task-3']\n acceptanceCriteria:\n - 'Story includes Default and DarkMode variants with ThemeProvider decorator'\n - 'pnpm dev:storybook runs without error for the new story'\n tdd: null\n estimatedEffort: '30min'\n\n - id: task-5\n phaseId: phase-2\n title: 'Write integration test for ThemeToggle + ThemeProvider'\n description: 'Mount ThemeProvider wrapping ThemeToggle; assert full toggle cycle including localStorage.'\n state: Todo\n dependencies: ['task-3']\n acceptanceCriteria:\n - 'After clicking Toggle: html has dark class, localStorage has \"dark\"'\n - 'After clicking Toggle again: html has no dark class, localStorage has \"light\"'\n tdd:\n red: ['Write integration test: html class and localStorage after two toggle cycles']\n green: ['Test passes with existing ThemeProvider + ThemeToggle implementations']\n refactor: ['Extract renderWithTheme() test helper for reuse']\n estimatedEffort: '45min'\n\n - id: task-6\n phaseId: phase-3\n title: 'Wrap root layout in ThemeProvider'\n description: 'Update app/layout.tsx to wrap children with ThemeProvider.'\n state: Todo\n dependencies: ['task-1']\n acceptanceCriteria:\n - 'layout.tsx imports ThemeProvider and wraps children'\n - 'Existing Playwright e2e tests continue to pass'\n tdd:\n red: ['Write e2e test: dark class persists after page reload when toggled']\n green: ['Add ThemeProvider wrapping children in layout.tsx']\n refactor: ['Ensure import order follows project eslint rules']\n estimatedEffort: '30min'\n\n - id: task-7\n phaseId: phase-3\n title: 'Add ThemeToggle to settings panel'\n description: 'Add ThemeToggle to the Appearance section of settings-panel.tsx.'\n state: Todo\n dependencies: ['task-3', 'task-6']\n acceptanceCriteria:\n - 'settings-panel.tsx imports and renders ThemeToggle in the Appearance section'\n - 'ThemeToggle is visible and functional in the running web UI'\n tdd:\n red: ['Write unit test: ThemeToggle is present in rendered SettingsPanel']\n green: ['Add import and render ThemeToggle in the Appearance section']\n refactor: ['Ensure Appearance section heading is semantically correct (h2/h3)']\n estimatedEffort: '30min'\n\n - id: task-8\n phaseId: phase-3\n title: 'Run full validation and fix any issues'\n description: 'Run pnpm validate and pnpm test; fix any failures before marking complete.'\n state: Todo\n dependencies: ['task-6', 'task-7']\n acceptanceCriteria:\n - 'pnpm lint passes with no errors'\n - 'pnpm typecheck passes with no errors'\n - 'pnpm test passes with no failures'\n - 'pnpm build completes successfully'\n tdd: null\n estimatedEffort: '30min'\n\ntotalEstimate: '7.25h'\nopenQuestions: []\n\ncontent: |\n ## Summary\n\n Phase-1 builds ThemeProvider + useTheme hook with full test coverage.\n Phase-2 creates ThemeToggle in isolation with Storybook stories and integration tests.\n Phase-3 wires the provider into the root layout, adds the toggle to the settings panel,\n then validates with pnpm validate + pnpm test.\n";
5
+ export declare const TASKS_FIXTURE = "name: dark-mode-toggle\nsummary: >\n 8 tasks across 3 phases: ThemeProvider context (phase-1), ThemeToggle component\n (phase-2), settings panel integration and validation (phase-3).\n\nrelatedFeatures: []\ntechnologies: []\nrelatedLinks: []\n\ntasks:\n - id: task-1\n phaseId: phase-1\n title: 'Create ThemeProvider and useTheme hook'\n description: 'ThemeProvider managing light/dark state via React context with localStorage persistence.'\n state: Todo\n dependencies: []\n acceptanceCriteria:\n - 'ThemeProvider renders children without error'\n - 'useTheme returns { theme, toggleTheme } where theme is \"light\" or \"dark\"'\n - 'toggleTheme() switches theme and toggles html element dark class'\n - 'Theme persists to localStorage key \"shipit-ai-theme\" on toggle'\n tdd:\n red: ['Write test: useTheme default is \"light\" with no localStorage entry', 'Write test: toggleTheme() adds dark class to html element']\n green: ['Implement ThemeProvider reading localStorage and calling classList.toggle', 'Implement useTheme hook calling useContext(ThemeContext)']\n refactor: ['Extract THEME_KEY constant; add sanitization for non-light/dark values']\n estimatedEffort: '2h'\n\n - id: task-2\n phaseId: phase-1\n title: 'Write unit tests for ThemeProvider edge cases'\n description: 'Cover edge cases: invalid stored value, double-toggle cycle, SSR safety.'\n state: Todo\n dependencies: ['task-1']\n acceptanceCriteria:\n - 'Test: invalid localStorage value \"purple\" defaults to \"light\"'\n - 'Test: toggling twice returns to original theme'\n - 'Test: ThemeProvider handles window being undefined (SSR safety)'\n tdd:\n red: ['Write test: localStorage \"purple\" \u2192 theme defaults to \"light\"']\n green: ['Sanitization branch handles all non-light/dark values']\n refactor: ['Consolidate theme validation into isValidTheme() helper']\n estimatedEffort: '1h'\n\n - id: task-3\n phaseId: phase-2\n title: 'Create ThemeToggle component'\n description: 'shadcn/ui Switch + Label component wired to useTheme(). onClick calls toggleTheme().'\n state: Todo\n dependencies: ['task-1']\n acceptanceCriteria:\n - 'ThemeToggle renders a Switch with aria-label \"Toggle dark mode\"'\n - 'Switch checked reflects current theme (\"dark\" = checked)'\n - 'Clicking Switch calls toggleTheme() exactly once'\n - 'Component file is <= 50 lines'\n tdd:\n red: ['Write test: Switch checked is false when theme is \"light\"', 'Write test: Switch click triggers toggleTheme()']\n green: ['Implement ThemeToggle with Switch checked wired to theme === \"dark\"']\n refactor: ['Extract aria-label constant; remove any inline styles']\n estimatedEffort: '1h'\n\n - id: task-4\n phaseId: phase-2\n title: 'Create Storybook story for ThemeToggle'\n description: 'theme-toggle.stories.tsx with Default and DarkMode variants using ThemeProvider decorator.'\n state: Todo\n dependencies: ['task-3']\n acceptanceCriteria:\n - 'Story includes Default and DarkMode variants with ThemeProvider decorator'\n - 'pnpm dev:storybook runs without error for the new story'\n tdd: null\n estimatedEffort: '30min'\n\n - id: task-5\n phaseId: phase-2\n title: 'Write integration test for ThemeToggle + ThemeProvider'\n description: 'Mount ThemeProvider wrapping ThemeToggle; assert full toggle cycle including localStorage.'\n state: Todo\n dependencies: ['task-3']\n acceptanceCriteria:\n - 'After clicking Toggle: html has dark class, localStorage has \"dark\"'\n - 'After clicking Toggle again: html has no dark class, localStorage has \"light\"'\n tdd:\n red: ['Write integration test: html class and localStorage after two toggle cycles']\n green: ['Test passes with existing ThemeProvider + ThemeToggle implementations']\n refactor: ['Extract renderWithTheme() test helper for reuse']\n estimatedEffort: '45min'\n\n - id: task-6\n phaseId: phase-3\n title: 'Wrap root layout in ThemeProvider'\n description: 'Update app/layout.tsx to wrap children with ThemeProvider.'\n state: Todo\n dependencies: ['task-1']\n acceptanceCriteria:\n - 'layout.tsx imports ThemeProvider and wraps children'\n - 'Existing Playwright e2e tests continue to pass'\n tdd:\n red: ['Write e2e test: dark class persists after page reload when toggled']\n green: ['Add ThemeProvider wrapping children in layout.tsx']\n refactor: ['Ensure import order follows project eslint rules']\n estimatedEffort: '30min'\n\n - id: task-7\n phaseId: phase-3\n title: 'Add ThemeToggle to settings panel'\n description: 'Add ThemeToggle to the Appearance section of settings-panel.tsx.'\n state: Todo\n dependencies: ['task-3', 'task-6']\n acceptanceCriteria:\n - 'settings-panel.tsx imports and renders ThemeToggle in the Appearance section'\n - 'ThemeToggle is visible and functional in the running web UI'\n tdd:\n red: ['Write unit test: ThemeToggle is present in rendered SettingsPanel']\n green: ['Add import and render ThemeToggle in the Appearance section']\n refactor: ['Ensure Appearance section heading is semantically correct (h2/h3)']\n estimatedEffort: '30min'\n\n - id: task-8\n phaseId: phase-3\n title: 'Run full validation and fix any issues'\n description: 'Run pnpm validate and pnpm test; fix any failures before marking complete.'\n state: Todo\n dependencies: ['task-6', 'task-7']\n acceptanceCriteria:\n - 'pnpm lint passes with no errors'\n - 'pnpm typecheck passes with no errors'\n - 'pnpm test passes with no failures'\n - 'pnpm build completes successfully'\n tdd: null\n estimatedEffort: '30min'\n\ntotalEstimate: '7.25h'\nopenQuestions: []\n\ncontent: |\n ## Summary\n\n Phase-1 builds ThemeProvider + useTheme hook with full test coverage.\n Phase-2 creates ThemeToggle in isolation with Storybook stories and integration tests.\n Phase-3 wires the provider into the root layout, adds the toggle to the settings panel,\n then validates with pnpm validate + pnpm test.\n";
6
6
  //# sourceMappingURL=tasks.fixture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.fixture.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/fixtures/tasks.fixture.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,aAAa,wmMA6IzB,CAAC"}
1
+ {"version":3,"file":"tasks.fixture.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/fixtures/tasks.fixture.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,aAAa,6mMA6IzB,CAAC"}
@@ -22,7 +22,7 @@ tasks:
22
22
  - 'ThemeProvider renders children without error'
23
23
  - 'useTheme returns { theme, toggleTheme } where theme is "light" or "dark"'
24
24
  - 'toggleTheme() switches theme and toggles html element dark class'
25
- - 'Theme persists to localStorage key "shep-theme" on toggle'
25
+ - 'Theme persists to localStorage key "shipit-ai-theme" on toggle'
26
26
  tdd:
27
27
  red: ['Write test: useTheme default is "light" with no localStorage entry', 'Write test: toggleTheme() adds dark class to html element']
28
28
  green: ['Implement ThemeProvider reading localStorage and calling classList.toggle', 'Implement useTheme hook calling useContext(ThemeContext)']
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Rovo Dev Executor Service
3
+ *
4
+ * Infrastructure implementation of IAgentExecutor for the Atlassian Rovo Dev CLI agent.
5
+ * Executes prompts via the `acli rovodev run` CLI subprocess.
6
+ *
7
+ * The binary is `acli` but the subcommand `rovodev run` must be prepended
8
+ * before any other arguments.
9
+ *
10
+ * Uses constructor dependency injection for the spawn function
11
+ * to enable testability without mocking node:child_process directly.
12
+ */
13
+ import type { AgentType, AgentFeature } from '../../../../../domain/generated/output.js';
14
+ import type { AgentExecutionOptions, AgentExecutionResult, AgentExecutionStreamEvent } from '../../../../../application/ports/output/agents/agent-executor.interface.js';
15
+ import type { SpawnFunction } from '../types.js';
16
+ import { ExecutorBase } from './executor-base.js';
17
+ /**
18
+ * Executor service for Atlassian Rovo Dev CLI agent.
19
+ * Uses subprocess spawning to interact with the `acli rovodev run` CLI.
20
+ */
21
+ export declare class RovoDevExecutorService extends ExecutorBase {
22
+ readonly agentType: AgentType;
23
+ constructor(spawn: SpawnFunction);
24
+ supportsFeature(feature: AgentFeature): boolean;
25
+ execute(prompt: string, options?: AgentExecutionOptions): Promise<AgentExecutionResult>;
26
+ executeStream(prompt: string, options?: AgentExecutionOptions): AsyncIterable<AgentExecutionStreamEvent>;
27
+ /**
28
+ * Build CLI arguments for Rovo Dev execution.
29
+ *
30
+ * `acli rovodev run "prompt" [--yolo]`
31
+ *
32
+ * The binary is `acli` with `rovodev run` subcommands prepended.
33
+ * No --model flag exists for Rovo Dev — model selection is only via config file.
34
+ */
35
+ private buildArgs;
36
+ }
37
+ //# sourceMappingURL=rovo-dev-executor.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rovo-dev-executor.service.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/rovo-dev-executor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,4EAA4E,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,YAAY;IACtD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAA2B;gBAE5C,KAAK,EAAE,aAAa;IAIhC,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAIzC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkEtF,aAAa,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,CAAC,yBAAyB,CAAC;IAoE3C;;;;;;;OAOG;IACH,OAAO,CAAC,SAAS;CAalB"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Rovo Dev Executor Service
3
+ *
4
+ * Infrastructure implementation of IAgentExecutor for the Atlassian Rovo Dev CLI agent.
5
+ * Executes prompts via the `acli rovodev run` CLI subprocess.
6
+ *
7
+ * The binary is `acli` but the subcommand `rovodev run` must be prepended
8
+ * before any other arguments.
9
+ *
10
+ * Uses constructor dependency injection for the spawn function
11
+ * to enable testability without mocking node:child_process directly.
12
+ */
13
+ import { ExecutorBase } from './executor-base.js';
14
+ /** Features supported by Rovo Dev */
15
+ const SUPPORTED_FEATURES = new Set(['streaming']);
16
+ /**
17
+ * Executor service for Atlassian Rovo Dev CLI agent.
18
+ * Uses subprocess spawning to interact with the `acli rovodev run` CLI.
19
+ */
20
+ export class RovoDevExecutorService extends ExecutorBase {
21
+ agentType = 'rovo-dev';
22
+ constructor(spawn) {
23
+ super(spawn);
24
+ }
25
+ supportsFeature(feature) {
26
+ return SUPPORTED_FEATURES.has(feature);
27
+ }
28
+ async execute(prompt, options) {
29
+ this.silent = options?.silent ?? false;
30
+ const args = this.buildArgs(prompt, options);
31
+ const spawnOpts = this.buildSpawnOptions(options);
32
+ this.log(`Spawning: acli ${args.map((a) => (a.length > 80 ? `${a.slice(0, 77)}...` : a)).join(' ')}`);
33
+ this.log(`Spawn cwd: ${spawnOpts.cwd ?? '(inherited)'}`);
34
+ const proc = this.spawn('acli', args, spawnOpts);
35
+ this.log(`Subprocess PID: ${proc.pid ?? 'undefined (spawn may have failed)'}`);
36
+ this.log(`Prompt length: ${prompt.length} chars`);
37
+ return new Promise((resolve, reject) => {
38
+ let stdout = '';
39
+ const timeout = this.createTimeoutHandler(proc, options?.timeout);
40
+ const stderrHandler = this.createStderrHandler();
41
+ proc.stdout?.on('data', (chunk) => {
42
+ stdout += chunk.toString();
43
+ });
44
+ proc.stderr?.on('data', stderrHandler.handler);
45
+ proc.on('error', (error) => {
46
+ reject(this.handleProcessError(error, timeout.clear, 'Rovo Dev CLI ("acli") not found', 'Please install the Atlassian CLI: https://developer.atlassian.com/cloud/acli/'));
47
+ });
48
+ proc.on('close', (code) => {
49
+ const stderr = stderrHandler.getStderr();
50
+ this.log(`Process closed with code ${code}, stdout=${stdout.length} chars`);
51
+ timeout.clear();
52
+ if (timeout.isTimedOut()) {
53
+ reject(new Error('Agent execution timed out'));
54
+ return;
55
+ }
56
+ if (code !== 0 && code !== null) {
57
+ const message = stderr.trim()
58
+ ? `Process exited with code ${code}: ${stderr.trim()}`
59
+ : `Process exited with code ${code}`;
60
+ reject(new Error(message));
61
+ return;
62
+ }
63
+ if (!stdout.trim()) {
64
+ reject(new Error(`Empty response from Rovo Dev CLI. stderr: ${stderr.slice(0, 300)}`));
65
+ return;
66
+ }
67
+ const result = { result: stdout.trim() };
68
+ resolve(result);
69
+ });
70
+ });
71
+ }
72
+ async *executeStream(prompt, options) {
73
+ this.silent = options?.silent ?? false;
74
+ const args = this.buildArgs(prompt, options);
75
+ const spawnOpts = this.buildSpawnOptions(options);
76
+ const proc = this.spawn('acli', args, spawnOpts);
77
+ const q = this.createStreamQueue();
78
+ const stderrHandler = this.createStderrHandler();
79
+ let timedOut = false;
80
+ let timeoutId;
81
+ let error = null;
82
+ if (options?.timeout) {
83
+ timeoutId = setTimeout(() => {
84
+ timedOut = true;
85
+ proc.kill();
86
+ q.enqueue({ type: 'error', content: 'Agent execution timed out', timestamp: new Date() });
87
+ q.enqueue(null);
88
+ }, options.timeout);
89
+ }
90
+ const lineBuffer = this.createLineBufferHandler((line) => {
91
+ q.enqueue({ type: 'progress', content: line, timestamp: new Date() });
92
+ });
93
+ proc.stdout?.on('data', lineBuffer.handler);
94
+ proc.stderr?.on('data', stderrHandler.handler);
95
+ proc.on('error', (err) => {
96
+ if (timeoutId)
97
+ clearTimeout(timeoutId);
98
+ error = err;
99
+ q.enqueue(null);
100
+ });
101
+ proc.on('close', (code) => {
102
+ if (timeoutId)
103
+ clearTimeout(timeoutId);
104
+ if (timedOut)
105
+ return; // already handled by timeout callback
106
+ lineBuffer.flush();
107
+ const stderr = stderrHandler.getStderr();
108
+ if (code !== 0 && code !== null) {
109
+ const msg = stderr.trim()
110
+ ? `Process exited with code ${code}: ${stderr.trim()}`
111
+ : `Process exited with code ${code}`;
112
+ q.enqueue({ type: 'error', content: msg, timestamp: new Date() });
113
+ }
114
+ q.enqueue(null);
115
+ });
116
+ // Yield events as they arrive
117
+ while (true) {
118
+ await q.waitForItem();
119
+ const item = q.shift();
120
+ if (item === null || item === undefined) {
121
+ if (error !== null) {
122
+ yield {
123
+ type: 'error',
124
+ content: error.message,
125
+ timestamp: new Date(),
126
+ };
127
+ }
128
+ return;
129
+ }
130
+ yield item;
131
+ }
132
+ }
133
+ /**
134
+ * Build CLI arguments for Rovo Dev execution.
135
+ *
136
+ * `acli rovodev run "prompt" [--yolo]`
137
+ *
138
+ * The binary is `acli` with `rovodev run` subcommands prepended.
139
+ * No --model flag exists for Rovo Dev — model selection is only via config file.
140
+ */
141
+ buildArgs(prompt, options) {
142
+ const args = ['rovodev', 'run', prompt];
143
+ // Enable autonomous mode when all tools are allowed
144
+ if (options?.allowedTools?.includes('*') ||
145
+ (options?.allowedTools && options.allowedTools.length > 0)) {
146
+ args.push('--yolo');
147
+ }
148
+ return args;
149
+ }
150
+ }
@@ -177,7 +177,7 @@ export declare function removeSpecCommitsIfNeeded(state: FeatureAgentState, node
177
177
  */
178
178
  export declare function executeNode(nodeName: string, executor: IAgentExecutor, buildPrompt: (state: FeatureAgentState, log: NodeLogger) => string): (state: FeatureAgentState) => Promise<Partial<FeatureAgentState>>;
179
179
  /**
180
- * Save evidence manifest to the shep home evidence folder so the
180
+ * Save evidence manifest to the shipit-ai home evidence folder so the
181
181
  * merge review UI can read it without accessing graph state.
182
182
  */
183
183
  export declare function saveEvidenceManifest(state: FeatureAgentState, evidence: Evidence[], log: ReturnType<typeof createNodeLogger>): void;
@@ -565,7 +565,7 @@ export function executeNode(nodeName, executor, buildPrompt) {
565
565
  };
566
566
  }
567
567
  /**
568
- * Save evidence manifest to the shep home evidence folder so the
568
+ * Save evidence manifest to the shipit-ai home evidence folder so the
569
569
  * merge review UI can read it without accessing graph state.
570
570
  */
571
571
  export function saveEvidenceManifest(state, evidence, log) {
@@ -87,7 +87,7 @@ let MergeStrategyService = class MergeStrategyService {
87
87
  if (status.trim().length > 0) {
88
88
  // Write commit message to a temp file to avoid shell splitting on Windows
89
89
  // (DI-injected execFile uses shell: true on Windows, which splits on spaces)
90
- const msgFile = join(tmpdir(), `shep-merge-msg-${Date.now()}.txt`);
90
+ const msgFile = join(tmpdir(), `shipit-ai-merge-msg-${Date.now()}.txt`);
91
91
  try {
92
92
  writeFileSync(msgFile, commitMessage, 'utf8');
93
93
  await this.execFile('git', ['commit', '--file', msgFile], { cwd });
@@ -13,7 +13,7 @@ const MAX_TASKS = 30;
13
13
  /** Cached CLI help text — generated once per process lifetime. */
14
14
  let cachedCliHelp = null;
15
15
  /**
16
- * Generates the full recursive CLI help text by running `shep --help` and
16
+ * Generates the full recursive CLI help text by running `shipit-ai --help` and
17
17
  * subcommand help for all registered commands. Cached after first call.
18
18
  */
19
19
  function getCliHelpText() {
@@ -23,7 +23,7 @@ import { EventEmitter } from 'node:events';
23
23
  * is shared across module boundaries (e.g., Next.js Turbopack-bundled code
24
24
  * vs. the dev-server process running via tsx).
25
25
  */
26
- const GLOBAL_KEY = Symbol.for('shep:notification-bus');
26
+ const GLOBAL_KEY = Symbol.for('shipit-ai:notification-bus');
27
27
  /**
28
28
  * Get the notification event bus singleton.
29
29
  * Lazily creates the bus on first access.
@@ -2,7 +2,7 @@
2
2
  * Spec Initializer Service
3
3
  *
4
4
  * Creates feature specification directories with YAML template files.
5
- * Templates match exactly what /shep-kit:new-feature produces,
5
+ * Templates match exactly what /shipit-kit:new-feature produces,
6
6
  * enabling dogfooding — the CLI and the skill use the same spec format.
7
7
  */
8
8
  import type { ISpecInitializerService, SpecInitializerResult } from '../../../application/ports/output/services/spec-initializer.interface.js';
@@ -2,7 +2,7 @@
2
2
  * Spec Initializer Service
3
3
  *
4
4
  * Creates feature specification directories with YAML template files.
5
- * Templates match exactly what /shep-kit:new-feature produces,
5
+ * Templates match exactly what /shipit-kit:new-feature produces,
6
6
  * enabling dogfooding — the CLI and the skill use the same spec format.
7
7
  */
8
8
  import { mkdir, readdir, writeFile } from 'node:fs/promises';
@@ -35,7 +35,7 @@ function applyTemplate(template, vars) {
35
35
  return result;
36
36
  }
37
37
  // ─── YAML Templates ────────────────────────────────────────────────
38
- // These match .claude/skills/shep-kit-new-feature/templates/ exactly.
38
+ // These match .claude/skills/shipit-kit-new-feature/templates/ exactly.
39
39
  const SPEC_YAML = `# Feature Specification (YAML)
40
40
  # This is the source of truth. Markdown is auto-generated from this file.
41
41
 
@@ -242,7 +242,7 @@ const TEMPLATES = [
242
242
  export class SpecInitializerService {
243
243
  async initialize(basePath, slug, featureNumber, description, mode) {
244
244
  // Scan existing specs/ directory for highest NNN prefix to avoid collisions
245
- // (specs may have been created outside the DB, e.g., via /shep-kit:new-feature)
245
+ // (specs may have been created outside the DB, e.g., via /shipit-kit:new-feature)
246
246
  const resolvedNumber = await this.resolveNextNumber(basePath, featureNumber);
247
247
  const nnn = padNumber(resolvedNumber);
248
248
  const specDirName = `${nnn}-${slug}`;
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "GitHub Copilot CLI",
3
+ "summary": "AI-powered coding agent from GitHub",
4
+ "description": "GitHub Copilot CLI is a full agentic coding assistant that brings AI-powered coding directly to your terminal with plan mode, autopilot, delegation, and MCP server support.",
5
+ "tags": ["cli-agent"],
6
+ "author": "GitHub",
7
+ "website": "https://github.com/features/copilot/cli",
8
+ "platforms": ["linux", "darwin", "win32"],
9
+ "iconUrl": "https://cdn.simpleicons.org/githubcopilot",
10
+ "binary": "copilot",
11
+ "packageManager": "npm",
12
+ "commands": {
13
+ "linux": "npm install -g @github/copilot",
14
+ "darwin": "brew install copilot-cli",
15
+ "win32": "winget install GitHub.Copilot"
16
+ },
17
+ "timeout": 300000,
18
+ "documentationUrl": "https://docs.github.com/en/copilot/how-tos/copilot-cli/cli-getting-started",
19
+ "verifyCommand": "copilot --version",
20
+ "autoInstall": true,
21
+ "openDirectory": "cd {dir} && exec copilot",
22
+ "spawnOptions": {
23
+ "shell": true,
24
+ "stdio": "inherit",
25
+ "detached": false
26
+ },
27
+ "terminalCommand": {
28
+ "linux": "x-terminal-emulator -e bash -c 'cd {dir} && exec copilot'",
29
+ "darwin": "open -a Terminal.app bash -c 'cd {dir} && exec copilot'"
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "Rovo Dev CLI",
3
+ "summary": "AI-powered coding agent from Atlassian",
4
+ "description": "Rovo Dev CLI is Atlassian's agentic AI coding assistant that runs in the terminal with deep Jira, Confluence, and Bitbucket integration via the Teamwork Graph.",
5
+ "tags": ["cli-agent"],
6
+ "author": "Atlassian",
7
+ "website": "https://www.atlassian.com/software/rovo",
8
+ "platforms": ["linux", "darwin", "win32"],
9
+ "iconUrl": "https://cdn.simpleicons.org/atlassian",
10
+ "binary": "acli",
11
+ "packageManager": "brew",
12
+ "commands": {
13
+ "linux": "curl -LO \"https://acli.atlassian.com/linux/latest/acli_linux_$(uname -m | sed 's/x86_64/amd64/' | sed 's/aarch64/arm64/')/acli\" && chmod +x ./acli && sudo mv ./acli /usr/local/bin/acli",
14
+ "darwin": "brew tap atlassian/homebrew-acli && brew install acli",
15
+ "win32": "powershell -Command \"Invoke-WebRequest -Uri https://acli.atlassian.com/windows/latest/acli_windows_amd64/acli.exe -OutFile acli.exe; Move-Item acli.exe $env:LOCALAPPDATA\\Programs\\acli\\acli.exe -Force\""
16
+ },
17
+ "timeout": 300000,
18
+ "documentationUrl": "https://support.atlassian.com/rovo/docs/install-and-run-rovo-dev-cli-on-your-device/",
19
+ "verifyCommand": "acli --version",
20
+ "autoInstall": true,
21
+ "openDirectory": "cd {dir} && exec acli rovodev run",
22
+ "spawnOptions": {
23
+ "shell": true,
24
+ "stdio": "inherit",
25
+ "detached": false
26
+ },
27
+ "terminalCommand": {
28
+ "linux": "x-terminal-emulator -e bash -c 'cd {dir} && exec acli rovodev run'",
29
+ "darwin": "open -a Terminal.app bash -c 'cd {dir} && exec acli rovodev run'"
30
+ }
31
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"check-agent-auth.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/check-agent-auth.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,SAAS,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,aAAa,EAAE,OAAO,CAAC;IACvB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,0FAA0F;IAC1F,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wDAAwD;IACxD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAgHD;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CA4H/D"}
1
+ {"version":3,"file":"check-agent-auth.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/check-agent-auth.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,SAAS,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,aAAa,EAAE,OAAO,CAAC;IACvB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,0FAA0F;IAC1F,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wDAAwD;IACxD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AA+ID;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CA4H/D"}
@@ -8,8 +8,10 @@ import { resolve } from '../../lib/server-container.js';
8
8
  const AGENT_LABELS = {
9
9
  'claude-code': 'Claude Code',
10
10
  'codex-cli': 'Codex CLI',
11
+ 'copilot-cli': 'GitHub Copilot CLI',
11
12
  cursor: 'Cursor CLI',
12
13
  'gemini-cli': 'Gemini CLI',
14
+ 'rovo-dev': 'Rovo Dev CLI',
13
15
  aider: 'Aider',
14
16
  continue: 'Continue',
15
17
  dev: 'Demo',
@@ -17,14 +19,18 @@ const AGENT_LABELS = {
17
19
  const AGENT_TOOL_MAP = {
18
20
  'claude-code': 'claude-code',
19
21
  'codex-cli': 'codex-cli',
22
+ 'copilot-cli': 'copilot-cli',
20
23
  cursor: 'cursor-cli',
21
24
  'gemini-cli': 'gemini-cli',
25
+ 'rovo-dev': 'rovo-dev',
22
26
  };
23
27
  const AGENT_BINARY_MAP = {
24
28
  'claude-code': 'claude',
25
29
  'codex-cli': 'codex',
30
+ 'copilot-cli': 'copilot',
26
31
  cursor: 'cursor-agent',
27
32
  'gemini-cli': 'gemini',
33
+ 'rovo-dev': 'acli',
28
34
  };
29
35
  /**
30
36
  * Tier 1: Instant credential/env check (~5ms, no subprocess).
@@ -67,6 +73,24 @@ function tier1AuthCheck(agentType) {
67
73
  const accountsPath = join(home, '.gemini', 'google_accounts.json');
68
74
  return existsSync(accountsPath) ? 'file' : false;
69
75
  }
76
+ case 'copilot-cli': {
77
+ if (process.env['COPILOT_GITHUB_TOKEN'])
78
+ return 'env-var';
79
+ if (process.env['GH_TOKEN'])
80
+ return 'env-var';
81
+ if (process.env['GITHUB_TOKEN'])
82
+ return 'env-var';
83
+ const configPath = process.env['COPILOT_HOME']
84
+ ? join(process.env['COPILOT_HOME'], 'config.json')
85
+ : join(home, '.copilot', 'config.json');
86
+ return existsSync(configPath) ? 'file' : false;
87
+ }
88
+ case 'rovo-dev': {
89
+ if (process.env['ATLASSIAN_API_TOKEN'])
90
+ return 'env-var';
91
+ const acliDir = join(home, '.acli');
92
+ return existsSync(acliDir) ? 'file' : false;
93
+ }
70
94
  default:
71
95
  // dev, aider, continue — assume no auth needed
72
96
  return 'env-var';
@@ -93,6 +117,17 @@ function tier2AuthVerify(agentType, binaryName) {
93
117
  // Codex CLI has no `auth status` command — cannot verify via subprocess
94
118
  resolve(false);
95
119
  return;
120
+ case 'copilot-cli':
121
+ // No auth status command — trust tier 1
122
+ resolve(true);
123
+ return;
124
+ case 'rovo-dev': {
125
+ const rovoOpts = IS_WINDOWS ? { timeout: 5000, windowsHide: true } : { timeout: 5000 };
126
+ execFile('acli', ['rovodev', 'auth', 'status'], rovoOpts, (error) => {
127
+ resolve(!error);
128
+ });
129
+ return;
130
+ }
96
131
  default:
97
132
  // No tier 2 command available — trust tier 1
98
133
  resolve(true);
@@ -1 +1 @@
1
- {"version":3,"file":"check-agent-tool.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/check-agent-tool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iEAAiE,CAAC;AAmBhG,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAmBhF"}
1
+ {"version":3,"file":"check-agent-tool.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/check-agent-tool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iEAAiE,CAAC;AAuBhG,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAmBhF"}
@@ -6,14 +6,18 @@ import { resolve } from '../../lib/server-container.js';
6
6
  */
7
7
  const AGENT_TOOL_MAP = {
8
8
  'claude-code': 'claude-code',
9
+ 'copilot-cli': 'copilot-cli',
9
10
  cursor: 'cursor-cli',
10
11
  'gemini-cli': 'gemini-cli',
12
+ 'rovo-dev': 'rovo-dev',
11
13
  };
12
14
  /** CLI binary names matching the `binary` field in each tool JSON */
13
15
  const AGENT_BINARY_MAP = {
14
16
  'claude-code': 'claude',
17
+ 'copilot-cli': 'copilot',
15
18
  cursor: 'cursor',
16
19
  'gemini-cli': 'gemini',
20
+ 'rovo-dev': 'acli',
17
21
  };
18
22
  export async function checkAgentTool(agentType) {
19
23
  const toolId = AGENT_TOOL_MAP[agentType] ?? null;
@@ -1 +1 @@
1
- {"version":3,"file":"get-all-agent-models.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/get-all-agent-models.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AA8BD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAmDpE"}
1
+ {"version":3,"file":"get-all-agent-models.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/get-all-agent-models.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAoCD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAmDpE"}
@@ -4,16 +4,20 @@ import { getModelMeta } from '../../lib/model-metadata.js';
4
4
  const AGENT_LABELS = {
5
5
  'claude-code': 'Claude Code',
6
6
  'codex-cli': 'Codex CLI',
7
+ 'copilot-cli': 'GitHub Copilot CLI',
7
8
  cursor: 'Cursor CLI',
8
9
  'gemini-cli': 'Gemini CLI',
10
+ 'rovo-dev': 'Rovo Dev CLI',
9
11
  dev: 'Demo',
10
12
  };
11
13
  /** Sort weight — higher = further down. Demo always last. */
12
14
  const AGENT_ORDER = {
13
15
  'claude-code': 0,
14
16
  'codex-cli': 1,
15
- cursor: 2,
16
- 'gemini-cli': 3,
17
+ 'copilot-cli': 2,
18
+ cursor: 3,
19
+ 'gemini-cli': 4,
20
+ 'rovo-dev': 5,
17
21
  dev: 99,
18
22
  };
19
23
  /**
@@ -23,8 +27,10 @@ const AGENT_ORDER = {
23
27
  const AGENT_TOOL_IDS = {
24
28
  'claude-code': 'claude-code',
25
29
  'codex-cli': 'codex-cli',
30
+ 'copilot-cli': 'copilot-cli',
26
31
  cursor: 'cursor-cli',
27
32
  'gemini-cli': 'gemini-cli',
33
+ 'rovo-dev': 'rovo-dev',
28
34
  };
29
35
  export async function getAllAgentModels() {
30
36
  try {
@@ -6,7 +6,7 @@ import Markdown from 'react-markdown';
6
6
  import remarkGfm from 'remark-gfm';
7
7
  import { useTranslation } from 'react-i18next';
8
8
  import { cn } from '../../lib/utils.js';
9
- import { SendHorizontal, CircleStop, Copy, Paperclip, Bot, User, Maximize2, X, ChevronDown, ChevronUp, Loader2, } from 'lucide-react';
9
+ import { SendHorizontal, CircleStop, Copy, Paperclip, Bot, User, Maximize2, X, ChevronDown, ChevronUp, LoaderCircle, } from 'lucide-react';
10
10
  // ── Markdown components for assistant messages ──────────────────────────────
11
11
  const markdownComponents = {
12
12
  p: ({ children }) => _jsx("p", { className: "mb-2 leading-relaxed last:mb-0", children: children }),
@@ -118,7 +118,7 @@ function AssistantMessageText({ text }) {
118
118
  return (_jsx(Markdown, { remarkPlugins: [remarkGfm], components: markdownComponents, children: text }));
119
119
  }
120
120
  function ActivityIndicator({ label }) {
121
- return (_jsxs("span", { className: "text-muted-foreground inline-flex items-center gap-2 text-sm italic", children: [_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin" }), _jsx("span", { children: label })] }));
121
+ return (_jsxs("span", { className: "text-muted-foreground inline-flex items-center gap-2 text-sm italic", children: [_jsx(LoaderCircle, { className: "h-3.5 w-3.5 animate-spin" }), _jsx("span", { children: label })] }));
122
122
  }
123
123
  // ── Thinking indicator with cycling words ────────────────────────────────
124
124
  const THINKING_WORDS = [
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Loader2, CircleAlert } from 'lucide-react';
3
+ import { LoaderCircle, CircleAlert } from 'lucide-react';
4
4
  import { cn } from '../../../lib/utils.js';
5
5
  import { Button } from '../../ui/button.js';
6
6
  import { useSoundAction } from '../../../hooks/use-sound-action.js';
@@ -13,5 +13,5 @@ export function ActionButton({ label, onClick, loading, error, icon: Icon, iconO
13
13
  return (_jsxs(Button, { variant: variant, size: size, "aria-label": label, disabled: loading, onClick: handleClick, className: cn('gap-1.5', error && 'text-destructive hover:text-destructive', !error &&
14
14
  iconOnly &&
15
15
  variant === 'ghost' &&
16
- 'text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500'), children: [loading ? (_jsx(Loader2, { className: "size-4 animate-spin" })) : error ? (_jsx(CircleAlert, { className: "size-4" })) : (_jsx(Icon, { className: "size-4" })), iconOnly ? null : label] }));
16
+ 'text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500'), children: [loading ? (_jsx(LoaderCircle, { className: "size-4 animate-spin" })) : error ? (_jsx(CircleAlert, { className: "size-4" })) : (_jsx(Icon, { className: "size-4" })), iconOnly ? null : label] }));
17
17
  }
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { ActionButton } from './action-button.js';
3
3
  declare const meta: Meta<typeof ActionButton>;
4
4
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"action-button.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/action-button/action-button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,YAAY,CAanC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,YAAY,CAAC,CAAC;AAM3C,iFAAiF;AACjF,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAEF,+BAA+B;AAC/B,eAAO,MAAM,eAAe,EAAE,KAQ7B,CAAC;AAEF,6BAA6B;AAC7B,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,YAAY,EAAE,KAO1B,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,EAAE,KAahC,CAAC;AAEF,oHAAoH;AACpH,eAAO,MAAM,mBAAmB,EAAE,KAmCjC,CAAC"}
1
+ {"version":3,"file":"action-button.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/action-button/action-button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,YAAY,CAanC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,YAAY,CAAC,CAAC;AAM3C,iFAAiF;AACjF,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAEF,+BAA+B;AAC/B,eAAO,MAAM,eAAe,EAAE,KAQ7B,CAAC;AAEF,6BAA6B;AAC7B,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,YAAY,EAAE,KAO1B,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,EAAE,KAahC,CAAC;AAEF,oHAAoH;AACpH,eAAO,MAAM,mBAAmB,EAAE,KAmCjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"add-repository-button.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/add-repository-button/add-repository-button.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAE1E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;CACnD;AAED,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,wBAAwB,2CAuHzF"}
1
+ {"version":3,"file":"add-repository-button.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/add-repository-button/add-repository-button.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAE1E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;CACnD;AAED,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,wBAAwB,2CAuHzF"}