@shepai/cli 1.77.1-pr244.c979f34 → 1.77.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (663) hide show
  1. package/apis/json-schema/Settings.yaml +0 -3
  2. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  3. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +2 -7
  4. package/dist/packages/core/src/domain/generated/output.d.ts +0 -21
  5. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  6. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  7. package/dist/packages/core/src/infrastructure/di/container.js +0 -6
  8. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +0 -6
  9. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  10. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +0 -17
  11. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.d.ts.map +1 -1
  12. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.js +0 -27
  13. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  14. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +3 -13
  15. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
  16. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +2 -1
  17. package/dist/packages/core/src/infrastructure/services/settings.service.d.ts +0 -10
  18. package/dist/packages/core/src/infrastructure/services/settings.service.d.ts.map +1 -1
  19. package/dist/packages/core/src/infrastructure/services/settings.service.js +0 -15
  20. package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
  21. package/dist/src/presentation/web/app/layout.js +1 -3
  22. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts.map +1 -1
  23. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +1 -2
  24. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
  25. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +1 -2
  26. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.d.ts.map +1 -1
  27. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.js +1 -2
  28. package/dist/src/presentation/web/components/common/repository-node/repository-node.d.ts.map +1 -1
  29. package/dist/src/presentation/web/components/common/repository-node/repository-node.js +1 -2
  30. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.d.ts.map +1 -1
  31. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.js +1 -2
  32. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
  33. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +1 -3
  34. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts +1 -3
  35. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  36. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +4 -3
  37. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
  38. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +0 -4
  39. package/dist/src/presentation/web/lib/feature-flags.d.ts +2 -14
  40. package/dist/src/presentation/web/lib/feature-flags.d.ts.map +1 -1
  41. package/dist/src/presentation/web/lib/feature-flags.js +4 -39
  42. package/dist/tsconfig.build.tsbuildinfo +1 -1
  43. package/package.json +1 -1
  44. package/web/.next/BUILD_ID +1 -1
  45. package/web/.next/app-path-routes-manifest.json +0 -1
  46. package/web/.next/build-manifest.json +5 -5
  47. package/web/.next/cache/.previewinfo +1 -1
  48. package/web/.next/cache/.rscinfo +1 -1
  49. package/web/.next/cache/.tsbuildinfo +1 -1
  50. package/web/.next/cache/config.json +3 -3
  51. package/web/.next/fallback-build-manifest.json +2 -2
  52. package/web/.next/prerender-manifest.json +3 -3
  53. package/web/.next/required-server-files.js +1 -1
  54. package/web/.next/required-server-files.json +1 -1
  55. package/web/.next/routes-manifest.json +0 -6
  56. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +3 -3
  57. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +16 -16
  58. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +8 -9
  59. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  60. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  61. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +3 -3
  62. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +19 -19
  63. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +8 -9
  64. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  65. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  66. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +3 -3
  67. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  68. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +8 -9
  69. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  70. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  71. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +3 -3
  72. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +16 -16
  73. package/web/.next/server/app/(dashboard)/create/page.js +8 -9
  74. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  75. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  76. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +3 -3
  77. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +19 -19
  78. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +8 -9
  79. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  80. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  81. package/web/.next/server/app/(dashboard)/page/build-manifest.json +3 -3
  82. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +14 -14
  83. package/web/.next/server/app/(dashboard)/page.js +8 -9
  84. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  85. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  86. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +3 -3
  87. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  88. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +8 -9
  89. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  90. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  91. package/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  92. package/web/.next/server/app/_global-error/page.js +3 -4
  93. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  94. package/web/.next/server/app/_global-error.html +2 -2
  95. package/web/.next/server/app/_global-error.rsc +1 -1
  96. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  97. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  98. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  99. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  100. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  101. package/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  102. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  103. package/web/.next/server/app/_not-found/page.js +8 -10
  104. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  105. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  106. package/web/.next/server/app/skills/page/build-manifest.json +3 -3
  107. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  108. package/web/.next/server/app/skills/page.js +9 -12
  109. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  110. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  111. package/web/.next/server/app/tools/page/build-manifest.json +3 -3
  112. package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  113. package/web/.next/server/app/tools/page.js +8 -10
  114. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  115. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  116. package/web/.next/server/app/version/page/build-manifest.json +3 -3
  117. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  118. package/web/.next/server/app/version/page.js +8 -9
  119. package/web/.next/server/app/version/page.js.nft.json +1 -1
  120. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  121. package/web/.next/server/app-paths-manifest.json +0 -1
  122. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  123. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/_8eeee4db._.js → server/chunks/ssr/403f9_next_dist_6c821c12._.js} +3 -3
  124. package/web/.next/server/chunks/ssr/{403f9_next_dist_190bdc35._.js.map → 403f9_next_dist_6c821c12._.js.map} +1 -1
  125. package/web/.next/server/chunks/ssr/403f9_next_dist_client_components_builtin_global-error_5fefc4d7.js +3 -0
  126. package/web/.next/server/chunks/ssr/403f9_next_dist_client_components_builtin_global-error_5fefc4d7.js.map +1 -0
  127. package/web/.next/server/chunks/ssr/403f9_next_dist_d738ab66._.js +3 -0
  128. package/web/.next/server/chunks/ssr/403f9_next_dist_d738ab66._.js.map +1 -0
  129. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_0f115902.js +4 -0
  130. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_0f115902.js.map +1 -0
  131. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/_16235e5e._.js → server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_8e8822d6.js} +3 -3
  132. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_8e8822d6.js.map +1 -0
  133. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/_f4d222d6._.js → server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_9d039634.js} +3 -3
  134. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_9d039634.js.map +1 -0
  135. package/web/.next/server/chunks/ssr/{403f9_next_dist_esm_build_templates_app-page_2eacac96.js → 403f9_next_dist_esm_build_templates_app-page_bec3d8d3.js} +3 -3
  136. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_bec3d8d3.js.map +1 -0
  137. package/web/.next/server/chunks/ssr/{403f9_next_dist_esm_build_templates_app-page_46d6bf1b.js → 403f9_next_dist_esm_build_templates_app-page_c27615b6.js} +3 -3
  138. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_c27615b6.js.map +1 -0
  139. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_c9978986.js → server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_d302115b.js} +3 -3
  140. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_d302115b.js.map +1 -0
  141. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_6c70ecca.js → server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_dbf21e04.js} +3 -3
  142. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_dbf21e04.js.map +1 -0
  143. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  144. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  145. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js +1 -1
  146. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js.map +1 -1
  147. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +1 -1
  148. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js.map +1 -1
  149. package/web/.next/server/chunks/ssr/[root-of-the-server]__17a611f0._.js +4 -0
  150. package/web/.next/server/chunks/ssr/[root-of-the-server]__17a611f0._.js.map +1 -0
  151. package/web/.next/server/chunks/ssr/[root-of-the-server]__2018e25f._.js +3 -0
  152. package/web/.next/server/chunks/ssr/{[root-of-the-server]__c3c963c6._.js.map → [root-of-the-server]__2018e25f._.js.map} +1 -1
  153. package/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +3 -0
  154. package/web/.next/server/chunks/ssr/{[root-of-the-server]__357d99f9._.js.map → [root-of-the-server]__249c74f6._.js.map} +1 -1
  155. package/web/.next/server/chunks/ssr/[root-of-the-server]__3b4af5ae._.js +3 -0
  156. package/web/.next/server/chunks/ssr/{[root-of-the-server]__c9777776._.js.map → [root-of-the-server]__3b4af5ae._.js.map} +1 -1
  157. package/web/.next/server/chunks/ssr/[root-of-the-server]__45dbf93d._.js +4 -0
  158. package/web/.next/server/chunks/ssr/[root-of-the-server]__45dbf93d._.js.map +1 -0
  159. package/web/.next/server/chunks/ssr/[root-of-the-server]__6258349c._.js +3 -0
  160. package/web/.next/server/chunks/ssr/[root-of-the-server]__6258349c._.js.map +1 -0
  161. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +4 -0
  162. package/web/.next/server/chunks/ssr/{[root-of-the-server]__11033878._.js.map → [root-of-the-server]__6b17a22d._.js.map} +1 -1
  163. package/web/.next/server/chunks/ssr/[root-of-the-server]__6cbc1149._.js +4 -0
  164. package/web/.next/server/chunks/ssr/[root-of-the-server]__6cbc1149._.js.map +1 -0
  165. package/web/.next/server/chunks/ssr/[root-of-the-server]__6ee2450e._.js +3 -0
  166. package/web/.next/server/chunks/ssr/{[root-of-the-server]__23b5ca2c._.js.map → [root-of-the-server]__6ee2450e._.js.map} +1 -1
  167. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +4 -0
  168. package/web/.next/server/chunks/ssr/{[root-of-the-server]__fdc75809._.js.map → [root-of-the-server]__804c006d._.js.map} +1 -1
  169. package/web/.next/server/chunks/ssr/[root-of-the-server]__80e5bed2._.js +3 -0
  170. package/web/.next/server/chunks/ssr/[root-of-the-server]__8a947500._.js +3 -0
  171. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0880ff0e._.js.map → [root-of-the-server]__8a947500._.js.map} +1 -1
  172. package/web/.next/server/chunks/ssr/[root-of-the-server]__94a6d275._.js +3 -0
  173. package/web/.next/server/chunks/ssr/[root-of-the-server]__94a6d275._.js.map +1 -0
  174. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
  175. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
  176. package/web/.next/server/chunks/ssr/[root-of-the-server]__c18f84a4._.js +3 -0
  177. package/web/.next/server/chunks/ssr/{[root-of-the-server]__5edfc56b._.js.map → [root-of-the-server]__c18f84a4._.js.map} +1 -1
  178. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__09af7f56._.js → server/chunks/ssr/[root-of-the-server]__c37779e6._.js} +2 -2
  179. package/web/.next/server/chunks/ssr/{[root-of-the-server]__09af7f56._.js.map → [root-of-the-server]__c37779e6._.js.map} +1 -1
  180. package/web/.next/server/chunks/ssr/[root-of-the-server]__e062a6de._.js +3 -0
  181. package/web/.next/server/chunks/ssr/[root-of-the-server]__e062a6de._.js.map +1 -0
  182. package/web/.next/server/chunks/ssr/[root-of-the-server]__fa87595c._.js +3 -0
  183. package/web/.next/server/chunks/ssr/{[root-of-the-server]__8c88ef55._.js.map → [root-of-the-server]__fa87595c._.js.map} +1 -1
  184. package/web/.next/server/chunks/ssr/_07c2a32a._.js +9 -0
  185. package/web/.next/server/chunks/ssr/_07c2a32a._.js.map +1 -0
  186. package/web/.next/server/chunks/ssr/_0e9d6bf7._.js +1 -1
  187. package/web/.next/server/chunks/ssr/_0e9d6bf7._.js.map +1 -1
  188. package/web/.next/server/chunks/ssr/{_88c4dab8._.js → _3197d5cb._.js} +2 -2
  189. package/web/.next/server/chunks/ssr/_3197d5cb._.js.map +1 -0
  190. package/web/.next/server/chunks/ssr/_380c6567._.js +6 -0
  191. package/web/.next/server/chunks/ssr/_380c6567._.js.map +1 -0
  192. package/web/.next/server/chunks/ssr/_44cce4e0._.js +4 -0
  193. package/web/.next/server/chunks/ssr/_44cce4e0._.js.map +1 -0
  194. package/web/.next/server/chunks/ssr/_5ee4f5a7._.js +7 -0
  195. package/web/.next/server/chunks/ssr/_5ee4f5a7._.js.map +1 -0
  196. package/web/.next/server/chunks/ssr/_61351ed3._.js +1 -1
  197. package/web/.next/server/chunks/ssr/_61351ed3._.js.map +1 -1
  198. package/web/.next/server/chunks/ssr/_6640df4c._.js +6 -0
  199. package/web/.next/server/chunks/ssr/_6640df4c._.js.map +1 -0
  200. package/web/.next/server/chunks/ssr/_6e08ce21._.js.map +1 -1
  201. package/web/.next/server/chunks/ssr/_8400c8bb._.js +1 -1
  202. package/web/.next/server/chunks/ssr/_8400c8bb._.js.map +1 -1
  203. package/web/.next/server/chunks/ssr/{_ed11dcd6._.js → _884ddade._.js} +3 -3
  204. package/web/.next/server/chunks/ssr/{403f9_next_dist_esm_build_templates_app-page_d82f78f0.js.map → _884ddade._.js.map} +1 -1
  205. package/web/.next/server/chunks/ssr/_9f940437._.js +3 -0
  206. package/web/.next/server/chunks/ssr/_9f940437._.js.map +1 -0
  207. package/web/.next/server/chunks/ssr/{_6887cba3._.js → _ad8a094f._.js} +3 -3
  208. package/web/.next/server/chunks/ssr/_ad8a094f._.js.map +1 -0
  209. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_190bdc35._.js → server/chunks/ssr/_dc379243._.js} +3 -3
  210. package/web/.next/server/chunks/ssr/_dc379243._.js.map +1 -0
  211. package/web/.next/server/chunks/ssr/_e806976d._.js +3 -0
  212. package/web/.next/server/chunks/ssr/_e806976d._.js.map +1 -0
  213. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  214. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
  215. package/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js +2 -2
  216. package/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js.map +1 -1
  217. package/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js +1 -1
  218. package/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js.map +1 -1
  219. package/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js +2 -2
  220. package/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js.map +1 -1
  221. package/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js +1 -1
  222. package/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js.map +1 -1
  223. package/web/.next/server/chunks/ssr/src_presentation_web_67178b88._.js +13 -0
  224. package/web/.next/server/chunks/ssr/src_presentation_web_67178b88._.js.map +1 -0
  225. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js +1 -1
  226. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js.map +1 -1
  227. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  228. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  229. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  230. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  231. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +1 -1
  232. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js.map +1 -1
  233. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_tabs_tsx_b226ea9b._.js +3 -0
  234. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_tabs_tsx_b226ea9b._.js.map +1 -0
  235. package/web/.next/server/middleware-build-manifest.js +3 -3
  236. package/web/.next/server/pages/500.html +2 -2
  237. package/web/.next/server/server-reference-manifest.js +1 -1
  238. package/web/.next/server/server-reference-manifest.json +22 -59
  239. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  240. package/web/.next/standalone/src/presentation/web/.next/app-path-routes-manifest.json +0 -1
  241. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +5 -5
  242. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  243. package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
  244. package/web/.next/standalone/src/presentation/web/.next/routes-manifest.json +0 -6
  245. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +3 -3
  246. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +16 -16
  247. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js +8 -9
  248. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  249. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  250. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +3 -3
  251. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +19 -19
  252. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +8 -9
  253. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  254. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  255. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +3 -3
  256. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  257. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +8 -9
  258. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  259. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  260. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/build-manifest.json +3 -3
  261. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +16 -16
  262. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js +8 -9
  263. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  264. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  265. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +3 -3
  266. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +19 -19
  267. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +8 -9
  268. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  269. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  270. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/build-manifest.json +3 -3
  271. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +14 -14
  272. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js +8 -9
  273. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  274. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  275. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +3 -3
  276. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  277. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +8 -9
  278. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  279. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  280. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  281. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page.js +3 -4
  282. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  283. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  284. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  285. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  286. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  287. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  288. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  289. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  290. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  291. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  292. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js +8 -10
  293. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  294. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  295. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/build-manifest.json +3 -3
  296. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  297. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js +9 -12
  298. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js.nft.json +1 -1
  299. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  300. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/build-manifest.json +3 -3
  301. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  302. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js +8 -10
  303. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.nft.json +1 -1
  304. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  305. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/build-manifest.json +3 -3
  306. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  307. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js +8 -9
  308. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
  309. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  310. package/web/.next/standalone/src/presentation/web/.next/server/app-paths-manifest.json +0 -1
  311. package/web/.next/{server/chunks/ssr/_8eeee4db._.js → standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_6c821c12._.js} +3 -3
  312. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_client_components_builtin_global-error_5fefc4d7.js +3 -0
  313. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_d738ab66._.js +3 -0
  314. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_0f115902.js +4 -0
  315. package/web/.next/{server/chunks/ssr/_16235e5e._.js → standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_8e8822d6.js} +3 -3
  316. package/web/.next/{server/chunks/ssr/_f4d222d6._.js → standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_9d039634.js} +3 -3
  317. package/web/.next/{server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_54b1e179.js → standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_bec3d8d3.js} +3 -3
  318. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{403f9_next_dist_esm_build_templates_app-page_46d6bf1b.js → 403f9_next_dist_esm_build_templates_app-page_c27615b6.js} +3 -3
  319. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{403f9_next_dist_esm_build_templates_app-page_ce6dae5d.js → 403f9_next_dist_esm_build_templates_app-page_d302115b.js} +3 -3
  320. package/web/.next/{server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_6c70ecca.js → standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_dbf21e04.js} +3 -3
  321. 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
  322. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js +1 -1
  323. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +1 -1
  324. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__17a611f0._.js +4 -0
  325. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__2018e25f._.js +3 -0
  326. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +3 -0
  327. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__3b4af5ae._.js +3 -0
  328. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__45dbf93d._.js +4 -0
  329. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6258349c._.js +3 -0
  330. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +4 -0
  331. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6cbc1149._.js +4 -0
  332. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6ee2450e._.js +3 -0
  333. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +4 -0
  334. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__80e5bed2._.js +3 -0
  335. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__8a947500._.js +3 -0
  336. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__94a6d275._.js +3 -0
  337. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
  338. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__c18f84a4._.js +3 -0
  339. package/web/.next/{server/chunks/ssr/[root-of-the-server]__09af7f56._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__c37779e6._.js} +2 -2
  340. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__e062a6de._.js +3 -0
  341. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fa87595c._.js +3 -0
  342. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_07c2a32a._.js +9 -0
  343. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_0e9d6bf7._.js +1 -1
  344. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_88c4dab8._.js → _3197d5cb._.js} +2 -2
  345. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_380c6567._.js +6 -0
  346. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_44cce4e0._.js +4 -0
  347. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_5ee4f5a7._.js +7 -0
  348. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_61351ed3._.js +1 -1
  349. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_6640df4c._.js +6 -0
  350. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_8400c8bb._.js +1 -1
  351. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_ed11dcd6._.js → _884ddade._.js} +3 -3
  352. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_9f940437._.js +3 -0
  353. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_6887cba3._.js → _ad8a094f._.js} +3 -3
  354. package/web/.next/{server/chunks/ssr/403f9_next_dist_190bdc35._.js → standalone/src/presentation/web/.next/server/chunks/ssr/_dc379243._.js} +3 -3
  355. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_e806976d._.js +3 -0
  356. 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
  357. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js +2 -2
  358. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js +1 -1
  359. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js +2 -2
  360. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js +1 -1
  361. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_67178b88._.js +13 -0
  362. 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
  363. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  364. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  365. 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
  366. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_ui_tabs_tsx_b226ea9b._.js +3 -0
  367. package/web/.next/standalone/src/presentation/web/.next/server/middleware-build-manifest.js +3 -3
  368. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  369. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  370. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +22 -59
  371. package/web/.next/standalone/src/presentation/web/app/layout.tsx +1 -5
  372. package/web/.next/standalone/src/presentation/web/components/common/base-drawer/base-drawer.tsx +1 -2
  373. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.tsx +1 -2
  374. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.tsx +1 -2
  375. package/web/.next/standalone/src/presentation/web/components/common/repository-node/repository-node.tsx +1 -2
  376. package/web/.next/standalone/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.tsx +1 -2
  377. package/web/.next/standalone/src/presentation/web/components/layouts/app-shell/app-shell.tsx +0 -3
  378. package/web/.next/standalone/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.tsx +0 -5
  379. package/web/.next/standalone/src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx +3 -15
  380. package/web/.next/standalone/src/presentation/web/lib/feature-flags.ts +4 -47
  381. package/web/.next/standalone/src/presentation/web/server.js +1 -1
  382. package/web/.next/static/chunks/{98e3a7cf58fc912a.js → 00adfce42dbbd5ef.js} +1 -1
  383. package/web/.next/static/chunks/{d4d8f0a137bd2eb4.js → 07f00e2e73d322d2.js} +3 -3
  384. package/web/.next/static/chunks/{0b7bccc8f636dd5b.js → 0853e1358b862314.js} +1 -1
  385. package/web/.next/static/chunks/1f5c93a8b939416d.js +5 -0
  386. package/web/.next/static/chunks/3f205fd6adbfd20a.js +7 -0
  387. package/web/.next/static/chunks/424982cd78174a1a.js +1 -0
  388. package/web/.next/static/chunks/4a3b3cfcc85e7254.js +1 -0
  389. package/web/.next/static/chunks/4e7375d89f61c79d.js +4 -0
  390. package/web/.next/static/chunks/5d0a6417c4e4e545.js +1 -0
  391. package/web/.next/static/chunks/7194d56ee0c66306.js +1 -0
  392. package/web/.next/static/chunks/7e6f572625c82efd.js +1 -0
  393. package/web/.next/static/chunks/8b6a6c28b4f733d0.js +1 -0
  394. package/web/.next/static/chunks/{8946a56bec2830be.js → 8b8d01272ba4aebd.js} +1 -1
  395. package/web/.next/static/chunks/{8530c7b12f46a61e.js → 8cbc99412f24eb01.js} +1 -1
  396. package/web/.next/static/chunks/9215b6fb973482c5.js +1 -0
  397. package/web/.next/static/chunks/ab411f151f1b87cc.js +1 -0
  398. package/web/.next/static/chunks/b6c507fc42d9a277.js +1 -0
  399. package/web/.next/static/chunks/c6ade368deec2ef6.js +1 -0
  400. package/web/.next/static/chunks/e12fff3b57456bc2.css +2 -0
  401. package/web/.next/static/chunks/{c596c91507fdc622.js → ec76915c456404e6.js} +1 -1
  402. package/web/.next/static/chunks/{turbopack-080e470ea902d0ba.js → turbopack-05820f781f3ffc22.js} +1 -1
  403. package/web/.next/trace +1 -1
  404. package/web/.next/trace-build +1 -1
  405. package/web/.next/types/link.d.ts +0 -1
  406. package/web/.next/types/routes.d.ts +1 -2
  407. package/web/.next/types/validator.ts +0 -9
  408. package/apis/json-schema/FeatureFlags.yaml +0 -21
  409. package/dist/src/presentation/web/app/actions/load-settings.d.ts +0 -9
  410. package/dist/src/presentation/web/app/actions/load-settings.d.ts.map +0 -1
  411. package/dist/src/presentation/web/app/actions/load-settings.js +0 -33
  412. package/dist/src/presentation/web/app/actions/update-settings.d.ts +0 -11
  413. package/dist/src/presentation/web/app/actions/update-settings.d.ts.map +0 -1
  414. package/dist/src/presentation/web/app/actions/update-settings.js +0 -45
  415. package/dist/src/presentation/web/app/global-error.d.ts +0 -7
  416. package/dist/src/presentation/web/app/global-error.d.ts.map +0 -1
  417. package/dist/src/presentation/web/app/global-error.js +0 -5
  418. package/dist/src/presentation/web/app/settings/page.d.ts +0 -4
  419. package/dist/src/presentation/web/app/settings/page.d.ts.map +0 -1
  420. package/dist/src/presentation/web/app/settings/page.js +0 -12
  421. package/dist/src/presentation/web/components/common/editor-type-icons.d.ts +0 -8
  422. package/dist/src/presentation/web/components/common/editor-type-icons.d.ts.map +0 -1
  423. package/dist/src/presentation/web/components/common/editor-type-icons.js +0 -42
  424. package/dist/src/presentation/web/components/features/settings/agent-settings-section.d.ts +0 -6
  425. package/dist/src/presentation/web/components/features/settings/agent-settings-section.d.ts.map +0 -1
  426. package/dist/src/presentation/web/components/features/settings/agent-settings-section.js +0 -75
  427. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts +0 -16
  428. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts.map +0 -1
  429. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.js +0 -36
  430. package/dist/src/presentation/web/components/features/settings/database-settings-section.d.ts +0 -6
  431. package/dist/src/presentation/web/components/features/settings/database-settings-section.d.ts.map +0 -1
  432. package/dist/src/presentation/web/components/features/settings/database-settings-section.js +0 -8
  433. package/dist/src/presentation/web/components/features/settings/database-settings-section.stories.d.ts +0 -15
  434. package/dist/src/presentation/web/components/features/settings/database-settings-section.stories.d.ts.map +0 -1
  435. package/dist/src/presentation/web/components/features/settings/database-settings-section.stories.js +0 -22
  436. package/dist/src/presentation/web/components/features/settings/environment-settings-section.d.ts +0 -6
  437. package/dist/src/presentation/web/components/features/settings/environment-settings-section.d.ts.map +0 -1
  438. package/dist/src/presentation/web/components/features/settings/environment-settings-section.js +0 -54
  439. package/dist/src/presentation/web/components/features/settings/environment-settings-section.stories.d.ts +0 -15
  440. package/dist/src/presentation/web/components/features/settings/environment-settings-section.stories.d.ts.map +0 -1
  441. package/dist/src/presentation/web/components/features/settings/environment-settings-section.stories.js +0 -27
  442. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.d.ts +0 -6
  443. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.d.ts.map +0 -1
  444. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.js +0 -45
  445. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts +0 -16
  446. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts.map +0 -1
  447. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.js +0 -37
  448. package/dist/src/presentation/web/components/features/settings/notification-settings-section.d.ts +0 -6
  449. package/dist/src/presentation/web/components/features/settings/notification-settings-section.d.ts.map +0 -1
  450. package/dist/src/presentation/web/components/features/settings/notification-settings-section.js +0 -68
  451. package/dist/src/presentation/web/components/features/settings/notification-settings-section.stories.d.ts +0 -16
  452. package/dist/src/presentation/web/components/features/settings/notification-settings-section.stories.d.ts.map +0 -1
  453. package/dist/src/presentation/web/components/features/settings/notification-settings-section.stories.js +0 -62
  454. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts +0 -8
  455. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +0 -1
  456. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +0 -245
  457. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts +0 -15
  458. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts.map +0 -1
  459. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.js +0 -39
  460. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.d.ts +0 -6
  461. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.d.ts.map +0 -1
  462. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.js +0 -76
  463. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.d.ts +0 -16
  464. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.d.ts.map +0 -1
  465. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.js +0 -55
  466. package/dist/src/presentation/web/components/ui/switch.d.ts +0 -7
  467. package/dist/src/presentation/web/components/ui/switch.d.ts.map +0 -1
  468. package/dist/src/presentation/web/components/ui/switch.js +0 -8
  469. package/dist/src/presentation/web/hooks/feature-flags-context.d.ts +0 -19
  470. package/dist/src/presentation/web/hooks/feature-flags-context.d.ts.map +0 -1
  471. package/dist/src/presentation/web/hooks/feature-flags-context.js +0 -20
  472. package/web/.next/server/app/settings/page/app-paths-manifest.json +0 -3
  473. package/web/.next/server/app/settings/page/build-manifest.json +0 -18
  474. package/web/.next/server/app/settings/page/next-font-manifest.json +0 -6
  475. package/web/.next/server/app/settings/page/react-loadable-manifest.json +0 -1
  476. package/web/.next/server/app/settings/page/server-reference-manifest.json +0 -50
  477. package/web/.next/server/app/settings/page.js +0 -18
  478. package/web/.next/server/app/settings/page.js.map +0 -5
  479. package/web/.next/server/app/settings/page.js.nft.json +0 -1
  480. package/web/.next/server/app/settings/page_client-reference-manifest.js +0 -2
  481. package/web/.next/server/chunks/ssr/403f9_next_dist_31ea46d3._.js +0 -6
  482. package/web/.next/server/chunks/ssr/403f9_next_dist_31ea46d3._.js.map +0 -1
  483. package/web/.next/server/chunks/ssr/403f9_next_dist_c9d9b4d7._.js +0 -6
  484. package/web/.next/server/chunks/ssr/403f9_next_dist_c9d9b4d7._.js.map +0 -1
  485. package/web/.next/server/chunks/ssr/403f9_next_dist_compiled_dc550646._.js +0 -3
  486. package/web/.next/server/chunks/ssr/403f9_next_dist_compiled_dc550646._.js.map +0 -1
  487. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_3981ee1d._.js +0 -3
  488. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_3981ee1d._.js.map +0 -1
  489. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_2eacac96.js.map +0 -1
  490. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_46d6bf1b.js.map +0 -1
  491. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_54b1e179.js.map +0 -1
  492. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_6c70ecca.js.map +0 -1
  493. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_c9978986.js +0 -4
  494. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_c9978986.js.map +0 -1
  495. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_ce6dae5d.js +0 -4
  496. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_ce6dae5d.js.map +0 -1
  497. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_d82f78f0.js +0 -4
  498. package/web/.next/server/chunks/ssr/[root-of-the-server]__0880ff0e._.js +0 -3
  499. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +0 -4
  500. package/web/.next/server/chunks/ssr/[root-of-the-server]__1c870feb._.js +0 -3
  501. package/web/.next/server/chunks/ssr/[root-of-the-server]__1c870feb._.js.map +0 -1
  502. package/web/.next/server/chunks/ssr/[root-of-the-server]__23b5ca2c._.js +0 -3
  503. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +0 -3
  504. package/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js +0 -4
  505. package/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js.map +0 -1
  506. package/web/.next/server/chunks/ssr/[root-of-the-server]__52485955._.js +0 -3
  507. package/web/.next/server/chunks/ssr/[root-of-the-server]__5edfc56b._.js +0 -3
  508. package/web/.next/server/chunks/ssr/[root-of-the-server]__6eb2a2b0._.js +0 -3
  509. package/web/.next/server/chunks/ssr/[root-of-the-server]__6eb2a2b0._.js.map +0 -1
  510. package/web/.next/server/chunks/ssr/[root-of-the-server]__8c88ef55._.js +0 -3
  511. package/web/.next/server/chunks/ssr/[root-of-the-server]__ad2b2a3c._.js +0 -3
  512. package/web/.next/server/chunks/ssr/[root-of-the-server]__ad2b2a3c._.js.map +0 -1
  513. package/web/.next/server/chunks/ssr/[root-of-the-server]__aea328fd._.js +0 -3
  514. package/web/.next/server/chunks/ssr/[root-of-the-server]__aea328fd._.js.map +0 -1
  515. package/web/.next/server/chunks/ssr/[root-of-the-server]__c3c963c6._.js +0 -3
  516. package/web/.next/server/chunks/ssr/[root-of-the-server]__c9777776._.js +0 -3
  517. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js +0 -4
  518. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js.map +0 -1
  519. package/web/.next/server/chunks/ssr/[root-of-the-server]__fd36b8bf._.js +0 -4
  520. package/web/.next/server/chunks/ssr/[root-of-the-server]__fd36b8bf._.js.map +0 -1
  521. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +0 -4
  522. package/web/.next/server/chunks/ssr/_16235e5e._.js.map +0 -1
  523. package/web/.next/server/chunks/ssr/_3a4c94e3._.js +0 -3
  524. package/web/.next/server/chunks/ssr/_3a4c94e3._.js.map +0 -1
  525. package/web/.next/server/chunks/ssr/_4093a637._.js +0 -5
  526. package/web/.next/server/chunks/ssr/_4093a637._.js.map +0 -1
  527. package/web/.next/server/chunks/ssr/_5428b384._.js +0 -3
  528. package/web/.next/server/chunks/ssr/_5428b384._.js.map +0 -1
  529. package/web/.next/server/chunks/ssr/_6645f218._.js +0 -21
  530. package/web/.next/server/chunks/ssr/_6645f218._.js.map +0 -1
  531. package/web/.next/server/chunks/ssr/_6887cba3._.js.map +0 -1
  532. package/web/.next/server/chunks/ssr/_88c4dab8._.js.map +0 -1
  533. package/web/.next/server/chunks/ssr/_8eeee4db._.js.map +0 -1
  534. package/web/.next/server/chunks/ssr/_956601a1._.js +0 -9
  535. package/web/.next/server/chunks/ssr/_956601a1._.js.map +0 -1
  536. package/web/.next/server/chunks/ssr/_9d11d025._.js +0 -7
  537. package/web/.next/server/chunks/ssr/_9d11d025._.js.map +0 -1
  538. package/web/.next/server/chunks/ssr/_a37f5f18._.js +0 -13
  539. package/web/.next/server/chunks/ssr/_a37f5f18._.js.map +0 -1
  540. package/web/.next/server/chunks/ssr/_a445a23e._.js +0 -4
  541. package/web/.next/server/chunks/ssr/_a445a23e._.js.map +0 -1
  542. package/web/.next/server/chunks/ssr/_c26c679f._.js +0 -3
  543. package/web/.next/server/chunks/ssr/_c26c679f._.js.map +0 -1
  544. package/web/.next/server/chunks/ssr/_caf6533c._.js +0 -3
  545. package/web/.next/server/chunks/ssr/_caf6533c._.js.map +0 -1
  546. package/web/.next/server/chunks/ssr/_d4b20e29._.js +0 -3
  547. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +0 -1
  548. package/web/.next/server/chunks/ssr/_ed11dcd6._.js.map +0 -1
  549. package/web/.next/server/chunks/ssr/_f38b49fe._.js +0 -3
  550. package/web/.next/server/chunks/ssr/_f38b49fe._.js.map +0 -1
  551. package/web/.next/server/chunks/ssr/_f4d222d6._.js.map +0 -1
  552. package/web/.next/server/chunks/ssr/_f7f6173c._.js +0 -3
  553. package/web/.next/server/chunks/ssr/_f7f6173c._.js.map +0 -1
  554. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +0 -3
  555. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +0 -1
  556. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js +0 -3
  557. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js.map +0 -1
  558. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +0 -3
  559. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +0 -1
  560. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +0 -3
  561. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +0 -1
  562. package/web/.next/server/chunks/ssr/src_presentation_web_app_global-error_tsx_14c389b5._.js +0 -3
  563. package/web/.next/server/chunks/ssr/src_presentation_web_app_global-error_tsx_14c389b5._.js.map +0 -1
  564. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/app-paths-manifest.json +0 -3
  565. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/build-manifest.json +0 -18
  566. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/next-font-manifest.json +0 -6
  567. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/react-loadable-manifest.json +0 -1
  568. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/server-reference-manifest.json +0 -50
  569. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page.js +0 -18
  570. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page.js.map +0 -5
  571. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page.js.nft.json +0 -1
  572. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page_client-reference-manifest.js +0 -2
  573. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_31ea46d3._.js +0 -6
  574. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_c9d9b4d7._.js +0 -6
  575. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_compiled_dc550646._.js +0 -3
  576. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_3981ee1d._.js +0 -3
  577. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_2eacac96.js +0 -4
  578. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_54b1e179.js +0 -4
  579. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_d82f78f0.js +0 -4
  580. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__0880ff0e._.js +0 -3
  581. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +0 -4
  582. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__1c870feb._.js +0 -3
  583. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__23b5ca2c._.js +0 -3
  584. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +0 -3
  585. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js +0 -4
  586. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__52485955._.js +0 -3
  587. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__5edfc56b._.js +0 -3
  588. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6eb2a2b0._.js +0 -3
  589. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__8c88ef55._.js +0 -3
  590. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__ad2b2a3c._.js +0 -3
  591. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aea328fd._.js +0 -3
  592. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__c3c963c6._.js +0 -3
  593. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__c9777776._.js +0 -3
  594. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js +0 -4
  595. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fd36b8bf._.js +0 -4
  596. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +0 -4
  597. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_3a4c94e3._.js +0 -3
  598. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_4093a637._.js +0 -5
  599. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_5428b384._.js +0 -3
  600. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_6645f218._.js +0 -21
  601. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_956601a1._.js +0 -9
  602. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_9d11d025._.js +0 -7
  603. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_a37f5f18._.js +0 -13
  604. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_a445a23e._.js +0 -4
  605. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_c26c679f._.js +0 -3
  606. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_caf6533c._.js +0 -3
  607. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_d4b20e29._.js +0 -3
  608. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_f38b49fe._.js +0 -3
  609. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_f7f6173c._.js +0 -3
  610. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +0 -3
  611. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js +0 -3
  612. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +0 -3
  613. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +0 -3
  614. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_app_global-error_tsx_14c389b5._.js +0 -3
  615. package/web/.next/standalone/src/presentation/web/app/actions/load-settings.ts +0 -43
  616. package/web/.next/standalone/src/presentation/web/app/actions/update-settings.ts +0 -73
  617. package/web/.next/standalone/src/presentation/web/app/global-error.tsx +0 -23
  618. package/web/.next/standalone/src/presentation/web/app/settings/page.tsx +0 -27
  619. package/web/.next/standalone/src/presentation/web/components/common/editor-type-icons.tsx +0 -84
  620. package/web/.next/standalone/src/presentation/web/components/features/settings/agent-settings-section.stories.tsx +0 -43
  621. package/web/.next/standalone/src/presentation/web/components/features/settings/agent-settings-section.tsx +0 -183
  622. package/web/.next/standalone/src/presentation/web/components/features/settings/database-settings-section.stories.tsx +0 -28
  623. package/web/.next/standalone/src/presentation/web/components/features/settings/database-settings-section.tsx +0 -43
  624. package/web/.next/standalone/src/presentation/web/components/features/settings/environment-settings-section.stories.tsx +0 -33
  625. package/web/.next/standalone/src/presentation/web/components/features/settings/environment-settings-section.tsx +0 -125
  626. package/web/.next/standalone/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.tsx +0 -44
  627. package/web/.next/standalone/src/presentation/web/components/features/settings/feature-flags-settings-section.tsx +0 -94
  628. package/web/.next/standalone/src/presentation/web/components/features/settings/notification-settings-section.stories.tsx +0 -71
  629. package/web/.next/standalone/src/presentation/web/components/features/settings/notification-settings-section.tsx +0 -178
  630. package/web/.next/standalone/src/presentation/web/components/features/settings/settings-page-client.stories.tsx +0 -46
  631. package/web/.next/standalone/src/presentation/web/components/features/settings/settings-page-client.tsx +0 -706
  632. package/web/.next/standalone/src/presentation/web/components/features/settings/workflow-settings-section.stories.tsx +0 -62
  633. package/web/.next/standalone/src/presentation/web/components/features/settings/workflow-settings-section.tsx +0 -274
  634. package/web/.next/standalone/src/presentation/web/components/ui/switch.tsx +0 -35
  635. package/web/.next/standalone/src/presentation/web/hooks/feature-flags-context.tsx +0 -30
  636. package/web/.next/standalone/src/presentation/web/public/icons/editors/vscode.svg +0 -3
  637. package/web/.next/standalone/src/presentation/web/public/icons/editors/windsurf.svg +0 -4
  638. package/web/.next/standalone/src/presentation/web/public/icons/editors/zed.svg +0 -4
  639. package/web/.next/static/chunks/120e17fda1419d01.js +0 -1
  640. package/web/.next/static/chunks/3479d6ae297e5410.css +0 -2
  641. package/web/.next/static/chunks/356ebc89a2a97627.js +0 -1
  642. package/web/.next/static/chunks/36d88ff9f7db4eb9.js +0 -1
  643. package/web/.next/static/chunks/55c131b6fc504375.js +0 -1
  644. package/web/.next/static/chunks/6bc55aa5ad2095ac.js +0 -3
  645. package/web/.next/static/chunks/700501f5ac2bb320.js +0 -1
  646. package/web/.next/static/chunks/730cb306a35d6396.js +0 -1
  647. package/web/.next/static/chunks/7ea835cf2a6ae94b.js +0 -1
  648. package/web/.next/static/chunks/89aac43287d73b02.js +0 -1
  649. package/web/.next/static/chunks/8beb0ab10e6c953c.js +0 -1
  650. package/web/.next/static/chunks/907556417091ee06.js +0 -11
  651. package/web/.next/static/chunks/92ba0981701fda34.js +0 -2
  652. package/web/.next/static/chunks/aa6cc6df962a3fc0.js +0 -3
  653. package/web/.next/static/chunks/c17b075a71a85424.js +0 -1
  654. package/web/.next/static/chunks/c63d1c145c5a07dc.js +0 -1
  655. package/web/.next/static/chunks/eb9841ec4d80af01.js +0 -1
  656. package/web/.next/static/chunks/fc00e1b83852da4e.js +0 -1
  657. package/web/public/icons/editors/vscode.svg +0 -3
  658. package/web/public/icons/editors/windsurf.svg +0 -4
  659. package/web/public/icons/editors/zed.svg +0 -4
  660. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__52485955._.js.map → [root-of-the-server]__80e5bed2._.js.map} +0 -0
  661. /package/web/.next/static/{YWzkM_I8raXDlPfEwO-Xo → kPTTy-YsS3np6cPgsciL2}/_buildManifest.js +0 -0
  662. /package/web/.next/static/{YWzkM_I8raXDlPfEwO-Xo → kPTTy-YsS3np6cPgsciL2}/_clientMiddlewareManifest.json +0 -0
  663. /package/web/.next/static/{YWzkM_I8raXDlPfEwO-Xo → kPTTy-YsS3np6cPgsciL2}/_ssgManifest.js +0 -0
