@shepai/cli 1.77.1 → 1.77.2-pr240.88b3534

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 (693) hide show
  1. package/apis/json-schema/FeatureFlags.yaml +21 -0
  2. package/apis/json-schema/Settings.yaml +3 -0
  3. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  4. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +7 -2
  5. package/dist/packages/core/src/domain/generated/output.d.ts +21 -0
  6. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  7. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  8. package/dist/packages/core/src/infrastructure/di/container.js +6 -0
  9. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +6 -0
  10. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  11. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +17 -0
  12. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.d.ts.map +1 -1
  13. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.js +27 -0
  14. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  15. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +13 -3
  16. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
  17. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +1 -2
  18. package/dist/packages/core/src/infrastructure/services/settings.service.d.ts +10 -0
  19. package/dist/packages/core/src/infrastructure/services/settings.service.d.ts.map +1 -1
  20. package/dist/packages/core/src/infrastructure/services/settings.service.js +15 -0
  21. package/dist/src/presentation/web/app/actions/load-settings.d.ts +9 -0
  22. package/dist/src/presentation/web/app/actions/load-settings.d.ts.map +1 -0
  23. package/dist/src/presentation/web/app/actions/load-settings.js +33 -0
  24. package/dist/src/presentation/web/app/actions/update-settings.d.ts +11 -0
  25. package/dist/src/presentation/web/app/actions/update-settings.d.ts.map +1 -0
  26. package/dist/src/presentation/web/app/actions/update-settings.js +45 -0
  27. package/dist/src/presentation/web/app/api/agent-events/route.js +1 -1
  28. package/dist/src/presentation/web/app/global-error.d.ts +7 -0
  29. package/dist/src/presentation/web/app/global-error.d.ts.map +1 -0
  30. package/dist/src/presentation/web/app/global-error.js +5 -0
  31. package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
  32. package/dist/src/presentation/web/app/layout.js +3 -1
  33. package/dist/src/presentation/web/app/settings/page.d.ts +4 -0
  34. package/dist/src/presentation/web/app/settings/page.d.ts.map +1 -0
  35. package/dist/src/presentation/web/app/settings/page.js +12 -0
  36. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts.map +1 -1
  37. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +2 -1
  38. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts.map +1 -1
  39. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.js +4 -2
  40. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
  41. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +2 -1
  42. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.d.ts.map +1 -1
  43. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.js +2 -1
  44. package/dist/src/presentation/web/components/common/editor-type-icons.d.ts +8 -0
  45. package/dist/src/presentation/web/components/common/editor-type-icons.d.ts.map +1 -0
  46. package/dist/src/presentation/web/components/common/editor-type-icons.js +42 -0
  47. package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.d.ts.map +1 -1
  48. package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.js +2 -0
  49. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
  50. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +3 -2
  51. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +1 -1
  52. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  53. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +4 -0
  54. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  55. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +9 -5
  56. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts +1 -0
  57. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
  58. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +23 -0
  59. package/dist/src/presentation/web/components/common/repository-node/repository-node.d.ts.map +1 -1
  60. package/dist/src/presentation/web/components/common/repository-node/repository-node.js +2 -1
  61. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.d.ts.map +1 -1
  62. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.js +2 -1
  63. package/dist/src/presentation/web/components/features/settings/agent-settings-section.d.ts +6 -0
  64. package/dist/src/presentation/web/components/features/settings/agent-settings-section.d.ts.map +1 -0
  65. package/dist/src/presentation/web/components/features/settings/agent-settings-section.js +75 -0
  66. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts +16 -0
  67. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts.map +1 -0
  68. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.js +36 -0
  69. package/dist/src/presentation/web/components/features/settings/database-settings-section.d.ts +6 -0
  70. package/dist/src/presentation/web/components/features/settings/database-settings-section.d.ts.map +1 -0
  71. package/dist/src/presentation/web/components/features/settings/database-settings-section.js +8 -0
  72. package/dist/src/presentation/web/components/features/settings/database-settings-section.stories.d.ts +15 -0
  73. package/dist/src/presentation/web/components/features/settings/database-settings-section.stories.d.ts.map +1 -0
  74. package/dist/src/presentation/web/components/features/settings/database-settings-section.stories.js +22 -0
  75. package/dist/src/presentation/web/components/features/settings/environment-settings-section.d.ts +6 -0
  76. package/dist/src/presentation/web/components/features/settings/environment-settings-section.d.ts.map +1 -0
  77. package/dist/src/presentation/web/components/features/settings/environment-settings-section.js +54 -0
  78. package/dist/src/presentation/web/components/features/settings/environment-settings-section.stories.d.ts +15 -0
  79. package/dist/src/presentation/web/components/features/settings/environment-settings-section.stories.d.ts.map +1 -0
  80. package/dist/src/presentation/web/components/features/settings/environment-settings-section.stories.js +27 -0
  81. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.d.ts +6 -0
  82. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.d.ts.map +1 -0
  83. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.js +45 -0
  84. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts +16 -0
  85. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts.map +1 -0
  86. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.js +37 -0
  87. package/dist/src/presentation/web/components/features/settings/notification-settings-section.d.ts +6 -0
  88. package/dist/src/presentation/web/components/features/settings/notification-settings-section.d.ts.map +1 -0
  89. package/dist/src/presentation/web/components/features/settings/notification-settings-section.js +68 -0
  90. package/dist/src/presentation/web/components/features/settings/notification-settings-section.stories.d.ts +16 -0
  91. package/dist/src/presentation/web/components/features/settings/notification-settings-section.stories.d.ts.map +1 -0
  92. package/dist/src/presentation/web/components/features/settings/notification-settings-section.stories.js +62 -0
  93. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts +8 -0
  94. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -0
  95. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +245 -0
  96. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts +15 -0
  97. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts.map +1 -0
  98. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.js +39 -0
  99. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.d.ts +6 -0
  100. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.d.ts.map +1 -0
  101. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.js +76 -0
  102. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.d.ts +16 -0
  103. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.d.ts.map +1 -0
  104. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.js +55 -0
  105. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
  106. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +3 -1
  107. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts +3 -1
  108. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  109. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +3 -4
  110. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
  111. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +4 -0
  112. package/dist/src/presentation/web/components/ui/switch.d.ts +7 -0
  113. package/dist/src/presentation/web/components/ui/switch.d.ts.map +1 -0
  114. package/dist/src/presentation/web/components/ui/switch.js +8 -0
  115. package/dist/src/presentation/web/hooks/feature-flags-context.d.ts +19 -0
  116. package/dist/src/presentation/web/hooks/feature-flags-context.d.ts.map +1 -0
  117. package/dist/src/presentation/web/hooks/feature-flags-context.js +20 -0
  118. package/dist/src/presentation/web/lib/feature-flags.d.ts +14 -2
  119. package/dist/src/presentation/web/lib/feature-flags.d.ts.map +1 -1
  120. package/dist/src/presentation/web/lib/feature-flags.js +39 -4
  121. package/dist/tsconfig.build.tsbuildinfo +1 -1
  122. package/package.json +1 -1
  123. package/web/.next/BUILD_ID +1 -1
  124. package/web/.next/app-path-routes-manifest.json +1 -0
  125. package/web/.next/build-manifest.json +5 -5
  126. package/web/.next/cache/.previewinfo +1 -1
  127. package/web/.next/cache/.rscinfo +1 -1
  128. package/web/.next/cache/.tsbuildinfo +1 -1
  129. package/web/.next/cache/config.json +3 -3
  130. package/web/.next/fallback-build-manifest.json +2 -2
  131. package/web/.next/prerender-manifest.json +3 -3
  132. package/web/.next/required-server-files.js +1 -1
  133. package/web/.next/required-server-files.json +1 -1
  134. package/web/.next/routes-manifest.json +6 -0
  135. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +3 -3
  136. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +16 -16
  137. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +9 -8
  138. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  139. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  140. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +3 -3
  141. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +19 -19
  142. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +9 -8
  143. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  144. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  145. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +3 -3
  146. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  147. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +9 -8
  148. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  149. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  150. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +3 -3
  151. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +16 -16
  152. package/web/.next/server/app/(dashboard)/create/page.js +9 -8
  153. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  154. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  155. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +3 -3
  156. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +19 -19
  157. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +9 -8
  158. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  159. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  160. package/web/.next/server/app/(dashboard)/page/build-manifest.json +3 -3
  161. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +14 -14
  162. package/web/.next/server/app/(dashboard)/page.js +9 -8
  163. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  164. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  165. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +3 -3
  166. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  167. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +9 -8
  168. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  169. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  170. package/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  171. package/web/.next/server/app/_global-error/page.js +4 -3
  172. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  173. package/web/.next/server/app/_global-error.html +2 -2
  174. package/web/.next/server/app/_global-error.rsc +1 -1
  175. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  176. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  177. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  178. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  179. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  180. package/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  181. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  182. package/web/.next/server/app/_not-found/page.js +10 -8
  183. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  184. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  185. package/web/.next/server/app/settings/page/app-paths-manifest.json +3 -0
  186. package/web/.next/server/app/settings/page/build-manifest.json +18 -0
  187. package/web/.next/server/app/settings/page/next-font-manifest.json +6 -0
  188. package/web/.next/server/app/settings/page/react-loadable-manifest.json +1 -0
  189. package/web/.next/server/app/settings/page/server-reference-manifest.json +50 -0
  190. package/web/.next/server/app/settings/page.js +18 -0
  191. package/web/.next/server/app/settings/page.js.map +5 -0
  192. package/web/.next/server/app/settings/page.js.nft.json +1 -0
  193. package/web/.next/server/app/settings/page_client-reference-manifest.js +2 -0
  194. package/web/.next/server/app/skills/page/build-manifest.json +3 -3
  195. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  196. package/web/.next/server/app/skills/page.js +12 -9
  197. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  198. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  199. package/web/.next/server/app/tools/page/build-manifest.json +3 -3
  200. package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  201. package/web/.next/server/app/tools/page.js +10 -8
  202. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  203. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  204. package/web/.next/server/app/version/page/build-manifest.json +3 -3
  205. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  206. package/web/.next/server/app/version/page.js +9 -8
  207. package/web/.next/server/app/version/page.js.nft.json +1 -1
  208. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  209. package/web/.next/server/app-paths-manifest.json +1 -0
  210. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
  211. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  212. package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js +1 -1
  213. package/web/.next/server/chunks/ssr/403f9_next_dist_190bdc35._.js +4 -0
  214. package/web/.next/server/chunks/ssr/{403f9_next_dist_6c821c12._.js.map → 403f9_next_dist_190bdc35._.js.map} +1 -1
  215. package/web/.next/server/chunks/ssr/403f9_next_dist_31ea46d3._.js +6 -0
  216. package/web/.next/server/chunks/ssr/403f9_next_dist_31ea46d3._.js.map +1 -0
  217. package/web/.next/server/chunks/ssr/403f9_next_dist_c9d9b4d7._.js +6 -0
  218. package/web/.next/server/chunks/ssr/403f9_next_dist_c9d9b4d7._.js.map +1 -0
  219. package/web/.next/server/chunks/ssr/403f9_next_dist_compiled_dc550646._.js +3 -0
  220. package/web/.next/server/chunks/ssr/403f9_next_dist_compiled_dc550646._.js.map +1 -0
  221. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_3981ee1d._.js +3 -0
  222. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_3981ee1d._.js.map +1 -0
  223. package/web/.next/server/chunks/ssr/{403f9_next_dist_esm_build_templates_app-page_bec3d8d3.js → 403f9_next_dist_esm_build_templates_app-page_2eacac96.js} +3 -3
  224. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_2eacac96.js.map +1 -0
  225. package/web/.next/server/chunks/ssr/{403f9_next_dist_esm_build_templates_app-page_c27615b6.js → 403f9_next_dist_esm_build_templates_app-page_46d6bf1b.js} +3 -3
  226. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_46d6bf1b.js.map +1 -0
  227. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_bec3d8d3.js → server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_54b1e179.js} +3 -3
  228. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_54b1e179.js.map +1 -0
  229. package/web/.next/server/chunks/ssr/{403f9_next_dist_esm_build_templates_app-page_dbf21e04.js → 403f9_next_dist_esm_build_templates_app-page_6c70ecca.js} +3 -3
  230. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_6c70ecca.js.map +1 -0
  231. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_d302115b.js → server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_c9978986.js} +3 -3
  232. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_c9978986.js.map +1 -0
  233. package/web/.next/server/chunks/ssr/{403f9_next_dist_esm_build_templates_app-page_d302115b.js → 403f9_next_dist_esm_build_templates_app-page_ce6dae5d.js} +3 -3
  234. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_ce6dae5d.js.map +1 -0
  235. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_d82f78f0.js +4 -0
  236. package/web/.next/server/chunks/ssr/{_884ddade._.js.map → 403f9_next_dist_esm_build_templates_app-page_d82f78f0.js.map} +1 -1
  237. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  238. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  239. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js +1 -1
  240. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js.map +1 -1
  241. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +1 -1
  242. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js.map +1 -1
  243. package/web/.next/server/chunks/ssr/[root-of-the-server]__0880ff0e._.js +3 -0
  244. package/web/.next/server/chunks/ssr/{[root-of-the-server]__8a947500._.js.map → [root-of-the-server]__0880ff0e._.js.map} +1 -1
  245. package/web/.next/server/chunks/ssr/{[root-of-the-server]__c37779e6._.js → [root-of-the-server]__09af7f56._.js} +2 -2
  246. package/web/.next/server/chunks/ssr/{[root-of-the-server]__c37779e6._.js.map → [root-of-the-server]__09af7f56._.js.map} +1 -1
  247. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +4 -0
  248. package/web/.next/server/chunks/ssr/{[root-of-the-server]__6b17a22d._.js.map → [root-of-the-server]__11033878._.js.map} +1 -1
  249. package/web/.next/server/chunks/ssr/[root-of-the-server]__1c870feb._.js +3 -0
  250. package/web/.next/server/chunks/ssr/[root-of-the-server]__1c870feb._.js.map +1 -0
  251. package/web/.next/server/chunks/ssr/[root-of-the-server]__23b5ca2c._.js +3 -0
  252. package/web/.next/server/chunks/ssr/{[root-of-the-server]__6ee2450e._.js.map → [root-of-the-server]__23b5ca2c._.js.map} +1 -1
  253. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +3 -0
  254. package/web/.next/server/chunks/ssr/{[root-of-the-server]__249c74f6._.js.map → [root-of-the-server]__357d99f9._.js.map} +1 -1
  255. package/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js +4 -0
  256. package/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js.map +1 -0
  257. package/web/.next/server/chunks/ssr/[root-of-the-server]__52485955._.js +3 -0
  258. package/web/.next/server/chunks/ssr/[root-of-the-server]__5edfc56b._.js +3 -0
  259. package/web/.next/server/chunks/ssr/{[root-of-the-server]__c18f84a4._.js.map → [root-of-the-server]__5edfc56b._.js.map} +1 -1
  260. package/web/.next/server/chunks/ssr/[root-of-the-server]__6eb2a2b0._.js +3 -0
  261. package/web/.next/server/chunks/ssr/[root-of-the-server]__6eb2a2b0._.js.map +1 -0
  262. package/web/.next/server/chunks/ssr/[root-of-the-server]__8c88ef55._.js +3 -0
  263. package/web/.next/server/chunks/ssr/{[root-of-the-server]__fa87595c._.js.map → [root-of-the-server]__8c88ef55._.js.map} +1 -1
  264. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
  265. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
  266. package/web/.next/server/chunks/ssr/[root-of-the-server]__ad2b2a3c._.js +3 -0
  267. package/web/.next/server/chunks/ssr/[root-of-the-server]__ad2b2a3c._.js.map +1 -0
  268. package/web/.next/server/chunks/ssr/[root-of-the-server]__aea328fd._.js +3 -0
  269. package/web/.next/server/chunks/ssr/[root-of-the-server]__aea328fd._.js.map +1 -0
  270. package/web/.next/server/chunks/ssr/[root-of-the-server]__c3c963c6._.js +3 -0
  271. package/web/.next/server/chunks/ssr/{[root-of-the-server]__2018e25f._.js.map → [root-of-the-server]__c3c963c6._.js.map} +1 -1
  272. package/web/.next/server/chunks/ssr/[root-of-the-server]__c9777776._.js +3 -0
  273. package/web/.next/server/chunks/ssr/{[root-of-the-server]__3b4af5ae._.js.map → [root-of-the-server]__c9777776._.js.map} +1 -1
  274. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js +4 -0
  275. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js.map +1 -0
  276. package/web/.next/server/chunks/ssr/[root-of-the-server]__fd36b8bf._.js +4 -0
  277. package/web/.next/server/chunks/ssr/[root-of-the-server]__fd36b8bf._.js.map +1 -0
  278. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +4 -0
  279. package/web/.next/server/chunks/ssr/{[root-of-the-server]__804c006d._.js.map → [root-of-the-server]__fdc75809._.js.map} +1 -1
  280. package/web/.next/server/chunks/ssr/_0e9d6bf7._.js +1 -1
  281. package/web/.next/server/chunks/ssr/_0e9d6bf7._.js.map +1 -1
  282. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_8e8822d6.js → server/chunks/ssr/_16235e5e._.js} +3 -3
  283. package/web/.next/server/chunks/ssr/_16235e5e._.js.map +1 -0
  284. package/web/.next/server/chunks/ssr/_2557e3df._.js +4 -0
  285. package/web/.next/server/chunks/ssr/_2557e3df._.js.map +1 -0
  286. package/web/.next/server/chunks/ssr/_3a4c94e3._.js +3 -0
  287. package/web/.next/server/chunks/ssr/_3a4c94e3._.js.map +1 -0
  288. package/web/.next/server/chunks/ssr/_4093a637._.js +5 -0
  289. package/web/.next/server/chunks/ssr/_4093a637._.js.map +1 -0
  290. package/web/.next/server/chunks/ssr/_5428b384._.js +3 -0
  291. package/web/.next/server/chunks/ssr/_5428b384._.js.map +1 -0
  292. package/web/.next/server/chunks/ssr/_61351ed3._.js +1 -1
  293. package/web/.next/server/chunks/ssr/_61351ed3._.js.map +1 -1
  294. package/web/.next/server/chunks/ssr/_6645f218._.js +21 -0
  295. package/web/.next/server/chunks/ssr/_6645f218._.js.map +1 -0
  296. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/_ad8a094f._.js → server/chunks/ssr/_6887cba3._.js} +3 -3
  297. package/web/.next/server/chunks/ssr/_6887cba3._.js.map +1 -0
  298. package/web/.next/server/chunks/ssr/_6e08ce21._.js +1 -1
  299. package/web/.next/server/chunks/ssr/_6e08ce21._.js.map +1 -1
  300. package/web/.next/server/chunks/ssr/_8400c8bb._.js +1 -1
  301. package/web/.next/server/chunks/ssr/_8400c8bb._.js.map +1 -1
  302. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/_3197d5cb._.js → server/chunks/ssr/_88c4dab8._.js} +2 -2
  303. package/web/.next/server/chunks/ssr/_88c4dab8._.js.map +1 -0
  304. package/web/.next/server/chunks/ssr/{403f9_next_dist_6c821c12._.js → _8eeee4db._.js} +3 -3
  305. package/web/.next/server/chunks/ssr/_8eeee4db._.js.map +1 -0
  306. package/web/.next/server/chunks/ssr/_956601a1._.js +9 -0
  307. package/web/.next/server/chunks/ssr/_956601a1._.js.map +1 -0
  308. package/web/.next/server/chunks/ssr/_9d11d025._.js +7 -0
  309. package/web/.next/server/chunks/ssr/_9d11d025._.js.map +1 -0
  310. package/web/.next/server/chunks/ssr/_a37f5f18._.js +13 -0
  311. package/web/.next/server/chunks/ssr/_a37f5f18._.js.map +1 -0
  312. package/web/.next/server/chunks/ssr/_c26c679f._.js +3 -0
  313. package/web/.next/server/chunks/ssr/_c26c679f._.js.map +1 -0
  314. package/web/.next/server/chunks/ssr/_caf6533c._.js +3 -0
  315. package/web/.next/server/chunks/ssr/_caf6533c._.js.map +1 -0
  316. package/web/.next/server/chunks/ssr/_d4b20e29._.js +3 -0
  317. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -0
  318. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/_884ddade._.js → server/chunks/ssr/_ed11dcd6._.js} +3 -3
  319. package/web/.next/server/chunks/ssr/_ed11dcd6._.js.map +1 -0
  320. package/web/.next/server/chunks/ssr/_f38b49fe._.js +3 -0
  321. package/web/.next/server/chunks/ssr/_f38b49fe._.js.map +1 -0
  322. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_9d039634.js → server/chunks/ssr/_f4d222d6._.js} +3 -3
  323. package/web/.next/server/chunks/ssr/_f4d222d6._.js.map +1 -0
  324. package/web/.next/server/chunks/ssr/_f7f6173c._.js +3 -0
  325. package/web/.next/server/chunks/ssr/_f7f6173c._.js.map +1 -0
  326. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +3 -0
  327. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -0
  328. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  329. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
  330. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js +3 -0
  331. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js.map +1 -0
  332. package/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js +2 -2
  333. package/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js.map +1 -1
  334. package/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js +1 -1
  335. package/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js.map +1 -1
  336. package/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js +2 -2
  337. package/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js.map +1 -1
  338. package/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js +1 -1
  339. package/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js.map +1 -1
  340. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js +1 -1
  341. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js.map +1 -1
  342. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +3 -0
  343. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -0
  344. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +3 -0
  345. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -0
  346. package/web/.next/server/chunks/ssr/src_presentation_web_app_global-error_tsx_14c389b5._.js +3 -0
  347. package/web/.next/server/chunks/ssr/src_presentation_web_app_global-error_tsx_14c389b5._.js.map +1 -0
  348. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  349. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  350. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  351. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  352. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +1 -1
  353. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js.map +1 -1
  354. package/web/.next/server/middleware-build-manifest.js +3 -3
  355. package/web/.next/server/pages/500.html +2 -2
  356. package/web/.next/server/server-reference-manifest.js +1 -1
  357. package/web/.next/server/server-reference-manifest.json +59 -22
  358. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  359. package/web/.next/standalone/src/presentation/web/.next/app-path-routes-manifest.json +1 -0
  360. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +5 -5
  361. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  362. package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
  363. package/web/.next/standalone/src/presentation/web/.next/routes-manifest.json +6 -0
  364. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +3 -3
  365. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +16 -16
  366. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js +9 -8
  367. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  368. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  369. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +3 -3
  370. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +19 -19
  371. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +9 -8
  372. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  373. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  374. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +3 -3
  375. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  376. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +9 -8
  377. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  378. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  379. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/build-manifest.json +3 -3
  380. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +16 -16
  381. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js +9 -8
  382. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  383. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  384. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +3 -3
  385. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +19 -19
  386. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +9 -8
  387. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  388. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  389. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/build-manifest.json +3 -3
  390. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +14 -14
  391. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js +9 -8
  392. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  393. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  394. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +3 -3
  395. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  396. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +9 -8
  397. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  398. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  399. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  400. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page.js +4 -3
  401. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  402. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  403. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  404. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  405. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  406. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  407. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  408. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  409. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  410. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  411. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js +10 -8
  412. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  413. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  414. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/app-paths-manifest.json +3 -0
  415. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/build-manifest.json +18 -0
  416. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/next-font-manifest.json +6 -0
  417. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/react-loadable-manifest.json +1 -0
  418. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/server-reference-manifest.json +50 -0
  419. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page.js +18 -0
  420. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page.js.map +5 -0
  421. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page.js.nft.json +1 -0
  422. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page_client-reference-manifest.js +2 -0
  423. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/build-manifest.json +3 -3
  424. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  425. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js +12 -9
  426. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js.nft.json +1 -1
  427. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  428. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/build-manifest.json +3 -3
  429. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  430. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js +10 -8
  431. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.nft.json +1 -1
  432. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  433. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/build-manifest.json +3 -3
  434. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  435. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js +9 -8
  436. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
  437. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  438. package/web/.next/standalone/src/presentation/web/.next/server/app-paths-manifest.json +1 -0
  439. package/web/.next/standalone/src/presentation/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
  440. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__9191749c._.js +1 -1
  441. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_190bdc35._.js +4 -0
  442. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_31ea46d3._.js +6 -0
  443. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_c9d9b4d7._.js +6 -0
  444. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_compiled_dc550646._.js +3 -0
  445. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_3981ee1d._.js +3 -0
  446. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_2eacac96.js +4 -0
  447. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{403f9_next_dist_esm_build_templates_app-page_c27615b6.js → 403f9_next_dist_esm_build_templates_app-page_46d6bf1b.js} +3 -3
  448. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_54b1e179.js +4 -0
  449. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{403f9_next_dist_esm_build_templates_app-page_dbf21e04.js → 403f9_next_dist_esm_build_templates_app-page_6c70ecca.js} +3 -3
  450. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_c9978986.js +4 -0
  451. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_ce6dae5d.js +4 -0
  452. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_d82f78f0.js +4 -0
  453. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  454. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js +1 -1
  455. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +1 -1
  456. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__0880ff0e._.js +3 -0
  457. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{[root-of-the-server]__c37779e6._.js → [root-of-the-server]__09af7f56._.js} +2 -2
  458. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +4 -0
  459. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__1c870feb._.js +3 -0
  460. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__23b5ca2c._.js +3 -0
  461. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +3 -0
  462. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js +4 -0
  463. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__52485955._.js +3 -0
  464. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__5edfc56b._.js +3 -0
  465. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6eb2a2b0._.js +3 -0
  466. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__8c88ef55._.js +3 -0
  467. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
  468. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__ad2b2a3c._.js +3 -0
  469. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aea328fd._.js +3 -0
  470. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__c3c963c6._.js +3 -0
  471. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__c9777776._.js +3 -0
  472. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js +4 -0
  473. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fd36b8bf._.js +4 -0
  474. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +4 -0
  475. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_0e9d6bf7._.js +1 -1
  476. package/web/.next/{server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_8e8822d6.js → standalone/src/presentation/web/.next/server/chunks/ssr/_16235e5e._.js} +3 -3
  477. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_2557e3df._.js +4 -0
  478. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_3a4c94e3._.js +3 -0
  479. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_4093a637._.js +5 -0
  480. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_5428b384._.js +3 -0
  481. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_61351ed3._.js +1 -1
  482. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_6645f218._.js +21 -0
  483. package/web/.next/{server/chunks/ssr/_ad8a094f._.js → standalone/src/presentation/web/.next/server/chunks/ssr/_6887cba3._.js} +3 -3
  484. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_6e08ce21._.js +1 -1
  485. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_8400c8bb._.js +1 -1
  486. package/web/.next/{server/chunks/ssr/_3197d5cb._.js → standalone/src/presentation/web/.next/server/chunks/ssr/_88c4dab8._.js} +2 -2
  487. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{403f9_next_dist_6c821c12._.js → _8eeee4db._.js} +3 -3
  488. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_956601a1._.js +9 -0
  489. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_9d11d025._.js +7 -0
  490. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_a37f5f18._.js +13 -0
  491. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_c26c679f._.js +3 -0
  492. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_caf6533c._.js +3 -0
  493. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_d4b20e29._.js +3 -0
  494. package/web/.next/{server/chunks/ssr/_884ddade._.js → standalone/src/presentation/web/.next/server/chunks/ssr/_ed11dcd6._.js} +3 -3
  495. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_f38b49fe._.js +3 -0
  496. package/web/.next/{server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_9d039634.js → standalone/src/presentation/web/.next/server/chunks/ssr/_f4d222d6._.js} +3 -3
  497. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_f7f6173c._.js +3 -0
  498. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +3 -0
  499. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  500. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js +3 -0
  501. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js +2 -2
  502. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js +1 -1
  503. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js +2 -2
  504. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js +1 -1
  505. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js +1 -1
  506. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +3 -0
  507. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +3 -0
  508. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_app_global-error_tsx_14c389b5._.js +3 -0
  509. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  510. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  511. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +1 -1
  512. package/web/.next/standalone/src/presentation/web/.next/server/middleware-build-manifest.js +3 -3
  513. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  514. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  515. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +59 -22
  516. package/web/.next/standalone/src/presentation/web/app/actions/load-settings.ts +43 -0
  517. package/web/.next/standalone/src/presentation/web/app/actions/update-settings.ts +73 -0
  518. package/web/.next/standalone/src/presentation/web/app/api/agent-events/route.ts +1 -1
  519. package/web/.next/standalone/src/presentation/web/app/global-error.tsx +23 -0
  520. package/web/.next/standalone/src/presentation/web/app/layout.tsx +5 -1
  521. package/web/.next/standalone/src/presentation/web/app/settings/page.tsx +27 -0
  522. package/web/.next/standalone/src/presentation/web/components/common/base-drawer/base-drawer.tsx +2 -1
  523. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/drawer-view.ts +10 -2
  524. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.tsx +2 -1
  525. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.tsx +2 -1
  526. package/web/.next/standalone/src/presentation/web/components/common/editor-type-icons.tsx +84 -0
  527. package/web/.next/standalone/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.tsx +2 -0
  528. package/web/.next/standalone/src/presentation/web/components/common/feature-node/derive-feature-state.ts +3 -2
  529. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node-state-config.ts +6 -0
  530. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node.stories.tsx +24 -0
  531. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node.tsx +8 -5
  532. package/web/.next/standalone/src/presentation/web/components/common/repository-node/repository-node.tsx +2 -1
  533. package/web/.next/standalone/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.tsx +2 -1
  534. package/web/.next/standalone/src/presentation/web/components/features/settings/agent-settings-section.stories.tsx +43 -0
  535. package/web/.next/standalone/src/presentation/web/components/features/settings/agent-settings-section.tsx +183 -0
  536. package/web/.next/standalone/src/presentation/web/components/features/settings/database-settings-section.stories.tsx +28 -0
  537. package/web/.next/standalone/src/presentation/web/components/features/settings/database-settings-section.tsx +43 -0
  538. package/web/.next/standalone/src/presentation/web/components/features/settings/environment-settings-section.stories.tsx +33 -0
  539. package/web/.next/standalone/src/presentation/web/components/features/settings/environment-settings-section.tsx +125 -0
  540. package/web/.next/standalone/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.tsx +44 -0
  541. package/web/.next/standalone/src/presentation/web/components/features/settings/feature-flags-settings-section.tsx +94 -0
  542. package/web/.next/standalone/src/presentation/web/components/features/settings/notification-settings-section.stories.tsx +71 -0
  543. package/web/.next/standalone/src/presentation/web/components/features/settings/notification-settings-section.tsx +178 -0
  544. package/web/.next/standalone/src/presentation/web/components/features/settings/settings-page-client.stories.tsx +46 -0
  545. package/web/.next/standalone/src/presentation/web/components/features/settings/settings-page-client.tsx +706 -0
  546. package/web/.next/standalone/src/presentation/web/components/features/settings/workflow-settings-section.stories.tsx +62 -0
  547. package/web/.next/standalone/src/presentation/web/components/features/settings/workflow-settings-section.tsx +274 -0
  548. package/web/.next/standalone/src/presentation/web/components/layouts/app-shell/app-shell.tsx +3 -0
  549. package/web/.next/standalone/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.tsx +5 -0
  550. package/web/.next/standalone/src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx +15 -3
  551. package/web/.next/standalone/src/presentation/web/components/ui/switch.tsx +35 -0
  552. package/web/.next/standalone/src/presentation/web/hooks/feature-flags-context.tsx +30 -0
  553. package/web/.next/standalone/src/presentation/web/lib/feature-flags.ts +47 -4
  554. package/web/.next/standalone/src/presentation/web/public/icons/editors/vscode.svg +3 -0
  555. package/web/.next/standalone/src/presentation/web/public/icons/editors/windsurf.svg +4 -0
  556. package/web/.next/standalone/src/presentation/web/public/icons/editors/zed.svg +4 -0
  557. package/web/.next/standalone/src/presentation/web/server.js +1 -1
  558. package/web/.next/static/chunks/0d1285175b320302.js +1 -0
  559. package/web/.next/static/chunks/146c0a7697bc5a5c.js +1 -0
  560. package/web/.next/static/chunks/16c1db929d7ed3c9.js +1 -0
  561. package/web/.next/static/chunks/18deef44e5e36e2b.js +3 -0
  562. package/web/.next/static/chunks/{8cbc99412f24eb01.js → 25a8e4460619670a.js} +1 -1
  563. package/web/.next/static/chunks/3479d6ae297e5410.css +2 -0
  564. package/web/.next/static/chunks/356ebc89a2a97627.js +1 -0
  565. package/web/.next/static/chunks/36d88ff9f7db4eb9.js +1 -0
  566. package/web/.next/static/chunks/{8b8d01272ba4aebd.js → 3f88555d42e6c0a5.js} +1 -1
  567. package/web/.next/static/chunks/55c131b6fc504375.js +1 -0
  568. package/web/.next/static/chunks/{ec76915c456404e6.js → 5ea9cc400337eeae.js} +1 -1
  569. package/web/.next/static/chunks/6205ca0c28401b31.js +2 -0
  570. package/web/.next/static/chunks/700501f5ac2bb320.js +1 -0
  571. package/web/.next/static/chunks/730cb306a35d6396.js +1 -0
  572. package/web/.next/static/chunks/89aac43287d73b02.js +1 -0
  573. package/web/.next/static/chunks/907556417091ee06.js +11 -0
  574. package/web/.next/static/chunks/{00adfce42dbbd5ef.js → 98e3a7cf58fc912a.js} +1 -1
  575. package/web/.next/static/chunks/aa6cc6df962a3fc0.js +3 -0
  576. package/web/.next/static/chunks/c63d1c145c5a07dc.js +1 -0
  577. package/web/.next/static/chunks/{07f00e2e73d322d2.js → d4d8f0a137bd2eb4.js} +3 -3
  578. package/web/.next/static/chunks/eb9841ec4d80af01.js +1 -0
  579. package/web/.next/static/chunks/{0853e1358b862314.js → f8e33bd4c6770071.js} +1 -1
  580. package/web/.next/static/chunks/fc00e1b83852da4e.js +1 -0
  581. package/web/.next/static/chunks/fe80866e23f343eb.js +1 -0
  582. package/web/.next/static/chunks/{turbopack-05820f781f3ffc22.js → turbopack-080e470ea902d0ba.js} +1 -1
  583. package/web/.next/trace +1 -1
  584. package/web/.next/trace-build +1 -1
  585. package/web/.next/types/link.d.ts +1 -0
  586. package/web/.next/types/routes.d.ts +2 -1
  587. package/web/.next/types/validator.ts +9 -0
  588. package/web/public/icons/editors/vscode.svg +3 -0
  589. package/web/public/icons/editors/windsurf.svg +4 -0
  590. package/web/public/icons/editors/zed.svg +4 -0
  591. package/web/.next/server/chunks/ssr/403f9_next_dist_client_components_builtin_global-error_5fefc4d7.js +0 -3
  592. package/web/.next/server/chunks/ssr/403f9_next_dist_client_components_builtin_global-error_5fefc4d7.js.map +0 -1
  593. package/web/.next/server/chunks/ssr/403f9_next_dist_d738ab66._.js +0 -3
  594. package/web/.next/server/chunks/ssr/403f9_next_dist_d738ab66._.js.map +0 -1
  595. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_0f115902.js +0 -4
  596. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_0f115902.js.map +0 -1
  597. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_8e8822d6.js.map +0 -1
  598. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_9d039634.js.map +0 -1
  599. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_bec3d8d3.js.map +0 -1
  600. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_c27615b6.js.map +0 -1
  601. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_d302115b.js.map +0 -1
  602. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_dbf21e04.js.map +0 -1
  603. package/web/.next/server/chunks/ssr/[root-of-the-server]__17a611f0._.js +0 -4
  604. package/web/.next/server/chunks/ssr/[root-of-the-server]__17a611f0._.js.map +0 -1
  605. package/web/.next/server/chunks/ssr/[root-of-the-server]__2018e25f._.js +0 -3
  606. package/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +0 -3
  607. package/web/.next/server/chunks/ssr/[root-of-the-server]__3b4af5ae._.js +0 -3
  608. package/web/.next/server/chunks/ssr/[root-of-the-server]__45dbf93d._.js +0 -4
  609. package/web/.next/server/chunks/ssr/[root-of-the-server]__45dbf93d._.js.map +0 -1
  610. package/web/.next/server/chunks/ssr/[root-of-the-server]__6258349c._.js +0 -3
  611. package/web/.next/server/chunks/ssr/[root-of-the-server]__6258349c._.js.map +0 -1
  612. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +0 -4
  613. package/web/.next/server/chunks/ssr/[root-of-the-server]__6cbc1149._.js +0 -4
  614. package/web/.next/server/chunks/ssr/[root-of-the-server]__6cbc1149._.js.map +0 -1
  615. package/web/.next/server/chunks/ssr/[root-of-the-server]__6ee2450e._.js +0 -3
  616. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +0 -4
  617. package/web/.next/server/chunks/ssr/[root-of-the-server]__80e5bed2._.js +0 -3
  618. package/web/.next/server/chunks/ssr/[root-of-the-server]__8a947500._.js +0 -3
  619. package/web/.next/server/chunks/ssr/[root-of-the-server]__94a6d275._.js +0 -3
  620. package/web/.next/server/chunks/ssr/[root-of-the-server]__94a6d275._.js.map +0 -1
  621. package/web/.next/server/chunks/ssr/[root-of-the-server]__c18f84a4._.js +0 -3
  622. package/web/.next/server/chunks/ssr/[root-of-the-server]__e062a6de._.js +0 -3
  623. package/web/.next/server/chunks/ssr/[root-of-the-server]__e062a6de._.js.map +0 -1
  624. package/web/.next/server/chunks/ssr/[root-of-the-server]__fa87595c._.js +0 -3
  625. package/web/.next/server/chunks/ssr/_07c2a32a._.js +0 -9
  626. package/web/.next/server/chunks/ssr/_07c2a32a._.js.map +0 -1
  627. package/web/.next/server/chunks/ssr/_3197d5cb._.js.map +0 -1
  628. package/web/.next/server/chunks/ssr/_380c6567._.js +0 -6
  629. package/web/.next/server/chunks/ssr/_380c6567._.js.map +0 -1
  630. package/web/.next/server/chunks/ssr/_44cce4e0._.js +0 -4
  631. package/web/.next/server/chunks/ssr/_44cce4e0._.js.map +0 -1
  632. package/web/.next/server/chunks/ssr/_5ee4f5a7._.js +0 -7
  633. package/web/.next/server/chunks/ssr/_5ee4f5a7._.js.map +0 -1
  634. package/web/.next/server/chunks/ssr/_6640df4c._.js +0 -6
  635. package/web/.next/server/chunks/ssr/_6640df4c._.js.map +0 -1
  636. package/web/.next/server/chunks/ssr/_9f940437._.js +0 -3
  637. package/web/.next/server/chunks/ssr/_9f940437._.js.map +0 -1
  638. package/web/.next/server/chunks/ssr/_ad8a094f._.js.map +0 -1
  639. package/web/.next/server/chunks/ssr/_dc379243._.js +0 -4
  640. package/web/.next/server/chunks/ssr/_dc379243._.js.map +0 -1
  641. package/web/.next/server/chunks/ssr/_e806976d._.js +0 -3
  642. package/web/.next/server/chunks/ssr/_e806976d._.js.map +0 -1
  643. package/web/.next/server/chunks/ssr/src_presentation_web_67178b88._.js +0 -13
  644. package/web/.next/server/chunks/ssr/src_presentation_web_67178b88._.js.map +0 -1
  645. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_tabs_tsx_b226ea9b._.js +0 -3
  646. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_tabs_tsx_b226ea9b._.js.map +0 -1
  647. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_client_components_builtin_global-error_5fefc4d7.js +0 -3
  648. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_d738ab66._.js +0 -3
  649. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_0f115902.js +0 -4
  650. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__17a611f0._.js +0 -4
  651. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__2018e25f._.js +0 -3
  652. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +0 -3
  653. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__3b4af5ae._.js +0 -3
  654. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__45dbf93d._.js +0 -4
  655. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6258349c._.js +0 -3
  656. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +0 -4
  657. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6cbc1149._.js +0 -4
  658. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6ee2450e._.js +0 -3
  659. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +0 -4
  660. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__80e5bed2._.js +0 -3
  661. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__8a947500._.js +0 -3
  662. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__94a6d275._.js +0 -3
  663. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__c18f84a4._.js +0 -3
  664. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__e062a6de._.js +0 -3
  665. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fa87595c._.js +0 -3
  666. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_07c2a32a._.js +0 -9
  667. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_380c6567._.js +0 -6
  668. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_44cce4e0._.js +0 -4
  669. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_5ee4f5a7._.js +0 -7
  670. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_6640df4c._.js +0 -6
  671. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_9f940437._.js +0 -3
  672. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_dc379243._.js +0 -4
  673. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_e806976d._.js +0 -3
  674. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_67178b88._.js +0 -13
  675. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_ui_tabs_tsx_b226ea9b._.js +0 -3
  676. package/web/.next/static/chunks/1f5c93a8b939416d.js +0 -5
  677. package/web/.next/static/chunks/3f205fd6adbfd20a.js +0 -7
  678. package/web/.next/static/chunks/424982cd78174a1a.js +0 -1
  679. package/web/.next/static/chunks/4a3b3cfcc85e7254.js +0 -1
  680. package/web/.next/static/chunks/4e7375d89f61c79d.js +0 -4
  681. package/web/.next/static/chunks/5d0a6417c4e4e545.js +0 -1
  682. package/web/.next/static/chunks/7194d56ee0c66306.js +0 -1
  683. package/web/.next/static/chunks/7e6f572625c82efd.js +0 -1
  684. package/web/.next/static/chunks/8b6a6c28b4f733d0.js +0 -1
  685. package/web/.next/static/chunks/9215b6fb973482c5.js +0 -1
  686. package/web/.next/static/chunks/ab411f151f1b87cc.js +0 -1
  687. package/web/.next/static/chunks/b6c507fc42d9a277.js +0 -1
  688. package/web/.next/static/chunks/c6ade368deec2ef6.js +0 -1
  689. package/web/.next/static/chunks/e12fff3b57456bc2.css +0 -2
  690. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__80e5bed2._.js.map → [root-of-the-server]__52485955._.js.map} +0 -0
  691. /package/web/.next/static/{kPTTy-YsS3np6cPgsciL2 → x8A1bt8tX5vg9IpB1ksif}/_buildManifest.js +0 -0
  692. /package/web/.next/static/{kPTTy-YsS3np6cPgsciL2 → x8A1bt8tX5vg9IpB1ksif}/_clientMiddlewareManifest.json +0 -0
  693. /package/web/.next/static/{kPTTy-YsS3np6cPgsciL2 → x8A1bt8tX5vg9IpB1ksif}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "node": {
3
- "0099e97c34bfcdb7562e6e478a2b3fe44cef92239a": {
3
+ "00b8c11d0ce9276daaa9718975448d5ff12f160193": {
4
4
  "workers": {
5
5
  "app/(dashboard)/@drawer/create/page": {
6
6
  "moduleId": 90842,
@@ -50,6 +50,12 @@
50
50
  "exportedName": "pickFolder",
51
51
  "filename": "src/presentation/web/app/actions/pick-folder.ts"
52
52
  },
53
+ "app/settings/page": {
54
+ "moduleId": 39169,
55
+ "async": false,
56
+ "exportedName": "pickFolder",
57
+ "filename": "src/presentation/web/app/actions/pick-folder.ts"
58
+ },
53
59
  "app/skills/page": {
54
60
  "moduleId": 87596,
55
61
  "async": false,
@@ -78,6 +84,7 @@
78
84
  "app/(dashboard)/page": "action-browser",
79
85
  "app/(dashboard)/repository/[repositoryId]/page": "action-browser",
80
86
  "app/_not-found/page": "action-browser",
87
+ "app/settings/page": "action-browser",
81
88
  "app/skills/page": "action-browser",
82
89
  "app/tools/page": "action-browser",
83
90
  "app/version/page": "action-browser"
@@ -85,7 +92,7 @@
85
92
  "filename": "src/presentation/web/app/actions/pick-folder.ts",
86
93
  "exportedName": "pickFolder"
87
94
  },
88
- "404164a62b23bfde087b4d428d4c6da0045542d240": {
95
+ "409fa099f85b06f070cd20f54277ad8a2ad1583460": {
89
96
  "workers": {
90
97
  "app/(dashboard)/@drawer/create/page": {
91
98
  "moduleId": 90842,
@@ -156,7 +163,7 @@
156
163
  "filename": "src/presentation/web/app/actions/get-deployment-logs.ts",
157
164
  "exportedName": "getDeploymentLogs"
158
165
  },
159
- "4049cf92e6bdc25b5325a9b73271fa4a9ac8334f89": {
166
+ "4090f82b5ba909e2a77d3ced03f961700e2145280c": {
160
167
  "workers": {
161
168
  "app/(dashboard)/@drawer/create/page": {
162
169
  "moduleId": 90842,
@@ -227,7 +234,7 @@
227
234
  "filename": "src/presentation/web/app/actions/deploy-feature.ts",
228
235
  "exportedName": "deployFeature"
229
236
  },
230
- "4005e9076f8d2f92a96e44d6f262879c7dff9d9f08": {
237
+ "40e2f9ff2fc798a9e5fd08a2c647e60ad485b81df9": {
231
238
  "workers": {
232
239
  "app/(dashboard)/@drawer/create/page": {
233
240
  "moduleId": 90842,
@@ -298,7 +305,7 @@
298
305
  "filename": "src/presentation/web/app/actions/deploy-repository.ts",
299
306
  "exportedName": "deployRepository"
300
307
  },
301
- "4062c862c79712921415c1afe41c18b0243ddc68e1": {
308
+ "40a8853799d8197e3dd1a51e9d4003a1ae1dc83001": {
302
309
  "workers": {
303
310
  "app/(dashboard)/@drawer/create/page": {
304
311
  "moduleId": 90842,
@@ -369,7 +376,7 @@
369
376
  "filename": "src/presentation/web/app/actions/stop-deployment.ts",
370
377
  "exportedName": "stopDeployment"
371
378
  },
372
- "40477a105502126a0f8a4e4aa556a88ee303ca963a": {
379
+ "40acbe68352923ed06057bf385ee44ec92abf2c299": {
373
380
  "workers": {
374
381
  "app/(dashboard)/@drawer/create/page": {
375
382
  "moduleId": 90842,
@@ -440,7 +447,7 @@
440
447
  "filename": "src/presentation/web/app/actions/get-deployment-status.ts",
441
448
  "exportedName": "getDeploymentStatus"
442
449
  },
443
- "40c6952293b1274b70d74db418bad8b073eb619c22": {
450
+ "40d6d376e8fd7146b393ce6edc1fe0e36049c2b717": {
444
451
  "workers": {
445
452
  "app/(dashboard)/@drawer/create/page": {
446
453
  "moduleId": 90842,
@@ -497,7 +504,7 @@
497
504
  "filename": "src/presentation/web/app/actions/open-ide.ts",
498
505
  "exportedName": "openIde"
499
506
  },
500
- "40a737bb708d68a103409ecec01e3de8352b6da56e": {
507
+ "401e0ca54ef33861e0bb62295fad67f8839554b4f2": {
501
508
  "workers": {
502
509
  "app/(dashboard)/@drawer/create/page": {
503
510
  "moduleId": 90842,
@@ -554,7 +561,7 @@
554
561
  "filename": "src/presentation/web/app/actions/open-shell.ts",
555
562
  "exportedName": "openShell"
556
563
  },
557
- "40edb373887d86204db1f54599ad8b0eb8da2827e3": {
564
+ "408fa8f7294a57bfefe8d93cd1f811d1534d586202": {
558
565
  "workers": {
559
566
  "app/(dashboard)/@drawer/create/page": {
560
567
  "moduleId": 90842,
@@ -611,7 +618,7 @@
611
618
  "filename": "src/presentation/web/app/actions/open-folder.ts",
612
619
  "exportedName": "openFolder"
613
620
  },
614
- "4015789974820714e8c4cca9e7a3500e96c763bcfa": {
621
+ "40bb0abd939856a03f7d8c372cdd5da272c7134f36": {
615
622
  "workers": {
616
623
  "app/(dashboard)/@drawer/create/page": {
617
624
  "moduleId": 90842,
@@ -668,7 +675,7 @@
668
675
  "filename": "src/presentation/web/app/actions/delete-feature.ts",
669
676
  "exportedName": "deleteFeature"
670
677
  },
671
- "40d8b97a5b4163024055919a580611cc72ee7cf8d6": {
678
+ "402714b90eae89a5ee418ca0ee6dbca3ab55579215": {
672
679
  "workers": {
673
680
  "app/(dashboard)/@drawer/create/page": {
674
681
  "moduleId": 90842,
@@ -725,7 +732,7 @@
725
732
  "filename": "src/presentation/web/app/actions/add-repository.ts",
726
733
  "exportedName": "addRepository"
727
734
  },
728
- "4077dc23186abd82bd1be596fb81b0dbb1335bb91e": {
735
+ "40ed6d75c8da86b0c930a6e2b8adbb6255b89bc17e": {
729
736
  "workers": {
730
737
  "app/(dashboard)/@drawer/create/page": {
731
738
  "moduleId": 90842,
@@ -782,7 +789,7 @@
782
789
  "filename": "src/presentation/web/app/actions/delete-repository.ts",
783
790
  "exportedName": "deleteRepository"
784
791
  },
785
- "403323eae9bfe03e1b6f06e46363b833ee03e79e73": {
792
+ "40949691f83c6c83cc85a94c4a540290e709184886": {
786
793
  "workers": {
787
794
  "app/(dashboard)/@drawer/create/page": {
788
795
  "moduleId": 90842,
@@ -839,7 +846,7 @@
839
846
  "filename": "src/presentation/web/app/actions/get-feature-metadata.ts",
840
847
  "exportedName": "getFeatureMetadata"
841
848
  },
842
- "00544a99ff60e060761b8c3a6e9bb20bcf75c1ff86": {
849
+ "00f71de2194f75def95060b1b52bd1c56a6b1bc95e": {
843
850
  "workers": {
844
851
  "app/(dashboard)/@drawer/create/page": {
845
852
  "moduleId": 90842,
@@ -896,7 +903,7 @@
896
903
  "filename": "src/presentation/web/app/actions/get-graph-data.ts",
897
904
  "exportedName": "fetchGraphData"
898
905
  },
899
- "0028c1953ec331aa3b814e9100903c0c2d65652a71": {
906
+ "0060b08ea45ac02347f5da600e3525404c1dfd1a27": {
900
907
  "workers": {
901
908
  "app/(dashboard)/@drawer/create/page": {
902
909
  "moduleId": 90842,
@@ -918,7 +925,7 @@
918
925
  "filename": "src/presentation/web/app/actions/get-workflow-defaults.ts",
919
926
  "exportedName": "getWorkflowDefaults"
920
927
  },
921
- "40803ff0cb9d067891afe6deb93f4c3d13340972b7": {
928
+ "402b6bb8655aa1fb9e4d72937988f99c2b9bdf0899": {
922
929
  "workers": {
923
930
  "app/(dashboard)/@drawer/create/page": {
924
931
  "moduleId": 90842,
@@ -940,7 +947,7 @@
940
947
  "filename": "src/presentation/web/app/actions/create-feature.ts",
941
948
  "exportedName": "createFeature"
942
949
  },
943
- "60f4924c1e28b0a147be49aab54a6654238376d3e5": {
950
+ "60dbb7fb137db916a892e3338b24e4fbc56186b6de": {
944
951
  "workers": {
945
952
  "app/(dashboard)/@drawer/feature/[featureId]/page": {
946
953
  "moduleId": 48839,
@@ -962,7 +969,7 @@
962
969
  "filename": "src/presentation/web/app/actions/approve-feature.ts",
963
970
  "exportedName": "approveFeature"
964
971
  },
965
- "601f91acf0e34059e2435c3eb3e4832d27844200cd": {
972
+ "60635b608ac10d1be1360f05bc57668b5cd96d0aac": {
966
973
  "workers": {
967
974
  "app/(dashboard)/@drawer/feature/[featureId]/page": {
968
975
  "moduleId": 48839,
@@ -984,7 +991,7 @@
984
991
  "filename": "src/presentation/web/app/actions/reject-feature.ts",
985
992
  "exportedName": "rejectFeature"
986
993
  },
987
- "40693118cce9351b94051be89c33f3789e5a4ffce9": {
994
+ "40b1c4add1b6468189319164e834f086131400da68": {
988
995
  "workers": {
989
996
  "app/(dashboard)/@drawer/feature/[featureId]/page": {
990
997
  "moduleId": 48839,
@@ -1006,7 +1013,7 @@
1006
1013
  "filename": "src/presentation/web/app/actions/get-feature-artifact.ts",
1007
1014
  "exportedName": "getFeatureArtifact"
1008
1015
  },
1009
- "4065cc49f66fd457d29554eead1d1ac250bab71367": {
1016
+ "407876311adafd13a84dfae444eb3010d6c7230f20": {
1010
1017
  "workers": {
1011
1018
  "app/(dashboard)/@drawer/feature/[featureId]/page": {
1012
1019
  "moduleId": 48839,
@@ -1028,7 +1035,7 @@
1028
1035
  "filename": "src/presentation/web/app/actions/get-research-artifact.ts",
1029
1036
  "exportedName": "getResearchArtifact"
1030
1037
  },
1031
- "402a65a0826eb9816ddccb1f90031dd48a390f43eb": {
1038
+ "40c9b72aca72c43a0f5a880f1967f5b1389d8abaa3": {
1032
1039
  "workers": {
1033
1040
  "app/(dashboard)/@drawer/feature/[featureId]/page": {
1034
1041
  "moduleId": 48839,
@@ -1049,8 +1056,38 @@
1049
1056
  },
1050
1057
  "filename": "src/presentation/web/app/actions/get-merge-review-data.ts",
1051
1058
  "exportedName": "getMergeReviewData"
1059
+ },
1060
+ "004eb6a204d89329b33c1ae4404ba94599817b1a16": {
1061
+ "workers": {
1062
+ "app/settings/page": {
1063
+ "moduleId": 39169,
1064
+ "async": false,
1065
+ "exportedName": "loadSettings",
1066
+ "filename": "src/presentation/web/app/actions/load-settings.ts"
1067
+ }
1068
+ },
1069
+ "layer": {
1070
+ "app/settings/page": "rsc"
1071
+ },
1072
+ "filename": "src/presentation/web/app/actions/load-settings.ts",
1073
+ "exportedName": "loadSettings"
1074
+ },
1075
+ "40658e8038eeecb73bef42bf904523cd346938d92c": {
1076
+ "workers": {
1077
+ "app/settings/page": {
1078
+ "moduleId": 39169,
1079
+ "async": false,
1080
+ "exportedName": "updateSettingsAction",
1081
+ "filename": "src/presentation/web/app/actions/update-settings.ts"
1082
+ }
1083
+ },
1084
+ "layer": {
1085
+ "app/settings/page": "action-browser"
1086
+ },
1087
+ "filename": "src/presentation/web/app/actions/update-settings.ts",
1088
+ "exportedName": "updateSettingsAction"
1052
1089
  }
1053
1090
  },
1054
1091
  "edge": {},
1055
- "encryptionKey": "zGymE69mIHN2CLMsj44AAOxYgVc3Sjq7MgD7CGHc8yo="
1092
+ "encryptionKey": "r1v+Ti13nWXkY62J99pjCiuznIDiVxoqh9/P2dpisgk="
1056
1093
  }
@@ -0,0 +1,43 @@
1
+ 'use server';
2
+
3
+ import { statSync } from 'node:fs';
4
+ import { join } from 'node:path';
5
+ import { resolve } from '@/lib/server-container';
6
+ import type { LoadSettingsUseCase } from '@shepai/core/application/use-cases/settings/load-settings.use-case';
7
+ import { getShepHomeDir } from '@shepai/core/infrastructure/services/filesystem/shep-directory.service';
8
+ import type { Settings } from '@shepai/core/domain/generated/output';
9
+
10
+ export interface LoadSettingsResult {
11
+ settings?: Settings;
12
+ shepHome?: string;
13
+ dbFileSize?: string;
14
+ error?: string;
15
+ }
16
+
17
+ function formatFileSize(bytes: number): string {
18
+ if (bytes < 1024) return `${bytes} B`;
19
+ if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
20
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
21
+ }
22
+
23
+ export async function loadSettings(): Promise<LoadSettingsResult> {
24
+ try {
25
+ const useCase = resolve<LoadSettingsUseCase>('LoadSettingsUseCase');
26
+ const settings = await useCase.execute();
27
+
28
+ const shepHome = getShepHomeDir();
29
+ let dbFileSize = 'Unknown';
30
+ try {
31
+ const dbPath = join(shepHome, 'data');
32
+ const stat = statSync(dbPath);
33
+ dbFileSize = formatFileSize(stat.size);
34
+ } catch {
35
+ // DB file may not exist yet
36
+ }
37
+
38
+ return { settings, shepHome, dbFileSize };
39
+ } catch (error: unknown) {
40
+ const message = error instanceof Error ? error.message : 'Failed to load settings';
41
+ return { error: message };
42
+ }
43
+ }
@@ -0,0 +1,73 @@
1
+ 'use server';
2
+
3
+ import { revalidatePath } from 'next/cache';
4
+ import { resolve } from '@/lib/server-container';
5
+ import type { LoadSettingsUseCase } from '@shepai/core/application/use-cases/settings/load-settings.use-case';
6
+ import type { UpdateSettingsUseCase } from '@shepai/core/application/use-cases/settings/update-settings.use-case';
7
+ import { updateSettings as updateSettingsSingleton } from '@shepai/core/infrastructure/services/settings.service';
8
+ import type { Settings } from '@shepai/core/domain/generated/output';
9
+
10
+ type DeepPartial<T> = {
11
+ [K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K];
12
+ };
13
+
14
+ function deepMerge<T extends Record<string, unknown>>(target: T, source: DeepPartial<T>): T {
15
+ const result = { ...target };
16
+ for (const key of Object.keys(source) as (keyof T)[]) {
17
+ const sourceVal = source[key];
18
+ if (sourceVal === undefined) continue;
19
+
20
+ const targetVal = target[key];
21
+ if (
22
+ targetVal !== null &&
23
+ targetVal !== undefined &&
24
+ typeof targetVal === 'object' &&
25
+ !Array.isArray(targetVal) &&
26
+ !(targetVal instanceof Date) &&
27
+ sourceVal !== null &&
28
+ typeof sourceVal === 'object' &&
29
+ !Array.isArray(sourceVal) &&
30
+ !(sourceVal instanceof Date)
31
+ ) {
32
+ result[key] = deepMerge(
33
+ targetVal as Record<string, unknown>,
34
+ sourceVal as DeepPartial<Record<string, unknown>>
35
+ ) as T[keyof T];
36
+ } else {
37
+ result[key] = sourceVal as T[keyof T];
38
+ }
39
+ }
40
+ return result;
41
+ }
42
+
43
+ export interface UpdateSettingsResult {
44
+ success: boolean;
45
+ error?: string;
46
+ }
47
+
48
+ export async function updateSettingsAction(
49
+ partial: DeepPartial<Settings>
50
+ ): Promise<UpdateSettingsResult> {
51
+ try {
52
+ const loadUseCase = resolve<LoadSettingsUseCase>('LoadSettingsUseCase');
53
+ const current = await loadUseCase.execute();
54
+
55
+ const merged = deepMerge(
56
+ current as unknown as Record<string, unknown>,
57
+ partial as DeepPartial<Record<string, unknown>>
58
+ ) as Settings;
59
+ merged.updatedAt = new Date();
60
+
61
+ const updateUseCase = resolve<UpdateSettingsUseCase>('UpdateSettingsUseCase');
62
+ await updateUseCase.execute(merged);
63
+
64
+ updateSettingsSingleton(merged);
65
+
66
+ revalidatePath('/', 'layout');
67
+
68
+ return { success: true };
69
+ } catch (error: unknown) {
70
+ const message = error instanceof Error ? error.message : 'Failed to update settings';
71
+ return { success: false, error: message };
72
+ }
73
+ }
@@ -45,7 +45,7 @@ interface CachedFeatureState {
45
45
  * can derive the correct FeatureLifecyclePhase via mapPhaseNameToLifecycle().
46
46
  */
47
47
  const LIFECYCLE_TO_NODE: Record<SdlcLifecycle, string> = {
48
- [SdlcLifecycle.Started]: 'requirements',
48
+ [SdlcLifecycle.Started]: 'analyze',
49
49
  [SdlcLifecycle.Analyze]: 'analyze',
50
50
  [SdlcLifecycle.Requirements]: 'requirements',
51
51
  [SdlcLifecycle.Research]: 'research',
@@ -0,0 +1,23 @@
1
+ 'use client';
2
+
3
+ export default function GlobalError({
4
+ error,
5
+ reset,
6
+ }: {
7
+ error: Error & { digest?: string };
8
+ reset: () => void;
9
+ }) {
10
+ return (
11
+ <html lang="en">
12
+ <body>
13
+ <div style={{ padding: '2rem', fontFamily: 'sans-serif' }}>
14
+ <h2>Something went wrong</h2>
15
+ <p>{error.message}</p>
16
+ <button onClick={reset} style={{ marginTop: '1rem', cursor: 'pointer' }}>
17
+ Try again
18
+ </button>
19
+ </div>
20
+ </body>
21
+ </html>
22
+ );
23
+ }
@@ -3,6 +3,8 @@ import '@xyflow/react/dist/base.css';
3
3
  import './globals.css';
4
4
  import { AppShell } from '@/components/layouts/app-shell';
5
5
  import { Toaster } from '@/components/ui/sonner';
6
+ import { getFeatureFlags } from '@/lib/feature-flags';
7
+ import { FeatureFlagsProvider } from '@/hooks/feature-flags-context';
6
8
 
7
9
  /** Force dynamic rendering for all pages since they depend on client-side context. */
8
10
  export const dynamic = 'force-dynamic';
@@ -52,7 +54,9 @@ export default function RootLayout({
52
54
  />
53
55
  </head>
54
56
  <body className="min-h-screen antialiased">
55
- <AppShell>{children}</AppShell>
57
+ <FeatureFlagsProvider flags={getFeatureFlags()}>
58
+ <AppShell>{children}</AppShell>
59
+ </FeatureFlagsProvider>
56
60
  <Toaster position="bottom-center" />
57
61
  </body>
58
62
  </html>
@@ -0,0 +1,27 @@
1
+ import { loadSettings } from '@/app/actions/load-settings';
2
+ import { SettingsPageClient } from '@/components/features/settings/settings-page-client';
3
+
4
+ /** Skip static pre-rendering since we need runtime DI container and server context. */
5
+ export const dynamic = 'force-dynamic';
6
+
7
+ export default async function SettingsPage() {
8
+ const { settings, shepHome, dbFileSize, error } = await loadSettings();
9
+
10
+ if (error || !settings) {
11
+ return (
12
+ <div className="flex h-full flex-col p-6">
13
+ <p className="text-destructive text-sm">Failed to load settings: {error}</p>
14
+ </div>
15
+ );
16
+ }
17
+
18
+ return (
19
+ <div className="flex h-full flex-col p-6">
20
+ <SettingsPageClient
21
+ settings={settings}
22
+ shepHome={shepHome ?? ''}
23
+ dbFileSize={dbFileSize ?? 'Unknown'}
24
+ />
25
+ </div>
26
+ );
27
+ }
@@ -18,7 +18,7 @@ import {
18
18
  import { Separator } from '@/components/ui/separator';
19
19
  import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';
20
20
  import { useDeployAction, type DeployActionInput } from '@/hooks/use-deploy-action';
21
- import { featureFlags } from '@/lib/feature-flags';
21
+ import { useFeatureFlags } from '@/hooks/feature-flags-context';
22
22
 
23
23
  const drawerVariants = cva('', {
24
24
  variants: {
@@ -61,6 +61,7 @@ export function BaseDrawer({
61
61
  'data-testid': testId,
62
62
  deployTarget,
63
63
  }: BaseDrawerProps) {
64
+ const featureFlags = useFeatureFlags();
64
65
  const contentRef = useRef<HTMLDivElement>(null);
65
66
 
66
67
  // Close when clicking outside the drawer panel (no overlay needed — canvas stays draggable).
@@ -31,8 +31,16 @@ export type DrawerView =
31
31
  export function deriveFeatureViewType(
32
32
  node: FeatureNodeData
33
33
  ): 'feature' | 'prd-review' | 'tech-review' | 'merge-review' {
34
- if (node.lifecycle === 'requirements' && node.state === 'action-required') return 'prd-review';
35
- if (node.lifecycle === 'implementation' && node.state === 'action-required') return 'tech-review';
34
+ if (
35
+ (node.lifecycle === 'requirements' || node.lifecycle === 'gathering') &&
36
+ node.state === 'action-required'
37
+ )
38
+ return 'prd-review';
39
+ if (
40
+ (node.lifecycle === 'planning' || node.lifecycle === 'implementation') &&
41
+ node.state === 'action-required'
42
+ )
43
+ return 'tech-review';
36
44
  if (node.lifecycle === 'review' && (node.state === 'action-required' || node.state === 'error'))
37
45
  return 'merge-review';
38
46
  return 'feature';
@@ -16,7 +16,7 @@ import { getResearchArtifact } from '@/app/actions/get-research-artifact';
16
16
  import { getMergeReviewData } from '@/app/actions/get-merge-review-data';
17
17
  import { deleteFeature } from '@/app/actions/delete-feature';
18
18
  import { cn } from '@/lib/utils';
19
- import { featureFlags } from '@/lib/feature-flags';
19
+ import { useFeatureFlags } from '@/hooks/feature-flags-context';
20
20
  import { useSoundAction } from '@/hooks/use-sound-action';
21
21
  import { useGuardedDrawerClose } from '@/hooks/drawer-close-guard';
22
22
  import { useDeployAction } from '@/hooks/use-deploy-action';
@@ -63,6 +63,7 @@ export interface FeatureDrawerClientProps {
63
63
  }
64
64
 
65
65
  export function FeatureDrawerClient({ view: initialView }: FeatureDrawerClientProps) {
66
+ const featureFlags = useFeatureFlags();
66
67
  const router = useRouter();
67
68
  const deleteSound = useSoundAction('delete');
68
69
  const rejectSound = useSoundAction('reject');
@@ -8,7 +8,7 @@ import { ActionButton } from '@/components/common/action-button';
8
8
  import { DrawerTitle, DrawerDescription } from '@/components/ui/drawer';
9
9
  import { Separator } from '@/components/ui/separator';
10
10
  import { useRepositoryActions } from '@/components/common/repository-node/use-repository-actions';
11
- import { featureFlags } from '@/lib/feature-flags';
11
+ import { useFeatureFlags } from '@/hooks/feature-flags-context';
12
12
  import type { RepositoryNodeData } from '@/components/common/repository-node';
13
13
 
14
14
  export interface RepositoryDrawerClientProps {
@@ -16,6 +16,7 @@ export interface RepositoryDrawerClientProps {
16
16
  }
17
17
 
18
18
  export function RepositoryDrawerClient({ data }: RepositoryDrawerClientProps) {
19
+ const featureFlags = useFeatureFlags();
19
20
  const router = useRouter();
20
21
  const pathname = usePathname();
21
22
  const isOpen = pathname.startsWith('/repository/');
@@ -0,0 +1,84 @@
1
+ import type { ComponentType, SVGProps } from 'react';
2
+ import Image from 'next/image';
3
+ import { Code, Rocket } from 'lucide-react';
4
+ import { cn } from '@/lib/utils';
5
+
6
+ type IconProps = SVGProps<SVGSVGElement> & { className?: string };
7
+
8
+ /** Fallback icon for unknown editor types. */
9
+ function DefaultEditorIcon(props: IconProps) {
10
+ return <Code className={cn('h-4 w-4', props.className)} {...(props as object)} />;
11
+ }
12
+
13
+ function VsCodeIcon({ className }: IconProps) {
14
+ return (
15
+ <Image
16
+ src="/icons/editors/vscode.svg"
17
+ alt="VS Code"
18
+ width={24}
19
+ height={24}
20
+ className={cn('rounded-sm object-contain', className)}
21
+ />
22
+ );
23
+ }
24
+ VsCodeIcon.displayName = 'VsCodeIcon';
25
+
26
+ function CursorEditorIcon({ className }: IconProps) {
27
+ return (
28
+ <Image
29
+ src="/icons/agents/cursor.jpeg"
30
+ alt="Cursor"
31
+ width={24}
32
+ height={24}
33
+ className={cn('rounded-sm object-contain', className)}
34
+ />
35
+ );
36
+ }
37
+ CursorEditorIcon.displayName = 'CursorEditorIcon';
38
+
39
+ function WindsurfIcon({ className }: IconProps) {
40
+ return (
41
+ <Image
42
+ src="/icons/editors/windsurf.svg"
43
+ alt="Windsurf"
44
+ width={24}
45
+ height={24}
46
+ className={cn('rounded-sm object-contain', className)}
47
+ />
48
+ );
49
+ }
50
+ WindsurfIcon.displayName = 'WindsurfIcon';
51
+
52
+ function ZedIcon({ className }: IconProps) {
53
+ return (
54
+ <Image
55
+ src="/icons/editors/zed.svg"
56
+ alt="Zed"
57
+ width={24}
58
+ height={24}
59
+ className={cn('rounded-sm object-contain', className)}
60
+ />
61
+ );
62
+ }
63
+ ZedIcon.displayName = 'ZedIcon';
64
+
65
+ function AntigravityIcon({ className, ...props }: IconProps) {
66
+ return <Rocket className={cn('h-4 w-4', className)} {...(props as object)} />;
67
+ }
68
+ AntigravityIcon.displayName = 'AntigravityIcon';
69
+
70
+ const editorTypeIconMap: Record<string, ComponentType<IconProps>> = {
71
+ vscode: VsCodeIcon,
72
+ cursor: CursorEditorIcon,
73
+ windsurf: WindsurfIcon,
74
+ zed: ZedIcon,
75
+ antigravity: AntigravityIcon,
76
+ };
77
+
78
+ /** Resolve an editor type string to its corresponding icon component. */
79
+ export function getEditorTypeIcon(editorType?: string): ComponentType<IconProps> {
80
+ if (editorType && editorType in editorTypeIconMap) {
81
+ return editorTypeIconMap[editorType];
82
+ }
83
+ return DefaultEditorIcon;
84
+ }
@@ -218,7 +218,9 @@ const stateFixtures: Record<FeatureNodeState, FeatureNodeData> = {
218
218
 
219
219
  const allLifecycles: FeatureLifecyclePhase[] = [
220
220
  'requirements',
221
+ 'gathering',
221
222
  'research',
223
+ 'planning',
222
224
  'implementation',
223
225
  'review',
224
226
  'deploy',
@@ -116,6 +116,7 @@ export function mapEventTypeToState(eventType: NotificationEventType): FeatureNo
116
116
  export const sdlcLifecycleMap: Record<string, FeatureLifecyclePhase> = {
117
117
  Requirements: 'requirements',
118
118
  Research: 'research',
119
+ Planning: 'planning',
119
120
  Implementation: 'implementation',
120
121
  Review: 'review',
121
122
  'Deploy & QA': 'deploy',
@@ -125,9 +126,9 @@ export const sdlcLifecycleMap: Record<string, FeatureLifecyclePhase> = {
125
126
  /** Map agent graph node names (from agent_run.result or SSE phaseName) to UI lifecycle phases. */
126
127
  const phaseNameToLifecycle: Record<string, FeatureLifecyclePhase> = {
127
128
  analyze: 'requirements',
128
- requirements: 'requirements',
129
+ requirements: 'gathering',
129
130
  research: 'research',
130
- plan: 'implementation',
131
+ plan: 'planning',
131
132
  implement: 'implementation',
132
133
  merge: 'review',
133
134
  maintain: 'maintain',
@@ -13,7 +13,9 @@ export type FeatureNodeState =
13
13
 
14
14
  export type FeatureLifecyclePhase =
15
15
  | 'requirements'
16
+ | 'gathering'
16
17
  | 'research'
18
+ | 'planning'
17
19
  | 'implementation'
18
20
  | 'review'
19
21
  | 'deploy'
@@ -22,7 +24,9 @@ export type FeatureLifecyclePhase =
22
24
  /** Human-readable display labels for lifecycle phases. */
23
25
  export const lifecycleDisplayLabels: Record<FeatureLifecyclePhase, string> = {
24
26
  requirements: 'REQUIREMENTS',
27
+ gathering: 'REQUIREMENTS',
25
28
  research: 'RESEARCH',
29
+ planning: 'PLANNING',
26
30
  implementation: 'IMPLEMENTATION',
27
31
  review: 'REVIEW',
28
32
  deploy: 'DEPLOY & QA',
@@ -32,7 +36,9 @@ export const lifecycleDisplayLabels: Record<FeatureLifecyclePhase, string> = {
32
36
  /** Present-participle verbs for the running badge, keyed by lifecycle phase. */
33
37
  export const lifecycleRunningVerbs: Record<FeatureLifecyclePhase, string> = {
34
38
  requirements: 'Analyzing',
39
+ gathering: 'Gathering Requirements',
35
40
  research: 'Researching',
41
+ planning: 'Planning',
36
42
  implementation: 'Implementing',
37
43
  review: 'Reviewing',
38
44
  deploy: 'Deploying',