@shepai/cli 1.77.2-pr240.88b3534 → 1.77.2-pr243.1fc63c3

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 (536) hide show
  1. package/apis/json-schema/AgentRun.yaml +3 -0
  2. package/apis/json-schema/ModelConfiguration.yaml +5 -20
  3. package/dist/packages/core/src/application/ports/output/agents/agent-executor-factory.interface.d.ts +8 -0
  4. package/dist/packages/core/src/application/ports/output/agents/agent-executor-factory.interface.d.ts.map +1 -1
  5. package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts +1 -0
  6. package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts.map +1 -1
  7. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts.map +1 -1
  8. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.js +1 -0
  9. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
  10. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +9 -2
  11. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts +4 -0
  12. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts.map +1 -1
  13. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.d.ts.map +1 -1
  14. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.js +2 -0
  15. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts +3 -3
  16. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  17. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +5 -8
  18. package/dist/packages/core/src/domain/generated/output.d.ts +7 -15
  19. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  20. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/agent-run.mapper.d.ts +1 -0
  21. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/agent-run.mapper.d.ts.map +1 -1
  22. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/agent-run.mapper.js +2 -0
  23. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +1 -0
  24. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  25. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +8 -10
  26. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.d.ts.map +1 -1
  27. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.js +22 -3
  28. package/dist/packages/core/src/infrastructure/repositories/agent-run.repository.js +2 -2
  29. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  30. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +3 -2
  31. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts +8 -0
  32. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts.map +1 -1
  33. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.js +37 -0
  34. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts.map +1 -1
  35. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.js +3 -2
  36. package/dist/packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.d.ts.map +1 -1
  37. package/dist/packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.js +3 -2
  38. package/dist/packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.d.ts.map +1 -1
  39. package/dist/packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.js +3 -2
  40. package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.d.ts +1 -0
  41. package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.d.ts.map +1 -1
  42. package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.js +3 -0
  43. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts +5 -0
  44. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts.map +1 -1
  45. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +17 -0
  46. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts.map +1 -1
  47. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts +1 -0
  48. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts.map +1 -1
  49. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.js +3 -0
  50. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts +1 -0
  51. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
  52. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +35 -8
  53. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/log-context.d.ts +17 -0
  54. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/log-context.d.ts.map +1 -0
  55. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/log-context.js +21 -0
  56. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
  57. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +4 -2
  58. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts +1 -0
  59. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts.map +1 -1
  60. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.js +4 -0
  61. package/dist/packages/core/src/infrastructure/services/settings.service.d.ts +1 -1
  62. package/dist/packages/core/src/infrastructure/services/settings.service.js +1 -1
  63. package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
  64. package/dist/src/presentation/cli/commands/feat/new.command.js +2 -0
  65. package/dist/src/presentation/cli/commands/feat/show.command.d.ts.map +1 -1
  66. package/dist/src/presentation/cli/commands/feat/show.command.js +13 -0
  67. package/dist/src/presentation/cli/commands/settings/index.d.ts +1 -0
  68. package/dist/src/presentation/cli/commands/settings/index.d.ts.map +1 -1
  69. package/dist/src/presentation/cli/commands/settings/index.js +4 -1
  70. package/dist/src/presentation/cli/commands/settings/model.command.d.ts +17 -0
  71. package/dist/src/presentation/cli/commands/settings/model.command.d.ts.map +1 -0
  72. package/dist/src/presentation/cli/commands/settings/model.command.js +62 -0
  73. package/dist/src/presentation/cli/ui/tables.d.ts.map +1 -1
  74. package/dist/src/presentation/cli/ui/tables.js +6 -23
  75. package/dist/src/presentation/web/app/(dashboard)/@drawer/create/page.d.ts.map +1 -1
  76. package/dist/src/presentation/web/app/(dashboard)/@drawer/create/page.js +3 -1
  77. package/dist/src/presentation/web/app/actions/create-feature.d.ts +4 -0
  78. package/dist/src/presentation/web/app/actions/create-feature.d.ts.map +1 -1
  79. package/dist/src/presentation/web/app/actions/create-feature.js +5 -1
  80. package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts +12 -0
  81. package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts.map +1 -0
  82. package/dist/src/presentation/web/app/actions/get-all-agent-models.js +49 -0
  83. package/dist/src/presentation/web/app/actions/get-supported-models.d.ts +11 -0
  84. package/dist/src/presentation/web/app/actions/get-supported-models.d.ts.map +1 -0
  85. package/dist/src/presentation/web/app/actions/get-supported-models.js +24 -0
  86. package/dist/src/presentation/web/app/actions/update-agent-and-model.d.ts +5 -0
  87. package/dist/src/presentation/web/app/actions/update-agent-and-model.d.ts.map +1 -0
  88. package/dist/src/presentation/web/app/actions/update-agent-and-model.js +28 -0
  89. package/dist/src/presentation/web/app/actions/update-model.d.ts +15 -0
  90. package/dist/src/presentation/web/app/actions/update-model.d.ts.map +1 -0
  91. package/dist/src/presentation/web/app/actions/update-model.js +35 -0
  92. package/dist/src/presentation/web/app/api/agent-events/route.js +1 -1
  93. package/dist/src/presentation/web/app/build-feature-node-data.d.ts.map +1 -1
  94. package/dist/src/presentation/web/app/build-feature-node-data.js +1 -0
  95. package/dist/src/presentation/web/app/build-graph-nodes.js +1 -0
  96. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.d.ts +3 -1
  97. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.d.ts.map +1 -1
  98. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.js +2 -2
  99. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts.map +1 -1
  100. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.js +2 -4
  101. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts +9 -1
  102. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  103. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +29 -4
  104. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts +5 -0
  105. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts.map +1 -1
  106. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +32 -3
  107. package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.d.ts.map +1 -1
  108. package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.js +0 -2
  109. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.d.ts +3 -1
  110. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.d.ts.map +1 -1
  111. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.js +6 -2
  112. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.d.ts +1 -0
  113. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.d.ts.map +1 -1
  114. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.js +15 -0
  115. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts +2 -0
  116. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts.map +1 -1
  117. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.js +11 -2
  118. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
  119. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +2 -3
  120. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +3 -1
  121. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  122. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +0 -4
  123. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  124. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +14 -15
  125. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts +0 -1
  126. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
  127. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +19 -23
  128. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  129. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +2 -0
  130. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts +12 -0
  131. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts.map +1 -0
  132. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.js +59 -0
  133. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts +11 -0
  134. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts.map +1 -0
  135. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +103 -0
  136. package/dist/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.d.ts +24 -0
  137. package/dist/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.d.ts.map +1 -0
  138. package/dist/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.js +53 -0
  139. package/dist/src/presentation/web/components/features/settings/ModelPicker/index.d.ts +18 -0
  140. package/dist/src/presentation/web/components/features/settings/ModelPicker/index.d.ts.map +1 -0
  141. package/dist/src/presentation/web/components/features/settings/ModelPicker/index.js +84 -0
  142. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  143. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +7 -21
  144. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts +2 -0
  145. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  146. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +1 -1
  147. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
  148. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +28 -3
  149. package/dist/src/presentation/web/components/ui/checkbox-group-item.js +1 -1
  150. package/dist/src/presentation/web/components/ui/checkbox-group.js +1 -1
  151. package/dist/src/presentation/web/components/ui/command.d.ts +19 -0
  152. package/dist/src/presentation/web/components/ui/command.d.ts.map +1 -0
  153. package/dist/src/presentation/web/components/ui/command.js +26 -0
  154. package/dist/src/presentation/web/components/ui/switch.js +1 -1
  155. package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts +2 -0
  156. package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts.map +1 -1
  157. package/dist/src/presentation/web/lib/model-metadata.d.ts +6 -0
  158. package/dist/src/presentation/web/lib/model-metadata.d.ts.map +1 -0
  159. package/dist/src/presentation/web/lib/model-metadata.js +41 -0
  160. package/dist/tsconfig.build.tsbuildinfo +1 -1
  161. package/package.json +1 -1
  162. package/web/.next/BUILD_ID +1 -1
  163. package/web/.next/build-manifest.json +4 -4
  164. package/web/.next/cache/.previewinfo +1 -1
  165. package/web/.next/cache/.rscinfo +1 -1
  166. package/web/.next/cache/.tsbuildinfo +1 -1
  167. package/web/.next/cache/config.json +3 -3
  168. package/web/.next/fallback-build-manifest.json +2 -2
  169. package/web/.next/prerender-manifest.json +3 -3
  170. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +2 -2
  171. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +62 -32
  172. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  173. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  174. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  175. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +2 -2
  176. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +19 -19
  177. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  178. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  179. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +2 -2
  180. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  181. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  182. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  183. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +2 -2
  184. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +62 -32
  185. package/web/.next/server/app/(dashboard)/create/page.js +1 -1
  186. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  187. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  188. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +2 -2
  189. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +19 -19
  190. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  191. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  192. package/web/.next/server/app/(dashboard)/page/build-manifest.json +2 -2
  193. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +14 -14
  194. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  195. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  196. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +2 -2
  197. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  198. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  199. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  200. package/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
  201. package/web/.next/server/app/_global-error.html +2 -2
  202. package/web/.next/server/app/_global-error.rsc +1 -1
  203. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  204. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  205. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  206. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  207. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  208. package/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
  209. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  210. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  211. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  212. package/web/.next/server/app/settings/page/build-manifest.json +2 -2
  213. package/web/.next/server/app/settings/page/server-reference-manifest.json +36 -6
  214. package/web/.next/server/app/settings/page.js +2 -2
  215. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  216. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  217. package/web/.next/server/app/skills/page/build-manifest.json +2 -2
  218. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  219. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  220. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  221. package/web/.next/server/app/tools/page/build-manifest.json +2 -2
  222. package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  223. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  224. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  225. package/web/.next/server/app/version/page/build-manifest.json +2 -2
  226. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  227. package/web/.next/server/app/version/page.js.nft.json +1 -1
  228. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  229. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
  230. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  231. package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js +1 -1
  232. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  233. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  234. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_c7cfe351._.js +3 -0
  235. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_c7cfe351._.js.map +1 -0
  236. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js +1 -1
  237. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js.map +1 -1
  238. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +1 -1
  239. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js.map +1 -1
  240. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +1 -1
  241. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js.map +1 -1
  242. package/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js +1 -1
  243. package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +4 -0
  244. package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js.map +1 -0
  245. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
  246. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
  247. package/web/.next/server/chunks/ssr/[root-of-the-server]__bff2deea._.js +3 -0
  248. package/web/.next/server/chunks/ssr/[root-of-the-server]__bff2deea._.js.map +1 -0
  249. package/web/.next/server/chunks/ssr/[root-of-the-server]__c3c963c6._.js +1 -1
  250. package/web/.next/server/chunks/ssr/[root-of-the-server]__c3c963c6._.js.map +1 -1
  251. package/web/.next/server/chunks/ssr/[root-of-the-server]__c9777776._.js +1 -1
  252. package/web/.next/server/chunks/ssr/[root-of-the-server]__c9777776._.js.map +1 -1
  253. package/web/.next/server/chunks/ssr/[root-of-the-server]__d076a90b._.js +3 -0
  254. package/web/.next/server/chunks/ssr/[root-of-the-server]__d076a90b._.js.map +1 -0
  255. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js +2 -2
  256. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js.map +1 -1
  257. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +1 -1
  258. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js.map +1 -1
  259. package/web/.next/server/chunks/ssr/_04968d9f._.js +3 -0
  260. package/web/.next/server/chunks/ssr/_04968d9f._.js.map +1 -0
  261. package/web/.next/server/chunks/ssr/_0bd0fafb._.js +9 -0
  262. package/web/.next/server/chunks/ssr/_0bd0fafb._.js.map +1 -0
  263. package/web/.next/server/chunks/ssr/_0e9d6bf7._.js +1 -1
  264. package/web/.next/server/chunks/ssr/_0e9d6bf7._.js.map +1 -1
  265. package/web/.next/server/chunks/ssr/_14fa79b2._.js +3 -0
  266. package/web/.next/server/chunks/ssr/_14fa79b2._.js.map +1 -0
  267. package/web/.next/server/chunks/ssr/_16235e5e._.js +1 -1
  268. package/web/.next/server/chunks/ssr/_61351ed3._.js +1 -1
  269. package/web/.next/server/chunks/ssr/_61351ed3._.js.map +1 -1
  270. package/web/.next/server/chunks/ssr/_6e08ce21._.js +1 -1
  271. package/web/.next/server/chunks/ssr/_6e08ce21._.js.map +1 -1
  272. package/web/.next/server/chunks/ssr/_8400c8bb._.js +1 -1
  273. package/web/.next/server/chunks/ssr/_8400c8bb._.js.map +1 -1
  274. package/web/.next/server/chunks/ssr/{_6645f218._.js → _8dacd1e7._.js} +2 -2
  275. package/web/.next/server/chunks/ssr/{_6645f218._.js.map → _8dacd1e7._.js.map} +1 -1
  276. package/web/.next/server/chunks/ssr/_9ac70f88._.js +5 -0
  277. package/web/.next/server/chunks/ssr/_9ac70f88._.js.map +1 -0
  278. package/web/.next/server/chunks/ssr/_a37f5f18._.js +1 -1
  279. package/web/.next/server/chunks/ssr/_a37f5f18._.js.map +1 -1
  280. package/web/.next/server/chunks/ssr/{_88c4dab8._.js → _b5fc318a._.js} +2 -2
  281. package/web/.next/server/chunks/ssr/_b5fc318a._.js.map +1 -0
  282. package/web/.next/server/chunks/ssr/_ba1ec9b2._.js +3 -0
  283. package/web/.next/server/chunks/ssr/_ba1ec9b2._.js.map +1 -0
  284. package/web/.next/server/chunks/ssr/_d4b20e29._.js +1 -1
  285. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
  286. package/web/.next/server/chunks/ssr/{_2557e3df._.js → _e3da8cc8._.js} +2 -2
  287. package/web/.next/server/chunks/ssr/{_2557e3df._.js.map → _e3da8cc8._.js.map} +1 -1
  288. package/web/.next/server/chunks/ssr/_ed356507._.js +3 -0
  289. package/web/.next/server/chunks/ssr/{_5428b384._.js.map → _ed356507._.js.map} +1 -1
  290. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  291. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  292. package/web/.next/server/chunks/ssr/node_modules__pnpm_1fcecd3a._.js +3 -0
  293. package/web/.next/server/chunks/ssr/node_modules__pnpm_1fcecd3a._.js.map +1 -0
  294. package/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js +1 -1
  295. package/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js.map +1 -1
  296. package/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js +1 -1
  297. package/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js.map +1 -1
  298. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js +1 -1
  299. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js.map +1 -1
  300. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
  301. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
  302. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
  303. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
  304. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js +1 -1
  305. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js.map +1 -1
  306. package/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js +6 -0
  307. package/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js.map +1 -0
  308. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  309. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  310. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  311. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  312. package/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.js +6 -0
  313. package/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.js.map +1 -0
  314. package/web/.next/server/middleware-build-manifest.js +2 -2
  315. package/web/.next/server/pages/500.html +2 -2
  316. package/web/.next/server/server-reference-manifest.js +1 -1
  317. package/web/.next/server/server-reference-manifest.json +117 -59
  318. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  319. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +4 -4
  320. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  321. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +2 -2
  322. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +62 -32
  323. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  324. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  325. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  326. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +2 -2
  327. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +19 -19
  328. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  329. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  330. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +2 -2
  331. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  332. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  333. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  334. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/build-manifest.json +2 -2
  335. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +62 -32
  336. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js +1 -1
  337. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  338. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  339. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +2 -2
  340. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +19 -19
  341. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  342. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  343. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/build-manifest.json +2 -2
  344. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +14 -14
  345. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  346. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  347. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +2 -2
  348. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  349. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  350. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  351. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
  352. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  353. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  354. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  355. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  356. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  357. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  358. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  359. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
  360. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  361. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  362. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  363. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/build-manifest.json +2 -2
  364. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/server-reference-manifest.json +36 -6
  365. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page.js +2 -2
  366. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page.js.nft.json +1 -1
  367. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  368. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/build-manifest.json +2 -2
  369. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  370. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js.nft.json +1 -1
  371. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  372. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/build-manifest.json +2 -2
  373. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  374. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.nft.json +1 -1
  375. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  376. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/build-manifest.json +2 -2
  377. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  378. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
  379. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  380. package/web/.next/standalone/src/presentation/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
  381. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__9191749c._.js +1 -1
  382. 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
  383. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_c7cfe351._.js +3 -0
  384. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js +1 -1
  385. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +1 -1
  386. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +1 -1
  387. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js +1 -1
  388. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +4 -0
  389. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
  390. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__bff2deea._.js +3 -0
  391. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__c3c963c6._.js +1 -1
  392. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__c9777776._.js +1 -1
  393. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__d076a90b._.js +3 -0
  394. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js +2 -2
  395. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +1 -1
  396. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_04968d9f._.js +3 -0
  397. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_0bd0fafb._.js +9 -0
  398. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_0e9d6bf7._.js +1 -1
  399. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_14fa79b2._.js +3 -0
  400. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_16235e5e._.js +1 -1
  401. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_61351ed3._.js +1 -1
  402. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_6e08ce21._.js +1 -1
  403. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_8400c8bb._.js +1 -1
  404. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_6645f218._.js → _8dacd1e7._.js} +2 -2
  405. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_9ac70f88._.js +5 -0
  406. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_a37f5f18._.js +1 -1
  407. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_88c4dab8._.js → _b5fc318a._.js} +2 -2
  408. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_ba1ec9b2._.js +3 -0
  409. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_d4b20e29._.js +1 -1
  410. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_2557e3df._.js → _e3da8cc8._.js} +2 -2
  411. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_ed356507._.js +3 -0
  412. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  413. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_1fcecd3a._.js +3 -0
  414. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js +1 -1
  415. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js +1 -1
  416. 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
  417. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
  418. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
  419. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js +1 -1
  420. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js +6 -0
  421. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  422. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  423. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.js +6 -0
  424. package/web/.next/standalone/src/presentation/web/.next/server/middleware-build-manifest.js +2 -2
  425. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  426. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  427. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +117 -59
  428. package/web/.next/standalone/src/presentation/web/app/(dashboard)/@drawer/create/page.tsx +4 -0
  429. package/web/.next/standalone/src/presentation/web/app/actions/create-feature.ts +20 -2
  430. package/web/.next/standalone/src/presentation/web/app/actions/get-all-agent-models.ts +65 -0
  431. package/web/.next/standalone/src/presentation/web/app/actions/get-supported-models.ts +26 -0
  432. package/web/.next/standalone/src/presentation/web/app/actions/update-agent-and-model.ts +41 -0
  433. package/web/.next/standalone/src/presentation/web/app/actions/update-model.ts +45 -0
  434. package/web/.next/standalone/src/presentation/web/app/api/agent-events/route.ts +1 -1
  435. package/web/.next/standalone/src/presentation/web/app/build-feature-node-data.ts +1 -0
  436. package/web/.next/standalone/src/presentation/web/app/build-graph-nodes.ts +1 -0
  437. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/create-drawer-client.tsx +6 -0
  438. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/drawer-view.ts +2 -10
  439. package/web/.next/standalone/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.tsx +56 -0
  440. package/web/.next/standalone/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.tsx +238 -118
  441. package/web/.next/standalone/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.tsx +0 -2
  442. package/web/.next/standalone/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.tsx +16 -0
  443. package/web/.next/standalone/src/presentation/web/components/common/feature-list-item/feature-list-item.tsx +33 -0
  444. package/web/.next/standalone/src/presentation/web/components/common/feature-node/agent-type-icons.tsx +54 -2
  445. package/web/.next/standalone/src/presentation/web/components/common/feature-node/derive-feature-state.ts +2 -3
  446. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node-state-config.ts +2 -6
  447. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node.stories.tsx +19 -24
  448. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node.tsx +43 -24
  449. package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center-inner.tsx +4 -0
  450. package/web/.next/standalone/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.tsx +72 -0
  451. package/web/.next/standalone/src/presentation/web/components/features/settings/AgentModelPicker/index.tsx +228 -0
  452. package/web/.next/standalone/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.tsx +64 -0
  453. package/web/.next/standalone/src/presentation/web/components/features/settings/ModelPicker/index.tsx +167 -0
  454. package/web/.next/standalone/src/presentation/web/components/features/settings/settings-page-client.tsx +25 -41
  455. package/web/.next/standalone/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.tsx +28 -3
  456. package/web/.next/standalone/src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx +4 -0
  457. package/web/.next/standalone/src/presentation/web/components/ui/checkbox-group-item.tsx +1 -1
  458. package/web/.next/standalone/src/presentation/web/components/ui/checkbox-group.tsx +1 -1
  459. package/web/.next/standalone/src/presentation/web/components/ui/command.tsx +114 -0
  460. package/web/.next/standalone/src/presentation/web/components/ui/switch.tsx +1 -1
  461. package/web/.next/standalone/src/presentation/web/hooks/sidebar-features-context.tsx +2 -0
  462. package/web/.next/standalone/src/presentation/web/lib/model-metadata.ts +51 -0
  463. package/web/.next/static/chunks/007be9fab4adea42.js +1 -0
  464. package/web/.next/static/chunks/{25a8e4460619670a.js → 34eb9cda9da722b6.js} +1 -1
  465. package/web/.next/static/chunks/{6205ca0c28401b31.js → 3790f4bb02b9f6e0.js} +2 -2
  466. package/web/.next/static/chunks/42bd17823c7f41a1.css +2 -0
  467. package/web/.next/static/chunks/{5ea9cc400337eeae.js → 494800b05a910e69.js} +1 -1
  468. package/web/.next/static/chunks/4b652ede9c20379c.js +1 -0
  469. package/web/.next/static/chunks/{f8e33bd4c6770071.js → 4d09dc48abcae1fd.js} +1 -1
  470. package/web/.next/static/chunks/51454a23ce051ec9.js +1 -0
  471. package/web/.next/static/chunks/{3f88555d42e6c0a5.js → 596adcd6a1f862cc.js} +1 -1
  472. package/web/.next/static/chunks/{98e3a7cf58fc912a.js → 672e3da3ad26005b.js} +1 -1
  473. package/web/.next/static/chunks/70b820a4be378635.js +1 -0
  474. package/web/.next/static/chunks/7acc79e599df9890.js +1 -0
  475. package/web/.next/static/chunks/{36d88ff9f7db4eb9.js → 876edf7bbd901942.js} +1 -1
  476. package/web/.next/static/chunks/8f122c3ac2102300.js +11 -0
  477. package/web/.next/static/chunks/96ba74ac76fe6826.js +1 -0
  478. package/web/.next/static/chunks/a1ddf1f9b1435434.js +3 -0
  479. package/web/.next/static/chunks/b5696d211be51b4d.js +1 -0
  480. package/web/.next/static/chunks/c8b2868ae430a586.js +1 -0
  481. package/web/.next/static/chunks/dfcdd7e8249e47fd.js +1 -0
  482. package/web/.next/static/chunks/{89aac43287d73b02.js → ed3a602003bcb31b.js} +1 -1
  483. package/web/.next/static/chunks/{turbopack-080e470ea902d0ba.js → turbopack-426d9bc2450816ba.js} +1 -1
  484. package/web/.next/trace +1 -1
  485. package/web/.next/trace-build +1 -1
  486. package/web/.next/server/chunks/ssr/[root-of-the-server]__1c870feb._.js +0 -3
  487. package/web/.next/server/chunks/ssr/[root-of-the-server]__1c870feb._.js.map +0 -1
  488. package/web/.next/server/chunks/ssr/[root-of-the-server]__aea328fd._.js +0 -3
  489. package/web/.next/server/chunks/ssr/[root-of-the-server]__aea328fd._.js.map +0 -1
  490. package/web/.next/server/chunks/ssr/[root-of-the-server]__fd36b8bf._.js +0 -4
  491. package/web/.next/server/chunks/ssr/[root-of-the-server]__fd36b8bf._.js.map +0 -1
  492. package/web/.next/server/chunks/ssr/_4093a637._.js +0 -5
  493. package/web/.next/server/chunks/ssr/_4093a637._.js.map +0 -1
  494. package/web/.next/server/chunks/ssr/_5428b384._.js +0 -3
  495. package/web/.next/server/chunks/ssr/_88c4dab8._.js.map +0 -1
  496. package/web/.next/server/chunks/ssr/_956601a1._.js +0 -9
  497. package/web/.next/server/chunks/ssr/_956601a1._.js.map +0 -1
  498. package/web/.next/server/chunks/ssr/_c26c679f._.js +0 -3
  499. package/web/.next/server/chunks/ssr/_c26c679f._.js.map +0 -1
  500. package/web/.next/server/chunks/ssr/_caf6533c._.js +0 -3
  501. package/web/.next/server/chunks/ssr/_caf6533c._.js.map +0 -1
  502. package/web/.next/server/chunks/ssr/_f7f6173c._.js +0 -3
  503. package/web/.next/server/chunks/ssr/_f7f6173c._.js.map +0 -1
  504. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js +0 -3
  505. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js.map +0 -1
  506. package/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js +0 -6
  507. package/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js.map +0 -1
  508. package/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js +0 -6
  509. package/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js.map +0 -1
  510. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__1c870feb._.js +0 -3
  511. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aea328fd._.js +0 -3
  512. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fd36b8bf._.js +0 -4
  513. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_4093a637._.js +0 -5
  514. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_5428b384._.js +0 -3
  515. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_956601a1._.js +0 -9
  516. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_c26c679f._.js +0 -3
  517. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_caf6533c._.js +0 -3
  518. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_f7f6173c._.js +0 -3
  519. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js +0 -3
  520. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js +0 -6
  521. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js +0 -6
  522. package/web/.next/static/chunks/0d1285175b320302.js +0 -1
  523. package/web/.next/static/chunks/146c0a7697bc5a5c.js +0 -1
  524. package/web/.next/static/chunks/16c1db929d7ed3c9.js +0 -1
  525. package/web/.next/static/chunks/18deef44e5e36e2b.js +0 -3
  526. package/web/.next/static/chunks/3479d6ae297e5410.css +0 -2
  527. package/web/.next/static/chunks/700501f5ac2bb320.js +0 -1
  528. package/web/.next/static/chunks/730cb306a35d6396.js +0 -1
  529. package/web/.next/static/chunks/907556417091ee06.js +0 -11
  530. package/web/.next/static/chunks/aa6cc6df962a3fc0.js +0 -3
  531. package/web/.next/static/chunks/c63d1c145c5a07dc.js +0 -1
  532. package/web/.next/static/chunks/fc00e1b83852da4e.js +0 -1
  533. package/web/.next/static/chunks/fe80866e23f343eb.js +0 -1
  534. /package/web/.next/static/{x8A1bt8tX5vg9IpB1ksif → r7LAkVhSBzOwbRx2bcqLy}/_buildManifest.js +0 -0
  535. /package/web/.next/static/{x8A1bt8tX5vg9IpB1ksif → r7LAkVhSBzOwbRx2bcqLy}/_clientMiddlewareManifest.json +0 -0
  536. /package/web/.next/static/{x8A1bt8tX5vg9IpB1ksif → r7LAkVhSBzOwbRx2bcqLy}/_ssgManifest.js +0 -0