@@ -1,84 +0,0 @@
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
- }
@@ -1,43 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
2
- import { AgentSettingsSection } from './agent-settings-section';
3
- import { AgentType, AgentAuthMethod } from '@shepai/core/domain/generated/output';
4
-
5
- const meta = {
6
- title: 'Features/Settings/AgentSettingsSection',
7
- component: AgentSettingsSection,
8
- tags: ['autodocs'],
9
- parameters: {
10
- layout: 'padded',
11
- },
12
- } satisfies Meta<typeof AgentSettingsSection>;
13
-
14
- export default meta;
15
- type Story = StoryObj<typeof meta>;
16
-
17
- export const Default: Story = {
18
- args: {
19
- agent: {
20
- type: AgentType.ClaudeCode,
21
- authMethod: AgentAuthMethod.Session,
22
- },
23
- },
24
- };
25
-
26
- export const TokenAuth: Story = {
27
- args: {
28
- agent: {
29
- type: AgentType.GeminiCli,
30
- authMethod: AgentAuthMethod.Token,
31
- token: 'sk-test-token-12345',
32
- },
33
- },
34
- };
35
-
36
- export const AiderSession: Story = {
37
- args: {
38
- agent: {
39
- type: AgentType.Aider,
40
- authMethod: AgentAuthMethod.Session,
41
- },
42
- },
43
- };
@@ -1,183 +0,0 @@
1
- 'use client';
2
-
3
- import { useState, useTransition, useRef, useEffect } from 'react';
4
- import { Bot, Eye, EyeOff, Check } from 'lucide-react';
5
- import { toast } from 'sonner';
6
- import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
7
- import { Label } from '@/components/ui/label';
8
- import { Input } from '@/components/ui/input';
9
- import { Button } from '@/components/ui/button';
10
- import {
11
- Select,
12
- SelectContent,
13
- SelectItem,
14
- SelectTrigger,
15
- SelectValue,
16
- } from '@/components/ui/select';
17
- import { updateSettingsAction } from '@/app/actions/update-settings';
18
- import { AgentType, AgentAuthMethod } from '@shepai/core/domain/generated/output';
19
- import { getAgentTypeIcon } from '@/components/common/feature-node/agent-type-icons';
20
- import type { AgentConfig } from '@shepai/core/domain/generated/output';
21
-
22
- const AGENT_TYPE_OPTIONS = [
23
- { value: AgentType.ClaudeCode, label: 'Claude Code' },
24
- { value: AgentType.Cursor, label: 'Cursor' },
25
- { value: AgentType.GeminiCli, label: 'Gemini CLI' },
26
- { value: AgentType.Aider, label: 'Aider' },
27
- { value: AgentType.Continue, label: 'Continue' },
28
- { value: AgentType.Dev, label: 'Dev' },
29
- ];
30
-
31
- const AUTH_METHOD_OPTIONS = [
32
- { value: AgentAuthMethod.Session, label: 'Session' },
33
- { value: AgentAuthMethod.Token, label: 'Token' },
34
- ];
35
-
36
- export interface AgentSettingsSectionProps {
37
- agent: AgentConfig;
38
- }
39
-
40
- export function AgentSettingsSection({ agent }: AgentSettingsSectionProps) {
41
- const [agentType, setAgentType] = useState(agent.type);
42
- const [authMethod, setAuthMethod] = useState(agent.authMethod);
43
- const [token, setToken] = useState(agent.token ?? '');
44
- const [showToken, setShowToken] = useState(false);
45
- const [isPending, startTransition] = useTransition();
46
- const [showSaved, setShowSaved] = useState(false);
47
- const prevPendingRef = useRef(false);
48
-
49
- useEffect(() => {
50
- if (prevPendingRef.current && !isPending) {
51
- setShowSaved(true);
52
- const timer = setTimeout(() => setShowSaved(false), 2000);
53
- return () => clearTimeout(timer);
54
- }
55
- prevPendingRef.current = isPending;
56
- }, [isPending]);
57
-
58
- function save(payload: { agent: AgentConfig }) {
59
- startTransition(async () => {
60
- const result = await updateSettingsAction(payload);
61
- if (!result.success) {
62
- toast.error(result.error ?? 'Failed to save agent settings');
63
- }
64
- });
65
- }
66
-
67
- function buildPayload(overrides: Partial<AgentConfig> = {}): { agent: AgentConfig } {
68
- const merged = { type: agentType, authMethod, ...overrides };
69
- const result: Record<string, unknown> = { type: merged.type, authMethod: merged.authMethod };
70
- if (merged.authMethod === AgentAuthMethod.Token) {
71
- result.token = overrides.token ?? token;
72
- }
73
- return { agent: result as AgentConfig };
74
- }
75
-
76
- function handleAgentTypeChange(value: string) {
77
- setAgentType(value as AgentType);
78
- save(buildPayload({ type: value as AgentType }));
79
- }
80
-
81
- function handleAuthMethodChange(value: string) {
82
- setAuthMethod(value as AgentAuthMethod);
83
- save(buildPayload({ authMethod: value as AgentAuthMethod }));
84
- }
85
-
86
- function handleTokenBlur() {
87
- if (token !== (agent.token ?? '')) {
88
- save(buildPayload({ token }));
89
- }
90
- }
91
-
92
- return (
93
- <Card id="agent" className="scroll-mt-6" data-testid="agent-settings-section">
94
- <CardHeader>
95
- <div className="flex items-center justify-between">
96
- <div className="flex items-center gap-2">
97
- <Bot className="text-muted-foreground h-4 w-4" />
98
- <CardTitle>Preferred Agent</CardTitle>
99
- </div>
100
- {isPending ? <span className="text-muted-foreground text-xs">Saving...</span> : null}
101
- {showSaved && !isPending ? (
102
- <span className="flex items-center gap-1 text-xs text-green-600">
103
- <Check className="h-3 w-3" />
104
- Saved
105
- </span>
106
- ) : null}
107
- </div>
108
- <CardDescription>Choose your AI coding agent and authentication method</CardDescription>
109
- </CardHeader>
110
- <CardContent className="space-y-4">
111
- <div className="space-y-2">
112
- <Label htmlFor="agent-type">Agent Type</Label>
113
- <Select value={agentType} onValueChange={handleAgentTypeChange}>
114
- <SelectTrigger id="agent-type" data-testid="agent-type-select">
115
- <SelectValue />
116
- </SelectTrigger>
117
- <SelectContent>
118
- {AGENT_TYPE_OPTIONS.map((opt) => {
119
- const Icon = getAgentTypeIcon(opt.value);
120
- return (
121
- <SelectItem key={opt.value} value={opt.value}>
122
- <span className="flex items-center gap-2">
123
- <Icon className="h-4 w-4 shrink-0" />
124
- {opt.label}
125
- </span>
126
- </SelectItem>
127
- );
128
- })}
129
- </SelectContent>
130
- </Select>
131
- </div>
132
-
133
- <div className="space-y-2">
134
- <Label htmlFor="auth-method">Authentication Method</Label>
135
- <Select value={authMethod} onValueChange={handleAuthMethodChange}>
136
- <SelectTrigger id="auth-method" data-testid="auth-method-select">
137
- <SelectValue />
138
- </SelectTrigger>
139
- <SelectContent>
140
- {AUTH_METHOD_OPTIONS.map((opt) => (
141
- <SelectItem key={opt.value} value={opt.value}>
142
- {opt.label}
143
- </SelectItem>
144
- ))}
145
- </SelectContent>
146
- </Select>
147
- </div>
148
-
149
- {authMethod === AgentAuthMethod.Token && (
150
- <div className="space-y-2">
151
- <Label htmlFor="agent-token">API Token</Label>
152
- <div className="relative">
153
- <Input
154
- id="agent-token"
155
- data-testid="agent-token-input"
156
- type={showToken ? 'text' : 'password'}
157
- value={token}
158
- onChange={(e) => setToken(e.target.value)}
159
- onBlur={handleTokenBlur}
160
- placeholder="Enter your API token"
161
- className="pr-10"
162
- />
163
- <Button
164
- type="button"
165
- variant="ghost"
166
- size="sm"
167
- className="absolute top-0 right-0 h-full px-3 hover:bg-transparent"
168
- onClick={() => setShowToken(!showToken)}
169
- data-testid="toggle-token-visibility"
170
- aria-label={showToken ? 'Hide token' : 'Show token'}
171
- >
172
- {showToken ? <EyeOff className="h-4 w-4" /> : <Eye className="h-4 w-4" />}
173
- </Button>
174
- </div>
175
- <p className="text-muted-foreground text-xs">
176
- Saves automatically when you leave the field
177
- </p>
178
- </div>
179
- )}
180
- </CardContent>
181
- </Card>
182
- );
183
- }
@@ -1,28 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
2
- import { DatabaseSettingsSection } from './database-settings-section';
3
-
4
- const meta = {
5
- title: 'Features/Settings/DatabaseSettingsSection',
6
- component: DatabaseSettingsSection,
7
- tags: ['autodocs'],
8
- parameters: {
9
- layout: 'padded',
10
- },
11
- } satisfies Meta<typeof DatabaseSettingsSection>;
12
-
13
- export default meta;
14
- type Story = StoryObj<typeof meta>;
15
-
16
- export const Default: Story = {
17
- args: {
18
- shepHome: '/home/user/.shep',
19
- dbFileSize: '2.4 MB',
20
- },
21
- };
22
-
23
- export const LargeDatabase: Story = {
24
- args: {
25
- shepHome: '/opt/shep/production',
26
- dbFileSize: '156.7 MB',
27
- },
28
- };
@@ -1,43 +0,0 @@
1
- 'use client';
2
-
3
- import { Database, Info } from 'lucide-react';
4
- import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
5
- import { Label } from '@/components/ui/label';
6
-
7
- export interface DatabaseSettingsSectionProps {
8
- shepHome: string;
9
- dbFileSize: string;
10
- }
11
-
12
- export function DatabaseSettingsSection({ shepHome, dbFileSize }: DatabaseSettingsSectionProps) {
13
- return (
14
- <Card id="database" className="scroll-mt-6" data-testid="database-settings-section">
15
- <CardHeader>
16
- <div className="flex items-center gap-2">
17
- <Database className="text-muted-foreground h-4 w-4" />
18
- <CardTitle>Database Location</CardTitle>
19
- </div>
20
- <CardDescription>
21
- <span className="inline-flex items-center gap-1">
22
- <Info className="h-3 w-3" />
23
- Read-only information about your Shep data directory and database
24
- </span>
25
- </CardDescription>
26
- </CardHeader>
27
- <CardContent className="bg-muted/50 space-y-3 rounded-b-lg">
28
- <div className="space-y-1">
29
- <Label className="text-muted-foreground text-xs">SHEP_HOME Directory</Label>
30
- <p className="font-mono text-sm" data-testid="shep-home-path">
31
- {shepHome}
32
- </p>
33
- </div>
34
- <div className="space-y-1">
35
- <Label className="text-muted-foreground text-xs">Database File Size</Label>
36
- <p className="text-sm" data-testid="db-file-size">
37
- {dbFileSize}
38
- </p>
39
- </div>
40
- </CardContent>
41
- </Card>
42
- );
43
- }
@@ -1,33 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
2
- import { EnvironmentSettingsSection } from './environment-settings-section';
3
- import { EditorType } from '@shepai/core/domain/generated/output';
4
-
5
- const meta = {
6
- title: 'Features/Settings/EnvironmentSettingsSection',
7
- component: EnvironmentSettingsSection,
8
- tags: ['autodocs'],
9
- parameters: {
10
- layout: 'padded',
11
- },
12
- } satisfies Meta<typeof EnvironmentSettingsSection>;
13
-
14
- export default meta;
15
- type Story = StoryObj<typeof meta>;
16
-
17
- export const Default: Story = {
18
- args: {
19
- environment: {
20
- defaultEditor: EditorType.VsCode,
21
- shellPreference: 'bash',
22
- },
23
- },
24
- };
25
-
26
- export const CursorWithZsh: Story = {
27
- args: {
28
- environment: {
29
- defaultEditor: EditorType.Cursor,
30
- shellPreference: 'zsh',
31
- },
32
- },
33
- };
@@ -1,125 +0,0 @@
1
- 'use client';
2
-
3
- import { useState, useTransition, useRef, useEffect } from 'react';
4
- import { Terminal, Check } from 'lucide-react';
5
- import { toast } from 'sonner';
6
- import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
7
- import { Label } from '@/components/ui/label';
8
- import {
9
- Select,
10
- SelectContent,
11
- SelectItem,
12
- SelectTrigger,
13
- SelectValue,
14
- } from '@/components/ui/select';
15
- import { updateSettingsAction } from '@/app/actions/update-settings';
16
- import { EditorType } from '@shepai/core/domain/generated/output';
17
- import type { EnvironmentConfig } from '@shepai/core/domain/generated/output';
18
-
19
- const EDITOR_OPTIONS = [
20
- { value: EditorType.VsCode, label: 'VS Code' },
21
- { value: EditorType.Cursor, label: 'Cursor' },
22
- { value: EditorType.Windsurf, label: 'Windsurf' },
23
- { value: EditorType.Zed, label: 'Zed' },
24
- { value: EditorType.Antigravity, label: 'Antigravity' },
25
- ];
26
-
27
- const SHELL_OPTIONS = [
28
- { value: 'bash', label: 'Bash' },
29
- { value: 'zsh', label: 'Zsh' },
30
- { value: 'fish', label: 'Fish' },
31
- ];
32
-
33
- export interface EnvironmentSettingsSectionProps {
34
- environment: EnvironmentConfig;
35
- }
36
-
37
- export function EnvironmentSettingsSection({ environment }: EnvironmentSettingsSectionProps) {
38
- const [editor, setEditor] = useState(environment.defaultEditor);
39
- const [shell, setShell] = useState(environment.shellPreference);
40
- const [isPending, startTransition] = useTransition();
41
- const [showSaved, setShowSaved] = useState(false);
42
- const prevPendingRef = useRef(false);
43
-
44
- useEffect(() => {
45
- if (prevPendingRef.current && !isPending) {
46
- setShowSaved(true);
47
- const timer = setTimeout(() => setShowSaved(false), 2000);
48
- return () => clearTimeout(timer);
49
- }
50
- prevPendingRef.current = isPending;
51
- }, [isPending]);
52
-
53
- function save(payload: { environment: Partial<EnvironmentConfig> }) {
54
- startTransition(async () => {
55
- const result = await updateSettingsAction(payload);
56
- if (!result.success) {
57
- toast.error(result.error ?? 'Failed to save IDE & Terminal settings');
58
- }
59
- });
60
- }
61
-
62
- function handleEditorChange(value: string) {
63
- setEditor(value as EditorType);
64
- save({ environment: { defaultEditor: value as EditorType, shellPreference: shell } });
65
- }
66
-
67
- function handleShellChange(value: string) {
68
- setShell(value);
69
- save({ environment: { defaultEditor: editor, shellPreference: value } });
70
- }
71
-
72
- return (
73
- <Card id="environment" className="scroll-mt-6" data-testid="environment-settings-section">
74
- <CardHeader>
75
- <div className="flex items-center justify-between">
76
- <div className="flex items-center gap-2">
77
- <Terminal className="text-muted-foreground h-4 w-4" />
78
- <CardTitle>IDE & Terminal</CardTitle>
79
- </div>
80
- {isPending ? <span className="text-muted-foreground text-xs">Saving...</span> : null}
81
- {showSaved && !isPending ? (
82
- <span className="flex items-center gap-1 text-xs text-green-600">
83
- <Check className="h-3 w-3" />
84
- Saved
85
- </span>
86
- ) : null}
87
- </div>
88
- <CardDescription>Configure your default editor and shell preferences</CardDescription>
89
- </CardHeader>
90
- <CardContent className="space-y-4">
91
- <div className="space-y-2">
92
- <Label htmlFor="default-editor">Default Editor</Label>
93
- <Select value={editor} onValueChange={handleEditorChange}>
94
- <SelectTrigger id="default-editor" data-testid="editor-select">
95
- <SelectValue />
96
- </SelectTrigger>
97
- <SelectContent>
98
- {EDITOR_OPTIONS.map((opt) => (
99
- <SelectItem key={opt.value} value={opt.value}>
100
- {opt.label}
101
- </SelectItem>
102
- ))}
103
- </SelectContent>
104
- </Select>
105
- </div>
106
-
107
- <div className="space-y-2">
108
- <Label htmlFor="shell-preference">Shell Preference</Label>
109
- <Select value={shell} onValueChange={handleShellChange}>
110
- <SelectTrigger id="shell-preference" data-testid="shell-select">
111
- <SelectValue />
112
- </SelectTrigger>
113
- <SelectContent>
114
- {SHELL_OPTIONS.map((opt) => (
115
- <SelectItem key={opt.value} value={opt.value}>
116
- {opt.label}
117
- </SelectItem>
118
- ))}
119
- </SelectContent>
120
- </Select>
121
- </div>
122
- </CardContent>
123
- </Card>
124
- );
125
- }
@@ -1,44 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
2
- import { FeatureFlagsSettingsSection } from './feature-flags-settings-section';
3
-
4
- const meta = {
5
- title: 'Features/Settings/FeatureFlagsSettingsSection',
6
- component: FeatureFlagsSettingsSection,
7
- tags: ['autodocs'],
8
- parameters: {
9
- layout: 'padded',
10
- },
11
- } satisfies Meta<typeof FeatureFlagsSettingsSection>;
12
-
13
- export default meta;
14
- type Story = StoryObj<typeof meta>;
15
-
16
- export const Default: Story = {
17
- args: {
18
- featureFlags: {
19
- skills: false,
20
- envDeploy: false,
21
- debug: false,
22
- },
23
- },
24
- };
25
-
26
- export const AllEnabled: Story = {
27
- args: {
28
- featureFlags: {
29
- skills: true,
30
- envDeploy: true,
31
- debug: true,
32
- },
33
- },
34
- };
35
-
36
- export const AllDisabled: Story = {
37
- args: {
38
- featureFlags: {
39
- skills: false,
40
- envDeploy: false,
41
- debug: false,
42
- },
43
- },
44
- };
@@ -1,94 +0,0 @@
1
- 'use client';
2
-
3
- import { useState, useTransition, useRef, useEffect } from 'react';
4
- import { Flag, Check } from 'lucide-react';
5
- import { toast } from 'sonner';
6
- import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
7
- import { Label } from '@/components/ui/label';
8
- import { Switch } from '@/components/ui/switch';
9
- import { updateSettingsAction } from '@/app/actions/update-settings';
10
- import type { FeatureFlags } from '@shepai/core/domain/generated/output';
11
-
12
- const FLAG_DESCRIPTIONS: Record<keyof FeatureFlags, string> = {
13
- skills: 'Enable Skills navigation and functionality in the web UI',
14
- envDeploy: 'Enable environment deployment features in the web UI',
15
- debug: 'Enable debug UI elements and verbose client-side logging',
16
- };
17
-
18
- const FLAG_LABELS: Record<keyof FeatureFlags, string> = {
19
- skills: 'Skills',
20
- envDeploy: 'Deployments',
21
- debug: 'Debug',
22
- };
23
-
24
- const FLAG_KEYS: (keyof FeatureFlags)[] = ['skills', 'envDeploy', 'debug'];
25
-
26
- export interface FeatureFlagsSettingsSectionProps {
27
- featureFlags: FeatureFlags;
28
- }
29
-
30
- export function FeatureFlagsSettingsSection({ featureFlags }: FeatureFlagsSettingsSectionProps) {
31
- const [flags, setFlags] = useState<FeatureFlags>({ ...featureFlags });
32
- const [isPending, startTransition] = useTransition();
33
- const [showSaved, setShowSaved] = useState(false);
34
- const prevPendingRef = useRef(false);
35
-
36
- useEffect(() => {
37
- if (prevPendingRef.current && !isPending) {
38
- setShowSaved(true);
39
- const timer = setTimeout(() => setShowSaved(false), 2000);
40
- return () => clearTimeout(timer);
41
- }
42
- prevPendingRef.current = isPending;
43
- }, [isPending]);
44
-
45
- function handleFlagChange(key: keyof FeatureFlags, value: boolean) {
46
- const newFlags = { ...flags, [key]: value };
47
- setFlags(newFlags);
48
- startTransition(async () => {
49
- const result = await updateSettingsAction({ featureFlags: newFlags });
50
- if (!result.success) {
51
- toast.error(result.error ?? 'Failed to save feature flags');
52
- }
53
- });
54
- }
55
-
56
- return (
57
- <Card id="feature-flags" className="scroll-mt-6" data-testid="feature-flags-settings-section">
58
- <CardHeader>
59
- <div className="flex items-center justify-between">
60
- <div className="flex items-center gap-2">
61
- <Flag className="text-muted-foreground h-4 w-4" />
62
- <CardTitle>Feature Flags</CardTitle>
63
- </div>
64
- {isPending ? <span className="text-muted-foreground text-xs">Saving...</span> : null}
65
- {showSaved && !isPending ? (
66
- <span className="flex items-center gap-1 text-xs text-green-600">
67
- <Check className="h-3 w-3" />
68
- Saved
69
- </span>
70
- ) : null}
71
- </div>
72
- <CardDescription>
73
- Toggle experimental and optional features. Changes take effect after page navigation.
74
- </CardDescription>
75
- </CardHeader>
76
- <CardContent className="space-y-4">
77
- {FLAG_KEYS.map((key) => (
78
- <div key={key} className="flex items-center justify-between gap-4">
79
- <div className="space-y-0.5">
80
- <Label htmlFor={`flag-${key}`}>{FLAG_LABELS[key]}</Label>
81
- <p className="text-muted-foreground text-xs">{FLAG_DESCRIPTIONS[key]}</p>
82
- </div>
83
- <Switch
84
- id={`flag-${key}`}
85
- data-testid={`switch-flag-${key}`}
86
- checked={flags[key]}
87
- onCheckedChange={(v) => handleFlagChange(key, v)}
88
- />
89
- </div>
90
- ))}
91
- </CardContent>
92
- </Card>
93
- );
94
- }