package/web/.next/trace CHANGED
@@ -1 +1 @@
1
- [{"name":"generate-buildid","duration":188,"timestamp":187338498,"id":4,"parentId":1,"tags":{},"startTime":1772986628746,"traceId":"2139aa361f9d21c6"},{"name":"load-custom-routes","duration":281,"timestamp":187338770,"id":5,"parentId":1,"tags":{},"startTime":1772986628746,"traceId":"2139aa361f9d21c6"},{"name":"create-dist-dir","duration":204,"timestamp":187339074,"id":6,"parentId":1,"tags":{},"startTime":1772986628746,"traceId":"2139aa361f9d21c6"},{"name":"clean","duration":169,"timestamp":187339645,"id":7,"parentId":1,"tags":{},"startTime":1772986628747,"traceId":"2139aa361f9d21c6"},{"name":"create-pages-mapping","duration":197,"timestamp":187385437,"id":8,"parentId":1,"tags":{},"startTime":1772986628793,"traceId":"2139aa361f9d21c6"},{"name":"collect-app-files","duration":3221,"timestamp":187385675,"id":9,"parentId":1,"tags":{},"startTime":1772986628793,"traceId":"2139aa361f9d21c6"},{"name":"create-app-mapping","duration":1007,"timestamp":187388926,"id":10,"parentId":1,"tags":{},"startTime":1772986628796,"traceId":"2139aa361f9d21c6"},{"name":"create-app-layouts","duration":161,"timestamp":187389960,"id":11,"parentId":1,"tags":{},"startTime":1772986628797,"traceId":"2139aa361f9d21c6"},{"name":"collect-default-files","duration":1002,"timestamp":187392308,"id":13,"parentId":1,"tags":{},"startTime":1772986628799,"traceId":"2139aa361f9d21c6"},{"name":"create-default-mapping","duration":133,"timestamp":187393327,"id":14,"parentId":1,"tags":{},"startTime":1772986628800,"traceId":"2139aa361f9d21c6"},{"name":"generate-route-types","duration":15917,"timestamp":187391753,"id":12,"parentId":1,"tags":{},"startTime":1772986628799,"traceId":"2139aa361f9d21c6"},{"name":"public-dir-conflict-check","duration":74,"timestamp":187407710,"id":15,"parentId":1,"tags":{},"startTime":1772986628815,"traceId":"2139aa361f9d21c6"},{"name":"generate-routes-manifest","duration":2051,"timestamp":187407831,"id":16,"parentId":1,"tags":{},"startTime":1772986628815,"traceId":"2139aa361f9d21c6"},{"name":"run-turbopack","duration":9308820,"timestamp":187413454,"id":18,"parentId":1,"tags":{},"startTime":1772986628821,"traceId":"2139aa361f9d21c6"},{"name":"run-typescript","duration":7750131,"timestamp":196730060,"id":20,"parentId":1,"tags":{},"startTime":1772986638137,"traceId":"2139aa361f9d21c6"},{"name":"generate-required-server-files","duration":1938,"timestamp":204480710,"id":22,"parentId":1,"tags":{},"startTime":1772986645888,"traceId":"2139aa361f9d21c6"},{"name":"check-static-error-page","duration":5285,"timestamp":204544653,"id":24,"parentId":23,"tags":{},"startTime":1772986645952,"traceId":"2139aa361f9d21c6"},{"name":"is-page-static","duration":252708,"timestamp":204554106,"id":44,"parentId":26,"tags":{},"startTime":1772986645961,"traceId":"2139aa361f9d21c6"},{"name":"check-page","duration":259691,"timestamp":204547237,"id":26,"parentId":23,"tags":{"page":"/_global-error"},"startTime":1772986645954,"traceId":"2139aa361f9d21c6"},{"name":"is-page-static","duration":260383,"timestamp":204553020,"id":43,"parentId":25,"tags":{},"startTime":1772986645960,"traceId":"2139aa361f9d21c6"},{"name":"check-page","duration":267479,"timestamp":204545963,"id":25,"parentId":23,"tags":{"page":"/_not-found"},"startTime":1772986645953,"traceId":"2139aa361f9d21c6"},{"name":"is-page-static","duration":282564,"timestamp":204558950,"id":47,"parentId":37,"tags":{},"startTime":1772986645966,"traceId":"2139aa361f9d21c6"},{"name":"check-page","duration":292286,"timestamp":204549278,"id":37,"parentId":23,"tags":{"page":"/api/tools/[id]/launch"},"startTime":1772986645956,"traceId":"2139aa361f9d21c6"},{"name":"is-page-static","duration":286312,"timestamp":204559128,"id":48,"parentId":38,"tags":{},"startTime":1772986645966,"traceId":"2139aa361f9d21c6"},{"name":"check-page","duration":295858,"timestamp":204549624,"id":38,"parentId":23,"tags":{"page":"/api/tools"},"startTime":1772986645957,"traceId":"2139aa361f9d21c6"},{"name":"is-page-static","duration":279633,"timestamp":204569738,"id":49,"parentId":31,"tags":{},"startTime":1772986645977,"traceId":"2139aa361f9d21c6"},{"name":"check-page","duration":300635,"timestamp":204548771,"id":31,"parentId":23,"tags":{"page":"/api/agent-events/health"},"startTime":1772986645956,"traceId":"2139aa361f9d21c6"},{"name":"is-page-static","duration":281573,"timestamp":204571720,"id":50,"parentId":32,"tags":{},"startTime":1772986645979,"traceId":"2139aa361f9d21c6"},{"name":"check-page","duration":304478,"timestamp":204548842,"id":32,"parentId":23,"tags":{"page":"/api/agent-events"},"startTime":1772986645956,"traceId":"2139aa361f9d21c6"},{"name":"is-page-static","duration":284572,"timestamp":204572505,"id":51,"parentId":33,"tags":{},"startTime":1772986645980,"traceId":"2139aa361f9d21c6"},{"name":"check-page","duration":308199,"timestamp":204548907,"id":33,"parentId":23,"tags":{"page":"/api/deployment-logs"},"startTime":1772986645956,"traceId":"2139aa361f9d21c6"},{"name":"is-page-static","duration":291088,"timestamp":204573060,"id":52,"parentId":36,"tags":{},"startTime":1772986645980,"traceId":"2139aa361f9d21c6"},{"name":"check-page","duration":314993,"timestamp":204549193,"id":36,"parentId":23,"tags":{"page":"/api/tools/[id]/install/stream"},"startTime":1772986645956,"traceId":"2139aa361f9d21c6"},{"name":"is-page-static","duration":299056,"timestamp":204577734,"id":53,"parentId":40,"tags":{},"startTime":1772986645985,"traceId":"2139aa361f9d21c6"},{"name":"check-page","duration":327046,"timestamp":204549780,"id":40,"parentId":23,"tags":{"page":"/skills"},"startTime":1772986645957,"traceId":"2139aa361f9d21c6"},{"name":"is-page-static","duration":304371,"timestamp":204577763,"id":54,"parentId":42,"tags":{},"startTime":1772986645985,"traceId":"2139aa361f9d21c6"},{"name":"check-page","duration":332274,"timestamp":204549888,"id":42,"parentId":23,"tags":{"page":"/version"},"startTime":1772986645957,"traceId":"2139aa361f9d21c6"},{"name":"is-page-static","duration":328139,"timestamp":204558532,"id":45,"parentId":34,"tags":{},"startTime":1772986645966,"traceId":"2139aa361f9d21c6"},{"name":"check-page","duration":337682,"timestamp":204549024,"id":34,"parentId":23,"tags":{"page":"/api/dialog/pick-files"},"startTime":1772986645956,"traceId":"2139aa361f9d21c6"},{"name":"is-page-static","duration":314520,"timestamp":204577771,"id":55,"parentId":39,"tags":{},"startTime":1772986645985,"traceId":"2139aa361f9d21c6"},{"name":"check-page","duration":342598,"timestamp":204549719,"id":39,"parentId":23,"tags":{"page":"/settings"},"startTime":1772986645957,"traceId":"2139aa361f9d21c6"},{"name":"is-page-static","duration":338362,"timestamp":204558787,"id":46,"parentId":35,"tags":{},"startTime":1772986645966,"traceId":"2139aa361f9d21c6"},{"name":"check-page","duration":348064,"timestamp":204549114,"id":35,"parentId":23,"tags":{"page":"/api/tools/[id]/install"},"startTime":1772986645956,"traceId":"2139aa361f9d21c6"},{"name":"is-page-static","duration":332992,"timestamp":204578710,"id":57,"parentId":28,"tags":{},"startTime":1772986645986,"traceId":"2139aa361f9d21c6"},{"name":"check-page","duration":363255,"timestamp":204548481,"id":28,"parentId":23,"tags":{"page":"/feature/[featureId]"},"startTime":1772986645956,"traceId":"2139aa361f9d21c6"},{"name":"is-page-static","duration":337221,"timestamp":204577885,"id":56,"parentId":41,"tags":{},"startTime":1772986645985,"traceId":"2139aa361f9d21c6"},{"name":"check-page","duration":365292,"timestamp":204549840,"id":41,"parentId":23,"tags":{"page":"/tools"},"startTime":1772986645957,"traceId":"2139aa361f9d21c6"},{"name":"is-page-static","duration":337650,"timestamp":204578900,"id":59,"parentId":30,"tags":{},"startTime":1772986645986,"traceId":"2139aa361f9d21c6"},{"name":"check-page","duration":367884,"timestamp":204548688,"id":30,"parentId":23,"tags":{"page":"/"},"startTime":1772986645956,"traceId":"2139aa361f9d21c6"},{"name":"is-page-static","duration":348545,"timestamp":204578994,"id":60,"parentId":29,"tags":{},"startTime":1772986645986,"traceId":"2139aa361f9d21c6"},{"name":"check-page","duration":378971,"timestamp":204548599,"id":29,"parentId":23,"tags":{"page":"/repository/[repositoryId]"},"startTime":1772986645956,"traceId":"2139aa361f9d21c6"},{"name":"is-page-static","duration":353524,"timestamp":204578817,"id":58,"parentId":27,"tags":{},"startTime":1772986645986,"traceId":"2139aa361f9d21c6"},{"name":"check-page","duration":384865,"timestamp":204547491,"id":27,"parentId":23,"tags":{"page":"/create"},"startTime":1772986645955,"traceId":"2139aa361f9d21c6"},{"name":"static-check","duration":388476,"timestamp":204543911,"id":23,"parentId":1,"tags":{},"startTime":1772986645951,"traceId":"2139aa361f9d21c6"},{"name":"write-routes-manifest","duration":244,"timestamp":204932852,"id":62,"parentId":1,"tags":{},"startTime":1772986646340,"traceId":"2139aa361f9d21c6"},{"name":"load-dotenv","duration":31,"timestamp":204939182,"id":65,"parentId":64,"tags":{},"startTime":1772986646346,"traceId":"2139aa361f9d21c6"},{"name":"run-export-path-map","duration":286,"timestamp":204940789,"id":66,"parentId":64,"tags":{},"startTime":1772986646348,"traceId":"2139aa361f9d21c6"},{"name":"next-export","duration":65598,"timestamp":204938383,"id":64,"parentId":1,"tags":{},"startTime":1772986646346,"traceId":"2139aa361f9d21c6"},{"name":"move-exported-app-global-error-","duration":441,"timestamp":205005317,"id":67,"parentId":63,"tags":{},"startTime":1772986646412,"traceId":"2139aa361f9d21c6"},{"name":"static-generation","duration":72053,"timestamp":204935322,"id":63,"parentId":1,"tags":{},"startTime":1772986646342,"traceId":"2139aa361f9d21c6"},{"name":"write-routes-manifest","duration":212,"timestamp":205007540,"id":68,"parentId":1,"tags":{},"startTime":1772986646415,"traceId":"2139aa361f9d21c6"},{"name":"write-standalone-directory","duration":260039,"timestamp":205011473,"id":70,"parentId":1,"tags":{},"startTime":1772986646419,"traceId":"2139aa361f9d21c6"},{"name":"output-standalone","duration":260190,"timestamp":205011337,"id":69,"parentId":1,"tags":{},"startTime":1772986646418,"traceId":"2139aa361f9d21c6"},{"name":"print-tree-view","duration":2051,"timestamp":205271670,"id":71,"parentId":1,"tags":{},"startTime":1772986646679,"traceId":"2139aa361f9d21c6"},{"name":"telemetry-flush","duration":54,"timestamp":205273736,"id":72,"parentId":1,"tags":{},"startTime":1772986646681,"traceId":"2139aa361f9d21c6"},{"name":"next-build","duration":18132034,"timestamp":187141772,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1772986628549,"traceId":"2139aa361f9d21c6"}]
1
+ [{"name":"generate-buildid","duration":203,"timestamp":101523391,"id":4,"parentId":1,"tags":{},"startTime":1773003993054,"traceId":"3ce88b33617a7c7c"},{"name":"load-custom-routes","duration":299,"timestamp":101523689,"id":5,"parentId":1,"tags":{},"startTime":1773003993054,"traceId":"3ce88b33617a7c7c"},{"name":"create-dist-dir","duration":205,"timestamp":101524042,"id":6,"parentId":1,"tags":{},"startTime":1773003993055,"traceId":"3ce88b33617a7c7c"},{"name":"clean","duration":194,"timestamp":101524629,"id":7,"parentId":1,"tags":{},"startTime":1773003993055,"traceId":"3ce88b33617a7c7c"},{"name":"create-pages-mapping","duration":199,"timestamp":101580388,"id":8,"parentId":1,"tags":{},"startTime":1773003993111,"traceId":"3ce88b33617a7c7c"},{"name":"collect-app-files","duration":3426,"timestamp":101580623,"id":9,"parentId":1,"tags":{},"startTime":1773003993111,"traceId":"3ce88b33617a7c7c"},{"name":"create-app-mapping","duration":999,"timestamp":101584075,"id":10,"parentId":1,"tags":{},"startTime":1773003993115,"traceId":"3ce88b33617a7c7c"},{"name":"create-app-layouts","duration":139,"timestamp":101585097,"id":11,"parentId":1,"tags":{},"startTime":1773003993116,"traceId":"3ce88b33617a7c7c"},{"name":"collect-default-files","duration":1072,"timestamp":101587537,"id":13,"parentId":1,"tags":{},"startTime":1773003993118,"traceId":"3ce88b33617a7c7c"},{"name":"create-default-mapping","duration":150,"timestamp":101588624,"id":14,"parentId":1,"tags":{},"startTime":1773003993119,"traceId":"3ce88b33617a7c7c"},{"name":"generate-route-types","duration":13745,"timestamp":101586920,"id":12,"parentId":1,"tags":{},"startTime":1773003993118,"traceId":"3ce88b33617a7c7c"},{"name":"public-dir-conflict-check","duration":75,"timestamp":101600698,"id":15,"parentId":1,"tags":{},"startTime":1773003993131,"traceId":"3ce88b33617a7c7c"},{"name":"generate-routes-manifest","duration":2422,"timestamp":101600827,"id":16,"parentId":1,"tags":{},"startTime":1773003993132,"traceId":"3ce88b33617a7c7c"},{"name":"run-turbopack","duration":9537583,"timestamp":101614383,"id":18,"parentId":1,"tags":{},"startTime":1773003993145,"traceId":"3ce88b33617a7c7c"},{"name":"run-typescript","duration":7927041,"timestamp":111161831,"id":20,"parentId":1,"tags":{},"startTime":1773004002693,"traceId":"3ce88b33617a7c7c"},{"name":"generate-required-server-files","duration":1544,"timestamp":119089400,"id":22,"parentId":1,"tags":{},"startTime":1773004010620,"traceId":"3ce88b33617a7c7c"},{"name":"check-static-error-page","duration":5557,"timestamp":119161928,"id":24,"parentId":23,"tags":{},"startTime":1773004010693,"traceId":"3ce88b33617a7c7c"},{"name":"is-page-static","duration":268486,"timestamp":119171659,"id":44,"parentId":26,"tags":{},"startTime":1773004010702,"traceId":"3ce88b33617a7c7c"},{"name":"check-page","duration":274709,"timestamp":119165549,"id":26,"parentId":23,"tags":{"page":"/_global-error"},"startTime":1773004010696,"traceId":"3ce88b33617a7c7c"},{"name":"is-page-static","duration":308004,"timestamp":119175717,"id":45,"parentId":34,"tags":{},"startTime":1773004010706,"traceId":"3ce88b33617a7c7c"},{"name":"check-page","duration":317390,"timestamp":119166390,"id":34,"parentId":23,"tags":{"page":"/api/dialog/pick-files"},"startTime":1773004010697,"traceId":"3ce88b33617a7c7c"},{"name":"is-page-static","duration":320481,"timestamp":119176111,"id":47,"parentId":37,"tags":{},"startTime":1773004010707,"traceId":"3ce88b33617a7c7c"},{"name":"check-page","duration":329944,"timestamp":119166693,"id":37,"parentId":23,"tags":{"page":"/api/tools/[id]/launch"},"startTime":1773004010697,"traceId":"3ce88b33617a7c7c"},{"name":"is-page-static","duration":332145,"timestamp":119175941,"id":46,"parentId":35,"tags":{},"startTime":1773004010707,"traceId":"3ce88b33617a7c7c"},{"name":"check-page","duration":341617,"timestamp":119166507,"id":35,"parentId":23,"tags":{"page":"/api/tools/[id]/install"},"startTime":1773004010697,"traceId":"3ce88b33617a7c7c"},{"name":"is-page-static","duration":335873,"timestamp":119176278,"id":48,"parentId":38,"tags":{},"startTime":1773004010707,"traceId":"3ce88b33617a7c7c"},{"name":"check-page","duration":345121,"timestamp":119167079,"id":38,"parentId":23,"tags":{"page":"/api/tools"},"startTime":1773004010698,"traceId":"3ce88b33617a7c7c"},{"name":"is-page-static","duration":331203,"timestamp":119185872,"id":50,"parentId":33,"tags":{},"startTime":1773004010717,"traceId":"3ce88b33617a7c7c"},{"name":"check-page","duration":350829,"timestamp":119166275,"id":33,"parentId":23,"tags":{"page":"/api/deployment-logs"},"startTime":1773004010697,"traceId":"3ce88b33617a7c7c"},{"name":"is-page-static","duration":345855,"timestamp":119171386,"id":43,"parentId":25,"tags":{},"startTime":1773004010702,"traceId":"3ce88b33617a7c7c"},{"name":"check-page","duration":353901,"timestamp":119163355,"id":25,"parentId":23,"tags":{"page":"/_not-found"},"startTime":1773004010694,"traceId":"3ce88b33617a7c7c"},{"name":"is-page-static","duration":334517,"timestamp":119186625,"id":51,"parentId":36,"tags":{},"startTime":1773004010717,"traceId":"3ce88b33617a7c7c"},{"name":"check-page","duration":354561,"timestamp":119166607,"id":36,"parentId":23,"tags":{"page":"/api/tools/[id]/install/stream"},"startTime":1773004010697,"traceId":"3ce88b33617a7c7c"},{"name":"is-page-static","duration":336106,"timestamp":119185186,"id":49,"parentId":31,"tags":{},"startTime":1773004010716,"traceId":"3ce88b33617a7c7c"},{"name":"check-page","duration":355200,"timestamp":119166117,"id":31,"parentId":23,"tags":{"page":"/api/agent-events/health"},"startTime":1773004010697,"traceId":"3ce88b33617a7c7c"},{"name":"is-page-static","duration":349881,"timestamp":119189575,"id":52,"parentId":32,"tags":{},"startTime":1773004010720,"traceId":"3ce88b33617a7c7c"},{"name":"check-page","duration":373268,"timestamp":119166209,"id":32,"parentId":23,"tags":{"page":"/api/agent-events"},"startTime":1773004010697,"traceId":"3ce88b33617a7c7c"},{"name":"is-page-static","duration":355888,"timestamp":119196173,"id":55,"parentId":39,"tags":{},"startTime":1773004010727,"traceId":"3ce88b33617a7c7c"},{"name":"check-page","duration":384912,"timestamp":119167173,"id":39,"parentId":23,"tags":{"page":"/settings"},"startTime":1773004010698,"traceId":"3ce88b33617a7c7c"},{"name":"is-page-static","duration":357237,"timestamp":119196163,"id":54,"parentId":42,"tags":{},"startTime":1773004010727,"traceId":"3ce88b33617a7c7c"},{"name":"check-page","duration":386008,"timestamp":119167410,"id":42,"parentId":23,"tags":{"page":"/version"},"startTime":1773004010698,"traceId":"3ce88b33617a7c7c"},{"name":"is-page-static","duration":358234,"timestamp":119196282,"id":56,"parentId":41,"tags":{},"startTime":1773004010727,"traceId":"3ce88b33617a7c7c"},{"name":"check-page","duration":387192,"timestamp":119167343,"id":41,"parentId":23,"tags":{"page":"/tools"},"startTime":1773004010698,"traceId":"3ce88b33617a7c7c"},{"name":"is-page-static","duration":367928,"timestamp":119196134,"id":53,"parentId":40,"tags":{},"startTime":1773004010727,"traceId":"3ce88b33617a7c7c"},{"name":"check-page","duration":396825,"timestamp":119167258,"id":40,"parentId":23,"tags":{"page":"/skills"},"startTime":1773004010698,"traceId":"3ce88b33617a7c7c"},{"name":"is-page-static","duration":370863,"timestamp":119197548,"id":58,"parentId":29,"tags":{},"startTime":1773004010728,"traceId":"3ce88b33617a7c7c"},{"name":"check-page","duration":402508,"timestamp":119165925,"id":29,"parentId":23,"tags":{"page":"/repository/[repositoryId]"},"startTime":1773004010697,"traceId":"3ce88b33617a7c7c"},{"name":"is-page-static","duration":373488,"timestamp":119197433,"id":57,"parentId":27,"tags":{},"startTime":1773004010728,"traceId":"3ce88b33617a7c7c"},{"name":"check-page","duration":405182,"timestamp":119165757,"id":27,"parentId":23,"tags":{"page":"/create"},"startTime":1773004010696,"traceId":"3ce88b33617a7c7c"},{"name":"is-page-static","duration":375187,"timestamp":119197752,"id":60,"parentId":28,"tags":{},"startTime":1773004010728,"traceId":"3ce88b33617a7c7c"},{"name":"check-page","duration":407118,"timestamp":119165845,"id":28,"parentId":23,"tags":{"page":"/feature/[featureId]"},"startTime":1773004010697,"traceId":"3ce88b33617a7c7c"},{"name":"is-page-static","duration":379808,"timestamp":119197651,"id":59,"parentId":30,"tags":{},"startTime":1773004010728,"traceId":"3ce88b33617a7c7c"},{"name":"check-page","duration":411443,"timestamp":119166028,"id":30,"parentId":23,"tags":{"page":"/"},"startTime":1773004010697,"traceId":"3ce88b33617a7c7c"},{"name":"static-check","duration":416331,"timestamp":119161161,"id":23,"parentId":1,"tags":{},"startTime":1773004010692,"traceId":"3ce88b33617a7c7c"},{"name":"write-routes-manifest","duration":274,"timestamp":119577983,"id":62,"parentId":1,"tags":{},"startTime":1773004011109,"traceId":"3ce88b33617a7c7c"},{"name":"load-dotenv","duration":31,"timestamp":119585422,"id":65,"parentId":64,"tags":{},"startTime":1773004011116,"traceId":"3ce88b33617a7c7c"},{"name":"run-export-path-map","duration":283,"timestamp":119587477,"id":66,"parentId":64,"tags":{},"startTime":1773004011118,"traceId":"3ce88b33617a7c7c"},{"name":"next-export","duration":80865,"timestamp":119584528,"id":64,"parentId":1,"tags":{},"startTime":1773004011115,"traceId":"3ce88b33617a7c7c"},{"name":"move-exported-app-global-error-","duration":367,"timestamp":119666361,"id":67,"parentId":63,"tags":{},"startTime":1773004011197,"traceId":"3ce88b33617a7c7c"},{"name":"static-generation","duration":87072,"timestamp":119580858,"id":63,"parentId":1,"tags":{},"startTime":1773004011112,"traceId":"3ce88b33617a7c7c"},{"name":"write-routes-manifest","duration":240,"timestamp":119668143,"id":68,"parentId":1,"tags":{},"startTime":1773004011199,"traceId":"3ce88b33617a7c7c"},{"name":"write-standalone-directory","duration":346332,"timestamp":119672460,"id":70,"parentId":1,"tags":{},"startTime":1773004011203,"traceId":"3ce88b33617a7c7c"},{"name":"output-standalone","duration":346492,"timestamp":119672319,"id":69,"parentId":1,"tags":{},"startTime":1773004011203,"traceId":"3ce88b33617a7c7c"},{"name":"print-tree-view","duration":2706,"timestamp":120018936,"id":71,"parentId":1,"tags":{},"startTime":1773004011550,"traceId":"3ce88b33617a7c7c"},{"name":"telemetry-flush","duration":59,"timestamp":120021656,"id":72,"parentId":1,"tags":{},"startTime":1773004011552,"traceId":"3ce88b33617a7c7c"},{"name":"next-build","duration":18721215,"timestamp":101300512,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1773003992831,"traceId":"3ce88b33617a7c7c"}]
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":9308820,"timestamp":187413454,"id":18,"parentId":1,"tags":{},"startTime":1772986628821,"traceId":"2139aa361f9d21c6"},{"name":"run-typescript","duration":7750131,"timestamp":196730060,"id":20,"parentId":1,"tags":{},"startTime":1772986638137,"traceId":"2139aa361f9d21c6"},{"name":"static-check","duration":388476,"timestamp":204543911,"id":23,"parentId":1,"tags":{},"startTime":1772986645951,"traceId":"2139aa361f9d21c6"},{"name":"static-generation","duration":72053,"timestamp":204935322,"id":63,"parentId":1,"tags":{},"startTime":1772986646342,"traceId":"2139aa361f9d21c6"},{"name":"output-standalone","duration":260190,"timestamp":205011337,"id":69,"parentId":1,"tags":{},"startTime":1772986646418,"traceId":"2139aa361f9d21c6"},{"name":"telemetry-flush","duration":54,"timestamp":205273736,"id":72,"parentId":1,"tags":{},"startTime":1772986646681,"traceId":"2139aa361f9d21c6"},{"name":"next-build","duration":18132034,"timestamp":187141772,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1772986628549,"traceId":"2139aa361f9d21c6"}]
1
+ [{"name":"run-turbopack","duration":9537583,"timestamp":101614383,"id":18,"parentId":1,"tags":{},"startTime":1773003993145,"traceId":"3ce88b33617a7c7c"},{"name":"run-typescript","duration":7927041,"timestamp":111161831,"id":20,"parentId":1,"tags":{},"startTime":1773004002693,"traceId":"3ce88b33617a7c7c"},{"name":"static-check","duration":416331,"timestamp":119161161,"id":23,"parentId":1,"tags":{},"startTime":1773004010692,"traceId":"3ce88b33617a7c7c"},{"name":"static-generation","duration":87072,"timestamp":119580858,"id":63,"parentId":1,"tags":{},"startTime":1773004011112,"traceId":"3ce88b33617a7c7c"},{"name":"output-standalone","duration":346492,"timestamp":119672319,"id":69,"parentId":1,"tags":{},"startTime":1773004011203,"traceId":"3ce88b33617a7c7c"},{"name":"telemetry-flush","duration":59,"timestamp":120021656,"id":72,"parentId":1,"tags":{},"startTime":1773004011552,"traceId":"3ce88b33617a7c7c"},{"name":"next-build","duration":18721215,"timestamp":101300512,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1773003992831,"traceId":"3ce88b33617a7c7c"}]
@@ -1,3 +0,0 @@
1
- module.exports=[50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},71716,a=>{"use strict";let b=(0,a.i(25700).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["ChevronDown",()=>b],71716)},67075,a=>{"use strict";var b=a.i(2811);a.s(["CheckCircle2",()=>b.default])},4019,a=>{"use strict";let b=(0,a.i(25700).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["Circle",()=>b],4019)},53170,a=>{"use strict";let b=(0,a.i(25700).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);a.s(["GitBranch",()=>b],53170)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1c870feb._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-down.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/circle.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/git-branch.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm6 9 6 6 6-6', key: 'qrunsl' }]];\n\n/**\n * @component @name ChevronDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiA5IDYgNiA2LTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chevron-down\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronDown = createLucideIcon('chevron-down', __iconNode);\n\nexport default ChevronDown;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }]];\n\n/**\n * @component @name Circle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Circle = createLucideIcon('circle', __iconNode);\n\nexport default Circle;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['line', { x1: '6', x2: '6', y1: '3', y2: '15', key: '17qcm7' }],\n ['circle', { cx: '18', cy: '6', r: '3', key: '1h7g24' }],\n ['circle', { cx: '6', cy: '18', r: '3', key: 'fqmcym' }],\n ['path', { d: 'M18 9a9 9 0 0 1-9 9', key: 'n2h4wq' }],\n];\n\n/**\n * @component @name GitBranch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iNiIgeDI9IjYiIHkxPSIzIiB5Mj0iMTUiIC8+CiAgPGNpcmNsZSBjeD0iMTgiIGN5PSI2IiByPSIzIiAvPgogIDxjaXJjbGUgY3g9IjYiIGN5PSIxOCIgcj0iMyIgLz4KICA8cGF0aCBkPSJNMTggOWE5IDkgMCAwIDEtOSA5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/git-branch\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst GitBranch = createLucideIcon('git-branch', __iconNode);\n\nexport default GitBranch;\n"],"names":[],"mappings":"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","ignoreList":[0,1,2]}
@@ -1,3 +0,0 @@
1
- module.exports=[15108,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.HooksClientContext},71915,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.ServerInsertedHtml},18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},55721,(a,b,c)=>{"use strict";b.exports=a.r(18622)},10973,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactJsxRuntime},96960,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].React},55690,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactDOM},21032,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactServerDOMTurbopackClient},62485,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.AppRouterContext},90920,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({className:a,type:d,...e}){return(0,b.jsx)("input",{type:d,"data-slot":"input",className:(0,c.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...e})}a.s(["Input",()=>d])},48939,a=>{"use strict";var b=a.i(96960);a.i(10973);var c=b.createContext(void 0);function d(a){let d=b.useContext(c);return a||d||"ltr"}a.s(["useDirection",()=>d])},2065,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"useMergedRef",{enumerable:!0,get:function(){return e}});let d=a.r(96960);function e(a,b){let c=(0,d.useRef)(null),e=(0,d.useRef)(null);return(0,d.useCallback)(d=>{if(null===d){let a=c.current;a&&(c.current=null,a());let b=e.current;b&&(e.current=null,b())}else a&&(c.current=f(a,d)),b&&(e.current=f(b,d))},[a,b])}function f(a,b){if("function"!=typeof a)return a.current=b,()=>{a.current=null};{let c=a(b);return"function"==typeof c?c:()=>a(null)}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},61712,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"warnOnce",{enumerable:!0,get:function(){return d}});let d=a=>{}},27478,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getDeploymentId:function(){return f},getDeploymentIdQueryOrEmptyString:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(){return!1}function g(){return""}},48972,a=>{"use strict";function b(a,[b,c]){return Math.min(c,Math.max(b,a))}a.s(["clamp",()=>b])},67424,a=>{"use strict";let b=(0,a.i(25700).default)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);a.s(["Puzzle",()=>b],67424)},17300,a=>{"use strict";let b=(0,a.i(25700).default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);a.s(["Wrench",()=>b],17300)},2811,a=>{"use strict";let b=(0,a.i(25700).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["default",()=>b])},67837,a=>{"use strict";var b=a.i(87148);a.s(["Plus",()=>b.default])},32703,a=>{"use strict";let b=(0,a.i(25700).default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Settings",()=>b],32703)},67273,a=>{"use strict";var b=a.i(2811);a.s(["CircleCheck",()=>b.default])},84871,a=>{"use strict";var b=a.i(10973),c=a.i(96960);let d=(0,a.i(87139).createLogger)("[SSE]"),e=(0,c.createContext)(null);function f({children:a,runId:f}){let{events:g,lastEvent:h,connectionStatus:i}=function(a){let[b,e]=(0,c.useState)([]),[f,g]=(0,c.useState)(null),[h,i]=(0,c.useState)("disconnected"),j=a?.runId;(0,c.useRef)(null);let k=(0,c.useCallback)(a=>{let b=a.data;if(b&&"object"==typeof b)if("notification"===b.type){let a=b.data;d.debug("event received:",a.eventType,a),e(b=>{let c=[...b,a];return c.length>500?c.slice(-250):c}),g(a)}else"status"===b.type&&i(b.status)},[]);return(0,c.useEffect)(()=>{},[j,k]),{events:b,lastEvent:f,connectionStatus:h}}({runId:f}),j=(0,c.useMemo)(()=>({events:g,lastEvent:h,connectionStatus:i}),[g,h,i]);return(0,b.jsx)(e.Provider,{value:j,children:a})}function g(){let a=(0,c.useContext)(e);if(!a)throw Error("useAgentEventsContext must be used within an <AgentEventsProvider>");return a}a.s(["AgentEventsProvider",()=>f,"useAgentEventsContext",()=>g],84871)},1377,a=>{"use strict";var b=a.i(25674);let c=(0,b.createServerReference)("00b8c11d0ce9276daaa9718975448d5ff12f160193",b.callServer,void 0,b.findSourceMapURL,"pickFolder");async function d(){let a=await c();if(a.error)throw Error(a.error);return a.path}a.s(["pickFolder",()=>d],1377)},1356,a=>{"use strict";var b=a.i(10973),c=a.i(96960);let d={"action-required":"action-needed",running:"in-progress",done:"done",blocked:"in-progress",error:"in-progress",creating:null};function e(a){return d[a]}let f=(0,c.createContext)(null);function g({children:a}){let[d,e]=(0,c.useState)([]),g=(0,c.useMemo)(()=>({features:d,setFeatures:e}),[d]);return(0,b.jsx)(f.Provider,{value:g,children:a})}function h(){let a=(0,c.useContext)(f);if(!a)throw Error("useSidebarFeaturesContext must be used within a <SidebarFeaturesProvider>");return a}a.s(["SidebarFeaturesProvider",()=>g,"mapNodeStateToSidebarStatus",()=>e,"useSidebarFeaturesContext",()=>h])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__aea328fd._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/contexts/hooks-client-context.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/contexts/server-inserted-html.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/module.compiled.js","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-dom.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/contexts/app-router-context.ts","../../../../../../../src/presentation/web/components/ui/input.tsx","../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-direction%401.1.1_%40types%2Breact%4019.2.10_react%4019.2.4/node_modules/%40radix-ui/react-direction/src/direction.tsx","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/client/use-merged-ref.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/shared/lib/utils/warn-once.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/shared/lib/deployment-id.ts","../../../../../../../node_modules/.pnpm/%40radix-ui%2Bnumber%401.1.1/node_modules/%40radix-ui/number/src/number.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/puzzle.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/wrench.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/circle-check.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/settings.ts","../../../../../../../src/presentation/web/hooks/agent-events-provider.tsx","../../../../../../../src/presentation/web/hooks/use-agent-events.ts","../../../../../../../src/presentation/web/app/actions/data%3Ac26031%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/components/common/add-repository-button/pick-folder.ts","../../../../../../../src/presentation/web/hooks/sidebar-features-context.tsx"],"sourcesContent":["module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].HooksClientContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].ServerInsertedHtml\n","if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.React\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactDOM\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactServerDOMTurbopackClient\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].AppRouterContext\n","import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n","import * as React from 'react';\n\ntype Direction = 'ltr' | 'rtl';\nconst DirectionContext = React.createContext<Direction | undefined>(undefined);\n\n/* -------------------------------------------------------------------------------------------------\n * Direction\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DirectionProviderProps {\n children?: React.ReactNode;\n dir: Direction;\n}\nconst DirectionProvider: React.FC<DirectionProviderProps> = (props) => {\n const { dir, children } = props;\n return <DirectionContext.Provider value={dir}>{children}</DirectionContext.Provider>;\n};\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction useDirection(localDir?: Direction) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || 'ltr';\n}\n\nconst Provider = DirectionProvider;\n\nexport {\n useDirection,\n //\n Provider,\n //\n DirectionProvider,\n};\n","import { useCallback, useRef, type Ref } from 'react'\n\n// This is a compatibility hook to support React 18 and 19 refs.\n// In 19, a cleanup function from refs may be returned.\n// In 18, returning a cleanup function creates a warning.\n// Since we take userspace refs, we don't know ahead of time if a cleanup function will be returned.\n// This implements cleanup functions with the old behavior in 18.\n// We know refs are always called alternating with `null` and then `T`.\n// So a call with `null` means we need to call the previous cleanup functions.\nexport function useMergedRef<TElement>(\n refA: Ref<TElement>,\n refB: Ref<TElement>\n): Ref<TElement> {\n const cleanupA = useRef<(() => void) | null>(null)\n const cleanupB = useRef<(() => void) | null>(null)\n\n // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.\n // (this happens often if the user doesn't pass a ref to Link/Form/Image)\n // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),\n // and the user might pass that ref into ref-merging library that doesn't support cleanup refs\n // (because it hasn't been updated for React 19)\n // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.\n // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.\n return useCallback(\n (current: TElement | null): void => {\n if (current === null) {\n const cleanupFnA = cleanupA.current\n if (cleanupFnA) {\n cleanupA.current = null\n cleanupFnA()\n }\n const cleanupFnB = cleanupB.current\n if (cleanupFnB) {\n cleanupB.current = null\n cleanupFnB()\n }\n } else {\n if (refA) {\n cleanupA.current = applyRef(refA, current)\n }\n if (refB) {\n cleanupB.current = applyRef(refB, current)\n }\n }\n },\n [refA, refB]\n )\n}\n\nfunction applyRef<TElement>(\n refA: NonNullable<Ref<TElement>>,\n current: TElement\n) {\n if (typeof refA === 'function') {\n const cleanup = refA(current)\n if (typeof cleanup === 'function') {\n return cleanup\n } else {\n return () => refA(null)\n }\n } else {\n refA.current = current\n return () => {\n refA.current = null\n }\n }\n}\n","let warnOnce = (_: string) => {}\nif (process.env.NODE_ENV !== 'production') {\n const warnings = new Set<string>()\n warnOnce = (msg: string) => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\nexport { warnOnce }\n","// This could also be a variable instead of a function, but some unit tests want to change the ID at\n// runtime. Even though that would never happen in a real deployment.\nexport function getDeploymentId(): string | undefined {\n return process.env.NEXT_DEPLOYMENT_ID\n}\n\nexport function getDeploymentIdQueryOrEmptyString(): string {\n let deploymentId = getDeploymentId()\n if (deploymentId) {\n return `?dpl=${deploymentId}`\n }\n return ''\n}\n","function clamp(value: number, [min, max]: [number, number]): number {\n return Math.min(max, Math.max(min, value));\n}\n\nexport { clamp };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z',\n key: 'w46dr5',\n },\n ],\n];\n\n/**\n * @component @name Puzzle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUuMzkgNC4zOWExIDEgMCAwIDAgMS42OC0uNDc0IDIuNSAyLjUgMCAxIDEgMy4wMTQgMy4wMTUgMSAxIDAgMCAwLS40NzQgMS42OGwxLjY4MyAxLjY4MmEyLjQxNCAyLjQxNCAwIDAgMSAwIDMuNDE0TDE5LjYxIDE1LjM5YTEgMSAwIDAgMS0xLjY4LS40NzQgMi41IDIuNSAwIDEgMC0zLjAxNCAzLjAxNSAxIDEgMCAwIDEgLjQ3NCAxLjY4bC0xLjY4MyAxLjY4MmEyLjQxNCAyLjQxNCAwIDAgMS0zLjQxNCAwTDguNjEgMTkuNjFhMSAxIDAgMCAwLTEuNjguNDc0IDIuNSAyLjUgMCAxIDEtMy4wMTQtMy4wMTUgMSAxIDAgMCAwIC40NzQtMS42OGwtMS42ODMtMS42ODJhMi40MTQgMi40MTQgMCAwIDEgMC0zLjQxNEw0LjM5IDguNjFhMSAxIDAgMCAxIDEuNjguNDc0IDIuNSAyLjUgMCAxIDAgMy4wMTQtMy4wMTUgMSAxIDAgMCAxLS40NzQtMS42OGwxLjY4My0xLjY4MmEyLjQxNCAyLjQxNCAwIDAgMSAzLjQxNCAweiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/puzzle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Puzzle = createLucideIcon('puzzle', __iconNode);\n\nexport default Puzzle;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z',\n key: '1ngwbx',\n },\n ],\n];\n\n/**\n * @component @name Wrench\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQuNyA2LjNhMSAxIDAgMCAwIDAgMS40bDEuNiAxLjZhMSAxIDAgMCAwIDEuNCAwbDMuMTA2LTMuMTA1Yy4zMi0uMzIyLjg2My0uMjIuOTgzLjIxOGE2IDYgMCAwIDEtOC4yNTkgNy4wNTdsLTcuOTEgNy45MWExIDEgMCAwIDEtMi45OTktM2w3LjkxLTcuOTFhNiA2IDAgMCAxIDcuMDU3LTguMjU5Yy40MzguMTIuNTQuNjYyLjIxOS45ODR6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/wrench\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Wrench = createLucideIcon('wrench', __iconNode);\n\nexport default Wrench;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'm9 12 2 2 4-4', key: 'dzmm74' }],\n];\n\n/**\n * @component @name CircleCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJtOSAxMiAyIDIgNC00IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-check\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CircleCheck = createLucideIcon('circle-check', __iconNode);\n\nexport default CircleCheck;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915',\n key: '1i5ecw',\n },\n ],\n ['circle', { cx: '12', cy: '12', r: '3', key: '1v7zrd' }],\n];\n\n/**\n * @component @name Settings\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOS42NzEgNC4xMzZhMi4zNCAyLjM0IDAgMCAxIDQuNjU5IDAgMi4zNCAyLjM0IDAgMCAwIDMuMzE5IDEuOTE1IDIuMzQgMi4zNCAwIDAgMSAyLjMzIDQuMDMzIDIuMzQgMi4zNCAwIDAgMCAwIDMuODMxIDIuMzQgMi4zNCAwIDAgMS0yLjMzIDQuMDMzIDIuMzQgMi4zNCAwIDAgMC0zLjMxOSAxLjkxNSAyLjM0IDIuMzQgMCAwIDEtNC42NTkgMCAyLjM0IDIuMzQgMCAwIDAtMy4zMi0xLjkxNSAyLjM0IDIuMzQgMCAwIDEtMi4zMy00LjAzMyAyLjM0IDIuMzQgMCAwIDAgMC0zLjgzMUEyLjM0IDIuMzQgMCAwIDEgNi4zNSA2LjA1MWEyLjM0IDIuMzQgMCAwIDAgMy4zMTktMS45MTUiIC8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/settings\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Settings = createLucideIcon('settings', __iconNode);\n\nexport default Settings;\n","'use client';\n\nimport { createContext, useContext, useMemo, type ReactNode } from 'react';\nimport {\n useAgentEvents,\n type UseAgentEventsOptions,\n type UseAgentEventsResult,\n} from './use-agent-events';\n\nconst AgentEventsContext = createContext<UseAgentEventsResult | null>(null);\n\ninterface AgentEventsProviderProps extends UseAgentEventsOptions {\n children: ReactNode;\n}\n\n/**\n * Single SSE connection for agent events shared across all consumers.\n * Wrap the app once; use `useAgentEventsContext()` to read.\n */\nexport function AgentEventsProvider({ children, runId }: AgentEventsProviderProps) {\n const { events, lastEvent, connectionStatus } = useAgentEvents({ runId });\n\n const value = useMemo<UseAgentEventsResult>(\n () => ({ events, lastEvent, connectionStatus }),\n [events, lastEvent, connectionStatus]\n );\n\n return <AgentEventsContext.Provider value={value}>{children}</AgentEventsContext.Provider>;\n}\n\nexport function useAgentEventsContext(): UseAgentEventsResult {\n const ctx = useContext(AgentEventsContext);\n if (!ctx) {\n throw new Error('useAgentEventsContext must be used within an <AgentEventsProvider>');\n }\n return ctx;\n}\n","'use client';\n\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport type { NotificationEvent } from '@shepai/core/domain/generated/output';\nimport { createLogger } from '@/lib/logger';\n\nexport type ConnectionStatus = 'connected' | 'connecting' | 'disconnected';\n\nexport interface UseAgentEventsOptions {\n runId?: string;\n}\n\nexport interface UseAgentEventsResult {\n events: NotificationEvent[];\n lastEvent: NotificationEvent | null;\n connectionStatus: ConnectionStatus;\n}\n\nconst log = createLogger('[SSE]');\nconst SW_PATH = '/agent-events-sw.js';\nconst MAX_EVENTS = 500;\nconst PRUNE_KEEP = 250;\n\n/**\n * Hook that receives real-time agent notification events via a Service Worker.\n *\n * The SW maintains a single SSE connection to /api/agent-events and\n * broadcasts events to all open tabs. Falls back to direct EventSource\n * when Service Workers are unavailable.\n */\nexport function useAgentEvents(options?: UseAgentEventsOptions): UseAgentEventsResult {\n const [events, setEvents] = useState<NotificationEvent[]>([]);\n const [lastEvent, setLastEvent] = useState<NotificationEvent | null>(null);\n const [connectionStatus, setConnectionStatus] = useState<ConnectionStatus>('disconnected');\n\n const runId = options?.runId;\n const swRef = useRef<ServiceWorker | null>(null);\n\n const onMessage = useCallback((event: MessageEvent) => {\n const msg = event.data;\n if (!msg || typeof msg !== 'object') return;\n\n if (msg.type === 'notification') {\n const parsed = msg.data as NotificationEvent;\n log.debug('event received:', parsed.eventType, parsed);\n setEvents((prev) => {\n const next = [...prev, parsed];\n return next.length > MAX_EVENTS ? next.slice(-PRUNE_KEEP) : next;\n });\n setLastEvent(parsed);\n } else if (msg.type === 'status') {\n setConnectionStatus(msg.status as ConnectionStatus);\n }\n }, []);\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n\n // ?sse=direct bypasses the Service Worker for debugging\n const bypassSW =\n typeof location !== 'undefined' && new URLSearchParams(location.search).has('sse');\n\n // Fallback: direct EventSource when SW not supported or bypassed\n if (!navigator.serviceWorker || bypassSW) {\n return connectDirectEventSource(runId, setEvents, setLastEvent, setConnectionStatus);\n }\n\n let cancelled = false;\n const fallbackCleanupRef = { current: undefined as (() => void) | undefined };\n\n function subscribeToWorker(worker: ServiceWorker) {\n if (cancelled) return;\n swRef.current = worker;\n worker.postMessage({ type: 'subscribe', runId });\n setConnectionStatus('connecting');\n }\n\n // Listen for messages from whatever SW controls this page\n navigator.serviceWorker.addEventListener('message', onMessage);\n\n // Re-subscribe when SW controller changes (e.g., after SW update via skipWaiting)\n function handleControllerChange() {\n if (cancelled) return;\n const newController = navigator.serviceWorker.controller;\n if (newController) {\n swRef.current = newController;\n newController.postMessage({ type: 'subscribe', runId });\n setConnectionStatus('connecting');\n }\n }\n navigator.serviceWorker.addEventListener('controllerchange', handleControllerChange);\n\n navigator.serviceWorker\n .register(SW_PATH, { scope: '/' })\n .then((registration) => {\n if (cancelled) return;\n\n // Use the active worker, or wait for it to activate\n const sw = registration.active ?? registration.installing ?? registration.waiting;\n if (!sw) {\n // No worker at all — fall back to direct EventSource\n fallbackCleanupRef.current = connectDirectEventSource(\n runId,\n setEvents,\n setLastEvent,\n setConnectionStatus\n );\n return;\n }\n\n if (sw.state === 'activated') {\n subscribeToWorker(sw);\n } else {\n const onStateChange = () => {\n if (sw.state === 'activated') {\n sw.removeEventListener('statechange', onStateChange);\n subscribeToWorker(sw);\n }\n };\n sw.addEventListener('statechange', onStateChange);\n }\n })\n .catch(() => {\n // SW registration failed — fall back to direct EventSource\n if (!cancelled) {\n fallbackCleanupRef.current = connectDirectEventSource(\n runId,\n setEvents,\n setLastEvent,\n setConnectionStatus\n );\n }\n });\n\n return () => {\n cancelled = true;\n navigator.serviceWorker.removeEventListener('message', onMessage);\n navigator.serviceWorker.removeEventListener('controllerchange', handleControllerChange);\n swRef.current?.postMessage({ type: 'unsubscribe' });\n swRef.current = null;\n fallbackCleanupRef.current?.();\n };\n }, [runId, onMessage]);\n\n return { events, lastEvent, connectionStatus };\n}\n\n// --- EventSource fallback (identical to the previous implementation) ---\n\nconst BASE_BACKOFF_MS = 1000;\nconst MAX_BACKOFF_MS = 30_000;\nconst STABLE_CONNECTION_MS = 5_000;\n\nfunction connectDirectEventSource(\n runId: string | undefined,\n setEvents: React.Dispatch<React.SetStateAction<NotificationEvent[]>>,\n setLastEvent: React.Dispatch<React.SetStateAction<NotificationEvent | null>>,\n setConnectionStatus: React.Dispatch<React.SetStateAction<ConnectionStatus>>\n): () => void {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n if (typeof EventSource === 'undefined') return () => {};\n\n let es: EventSource | null = null;\n let stopped = false;\n let backoff = BASE_BACKOFF_MS;\n let reconnectTimer: ReturnType<typeof setTimeout> | null = null;\n let stableTimer: ReturnType<typeof setTimeout> | null = null;\n\n function connect() {\n if (stopped) return;\n\n const url = runId\n ? `/api/agent-events?runId=${encodeURIComponent(runId)}`\n : '/api/agent-events';\n\n es = new EventSource(url);\n setConnectionStatus('connecting');\n\n es.onopen = () => {\n setConnectionStatus('connected');\n stableTimer = setTimeout(() => {\n stableTimer = null;\n backoff = BASE_BACKOFF_MS;\n }, STABLE_CONNECTION_MS);\n };\n\n es.onerror = () => {\n es?.close();\n es = null;\n setConnectionStatus('disconnected');\n\n if (stableTimer !== null) {\n clearTimeout(stableTimer);\n stableTimer = null;\n }\n\n const delay = backoff;\n backoff = Math.min(delay * 2, MAX_BACKOFF_MS);\n\n reconnectTimer = setTimeout(() => {\n reconnectTimer = null;\n connect();\n }, delay);\n };\n\n es.addEventListener('notification', ((event: MessageEvent) => {\n const parsed: NotificationEvent = JSON.parse(event.data);\n setEvents((prev) => {\n const next = [...prev, parsed];\n return next.length > MAX_EVENTS ? next.slice(-PRUNE_KEEP) : next;\n });\n setLastEvent(parsed);\n }) as EventListener);\n }\n\n connect();\n\n return () => {\n stopped = true;\n if (reconnectTimer !== null) {\n clearTimeout(reconnectTimer);\n reconnectTimer = null;\n }\n if (stableTimer !== null) {\n clearTimeout(stableTimer);\n stableTimer = null;\n }\n if (es) {\n es.close();\n es = null;\n }\n };\n}\n","/* __next_internal_action_entry_do_not_use__ [{\"00b8c11d0ce9276daaa9718975448d5ff12f160193\":\"pickFolder\"},\"src/presentation/web/app/actions/pick-folder.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"00b8c11d0ce9276daaa9718975448d5ff12f160193\",callServer,void 0,findSourceMapURL,\"pickFolder\");export{$$RSC_SERVER_ACTION_0 as pickFolder};","import { pickFolder as pickFolderAction } from '@/app/actions/pick-folder';\n\n/**\n * Opens a native OS folder picker dialog via server action.\n * Returns the selected absolute path, or null if the user cancelled.\n */\nexport async function pickFolder(): Promise<string | null> {\n const result = await pickFolderAction();\n\n if (result.error) {\n throw new Error(result.error);\n }\n\n return result.path;\n}\n","'use client';\n\nimport { createContext, useContext, useState, useMemo, type ReactNode } from 'react';\nimport type { FeatureNodeState } from '@/components/common/feature-node/feature-node-state-config';\nimport type { FeatureStatus } from '@/components/common/feature-status-config';\n\n// Re-export the FeatureItem type so consumers can import from one place.\n// This will gain `featureId` in a later phase.\nexport interface SidebarFeatureItem {\n name: string;\n status: FeatureStatus;\n featureId: string;\n startedAt?: number;\n duration?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Pure mapping: FeatureNodeState (6-state) → FeatureStatus (3-state) | null\n// ---------------------------------------------------------------------------\n\nconst stateMapping: Record<FeatureNodeState, FeatureStatus | null> = {\n 'action-required': 'action-needed',\n running: 'in-progress',\n done: 'done',\n blocked: 'in-progress',\n error: 'in-progress',\n creating: null,\n};\n\n/**\n * Maps a canvas FeatureNodeState to the sidebar's 3-state FeatureStatus.\n * Returns `null` for `creating` (optimistic UI) — these should be excluded from the sidebar.\n */\nexport function mapNodeStateToSidebarStatus(state: FeatureNodeState): FeatureStatus | null {\n return stateMapping[state];\n}\n\n// ---------------------------------------------------------------------------\n// SidebarFeaturesContext\n// ---------------------------------------------------------------------------\n\ninterface SidebarFeaturesContextValue {\n features: SidebarFeatureItem[];\n setFeatures: (features: SidebarFeatureItem[]) => void;\n}\n\nconst SidebarFeaturesContext = createContext<SidebarFeaturesContextValue | null>(null);\n\ninterface SidebarFeaturesProviderProps {\n children: ReactNode;\n}\n\nexport function SidebarFeaturesProvider({ children }: SidebarFeaturesProviderProps) {\n const [features, setFeatures] = useState<SidebarFeatureItem[]>([]);\n\n const value = useMemo<SidebarFeaturesContextValue>(() => ({ features, setFeatures }), [features]);\n\n return (\n <SidebarFeaturesContext.Provider value={value}>{children}</SidebarFeaturesContext.Provider>\n );\n}\n\nexport function useSidebarFeaturesContext(): SidebarFeaturesContextValue {\n const ctx = useContext(SidebarFeaturesContext);\n if (!ctx) {\n throw new Error('useSidebarFeaturesContext must be used within a <SidebarFeaturesProvider>');\n }\n return ctx;\n}\n"],"names":["module","exports","require","vendored","HooksClientContext","ServerInsertedHtml","process","env","NEXT_RUNTIME","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","ReactJsxRuntime","React","ReactDOM","ReactServerDOMTurbopackClient","AppRouterContext","useMergedRef","refA","refB","cleanupA","useRef","cleanupB","useCallback","current","cleanupFnA","cleanupFnB","applyRef","cleanup","warnOnce","_","warnings","Set","msg","has","console","warn","add","getDeploymentId","getDeploymentIdQueryOrEmptyString","NEXT_DEPLOYMENT_ID","deploymentId"],"mappings":"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BsC,CAjBpC,AAiBoC,CAjBpC,AAiB8C,CAAA,AAjB3C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACH,GAAA,CAAA,AAAK,CAAA,CAAA,CAAA,CAAA,C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","ignoreList":[0,1,2,3,4,5,6,7,10,11,12,14,15,17]}
@@ -1,4 +0,0 @@
1
- module.exports=[92658,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(28478)},12581,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00b8c11d0ce9276daaa9718975448d5ff12f160193",null),a.s(["pickFolder",()=>g],12513)},96380,a=>{"use strict";function b(a){let b=globalThis.__shepContainer;if(!b)throw Error("DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.");return b.resolve(a)}a.s(["resolve",()=>b])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},32278,a=>{"use strict";a.i(12714);var b=a.i(60526),c=a.i(50227);function d(){return process.env.SHEP_HOME??(0,c.join)((0,b.homedir)(),".shep")}a.i(2157),a.s(["getShepHomeDir",()=>d])},86561,a=>{"use strict";var b=a.i(92658),c=a.i(2157),d=a.i(50227),e=a.i(96380),f=a.i(32278);async function g(){try{let b=(0,e.resolve)("LoadSettingsUseCase"),g=await b.execute(),h=(0,f.getShepHomeDir)(),i="Unknown";try{var a;let b=(0,d.join)(h,"data");i=(a=(0,c.statSync)(b).size)<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}catch{}return{settings:g,shepHome:h,dbFileSize:i}}catch(a){return{error:a instanceof Error?a.message:"Failed to load settings"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"004eb6a204d89329b33c1ae4404ba94599817b1a16",null),a.s(["loadSettings",()=>g])}];
3
-
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__fd36b8bf._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/build/webpack/loaders/next-flight-loader/server-reference.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/build/webpack/loaders/next-flight-loader/action-validate.ts","../../../../../../../packages/core/src/infrastructure/services/folder-dialog.service.ts","../../../../../../../src/presentation/web/app/actions/pick-folder.ts","../../../../../../../src/presentation/web/lib/server-container.ts","../../../../../../../packages/core/src/infrastructure/services/filesystem/shep-directory.service.ts","../../../../../../../src/presentation/web/app/actions/load-settings.ts"],"sourcesContent":["/* eslint-disable import/no-extraneous-dependencies */\nexport { registerServerReference } from 'react-server-dom-webpack/server'\n","// This function ensures that all the exported values are valid server actions,\n// during the runtime. By definition all actions are required to be async\n// functions, but here we can only check that they are functions.\nexport function ensureServerEntryExports(actions: any[]) {\n for (let i = 0; i < actions.length; i++) {\n const action = actions[i]\n if (typeof action !== 'function') {\n throw new Error(\n `A \"use server\" file can only export async functions, found ${typeof action}.\\nRead more: https://nextjs.org/docs/messages/invalid-use-server-value`\n )\n }\n }\n}\n","import { execSync } from 'node:child_process';\n\nexport interface FolderDialogDeps {\n platform: NodeJS.Platform;\n exec: (cmd: string, opts?: { encoding: BufferEncoding; timeout?: number }) => string;\n}\n\nconst defaultDeps: FolderDialogDeps = {\n platform: process.platform,\n exec: (cmd, opts) => execSync(cmd, opts) as unknown as string,\n};\n\n/**\n * Platform-specific commands that open a native OS folder picker dialog.\n * Each returns the chosen absolute folder path on stdout, or exits non-zero / returns empty on cancel.\n */\nconst PLATFORM_COMMANDS: Record<string, string> = {\n darwin: `osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'`,\n linux: `zenity --file-selection --directory --title=\"Select a repository folder\" 2>/dev/null`,\n win32: `powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\"`,\n};\n\nexport class FolderDialogService {\n private deps: FolderDialogDeps;\n\n constructor(deps: Partial<FolderDialogDeps> = {}) {\n this.deps = { ...defaultDeps, ...deps };\n }\n\n /** Returns the OS-specific command string, or null if the platform is unsupported. */\n getCommand(): string | null {\n return PLATFORM_COMMANDS[this.deps.platform] ?? null;\n }\n\n /**\n * Opens a native folder picker dialog and returns the selected absolute path.\n * Returns `null` if the user cancels the dialog.\n * Throws if the platform is unsupported or the command fails unexpectedly.\n */\n pickFolder(): string | null {\n const command = this.getCommand();\n if (!command) {\n throw new Error(`Unsupported platform: ${this.deps.platform}`);\n }\n\n try {\n const result = this.deps.exec(command, { encoding: 'utf-8', timeout: 60_000 });\n const trimmed = result.trim();\n return trimmed.length > 0 ? trimmed : null;\n } catch (error: unknown) {\n // User cancelled the dialog — exit code 1 from osascript/zenity/powershell\n if (isExecError(error) && error.status === 1) {\n return null;\n }\n throw error;\n }\n }\n}\n\nfunction isExecError(error: unknown): error is { status: number } {\n return typeof error === 'object' && error !== null && 'status' in error;\n}\n","'use server';\n\nimport { FolderDialogService } from '@shepai/core/infrastructure/services/folder-dialog.service';\n\nexport async function pickFolder(): Promise<{ path: string | null; error?: string }> {\n const service = new FolderDialogService();\n\n try {\n const path = service.pickFolder();\n return { path };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to open folder dialog';\n return { path: null, error: message };\n }\n}\n","/**\n * Server Container Accessor\n *\n * Provides a `resolve()` helper for server components and API routes to\n * obtain DI-managed instances. The tsyringe container is placed on globalThis\n * by the CLI bootstrap (`shep ui`) or the dev-server (`pnpm dev:web`).\n */\n\nimport type { DependencyContainer, InjectionToken } from 'tsyringe';\n\nconst CONTAINER_KEY = '__shepContainer';\n\n/**\n * Resolve a dependency from the DI container.\n *\n * Usage in server components / API routes:\n * ```ts\n * import { resolve } from '@/lib/server-container';\n * import { ListFeaturesUseCase } from '@shepai/core/application/use-cases/features/list-features.use-case';\n *\n * const features = await resolve(ListFeaturesUseCase).execute();\n * ```\n */\nexport function resolve<T>(token: InjectionToken<T>): T {\n const container = (globalThis as Record<string, unknown>)[CONTAINER_KEY] as\n | DependencyContainer\n | undefined;\n\n if (!container) {\n throw new Error(\n 'DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.'\n );\n }\n\n return container.resolve(token);\n}\n","/**\n * Shep Directory Service\n *\n * Manages the ~/.shep/ directory for global settings and data storage.\n * Ensures directory exists with correct permissions before database operations.\n *\n * Supports SHEP_HOME env var for test isolation (overrides default ~/.shep/).\n */\n\nimport { mkdir } from 'node:fs/promises';\nimport { homedir } from 'node:os';\nimport { join } from 'node:path';\nimport { existsSync } from 'node:fs';\n\n/**\n * Resolves the Shep home directory.\n * Respects SHEP_HOME env var for test isolation, falls back to ~/.shep/\n */\nfunction resolveShepHomeDir(): string {\n return process.env.SHEP_HOME ?? join(homedir(), '.shep');\n}\n\n/**\n * Gets the path to the Shep home directory.\n * Uses SHEP_HOME env var if set, otherwise ~/.shep/\n *\n * @returns Path to shep home directory\n */\nexport function getShepHomeDir(): string {\n return resolveShepHomeDir();\n}\n\n/**\n * Gets the path to the SQLite database file.\n *\n * @returns Path to the database file\n */\nexport function getShepDbPath(): string {\n return join(resolveShepHomeDir(), 'data');\n}\n\n/**\n * Gets the path to the daemon state file.\n * Uses SHEP_HOME env var if set (for test isolation), otherwise ~/.shep/daemon.json\n *\n * @returns Path to daemon.json\n */\nexport function getDaemonStatePath(): string {\n return join(resolveShepHomeDir(), 'daemon.json');\n}\n\n/**\n * Gets the path to the daemon log file.\n * Uses SHEP_HOME env var if set (for test isolation), otherwise ~/.shep/daemon.log\n *\n * @returns Path to daemon.log\n */\nexport function getDaemonLogPath(): string {\n return join(resolveShepHomeDir(), 'daemon.log');\n}\n\n/**\n * Ensures the shep home directory exists with correct permissions.\n * Creates the directory if it doesn't exist.\n * Safe to call multiple times (idempotent).\n *\n * Permissions: 700 (rwx------) - only owner can read/write/execute\n *\n * @throws Error if directory cannot be created (permissions, disk space, etc.)\n */\nexport async function ensureShepDirectory(): Promise<void> {\n const shepDir = resolveShepHomeDir();\n\n if (existsSync(shepDir)) {\n return;\n }\n\n try {\n await mkdir(shepDir, {\n recursive: true,\n mode: 0o700,\n });\n } catch (error) {\n throw new Error(\n `Failed to create Shep directory at ${shepDir}: ${error instanceof Error ? error.message : String(error)}`\n );\n }\n}\n","'use server';\n\nimport { statSync } from 'node:fs';\nimport { join } from 'node:path';\nimport { resolve } from '@/lib/server-container';\nimport type { LoadSettingsUseCase } from '@shepai/core/application/use-cases/settings/load-settings.use-case';\nimport { getShepHomeDir } from '@shepai/core/infrastructure/services/filesystem/shep-directory.service';\nimport type { Settings } from '@shepai/core/domain/generated/output';\n\nexport interface LoadSettingsResult {\n settings?: Settings;\n shepHome?: string;\n dbFileSize?: string;\n error?: string;\n}\n\nfunction formatFileSize(bytes: number): string {\n if (bytes < 1024) return `${bytes} B`;\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;\n return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n}\n\nexport async function loadSettings(): Promise<LoadSettingsResult> {\n try {\n const useCase = resolve<LoadSettingsUseCase>('LoadSettingsUseCase');\n const settings = await useCase.execute();\n\n const shepHome = getShepHomeDir();\n let dbFileSize = 'Unknown';\n try {\n const dbPath = join(shepHome, 'data');\n const stat = statSync(dbPath);\n dbFileSize = formatFileSize(stat.size);\n } catch {\n // DB file may not exist yet\n }\n\n return { settings, shepHome, dbFileSize };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load settings';\n return { error: message };\n }\n}\n"],"names":["registerServerReference","ensureServerEntryExports","actions","i","length","action","Error"],"mappings":"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","ignoreList":[0,1]}
@@ -1,5 +0,0 @@
1
- module.exports=[63652,(a,b,c)=>{"use strict";c._=function(a){return a&&a.__esModule?a:{default:a}}},38376,(a,b,c)=>{"use strict";function d({widthInt:a,heightInt:b,blurWidth:c,blurHeight:d,blurDataURL:e,objectFit:f}){let g=c?40*c:a,h=d?40*d:b,i=g&&h?`viewBox='0 0 ${g} ${h}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${i}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${i?"none":"contain"===f?"xMidYMid":"cover"===f?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${e}'/%3E%3C/svg%3E`}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"getImageBlurSvg",{enumerable:!0,get:function(){return d}})},20729,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={VALID_LOADERS:function(){return f},imageConfigDefault:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=["default","imgix","cloudinary","akamai","custom"],g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},6877,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"getImgProps",{enumerable:!0,get:function(){return j}}),a.r(61712);let d=a.r(27478),e=a.r(38376),f=a.r(20729),g=["-moz-initial","fill","none","scale-down",void 0];function h(a){return void 0!==a.default}function i(a){return void 0===a?a:"number"==typeof a?Number.isFinite(a)?a:NaN:"string"==typeof a&&/^[0-9]+$/.test(a)?parseInt(a,10):NaN}function j({src:a,sizes:b,unoptimized:c=!1,priority:j=!1,preload:k=!1,loading:l,className:m,quality:n,width:o,height:p,fill:q=!1,style:r,overrideSrc:s,onLoad:t,onLoadingComplete:u,placeholder:v="empty",blurDataURL:w,fetchPriority:x,decoding:y="async",layout:z,objectFit:A,objectPosition:B,lazyBoundary:C,lazyRoot:D,...E},F){var G;let H,I,J,{imgConf:K,showAltText:L,blurComplete:M,defaultLoader:N}=F,O=K||f.imageConfigDefault;if("allSizes"in O)H=O;else{let a=[...O.deviceSizes,...O.imageSizes].sort((a,b)=>a-b),b=O.deviceSizes.sort((a,b)=>a-b),c=O.qualities?.sort((a,b)=>a-b);H={...O,allSizes:a,deviceSizes:b,qualities:c}}if(void 0===N)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let P=E.loader||N;delete E.loader,delete E.srcSet;let Q="__next_img_default"in P;if(Q){if("custom"===H.loader)throw Object.defineProperty(Error(`Image with src "${a}" is missing "loader" prop.
2
- Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let a=P;P=b=>{let{config:c,...d}=b;return a(d)}}if(z){"fill"===z&&(q=!0);let a={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[z];a&&(r={...r,...a});let c={responsive:"100vw",fill:"100vw"}[z];c&&!b&&(b=c)}let R="",S=i(o),T=i(p);if((G=a)&&"object"==typeof G&&(h(G)||void 0!==G.src)){let b=h(a)?a.default:a;if(!b.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!b.height||!b.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(I=b.blurWidth,J=b.blurHeight,w=w||b.blurDataURL,R=b.src,!q)if(S||T){if(S&&!T){let a=S/b.width;T=Math.round(b.height*a)}else if(!S&&T){let a=T/b.height;S=Math.round(b.width*a)}}else S=b.width,T=b.height}let U=!j&&!k&&("lazy"===l||void 0===l);(!(a="string"==typeof a?a:R)||a.startsWith("data:")||a.startsWith("blob:"))&&(c=!0,U=!1),H.unoptimized&&(c=!0),Q&&!H.dangerouslyAllowSVG&&a.split("?",1)[0].endsWith(".svg")&&(c=!0);let V=i(n),W=Object.assign(q?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:A,objectPosition:B}:{},L?{}:{color:"transparent"},r),X=M||"empty"===v?null:"blur"===v?`url("data:image/svg+xml;charset=utf-8,${(0,e.getImageBlurSvg)({widthInt:S,heightInt:T,blurWidth:I,blurHeight:J,blurDataURL:w||"",objectFit:W.objectFit})}")`:`url("${v}")`,Y=g.includes(W.objectFit)?"fill"===W.objectFit?"100% 100%":"cover":W.objectFit,Z=X?{backgroundSize:Y,backgroundPosition:W.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:X}:{},$=function({config:a,src:b,unoptimized:c,width:e,quality:f,sizes:g,loader:h}){if(c){let a=(0,d.getDeploymentId)();if(b.startsWith("/")&&!b.startsWith("//")&&a){let c=b.includes("?")?"&":"?";b=`${b}${c}dpl=${a}`}return{src:b,srcSet:void 0,sizes:void 0}}let{widths:i,kind:j}=function({deviceSizes:a,allSizes:b},c,d){if(d){let c=/(^|\s)(1?\d?\d)vw/g,e=[];for(let a;a=c.exec(d);)e.push(parseInt(a[2]));if(e.length){let c=.01*Math.min(...e);return{widths:b.filter(b=>b>=a[0]*c),kind:"w"}}return{widths:b,kind:"w"}}return"number"!=typeof c?{widths:a,kind:"w"}:{widths:[...new Set([c,2*c].map(a=>b.find(b=>b>=a)||b[b.length-1]))],kind:"x"}}(a,e,g),k=i.length-1;return{sizes:g||"w"!==j?g:"100vw",srcSet:i.map((c,d)=>`${h({config:a,src:b,quality:f,width:c})} ${"w"===j?c:d+1}${j}`).join(", "),src:h({config:a,src:b,quality:f,width:i[k]})}}({config:H,src:a,unoptimized:c,width:S,quality:V,sizes:b,loader:P}),_=U?"lazy":l;return{props:{...E,loading:_,fetchPriority:x,width:S,height:T,decoding:y,className:m,style:{...W,...Z},sizes:$.sizes,srcSet:$.srcSet,src:s||$.src},meta:{unoptimized:c,preload:k||j,placeholder:v,fill:q}}}},59712,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return f}});let d=a.r(96960),e=()=>{};function f(a){let{headManager:b,reduceComponentsToState:c}=a;function f(){if(b&&b.mountedInstances){let a=d.Children.toArray(Array.from(b.mountedInstances).filter(Boolean));b.updateHead(c(a))}}return b?.mountedInstances?.add(a.children),f(),e(()=>(b?.mountedInstances?.add(a.children),()=>{b?.mountedInstances?.delete(a.children)})),e(()=>(b&&(b._pendingUpdate=f),()=>{b&&(b._pendingUpdate=f)})),null}},64687,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.HeadManagerContext},83250,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return p},defaultHead:function(){return l}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(63652),g=a.r(3988),h=a.r(10973),i=g._(a.r(96960)),j=f._(a.r(59712)),k=a.r(64687);function l(){return[(0,h.jsx)("meta",{charSet:"utf-8"},"charset"),(0,h.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function m(a,b){return"string"==typeof b||"number"==typeof b?a:b.type===i.default.Fragment?a.concat(i.default.Children.toArray(b.props.children).reduce((a,b)=>"string"==typeof b||"number"==typeof b?a:a.concat(b),[])):a.concat(b)}a.r(61712);let n=["name","httpEquiv","charSet","itemProp"];function o(a){let b,c,d,e;return a.reduce(m,[]).reverse().concat(l().reverse()).filter((b=new Set,c=new Set,d=new Set,e={},a=>{let f=!0,g=!1;if(a.key&&"number"!=typeof a.key&&a.key.indexOf("$")>0){g=!0;let c=a.key.slice(a.key.indexOf("$")+1);b.has(c)?f=!1:b.add(c)}switch(a.type){case"title":case"base":c.has(a.type)?f=!1:c.add(a.type);break;case"meta":for(let b=0,c=n.length;b<c;b++){let c=n[b];if(a.props.hasOwnProperty(c))if("charSet"===c)d.has(c)?f=!1:d.add(c);else{let b=a.props[c],d=e[c]||new Set;("name"!==c||!g)&&d.has(b)?f=!1:(d.add(b),e[c]=d)}}}return f})).reverse().map((a,b)=>{let c=a.key||b;return i.default.cloneElement(a,{key:c})})}let p=function({children:a}){let b=(0,i.useContext)(k.HeadManagerContext);return(0,h.jsx)(j.default,{reduceComponentsToState:o,headManager:b,children:a})};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},6741,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.ImageConfigContext},72195,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.RouterContext},83401,(a,b,c)=>{"use strict";function d(a,b){let c=a||75;return b?.qualities?.length?b.qualities.reduce((a,b)=>Math.abs(b-c)<Math.abs(a-c)?b:a,0):c}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"findClosestQuality",{enumerable:!0,get:function(){return d}})},71331,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return g}});let d=a.r(83401),e=a.r(27478);function f({config:a,src:b,width:c,quality:f}){if(b.startsWith("/")&&b.includes("?")&&a.localPatterns?.length===1&&"**"===a.localPatterns[0].pathname&&""===a.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${b}" is using a query string which is not configured in images.localPatterns.
3
- Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let g=(0,d.findClosestQuality)(f,a),h=(0,e.getDeploymentId)();return`${a.path}?url=${encodeURIComponent(b)}&w=${c}&q=${g}${b.startsWith("/")&&h?`&dpl=${h}`:""}`}f.__next_img_default=!0;let g=f},16132,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"Image",{enumerable:!0,get:function(){return u}});let d=a.r(63652),e=a.r(3988),f=a.r(10973),g=e._(a.r(96960)),h=d._(a.r(55690)),i=d._(a.r(83250)),j=a.r(6877),k=a.r(20729),l=a.r(6741);a.r(61712);let m=a.r(72195),n=d._(a.r(71331)),o=a.r(2065),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function q(a,b,c,d,e,f,g){let h=a?.src;a&&a["data-loaded-src"]!==h&&(a["data-loaded-src"]=h,("decode"in a?a.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(a.parentElement&&a.isConnected){if("empty"!==b&&e(!0),c?.current){let b=new Event("load");Object.defineProperty(b,"target",{writable:!1,value:a});let d=!1,e=!1;c.current({...b,nativeEvent:b,currentTarget:a,target:a,isDefaultPrevented:()=>d,isPropagationStopped:()=>e,persist:()=>{},preventDefault:()=>{d=!0,b.preventDefault()},stopPropagation:()=>{e=!0,b.stopPropagation()}})}d?.current&&d.current(a)}}))}function r(a){return g.use?{fetchPriority:a}:{fetchpriority:a}}globalThis.__NEXT_IMAGE_IMPORTED=!0;let s=(0,g.forwardRef)(({src:a,srcSet:b,sizes:c,height:d,width:e,decoding:h,className:i,style:j,fetchPriority:k,placeholder:l,loading:m,unoptimized:n,fill:p,onLoadRef:s,onLoadingCompleteRef:t,setBlurComplete:u,setShowAltText:v,sizesInput:w,onLoad:x,onError:y,...z},A)=>{let B=(0,g.useCallback)(a=>{a&&(y&&(a.src=a.src),a.complete&&q(a,l,s,t,u,n,w))},[a,l,s,t,u,y,n,w]),C=(0,o.useMergedRef)(A,B);return(0,f.jsx)("img",{...z,...r(k),loading:m,width:e,height:d,decoding:h,"data-nimg":p?"fill":"1",className:i,style:j,sizes:c,srcSet:b,src:a,ref:C,onLoad:a=>{q(a.currentTarget,l,s,t,u,n,w)},onError:a=>{v(!0),"empty"!==l&&u(!0),y&&y(a)}})});function t({isAppRouter:a,imgAttributes:b}){let c={as:"image",imageSrcSet:b.srcSet,imageSizes:b.sizes,crossOrigin:b.crossOrigin,referrerPolicy:b.referrerPolicy,...r(b.fetchPriority)};return a&&h.default.preload?(h.default.preload(b.src,c),null):(0,f.jsx)(i.default,{children:(0,f.jsx)("link",{rel:"preload",href:b.srcSet?void 0:b.src,...c},"__nimg-"+b.src+b.srcSet+b.sizes)})}let u=(0,g.forwardRef)((a,b)=>{let c=(0,g.useContext)(m.RouterContext),d=(0,g.useContext)(l.ImageConfigContext),e=(0,g.useMemo)(()=>{let a=p||d||k.imageConfigDefault,b=[...a.deviceSizes,...a.imageSizes].sort((a,b)=>a-b),c=a.deviceSizes.sort((a,b)=>a-b),e=a.qualities?.sort((a,b)=>a-b);return{...a,allSizes:b,deviceSizes:c,qualities:e,localPatterns:d?.localPatterns}},[d]),{onLoad:h,onLoadingComplete:i}=a,o=(0,g.useRef)(h);(0,g.useEffect)(()=>{o.current=h},[h]);let q=(0,g.useRef)(i);(0,g.useEffect)(()=>{q.current=i},[i]);let[r,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),{props:x,meta:y}=(0,j.getImgProps)(a,{defaultLoader:n.default,imgConf:e,blurComplete:r,showAltText:v});return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{...x,unoptimized:y.unoptimized,placeholder:y.placeholder,fill:y.fill,onLoadRef:o,onLoadingCompleteRef:q,setBlurComplete:u,setShowAltText:w,sizesInput:a.sizes,ref:b}),y.preload?(0,f.jsx)(t,{isAppRouter:!c,imgAttributes:x}):null]})});("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},83810,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return k},getImageProps:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(63652),g=a.r(6877),h=a.r(16132),i=f._(a.r(71331));function j(a){let{props:b}=(0,g.getImgProps)(a,{defaultLoader:i.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[a,c]of Object.entries(b))void 0===c&&delete b[a];return{props:b}}let k=h.Image},61640,(a,b,c)=>{b.exports=a.r(83810)},17606,a=>{"use strict";var b=a.i(10973),c=a.i(61640);let d=(0,a.i(25700).default)("beaker",[["path",{d:"M4.5 3h15",key:"c7n0jr"}],["path",{d:"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3",key:"m1uhx7"}],["path",{d:"M6 14h12",key:"4cwo0f"}]]);var e=a.i(85536);function f(a,d){function f({className:f}){return(0,b.jsx)(c.default,{src:a,alt:d,width:24,height:24,className:(0,e.cn)("rounded-sm object-contain",f)})}return f.displayName=`BrandIcon(${d})`,f}function g(a){return(0,b.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...a,children:[(0,b.jsx)("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2"}),(0,b.jsx)("circle",{cx:"12",cy:"12",r:"3",fill:"currentColor"})]})}function h({className:a,...c}){return(0,b.jsx)(d,{className:(0,e.cn)("h-6 w-6",a),...c})}h.displayName="DevAgentIcon";let i={"claude-code":f("/icons/agents/claude-ai-icon.svg","Claude Code"),cursor:f("/icons/agents/cursor.jpeg","Cursor"),"gemini-cli":f("/icons/agents/gemini-cli.jpeg","Gemini CLI"),aider:f("/icons/agents/aider.png","Aider"),continue:f("/icons/agents/continue.jpeg","Continue"),dev:h};function j(a){return a&&a in i?i[a]:g}a.s(["getAgentTypeIcon",()=>j],17606)}];
4
-
5
- //# sourceMappingURL=_4093a637._.js.map