@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
@@ -1,3 +1,3 @@
1
- module.exports=[79020,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(25700);let e=(0,d.default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),f=(0,d.default)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);var g=a.i(72016),h=a.i(52313),i=a.i(58860),j=a.i(90920),k=a.i(18948),l=a.i(59653),m=a.i(6175),n=a.i(7420),o=a.i(17329),p=a.i(64005),q=a.i(74432),r=a.i(66873),s="Switch",[t,u]=(0,n.createContextScope)(s),[v,w]=t(s),x=c.forwardRef((a,d)=>{let{__scopeSwitch:e,name:f,checked:g,defaultChecked:h,required:i,disabled:j,value:k="on",onCheckedChange:n,form:p,...q}=a,[t,u]=c.useState(null),w=(0,m.useComposedRefs)(d,a=>u(a)),x=c.useRef(!1),y=!t||p||!!t.closest("form"),[z,C]=(0,o.useControllableState)({prop:g,defaultProp:h??!1,onChange:n,caller:s});return(0,b.jsxs)(v,{scope:e,checked:z,disabled:j,children:[(0,b.jsx)(r.Primitive.button,{type:"button",role:"switch","aria-checked":z,"aria-required":i,"data-state":B(z),"data-disabled":j?"":void 0,disabled:j,value:k,...q,ref:w,onClick:(0,l.composeEventHandlers)(a.onClick,a=>{C(a=>!a),y&&(x.current=a.isPropagationStopped(),x.current||a.stopPropagation())})}),y&&(0,b.jsx)(A,{control:t,bubbles:!x.current,name:f,value:k,checked:z,required:i,disabled:j,form:p,style:{transform:"translateX(-100%)"}})]})});x.displayName=s;var y="SwitchThumb",z=c.forwardRef((a,c)=>{let{__scopeSwitch:d,...e}=a,f=w(y,d);return(0,b.jsx)(r.Primitive.span,{"data-state":B(f.checked),"data-disabled":f.disabled?"":void 0,...e,ref:c})});z.displayName=y;var A=c.forwardRef(({__scopeSwitch:a,control:d,checked:e,bubbles:f=!0,...g},h)=>{let i=c.useRef(null),j=(0,m.useComposedRefs)(i,h),k=(0,p.usePrevious)(e),l=(0,q.useSize)(d);return c.useEffect(()=>{let a=i.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(k!==e&&b){let c=new Event("click",{bubbles:f});b.call(a,e),a.dispatchEvent(c)}},[k,e,f]),(0,b.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:e,...g,tabIndex:-1,ref:j,style:{...g.style,...l,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function B(a){return a?"checked":"unchecked"}A.displayName="SwitchBubbleInput",a.s(["Root",()=>x,"Switch",()=>x,"SwitchThumb",()=>z,"Thumb",()=>z,"createSwitchScope",()=>u],91918);var C=a.i(91918),C=C,D=a.i(85536);function E({className:a,size:c="default",...d}){return(0,b.jsx)(C.Root,{"data-slot":"switch","data-size":c,className:(0,D.cn)("peer group/switch focus-visible:border-ring focus-visible:ring-ring/50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",a),...d,children:(0,b.jsx)(C.Thumb,{"data-slot":"switch-thumb",className:(0,D.cn)("bg-background dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}var F=a.i(55690),G=a.i(48972),H=a.i(63496),I=a.i(48939),J=a.i(58761),K=a.i(51473),L=a.i(59675),M=a.i(5472),N=a.i(75988),O=a.i(80930),P=a.i(90986),Q=a.i(79406),R=a.i(61476),S=a.i(50049),T=a.i(16164),U=a.i(45291),V=[" ","Enter","ArrowUp","ArrowDown"],W=[" ","Enter"],X="Select",[Y,Z,$]=(0,H.createCollection)(X),[_,aa]=(0,n.createContextScope)(X,[$,N.createPopperScope]),ab=(0,N.createPopperScope)(),[ac,ad]=_(X),[ae,af]=_(X),ag=a=>{let{__scopeSelect:d,children:e,open:f,defaultOpen:g,onOpenChange:h,value:i,defaultValue:j,onValueChange:k,dir:l,name:m,autoComplete:n,disabled:p,required:q,form:r}=a,s=ab(d),[t,u]=c.useState(null),[v,w]=c.useState(null),[x,y]=c.useState(!1),z=(0,I.useDirection)(l),[A,B]=(0,o.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:X}),[C,D]=(0,o.useControllableState)({prop:i,defaultProp:j,onChange:k,caller:X}),E=c.useRef(null),F=!t||r||!!t.closest("form"),[G,H]=c.useState(new Set),J=Array.from(G).map(a=>a.props.value).join(";");return(0,b.jsx)(N.Root,{...s,children:(0,b.jsxs)(ac,{required:q,scope:d,trigger:t,onTriggerChange:u,valueNode:v,onValueNodeChange:w,valueNodeHasChildren:x,onValueNodeHasChildrenChange:y,contentId:(0,M.useId)(),value:C,onValueChange:D,open:A,onOpenChange:B,dir:z,triggerPointerDownPosRef:E,disabled:p,children:[(0,b.jsx)(Y.Provider,{scope:d,children:(0,b.jsx)(ae,{scope:a.__scopeSelect,onNativeOptionAdd:c.useCallback(a=>{H(b=>new Set(b).add(a))},[]),onNativeOptionRemove:c.useCallback(a=>{H(b=>{let c=new Set(b);return c.delete(a),c})},[]),children:e})}),F?(0,b.jsxs)(aV,{"aria-hidden":!0,required:q,tabIndex:-1,name:m,autoComplete:n,value:C,onChange:a=>D(a.target.value),disabled:p,form:r,children:[void 0===C?(0,b.jsx)("option",{value:""}):null,Array.from(G)]},J):null]})})};ag.displayName=X;var ah="SelectTrigger",ai=c.forwardRef((a,d)=>{let{__scopeSelect:e,disabled:f=!1,...g}=a,h=ab(e),i=ad(ah,e),j=i.disabled||f,k=(0,m.useComposedRefs)(d,i.onTriggerChange),n=Z(e),o=c.useRef("touch"),[p,q,s]=aX(a=>{let b=n().filter(a=>!a.disabled),c=b.find(a=>a.value===i.value),d=aY(b,a,c);void 0!==d&&i.onValueChange(d.value)}),t=a=>{j||(i.onOpenChange(!0),s()),a&&(i.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,b.jsx)(N.Anchor,{asChild:!0,...h,children:(0,b.jsx)(r.Primitive.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:j,"data-disabled":j?"":void 0,"data-placeholder":aW(i.value)?"":void 0,...g,ref:k,onClick:(0,l.composeEventHandlers)(g.onClick,a=>{a.currentTarget.focus(),"mouse"!==o.current&&t(a)}),onPointerDown:(0,l.composeEventHandlers)(g.onPointerDown,a=>{o.current=a.pointerType;let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),0===a.button&&!1===a.ctrlKey&&"mouse"===a.pointerType&&(t(a),a.preventDefault())}),onKeyDown:(0,l.composeEventHandlers)(g.onKeyDown,a=>{let b=""!==p.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||q(a.key),(!b||" "!==a.key)&&V.includes(a.key)&&(t(),a.preventDefault())})})})});ai.displayName=ah;var aj="SelectValue",ak=c.forwardRef((a,c)=>{let{__scopeSelect:d,className:e,style:f,children:g,placeholder:h="",...i}=a,j=ad(aj,d),{onValueNodeHasChildrenChange:k}=j,l=void 0!==g,n=(0,m.useComposedRefs)(c,j.onValueNodeChange);return(0,R.useLayoutEffect)(()=>{k(l)},[k,l]),(0,b.jsx)(r.Primitive.span,{...i,ref:n,style:{pointerEvents:"none"},children:aW(j.value)?(0,b.jsx)(b.Fragment,{children:h}):g})});ak.displayName=aj;var al=c.forwardRef((a,c)=>{let{__scopeSelect:d,children:e,...f}=a;return(0,b.jsx)(r.Primitive.span,{"aria-hidden":!0,...f,ref:c,children:e||"▼"})});al.displayName="SelectIcon";var am=a=>(0,b.jsx)(O.Portal,{asChild:!0,...a});am.displayName="SelectPortal";var an="SelectContent",ao=c.forwardRef((a,d)=>{let e=ad(an,a.__scopeSelect),[f,g]=c.useState();return((0,R.useLayoutEffect)(()=>{g(new DocumentFragment)},[]),e.open)?(0,b.jsx)(as,{...a,ref:d}):f?F.createPortal((0,b.jsx)(ap,{scope:a.__scopeSelect,children:(0,b.jsx)(Y.Slot,{scope:a.__scopeSelect,children:(0,b.jsx)("div",{children:a.children})})}),f):null});ao.displayName=an;var[ap,aq]=_(an),ar=(0,P.createSlot)("SelectContent.RemoveScroll"),as=c.forwardRef((a,d)=>{let{__scopeSelect:e,position:f="item-aligned",onCloseAutoFocus:g,onEscapeKeyDown:h,onPointerDownOutside:i,side:j,sideOffset:k,align:n,alignOffset:o,arrowPadding:p,collisionBoundary:q,collisionPadding:r,sticky:s,hideWhenDetached:t,avoidCollisions:u,...v}=a,w=ad(an,e),[x,y]=c.useState(null),[z,A]=c.useState(null),B=(0,m.useComposedRefs)(d,a=>y(a)),[C,D]=c.useState(null),[E,F]=c.useState(null),G=Z(e),[H,I]=c.useState(!1),M=c.useRef(!1);c.useEffect(()=>{if(x)return(0,T.hideOthers)(x)},[x]),(0,K.useFocusGuards)();let N=c.useCallback(a=>{let[b,...c]=G().map(a=>a.ref.current),[d]=c.slice(-1),e=document.activeElement;for(let c of a)if(c===e||(c?.scrollIntoView({block:"nearest"}),c===b&&z&&(z.scrollTop=0),c===d&&z&&(z.scrollTop=z.scrollHeight),c?.focus(),document.activeElement!==e))return},[G,z]),O=c.useCallback(()=>N([C,x]),[N,C,x]);c.useEffect(()=>{H&&O()},[H,O]);let{onOpenChange:P,triggerPointerDownPosRef:Q}=w;c.useEffect(()=>{if(x){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(Q.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(Q.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():x.contains(c.target)||P(!1),document.removeEventListener("pointermove",b),Q.current=null};return null!==Q.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[x,P,Q]),c.useEffect(()=>{let a=()=>P(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[P]);let[R,S]=aX(a=>{let b=G().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=aY(b,a,c);d&&setTimeout(()=>d.ref.current.focus())}),V=c.useCallback((a,b,c)=>{let d=!M.current&&!c;(void 0!==w.value&&w.value===b||d)&&(D(a),d&&(M.current=!0))},[w.value]),W=c.useCallback(()=>x?.focus(),[x]),X=c.useCallback((a,b,c)=>{let d=!M.current&&!c;(void 0!==w.value&&w.value===b||d)&&F(a)},[w.value]),Y="popper"===f?au:at,$=Y===au?{side:j,sideOffset:k,align:n,alignOffset:o,arrowPadding:p,collisionBoundary:q,collisionPadding:r,sticky:s,hideWhenDetached:t,avoidCollisions:u}:{};return(0,b.jsx)(ap,{scope:e,content:x,viewport:z,onViewportChange:A,itemRefCallback:V,selectedItem:C,onItemLeave:W,itemTextRefCallback:X,focusSelectedItem:O,selectedItemText:E,position:f,isPositioned:H,searchRef:R,children:(0,b.jsx)(U.RemoveScroll,{as:ar,allowPinchZoom:!0,children:(0,b.jsx)(L.FocusScope,{asChild:!0,trapped:w.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:(0,l.composeEventHandlers)(g,a=>{w.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,b.jsx)(J.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:h,onPointerDownOutside:i,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>w.onOpenChange(!1),children:(0,b.jsx)(Y,{role:"listbox",id:w.contentId,"data-state":w.open?"open":"closed",dir:w.dir,onContextMenu:a=>a.preventDefault(),...v,...$,onPlaced:()=>I(!0),ref:B,style:{display:"flex",flexDirection:"column",outline:"none",...v.style},onKeyDown:(0,l.composeEventHandlers)(v.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||S(a.key),["ArrowUp","ArrowDown","Home","End"].includes(a.key)){let b=G().filter(a=>!a.disabled).map(a=>a.ref.current);if(["ArrowUp","End"].includes(a.key)&&(b=b.slice().reverse()),["ArrowUp","ArrowDown"].includes(a.key)){let c=a.target,d=b.indexOf(c);b=b.slice(d+1)}setTimeout(()=>N(b)),a.preventDefault()}})})})})})})});as.displayName="SelectContentImpl";var at=c.forwardRef((a,d)=>{let{__scopeSelect:e,onPlaced:f,...g}=a,h=ad(an,e),i=aq(an,e),[j,k]=c.useState(null),[l,n]=c.useState(null),o=(0,m.useComposedRefs)(d,a=>n(a)),p=Z(e),q=c.useRef(!1),s=c.useRef(!0),{viewport:t,selectedItem:u,selectedItemText:v,focusSelectedItem:w}=i,x=c.useCallback(()=>{if(h.trigger&&h.valueNode&&j&&l&&t&&u&&v){let a=h.trigger.getBoundingClientRect(),b=l.getBoundingClientRect(),c=h.valueNode.getBoundingClientRect(),d=v.getBoundingClientRect();if("rtl"!==h.dir){let e=d.left-b.left,f=c.left-e,g=a.left-f,h=a.width+g,i=Math.max(h,b.width),k=window.innerWidth-10,l=(0,G.clamp)(f,[10,Math.max(10,k-i)]);j.style.minWidth=h+"px",j.style.left=l+"px"}else{let e=b.right-d.right,f=window.innerWidth-c.right-e,g=window.innerWidth-a.right-f,h=a.width+g,i=Math.max(h,b.width),k=window.innerWidth-10,l=(0,G.clamp)(f,[10,Math.max(10,k-i)]);j.style.minWidth=h+"px",j.style.right=l+"px"}let e=p(),g=window.innerHeight-20,i=t.scrollHeight,k=window.getComputedStyle(l),m=parseInt(k.borderTopWidth,10),n=parseInt(k.paddingTop,10),o=parseInt(k.borderBottomWidth,10),r=m+n+i+parseInt(k.paddingBottom,10)+o,s=Math.min(5*u.offsetHeight,r),w=window.getComputedStyle(t),x=parseInt(w.paddingTop,10),y=parseInt(w.paddingBottom,10),z=a.top+a.height/2-10,A=u.offsetHeight/2,B=m+n+(u.offsetTop+A);if(B<=z){let a=e.length>0&&u===e[e.length-1].ref.current;j.style.bottom="0px";let b=Math.max(g-z,A+(a?y:0)+(l.clientHeight-t.offsetTop-t.offsetHeight)+o);j.style.height=B+b+"px"}else{let a=e.length>0&&u===e[0].ref.current;j.style.top="0px";let b=Math.max(z,m+t.offsetTop+(a?x:0)+A);j.style.height=b+(r-B)+"px",t.scrollTop=B-z+t.offsetTop}j.style.margin="10px 0",j.style.minHeight=s+"px",j.style.maxHeight=g+"px",f?.(),requestAnimationFrame(()=>q.current=!0)}},[p,h.trigger,h.valueNode,j,l,t,u,v,h.dir,f]);(0,R.useLayoutEffect)(()=>x(),[x]);let[y,z]=c.useState();(0,R.useLayoutEffect)(()=>{l&&z(window.getComputedStyle(l).zIndex)},[l]);let A=c.useCallback(a=>{a&&!0===s.current&&(x(),w?.(),s.current=!1)},[x,w]);return(0,b.jsx)(av,{scope:e,contentWrapper:j,shouldExpandOnScrollRef:q,onScrollButtonChange:A,children:(0,b.jsx)("div",{ref:k,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:y},children:(0,b.jsx)(r.Primitive.div,{...g,ref:o,style:{boxSizing:"border-box",maxHeight:"100%",...g.style}})})})});at.displayName="SelectItemAlignedPosition";var au=c.forwardRef((a,c)=>{let{__scopeSelect:d,align:e="start",collisionPadding:f=10,...g}=a,h=ab(d);return(0,b.jsx)(N.Content,{...h,...g,ref:c,align:e,collisionPadding:f,style:{boxSizing:"border-box",...g.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});au.displayName="SelectPopperPosition";var[av,aw]=_(an,{}),ax="SelectViewport",ay=c.forwardRef((a,d)=>{let{__scopeSelect:e,nonce:f,...g}=a,h=aq(ax,e),i=aw(ax,e),j=(0,m.useComposedRefs)(d,h.onViewportChange),k=c.useRef(0);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:f}),(0,b.jsx)(Y.Slot,{scope:e,children:(0,b.jsx)(r.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...g,ref:j,style:{position:"relative",flex:1,overflow:"hidden auto",...g.style},onScroll:(0,l.composeEventHandlers)(g.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=i;if(d?.current&&c){let a=Math.abs(k.current-b.scrollTop);if(a>0){let d=window.innerHeight-20,e=Math.max(parseFloat(c.style.minHeight),parseFloat(c.style.height));if(e<d){let f=e+a,g=Math.min(d,f),h=f-g;c.style.height=g+"px","0px"===c.style.bottom&&(b.scrollTop=h>0?h:0,c.style.justifyContent="flex-end")}}}k.current=b.scrollTop})})})]})});ay.displayName=ax;var az="SelectGroup",[aA,aB]=_(az),aC=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=(0,M.useId)();return(0,b.jsx)(aA,{scope:d,id:f,children:(0,b.jsx)(r.Primitive.div,{role:"group","aria-labelledby":f,...e,ref:c})})});aC.displayName=az;var aD="SelectLabel",aE=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=aB(aD,d);return(0,b.jsx)(r.Primitive.div,{id:f.id,...e,ref:c})});aE.displayName=aD;var aF="SelectItem",[aG,aH]=_(aF),aI=c.forwardRef((a,d)=>{let{__scopeSelect:e,value:f,disabled:g=!1,textValue:h,...i}=a,j=ad(aF,e),k=aq(aF,e),n=j.value===f,[o,p]=c.useState(h??""),[q,s]=c.useState(!1),t=(0,m.useComposedRefs)(d,a=>k.itemRefCallback?.(a,f,g)),u=(0,M.useId)(),v=c.useRef("touch"),w=()=>{g||(j.onValueChange(f),j.onOpenChange(!1))};if(""===f)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,b.jsx)(aG,{scope:e,value:f,disabled:g,textId:u,isSelected:n,onItemTextChange:c.useCallback(a=>{p(b=>b||(a?.textContent??"").trim())},[]),children:(0,b.jsx)(Y.ItemSlot,{scope:e,value:f,disabled:g,textValue:o,children:(0,b.jsx)(r.Primitive.div,{role:"option","aria-labelledby":u,"data-highlighted":q?"":void 0,"aria-selected":n&&q,"data-state":n?"checked":"unchecked","aria-disabled":g||void 0,"data-disabled":g?"":void 0,tabIndex:g?void 0:-1,...i,ref:t,onFocus:(0,l.composeEventHandlers)(i.onFocus,()=>s(!0)),onBlur:(0,l.composeEventHandlers)(i.onBlur,()=>s(!1)),onClick:(0,l.composeEventHandlers)(i.onClick,()=>{"mouse"!==v.current&&w()}),onPointerUp:(0,l.composeEventHandlers)(i.onPointerUp,()=>{"mouse"===v.current&&w()}),onPointerDown:(0,l.composeEventHandlers)(i.onPointerDown,a=>{v.current=a.pointerType}),onPointerMove:(0,l.composeEventHandlers)(i.onPointerMove,a=>{v.current=a.pointerType,g?k.onItemLeave?.():"mouse"===v.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,l.composeEventHandlers)(i.onPointerLeave,a=>{a.currentTarget===document.activeElement&&k.onItemLeave?.()}),onKeyDown:(0,l.composeEventHandlers)(i.onKeyDown,a=>{(k.searchRef?.current===""||" "!==a.key)&&(W.includes(a.key)&&w()," "===a.key&&a.preventDefault())})})})})});aI.displayName=aF;var aJ="SelectItemText",aK=c.forwardRef((a,d)=>{let{__scopeSelect:e,className:f,style:g,...h}=a,i=ad(aJ,e),j=aq(aJ,e),k=aH(aJ,e),l=af(aJ,e),[n,o]=c.useState(null),p=(0,m.useComposedRefs)(d,a=>o(a),k.onItemTextChange,a=>j.itemTextRefCallback?.(a,k.value,k.disabled)),q=n?.textContent,s=c.useMemo(()=>(0,b.jsx)("option",{value:k.value,disabled:k.disabled,children:q},k.value),[k.disabled,k.value,q]),{onNativeOptionAdd:t,onNativeOptionRemove:u}=l;return(0,R.useLayoutEffect)(()=>(t(s),()=>u(s)),[t,u,s]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(r.Primitive.span,{id:k.textId,...h,ref:p}),k.isSelected&&i.valueNode&&!i.valueNodeHasChildren?F.createPortal(h.children,i.valueNode):null]})});aK.displayName=aJ;var aL="SelectItemIndicator",aM=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return aH(aL,d).isSelected?(0,b.jsx)(r.Primitive.span,{"aria-hidden":!0,...e,ref:c}):null});aM.displayName=aL;var aN="SelectScrollUpButton",aO=c.forwardRef((a,d)=>{let e=aq(aN,a.__scopeSelect),f=aw(aN,a.__scopeSelect),[g,h]=c.useState(!1),i=(0,m.useComposedRefs)(d,f.onScrollButtonChange);return(0,R.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){h(b.scrollTop>0)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(aR,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null});aO.displayName=aN;var aP="SelectScrollDownButton",aQ=c.forwardRef((a,d)=>{let e=aq(aP,a.__scopeSelect),f=aw(aP,a.__scopeSelect),[g,h]=c.useState(!1),i=(0,m.useComposedRefs)(d,f.onScrollButtonChange);return(0,R.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;h(Math.ceil(b.scrollTop)<a)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(aR,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null});aQ.displayName=aP;var aR=c.forwardRef((a,d)=>{let{__scopeSelect:e,onAutoScroll:f,...g}=a,h=aq("SelectScrollButton",e),i=c.useRef(null),j=Z(e),k=c.useCallback(()=>{null!==i.current&&(window.clearInterval(i.current),i.current=null)},[]);return c.useEffect(()=>()=>k(),[k]),(0,R.useLayoutEffect)(()=>{let a=j().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[j]),(0,b.jsx)(r.Primitive.div,{"aria-hidden":!0,...g,ref:d,style:{flexShrink:0,...g.style},onPointerDown:(0,l.composeEventHandlers)(g.onPointerDown,()=>{null===i.current&&(i.current=window.setInterval(f,50))}),onPointerMove:(0,l.composeEventHandlers)(g.onPointerMove,()=>{h.onItemLeave?.(),null===i.current&&(i.current=window.setInterval(f,50))}),onPointerLeave:(0,l.composeEventHandlers)(g.onPointerLeave,()=>{k()})})}),aS=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return(0,b.jsx)(r.Primitive.div,{"aria-hidden":!0,...e,ref:c})});aS.displayName="SelectSeparator";var aT="SelectArrow",aU=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=ab(d),g=ad(aT,d),h=aq(aT,d);return g.open&&"popper"===h.position?(0,b.jsx)(N.Arrow,{...f,...e,ref:c}):null});aU.displayName=aT;var aV=c.forwardRef(({__scopeSelect:a,value:d,...e},f)=>{let g=c.useRef(null),h=(0,m.useComposedRefs)(f,g),i=(0,p.usePrevious)(d);return c.useEffect(()=>{let a=g.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(i!==d&&b){let c=new Event("change",{bubbles:!0});b.call(a,d),a.dispatchEvent(c)}},[i,d]),(0,b.jsx)(r.Primitive.select,{...e,style:{...S.VISUALLY_HIDDEN_STYLES,...e.style},ref:h,defaultValue:d})});function aW(a){return""===a||void 0===a}function aX(a){let b=(0,Q.useCallbackRef)(a),d=c.useRef(""),e=c.useRef(0),f=c.useCallback(a=>{let c=d.current+a;b(c),function a(b){d.current=b,window.clearTimeout(e.current),""!==b&&(e.current=window.setTimeout(()=>a(""),1e3))}(c)},[b]),g=c.useCallback(()=>{d.current="",window.clearTimeout(e.current)},[]);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),[d,f,g]}function aY(a,b,c){var d,e;let f=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,g=c?a.indexOf(c):-1,h=(d=a,e=Math.max(g,0),d.map((a,b)=>d[(e+b)%d.length]));1===f.length&&(h=h.filter(a=>a!==c));let i=h.find(a=>a.textValue.toLowerCase().startsWith(f.toLowerCase()));return i!==c?i:void 0}aV.displayName="SelectBubbleInput",a.s(["Arrow",()=>aU,"Content",()=>ao,"Group",()=>aC,"Icon",()=>al,"Item",()=>aI,"ItemIndicator",()=>aM,"ItemText",()=>aK,"Label",()=>aE,"Portal",()=>am,"Root",()=>ag,"ScrollDownButton",()=>aQ,"ScrollUpButton",()=>aO,"Select",()=>ag,"SelectArrow",()=>aU,"SelectContent",()=>ao,"SelectGroup",()=>aC,"SelectIcon",()=>al,"SelectItem",()=>aI,"SelectItemIndicator",()=>aM,"SelectItemText",()=>aK,"SelectLabel",()=>aE,"SelectPortal",()=>am,"SelectScrollDownButton",()=>aQ,"SelectScrollUpButton",()=>aO,"SelectSeparator",()=>aS,"SelectTrigger",()=>ai,"SelectValue",()=>ak,"SelectViewport",()=>ay,"Separator",()=>aS,"Trigger",()=>ai,"Value",()=>ak,"Viewport",()=>ay,"createSelectScope",()=>aa],16252);var aZ=a.i(16252),aZ=aZ,a$=a.i(71716);let a_=(0,d.default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),a0=aZ.Root;aZ.Group;let a1=aZ.Value,a2=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(aZ.Trigger,{ref:e,className:(0,D.cn)("border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...d,children:[c,(0,b.jsx)(aZ.Icon,{asChild:!0,children:(0,b.jsx)(a$.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));a2.displayName=aZ.Trigger.displayName;let a3=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aZ.ScrollUpButton,{ref:d,className:(0,D.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(a_,{className:"h-4 w-4"})}));a3.displayName=aZ.ScrollUpButton.displayName;let a4=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aZ.ScrollDownButton,{ref:d,className:(0,D.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(a$.ChevronDown,{className:"h-4 w-4"})}));a4.displayName=aZ.ScrollDownButton.displayName;let a5=c.forwardRef(({className:a,children:c,position:d="popper",...e},f)=>(0,b.jsx)(aZ.Portal,{children:(0,b.jsxs)(aZ.Content,{ref:f,className:(0,D.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md","popper"===d&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:d,...e,children:[(0,b.jsx)(a3,{}),(0,b.jsx)(aZ.Viewport,{className:(0,D.cn)("p-1","popper"===d&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:c}),(0,b.jsx)(a4,{})]})}));a5.displayName=aZ.Content.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aZ.Label,{ref:d,className:(0,D.cn)("px-2 py-1.5 text-sm font-semibold",a),...c})).displayName=aZ.Label.displayName;let a6=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(aZ.Item,{ref:e,className:(0,D.cn)("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-8 pl-2 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...d,children:[(0,b.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(aZ.ItemIndicator,{children:(0,b.jsx)(g.Check,{className:"h-4 w-4"})})}),(0,b.jsx)(aZ.ItemText,{children:c})]}));a6.displayName=aZ.Item.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aZ.Separator,{ref:d,className:(0,D.cn)("bg-muted -mx-1 my-1 h-px",a),...c})).displayName=aZ.Separator.displayName;var a7=a.i(25674);let a8=(0,a7.createServerReference)("40658e8038eeecb73bef42bf904523cd346938d92c",a7.callServer,void 0,a7.findSourceMapURL,"updateSettingsAction");var a9=a.i(46847),ba=a.i(17606),bb=a.i(61640),bc=a.i(40617),bc=bc,bd=a.i(87926);function be(a){return(0,b.jsx)(bc.default,{className:(0,D.cn)("h-4 w-4",a.className),...a})}function bf({className:a}){return(0,b.jsx)(bb.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,D.cn)("rounded-sm object-contain",a)})}function bg({className:a}){return(0,b.jsx)(bb.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,D.cn)("rounded-sm object-contain",a)})}function bh({className:a}){return(0,b.jsx)(bb.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,D.cn)("rounded-sm object-contain",a)})}function bi({className:a}){return(0,b.jsx)(bb.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,D.cn)("rounded-sm object-contain",a)})}function bj({className:a,...c}){return(0,b.jsx)(bd.Rocket,{className:(0,D.cn)("h-4 w-4",a),...c})}bf.displayName="VsCodeIcon",bg.displayName="CursorEditorIcon",bh.displayName="WindsurfIcon",bi.displayName="ZedIcon",bj.displayName="AntigravityIcon";let bk={vscode:bf,cursor:bg,windsurf:bh,zed:bi,antigravity:bj},bl=[{value:a9.AgentType.ClaudeCode,label:"Claude Code"},{value:a9.AgentType.Cursor,label:"Cursor"},{value:a9.AgentType.GeminiCli,label:"Gemini CLI"},{value:a9.AgentType.Aider,label:"Aider"},{value:a9.AgentType.Continue,label:"Continue"},{value:a9.AgentType.Dev,label:"Dev"}],bm=[{value:a9.AgentAuthMethod.Session,label:"Session"},{value:a9.AgentAuthMethod.Token,label:"Token"}],bn=[{value:a9.EditorType.VsCode,label:"VS Code"},{value:a9.EditorType.Cursor,label:"Cursor"},{value:a9.EditorType.Windsurf,label:"Windsurf"},{value:a9.EditorType.Zed,label:"Zed"},{value:a9.EditorType.Antigravity,label:"Antigravity"}];function bo({label:a,htmlFor:c,children:d}){return(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-3 last:border-b-0",children:[(0,b.jsx)(i.Label,{htmlFor:c,className:"text-sm font-normal whitespace-nowrap",children:a}),(0,b.jsx)("div",{className:"flex items-center gap-2",children:d})]})}function bp({label:a,id:c,testId:d,value:e,options:f,onChange:g}){return(0,b.jsx)(bo,{label:a,htmlFor:c,children:(0,b.jsxs)(a0,{value:e,onValueChange:g,children:[(0,b.jsx)(a2,{id:c,"data-testid":d,className:"w-45",children:(0,b.jsx)(a1,{})}),(0,b.jsx)(a5,{children:f.map(a=>(0,b.jsx)(a6,{value:a.value,children:a.label},a.value))})]})})}function bq({label:a,id:c,testId:d,checked:e,onChange:f}){return(0,b.jsx)(bo,{label:a,htmlFor:c,children:(0,b.jsx)(E,{id:c,"data-testid":d,checked:e,onCheckedChange:f})})}function br({settings:a,shepHome:d,dbFileSize:i}){let{isPending:l,showSaved:m,save:n}=function(){let[a,b]=(0,c.useTransition)(),[d,e]=(0,c.useState)(!1),f=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{if(f.current&&!a){e(!0);let a=setTimeout(()=>e(!1),2e3);return()=>clearTimeout(a)}f.current=a},[a]),{isPending:a,showSaved:d,save:(0,c.useCallback)(a=>{b(async()=>{let b=await a8(a);b.success||h.toast.error(b.error??"Failed to save settings")})},[b])}}(),o=a.featureFlags??{skills:!1,envDeploy:!1,debug:!1},[p,q]=(0,c.useState)(a.agent.type),[r,s]=(0,c.useState)(a.agent.authMethod),[t,u]=(0,c.useState)(a.agent.token??""),[v,w]=(0,c.useState)(!1),[x,y]=(0,c.useState)(a.environment.defaultEditor),z=a.environment.shellPreference,[A,B]=(0,c.useState)(a.workflow.openPrOnImplementationComplete),[C,D]=(0,c.useState)(a.workflow.approvalGateDefaults.pushOnImplementationComplete),[E,F]=(0,c.useState)(a.workflow.approvalGateDefaults.allowPrd),[G,H]=(0,c.useState)(a.workflow.approvalGateDefaults.allowPlan),[I,J]=(0,c.useState)(a.workflow.approvalGateDefaults.allowMerge),[K,L]=(0,c.useState)(null!=a.workflow.ciMaxFixAttempts?String(a.workflow.ciMaxFixAttempts):""),[M,N]=(0,c.useState)(null!=a.workflow.ciWatchTimeoutMs?String(Math.round(a.workflow.ciWatchTimeoutMs/1e3)):""),[O,P]=(0,c.useState)(null!=a.workflow.ciLogMaxChars?String(a.workflow.ciLogMaxChars):""),[Q,R]=(0,c.useState)(a.notifications.inApp.enabled),[S,T]=(0,c.useState)(a.notifications.browser.enabled),[U,V]=(0,c.useState)(a.notifications.desktop.enabled),[W,X]=(0,c.useState)({...a.notifications.events}),[Y,Z]=(0,c.useState)({...o}),$=null!=a.workflow.ciMaxFixAttempts?String(a.workflow.ciMaxFixAttempts):"",_=null!=a.workflow.ciWatchTimeoutMs?String(Math.round(a.workflow.ciWatchTimeoutMs/1e3)):"",aa=null!=a.workflow.ciLogMaxChars?String(a.workflow.ciLogMaxChars):"";function ab(a){if(""===a)return;let b=parseInt(a,10);return Number.isNaN(b)||b<=0?void 0:b}function ac(a={}){let b={type:p,authMethod:r,...a},c={type:b.type,authMethod:b.authMethod};return b.authMethod===a9.AgentAuthMethod.Token&&(c.token=a.token??t),{agent:c}}function ad(a={}){let b=ab(a.ciTimeout??M);return{workflow:{openPrOnImplementationComplete:a.openPr??A,approvalGateDefaults:{pushOnImplementationComplete:a.pushOnComplete??C,allowPrd:a.allowPrd??E,allowPlan:a.allowPlan??G,allowMerge:a.allowMerge??I},ciMaxFixAttempts:ab(a.ciMaxFix??K),ciWatchTimeoutMs:null!=b?1e3*b:void 0,ciLogMaxChars:ab(a.ciLogMax??O)}}}function ae(a={}){return{notifications:{inApp:{enabled:a.inApp??Q},browser:{enabled:a.browser??S},desktop:{enabled:a.desktop??U},events:a.events??W}}}return(0,b.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-lg",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b pb-3",children:[(0,b.jsx)("h1",{className:"text-lg font-semibold tracking-tight",children:"Settings"}),l?(0,b.jsx)("span",{className:"text-muted-foreground text-xs",children:"Saving..."}):null,m&&!l?(0,b.jsxs)("span",{className:"flex items-center gap-1 text-xs text-green-600",children:[(0,b.jsx)(g.Check,{className:"h-3 w-3"}),"Saved"]}):null]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"agent-settings-section",children:"Agent"}),(0,b.jsx)(bo,{label:"Agent",htmlFor:"agent-type",children:(0,b.jsxs)(a0,{value:p,onValueChange:a=>{q(a),n(ac({type:a}))},children:[(0,b.jsx)(a2,{id:"agent-type","data-testid":"agent-type-select",className:"w-45",children:(0,b.jsx)(a1,{})}),(0,b.jsx)(a5,{children:bl.map(a=>{let c=(0,ba.getAgentTypeIcon)(a.value);return(0,b.jsx)(a6,{value:a.value,children:(0,b.jsxs)("span",{className:"flex items-center gap-2",children:[(0,b.jsx)(c,{className:"h-4 w-4 shrink-0"}),a.label]})},a.value)})})]})}),(0,b.jsx)(bp,{label:"Authentication",id:"auth-method",testId:"auth-method-select",value:r,options:bm,onChange:a=>{s(a),n(ac({authMethod:a}))}}),r===a9.AgentAuthMethod.Token&&(0,b.jsx)(bo,{label:"API Token",htmlFor:"agent-token",children:(0,b.jsxs)("div",{className:"relative w-45",children:[(0,b.jsx)(j.Input,{id:"agent-token","data-testid":"agent-token-input",type:v?"text":"password",value:t,onChange:a=>u(a.target.value),onBlur:()=>{t!==(a.agent.token??"")&&n(ac({token:t}))},placeholder:"Enter token",className:"pr-8"}),(0,b.jsx)(k.Button,{type:"button",variant:"ghost",size:"sm",className:"absolute top-0 right-0 h-full px-2 hover:bg-transparent",onClick:()=>w(!v),"data-testid":"toggle-token-visibility","aria-label":v?"Hide token":"Show token",children:v?(0,b.jsx)(f,{className:"h-3 w-3"}):(0,b.jsx)(e,{className:"h-3 w-3"})})]})}),(0,b.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"environment-settings-section",children:"Environment"}),(0,b.jsx)(bo,{label:"Editor",htmlFor:"default-editor",children:(0,b.jsxs)(a0,{value:x,onValueChange:a=>{y(a),n({environment:{defaultEditor:a,shellPreference:z}})},children:[(0,b.jsx)(a2,{id:"default-editor","data-testid":"editor-select",className:"w-45",children:(0,b.jsx)(a1,{})}),(0,b.jsx)(a5,{children:bn.map(a=>{var c;let d=(c=a.value)&&c in bk?bk[c]:be;return(0,b.jsx)(a6,{value:a.value,children:(0,b.jsxs)("span",{className:"flex items-center gap-2",children:[(0,b.jsx)(d,{className:"h-4 w-4 shrink-0"}),a.label]})},a.value)})})]})}),(0,b.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"workflow-settings-section",children:"Workflow"}),(0,b.jsx)(bq,{label:"Open PR on complete",id:"open-pr",testId:"switch-open-pr",checked:A,onChange:a=>{B(a),n(ad({openPr:a}))}}),(0,b.jsx)(bq,{label:"Push on complete",id:"push-on-complete",testId:"switch-push-on-complete",checked:C,onChange:a=>{D(a),n(ad({pushOnComplete:a}))}}),(0,b.jsx)(bq,{label:"Auto-approve PRD",id:"allow-prd",testId:"switch-allow-prd",checked:E,onChange:a=>{F(a),n(ad({allowPrd:a}))}}),(0,b.jsx)(bq,{label:"Auto-approve Plan",id:"allow-plan",testId:"switch-allow-plan",checked:G,onChange:a=>{H(a),n(ad({allowPlan:a}))}}),(0,b.jsx)(bq,{label:"Auto-approve Merge",id:"allow-merge",testId:"switch-allow-merge",checked:I,onChange:a=>{J(a),n(ad({allowMerge:a}))}}),(0,b.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"ci-settings-section",children:"CI"}),(0,b.jsx)(bo,{label:"Max fix attempts",htmlFor:"ci-max-fix",children:(0,b.jsx)(j.Input,{id:"ci-max-fix","data-testid":"ci-max-fix-input",type:"text",inputMode:"numeric",pattern:"[0-9]*",placeholder:"3",value:K,onChange:a=>L(a.target.value),onBlur:()=>{K!==$&&n(ad({ciMaxFix:K}))},className:"w-20"})}),(0,b.jsx)(bo,{label:"Watch timeout (s)",htmlFor:"ci-timeout",children:(0,b.jsx)(j.Input,{id:"ci-timeout","data-testid":"ci-timeout-input",type:"text",inputMode:"numeric",pattern:"[0-9]*",placeholder:"300",value:M,onChange:a=>N(a.target.value),onBlur:()=>{M!==_&&n(ad({ciTimeout:M}))},className:"w-20"})}),(0,b.jsx)(bo,{label:"Max log chars",htmlFor:"ci-log-max",children:(0,b.jsx)(j.Input,{id:"ci-log-max","data-testid":"ci-log-max-input",type:"text",inputMode:"numeric",pattern:"[0-9]*",placeholder:"50000",value:O,onChange:a=>P(a.target.value),onBlur:()=>{O!==aa&&n(ad({ciLogMax:O}))},className:"w-20"})}),(0,b.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"notification-settings-section",children:"Notifications"}),(0,b.jsx)(bq,{label:"In-app",id:"notif-in-app",testId:"switch-in-app",checked:Q,onChange:a=>{R(a),n(ae({inApp:a}))}}),(0,b.jsx)(bq,{label:"Browser",id:"notif-browser",testId:"switch-browser",checked:S,onChange:a=>{T(a),n(ae({browser:a}))}}),(0,b.jsx)(bq,{label:"Desktop",id:"notif-desktop",testId:"switch-desktop",checked:U,onChange:a=>{V(a),n(ae({desktop:a}))}}),(0,b.jsx)(bq,{label:"Agent started",id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:W.agentStarted,onChange:a=>{let b={...W,agentStarted:a};X(b),n(ae({events:b}))}}),(0,b.jsx)(bq,{label:"Phase completed",id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:W.phaseCompleted,onChange:a=>{let b={...W,phaseCompleted:a};X(b),n(ae({events:b}))}}),(0,b.jsx)(bq,{label:"Waiting approval",id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:W.waitingApproval,onChange:a=>{let b={...W,waitingApproval:a};X(b),n(ae({events:b}))}}),(0,b.jsx)(bq,{label:"Agent completed",id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:W.agentCompleted,onChange:a=>{let b={...W,agentCompleted:a};X(b),n(ae({events:b}))}}),(0,b.jsx)(bq,{label:"Agent failed",id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:W.agentFailed,onChange:a=>{let b={...W,agentFailed:a};X(b),n(ae({events:b}))}}),(0,b.jsx)(bq,{label:"PR merged",id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:W.prMerged,onChange:a=>{let b={...W,prMerged:a};X(b),n(ae({events:b}))}}),(0,b.jsx)(bq,{label:"PR closed",id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:W.prClosed,onChange:a=>{let b={...W,prClosed:a};X(b),n(ae({events:b}))}}),(0,b.jsx)(bq,{label:"PR checks passed",id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:W.prChecksPassed,onChange:a=>{let b={...W,prChecksPassed:a};X(b),n(ae({events:b}))}}),(0,b.jsx)(bq,{label:"PR checks failed",id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:W.prChecksFailed,onChange:a=>{let b={...W,prChecksFailed:a};X(b),n(ae({events:b}))}}),(0,b.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"feature-flags-settings-section",children:"Feature Flags"}),(0,b.jsx)(bq,{label:"Skills",id:"flag-skills",testId:"switch-flag-skills",checked:Y.skills,onChange:a=>{let b={...Y,skills:a};Z(b),n({featureFlags:b})}}),(0,b.jsx)(bq,{label:"Deployments",id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:Y.envDeploy,onChange:a=>{let b={...Y,envDeploy:a};Z(b),n({featureFlags:b})}}),(0,b.jsx)(bq,{label:"Debug",id:"flag-debug",testId:"switch-flag-debug",checked:Y.debug,onChange:a=>{let b={...Y,debug:a};Z(b),n({featureFlags:b})}}),(0,b.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"database-settings-section",children:"Database"}),(0,b.jsx)(bo,{label:"Location",children:(0,b.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shep-home-path",children:d})}),(0,b.jsx)(bo,{label:"Size",children:(0,b.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:i})})]})]})}a.s(["SettingsPageClient",()=>br],79020)}];
1
+ module.exports=[79020,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(25700);let e=(0,d.default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),f=(0,d.default)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);var g=a.i(72016),h=a.i(52313),i=a.i(58860),j=a.i(90920),k=a.i(18948),l=a.i(96867),m=a.i(55690),n=a.i(48972),o=a.i(59653),p=a.i(63496),q=a.i(6175),r=a.i(7420),s=a.i(48939),t=a.i(58761),u=a.i(51473),v=a.i(59675),w=a.i(5472),x=a.i(75988),y=a.i(80930),z=a.i(66873),A=a.i(90986),B=a.i(79406),C=a.i(17329),D=a.i(61476),E=a.i(64005),F=a.i(50049),G=a.i(16164),H=a.i(45291),I=[" ","Enter","ArrowUp","ArrowDown"],J=[" ","Enter"],K="Select",[L,M,N]=(0,p.createCollection)(K),[O,P]=(0,r.createContextScope)(K,[N,x.createPopperScope]),Q=(0,x.createPopperScope)(),[R,S]=O(K),[T,U]=O(K),V=a=>{let{__scopeSelect:d,children:e,open:f,defaultOpen:g,onOpenChange:h,value:i,defaultValue:j,onValueChange:k,dir:l,name:m,autoComplete:n,disabled:o,required:p,form:q}=a,r=Q(d),[t,u]=c.useState(null),[v,y]=c.useState(null),[z,A]=c.useState(!1),B=(0,s.useDirection)(l),[D,E]=(0,C.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:K}),[F,G]=(0,C.useControllableState)({prop:i,defaultProp:j,onChange:k,caller:K}),H=c.useRef(null),I=!t||q||!!t.closest("form"),[J,M]=c.useState(new Set),N=Array.from(J).map(a=>a.props.value).join(";");return(0,b.jsx)(x.Root,{...r,children:(0,b.jsxs)(R,{required:p,scope:d,trigger:t,onTriggerChange:u,valueNode:v,onValueNodeChange:y,valueNodeHasChildren:z,onValueNodeHasChildrenChange:A,contentId:(0,w.useId)(),value:F,onValueChange:G,open:D,onOpenChange:E,dir:B,triggerPointerDownPosRef:H,disabled:o,children:[(0,b.jsx)(L.Provider,{scope:d,children:(0,b.jsx)(T,{scope:a.__scopeSelect,onNativeOptionAdd:c.useCallback(a=>{M(b=>new Set(b).add(a))},[]),onNativeOptionRemove:c.useCallback(a=>{M(b=>{let c=new Set(b);return c.delete(a),c})},[]),children:e})}),I?(0,b.jsxs)(aI,{"aria-hidden":!0,required:p,tabIndex:-1,name:m,autoComplete:n,value:F,onChange:a=>G(a.target.value),disabled:o,form:q,children:[void 0===F?(0,b.jsx)("option",{value:""}):null,Array.from(J)]},N):null]})})};V.displayName=K;var W="SelectTrigger",X=c.forwardRef((a,d)=>{let{__scopeSelect:e,disabled:f=!1,...g}=a,h=Q(e),i=S(W,e),j=i.disabled||f,k=(0,q.useComposedRefs)(d,i.onTriggerChange),l=M(e),m=c.useRef("touch"),[n,p,r]=aK(a=>{let b=l().filter(a=>!a.disabled),c=b.find(a=>a.value===i.value),d=aL(b,a,c);void 0!==d&&i.onValueChange(d.value)}),s=a=>{j||(i.onOpenChange(!0),r()),a&&(i.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,b.jsx)(x.Anchor,{asChild:!0,...h,children:(0,b.jsx)(z.Primitive.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:j,"data-disabled":j?"":void 0,"data-placeholder":aJ(i.value)?"":void 0,...g,ref:k,onClick:(0,o.composeEventHandlers)(g.onClick,a=>{a.currentTarget.focus(),"mouse"!==m.current&&s(a)}),onPointerDown:(0,o.composeEventHandlers)(g.onPointerDown,a=>{m.current=a.pointerType;let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),0===a.button&&!1===a.ctrlKey&&"mouse"===a.pointerType&&(s(a),a.preventDefault())}),onKeyDown:(0,o.composeEventHandlers)(g.onKeyDown,a=>{let b=""!==n.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||p(a.key),(!b||" "!==a.key)&&I.includes(a.key)&&(s(),a.preventDefault())})})})});X.displayName=W;var Y="SelectValue",Z=c.forwardRef((a,c)=>{let{__scopeSelect:d,className:e,style:f,children:g,placeholder:h="",...i}=a,j=S(Y,d),{onValueNodeHasChildrenChange:k}=j,l=void 0!==g,m=(0,q.useComposedRefs)(c,j.onValueNodeChange);return(0,D.useLayoutEffect)(()=>{k(l)},[k,l]),(0,b.jsx)(z.Primitive.span,{...i,ref:m,style:{pointerEvents:"none"},children:aJ(j.value)?(0,b.jsx)(b.Fragment,{children:h}):g})});Z.displayName=Y;var $=c.forwardRef((a,c)=>{let{__scopeSelect:d,children:e,...f}=a;return(0,b.jsx)(z.Primitive.span,{"aria-hidden":!0,...f,ref:c,children:e||"▼"})});$.displayName="SelectIcon";var _=a=>(0,b.jsx)(y.Portal,{asChild:!0,...a});_.displayName="SelectPortal";var aa="SelectContent",ab=c.forwardRef((a,d)=>{let e=S(aa,a.__scopeSelect),[f,g]=c.useState();return((0,D.useLayoutEffect)(()=>{g(new DocumentFragment)},[]),e.open)?(0,b.jsx)(af,{...a,ref:d}):f?m.createPortal((0,b.jsx)(ac,{scope:a.__scopeSelect,children:(0,b.jsx)(L.Slot,{scope:a.__scopeSelect,children:(0,b.jsx)("div",{children:a.children})})}),f):null});ab.displayName=aa;var[ac,ad]=O(aa),ae=(0,A.createSlot)("SelectContent.RemoveScroll"),af=c.forwardRef((a,d)=>{let{__scopeSelect:e,position:f="item-aligned",onCloseAutoFocus:g,onEscapeKeyDown:h,onPointerDownOutside:i,side:j,sideOffset:k,align:l,alignOffset:m,arrowPadding:n,collisionBoundary:p,collisionPadding:r,sticky:s,hideWhenDetached:w,avoidCollisions:x,...y}=a,z=S(aa,e),[A,B]=c.useState(null),[C,D]=c.useState(null),E=(0,q.useComposedRefs)(d,a=>B(a)),[F,I]=c.useState(null),[J,K]=c.useState(null),L=M(e),[N,O]=c.useState(!1),P=c.useRef(!1);c.useEffect(()=>{if(A)return(0,G.hideOthers)(A)},[A]),(0,u.useFocusGuards)();let Q=c.useCallback(a=>{let[b,...c]=L().map(a=>a.ref.current),[d]=c.slice(-1),e=document.activeElement;for(let c of a)if(c===e||(c?.scrollIntoView({block:"nearest"}),c===b&&C&&(C.scrollTop=0),c===d&&C&&(C.scrollTop=C.scrollHeight),c?.focus(),document.activeElement!==e))return},[L,C]),R=c.useCallback(()=>Q([F,A]),[Q,F,A]);c.useEffect(()=>{N&&R()},[N,R]);let{onOpenChange:T,triggerPointerDownPosRef:U}=z;c.useEffect(()=>{if(A){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(U.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(U.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():A.contains(c.target)||T(!1),document.removeEventListener("pointermove",b),U.current=null};return null!==U.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[A,T,U]),c.useEffect(()=>{let a=()=>T(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[T]);let[V,W]=aK(a=>{let b=L().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=aL(b,a,c);d&&setTimeout(()=>d.ref.current.focus())}),X=c.useCallback((a,b,c)=>{let d=!P.current&&!c;(void 0!==z.value&&z.value===b||d)&&(I(a),d&&(P.current=!0))},[z.value]),Y=c.useCallback(()=>A?.focus(),[A]),Z=c.useCallback((a,b,c)=>{let d=!P.current&&!c;(void 0!==z.value&&z.value===b||d)&&K(a)},[z.value]),$="popper"===f?ah:ag,_=$===ah?{side:j,sideOffset:k,align:l,alignOffset:m,arrowPadding:n,collisionBoundary:p,collisionPadding:r,sticky:s,hideWhenDetached:w,avoidCollisions:x}:{};return(0,b.jsx)(ac,{scope:e,content:A,viewport:C,onViewportChange:D,itemRefCallback:X,selectedItem:F,onItemLeave:Y,itemTextRefCallback:Z,focusSelectedItem:R,selectedItemText:J,position:f,isPositioned:N,searchRef:V,children:(0,b.jsx)(H.RemoveScroll,{as:ae,allowPinchZoom:!0,children:(0,b.jsx)(v.FocusScope,{asChild:!0,trapped:z.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:(0,o.composeEventHandlers)(g,a=>{z.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,b.jsx)(t.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:h,onPointerDownOutside:i,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>z.onOpenChange(!1),children:(0,b.jsx)($,{role:"listbox",id:z.contentId,"data-state":z.open?"open":"closed",dir:z.dir,onContextMenu:a=>a.preventDefault(),...y,..._,onPlaced:()=>O(!0),ref:E,style:{display:"flex",flexDirection:"column",outline:"none",...y.style},onKeyDown:(0,o.composeEventHandlers)(y.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||W(a.key),["ArrowUp","ArrowDown","Home","End"].includes(a.key)){let b=L().filter(a=>!a.disabled).map(a=>a.ref.current);if(["ArrowUp","End"].includes(a.key)&&(b=b.slice().reverse()),["ArrowUp","ArrowDown"].includes(a.key)){let c=a.target,d=b.indexOf(c);b=b.slice(d+1)}setTimeout(()=>Q(b)),a.preventDefault()}})})})})})})});af.displayName="SelectContentImpl";var ag=c.forwardRef((a,d)=>{let{__scopeSelect:e,onPlaced:f,...g}=a,h=S(aa,e),i=ad(aa,e),[j,k]=c.useState(null),[l,m]=c.useState(null),o=(0,q.useComposedRefs)(d,a=>m(a)),p=M(e),r=c.useRef(!1),s=c.useRef(!0),{viewport:t,selectedItem:u,selectedItemText:v,focusSelectedItem:w}=i,x=c.useCallback(()=>{if(h.trigger&&h.valueNode&&j&&l&&t&&u&&v){let a=h.trigger.getBoundingClientRect(),b=l.getBoundingClientRect(),c=h.valueNode.getBoundingClientRect(),d=v.getBoundingClientRect();if("rtl"!==h.dir){let e=d.left-b.left,f=c.left-e,g=a.left-f,h=a.width+g,i=Math.max(h,b.width),k=window.innerWidth-10,l=(0,n.clamp)(f,[10,Math.max(10,k-i)]);j.style.minWidth=h+"px",j.style.left=l+"px"}else{let e=b.right-d.right,f=window.innerWidth-c.right-e,g=window.innerWidth-a.right-f,h=a.width+g,i=Math.max(h,b.width),k=window.innerWidth-10,l=(0,n.clamp)(f,[10,Math.max(10,k-i)]);j.style.minWidth=h+"px",j.style.right=l+"px"}let e=p(),g=window.innerHeight-20,i=t.scrollHeight,k=window.getComputedStyle(l),m=parseInt(k.borderTopWidth,10),o=parseInt(k.paddingTop,10),q=parseInt(k.borderBottomWidth,10),s=m+o+i+parseInt(k.paddingBottom,10)+q,w=Math.min(5*u.offsetHeight,s),x=window.getComputedStyle(t),y=parseInt(x.paddingTop,10),z=parseInt(x.paddingBottom,10),A=a.top+a.height/2-10,B=u.offsetHeight/2,C=m+o+(u.offsetTop+B);if(C<=A){let a=e.length>0&&u===e[e.length-1].ref.current;j.style.bottom="0px";let b=Math.max(g-A,B+(a?z:0)+(l.clientHeight-t.offsetTop-t.offsetHeight)+q);j.style.height=C+b+"px"}else{let a=e.length>0&&u===e[0].ref.current;j.style.top="0px";let b=Math.max(A,m+t.offsetTop+(a?y:0)+B);j.style.height=b+(s-C)+"px",t.scrollTop=C-A+t.offsetTop}j.style.margin="10px 0",j.style.minHeight=w+"px",j.style.maxHeight=g+"px",f?.(),requestAnimationFrame(()=>r.current=!0)}},[p,h.trigger,h.valueNode,j,l,t,u,v,h.dir,f]);(0,D.useLayoutEffect)(()=>x(),[x]);let[y,A]=c.useState();(0,D.useLayoutEffect)(()=>{l&&A(window.getComputedStyle(l).zIndex)},[l]);let B=c.useCallback(a=>{a&&!0===s.current&&(x(),w?.(),s.current=!1)},[x,w]);return(0,b.jsx)(ai,{scope:e,contentWrapper:j,shouldExpandOnScrollRef:r,onScrollButtonChange:B,children:(0,b.jsx)("div",{ref:k,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:y},children:(0,b.jsx)(z.Primitive.div,{...g,ref:o,style:{boxSizing:"border-box",maxHeight:"100%",...g.style}})})})});ag.displayName="SelectItemAlignedPosition";var ah=c.forwardRef((a,c)=>{let{__scopeSelect:d,align:e="start",collisionPadding:f=10,...g}=a,h=Q(d);return(0,b.jsx)(x.Content,{...h,...g,ref:c,align:e,collisionPadding:f,style:{boxSizing:"border-box",...g.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ah.displayName="SelectPopperPosition";var[ai,aj]=O(aa,{}),ak="SelectViewport",al=c.forwardRef((a,d)=>{let{__scopeSelect:e,nonce:f,...g}=a,h=ad(ak,e),i=aj(ak,e),j=(0,q.useComposedRefs)(d,h.onViewportChange),k=c.useRef(0);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:f}),(0,b.jsx)(L.Slot,{scope:e,children:(0,b.jsx)(z.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...g,ref:j,style:{position:"relative",flex:1,overflow:"hidden auto",...g.style},onScroll:(0,o.composeEventHandlers)(g.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=i;if(d?.current&&c){let a=Math.abs(k.current-b.scrollTop);if(a>0){let d=window.innerHeight-20,e=Math.max(parseFloat(c.style.minHeight),parseFloat(c.style.height));if(e<d){let f=e+a,g=Math.min(d,f),h=f-g;c.style.height=g+"px","0px"===c.style.bottom&&(b.scrollTop=h>0?h:0,c.style.justifyContent="flex-end")}}}k.current=b.scrollTop})})})]})});al.displayName=ak;var am="SelectGroup",[an,ao]=O(am),ap=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=(0,w.useId)();return(0,b.jsx)(an,{scope:d,id:f,children:(0,b.jsx)(z.Primitive.div,{role:"group","aria-labelledby":f,...e,ref:c})})});ap.displayName=am;var aq="SelectLabel",ar=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=ao(aq,d);return(0,b.jsx)(z.Primitive.div,{id:f.id,...e,ref:c})});ar.displayName=aq;var as="SelectItem",[at,au]=O(as),av=c.forwardRef((a,d)=>{let{__scopeSelect:e,value:f,disabled:g=!1,textValue:h,...i}=a,j=S(as,e),k=ad(as,e),l=j.value===f,[m,n]=c.useState(h??""),[p,r]=c.useState(!1),s=(0,q.useComposedRefs)(d,a=>k.itemRefCallback?.(a,f,g)),t=(0,w.useId)(),u=c.useRef("touch"),v=()=>{g||(j.onValueChange(f),j.onOpenChange(!1))};if(""===f)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,b.jsx)(at,{scope:e,value:f,disabled:g,textId:t,isSelected:l,onItemTextChange:c.useCallback(a=>{n(b=>b||(a?.textContent??"").trim())},[]),children:(0,b.jsx)(L.ItemSlot,{scope:e,value:f,disabled:g,textValue:m,children:(0,b.jsx)(z.Primitive.div,{role:"option","aria-labelledby":t,"data-highlighted":p?"":void 0,"aria-selected":l&&p,"data-state":l?"checked":"unchecked","aria-disabled":g||void 0,"data-disabled":g?"":void 0,tabIndex:g?void 0:-1,...i,ref:s,onFocus:(0,o.composeEventHandlers)(i.onFocus,()=>r(!0)),onBlur:(0,o.composeEventHandlers)(i.onBlur,()=>r(!1)),onClick:(0,o.composeEventHandlers)(i.onClick,()=>{"mouse"!==u.current&&v()}),onPointerUp:(0,o.composeEventHandlers)(i.onPointerUp,()=>{"mouse"===u.current&&v()}),onPointerDown:(0,o.composeEventHandlers)(i.onPointerDown,a=>{u.current=a.pointerType}),onPointerMove:(0,o.composeEventHandlers)(i.onPointerMove,a=>{u.current=a.pointerType,g?k.onItemLeave?.():"mouse"===u.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,o.composeEventHandlers)(i.onPointerLeave,a=>{a.currentTarget===document.activeElement&&k.onItemLeave?.()}),onKeyDown:(0,o.composeEventHandlers)(i.onKeyDown,a=>{(k.searchRef?.current===""||" "!==a.key)&&(J.includes(a.key)&&v()," "===a.key&&a.preventDefault())})})})})});av.displayName=as;var aw="SelectItemText",ax=c.forwardRef((a,d)=>{let{__scopeSelect:e,className:f,style:g,...h}=a,i=S(aw,e),j=ad(aw,e),k=au(aw,e),l=U(aw,e),[n,o]=c.useState(null),p=(0,q.useComposedRefs)(d,a=>o(a),k.onItemTextChange,a=>j.itemTextRefCallback?.(a,k.value,k.disabled)),r=n?.textContent,s=c.useMemo(()=>(0,b.jsx)("option",{value:k.value,disabled:k.disabled,children:r},k.value),[k.disabled,k.value,r]),{onNativeOptionAdd:t,onNativeOptionRemove:u}=l;return(0,D.useLayoutEffect)(()=>(t(s),()=>u(s)),[t,u,s]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(z.Primitive.span,{id:k.textId,...h,ref:p}),k.isSelected&&i.valueNode&&!i.valueNodeHasChildren?m.createPortal(h.children,i.valueNode):null]})});ax.displayName=aw;var ay="SelectItemIndicator",az=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return au(ay,d).isSelected?(0,b.jsx)(z.Primitive.span,{"aria-hidden":!0,...e,ref:c}):null});az.displayName=ay;var aA="SelectScrollUpButton",aB=c.forwardRef((a,d)=>{let e=ad(aA,a.__scopeSelect),f=aj(aA,a.__scopeSelect),[g,h]=c.useState(!1),i=(0,q.useComposedRefs)(d,f.onScrollButtonChange);return(0,D.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){h(b.scrollTop>0)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(aE,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null});aB.displayName=aA;var aC="SelectScrollDownButton",aD=c.forwardRef((a,d)=>{let e=ad(aC,a.__scopeSelect),f=aj(aC,a.__scopeSelect),[g,h]=c.useState(!1),i=(0,q.useComposedRefs)(d,f.onScrollButtonChange);return(0,D.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;h(Math.ceil(b.scrollTop)<a)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(aE,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null});aD.displayName=aC;var aE=c.forwardRef((a,d)=>{let{__scopeSelect:e,onAutoScroll:f,...g}=a,h=ad("SelectScrollButton",e),i=c.useRef(null),j=M(e),k=c.useCallback(()=>{null!==i.current&&(window.clearInterval(i.current),i.current=null)},[]);return c.useEffect(()=>()=>k(),[k]),(0,D.useLayoutEffect)(()=>{let a=j().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[j]),(0,b.jsx)(z.Primitive.div,{"aria-hidden":!0,...g,ref:d,style:{flexShrink:0,...g.style},onPointerDown:(0,o.composeEventHandlers)(g.onPointerDown,()=>{null===i.current&&(i.current=window.setInterval(f,50))}),onPointerMove:(0,o.composeEventHandlers)(g.onPointerMove,()=>{h.onItemLeave?.(),null===i.current&&(i.current=window.setInterval(f,50))}),onPointerLeave:(0,o.composeEventHandlers)(g.onPointerLeave,()=>{k()})})}),aF=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return(0,b.jsx)(z.Primitive.div,{"aria-hidden":!0,...e,ref:c})});aF.displayName="SelectSeparator";var aG="SelectArrow",aH=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=Q(d),g=S(aG,d),h=ad(aG,d);return g.open&&"popper"===h.position?(0,b.jsx)(x.Arrow,{...f,...e,ref:c}):null});aH.displayName=aG;var aI=c.forwardRef(({__scopeSelect:a,value:d,...e},f)=>{let g=c.useRef(null),h=(0,q.useComposedRefs)(f,g),i=(0,E.usePrevious)(d);return c.useEffect(()=>{let a=g.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(i!==d&&b){let c=new Event("change",{bubbles:!0});b.call(a,d),a.dispatchEvent(c)}},[i,d]),(0,b.jsx)(z.Primitive.select,{...e,style:{...F.VISUALLY_HIDDEN_STYLES,...e.style},ref:h,defaultValue:d})});function aJ(a){return""===a||void 0===a}function aK(a){let b=(0,B.useCallbackRef)(a),d=c.useRef(""),e=c.useRef(0),f=c.useCallback(a=>{let c=d.current+a;b(c),function a(b){d.current=b,window.clearTimeout(e.current),""!==b&&(e.current=window.setTimeout(()=>a(""),1e3))}(c)},[b]),g=c.useCallback(()=>{d.current="",window.clearTimeout(e.current)},[]);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),[d,f,g]}function aL(a,b,c){var d,e;let f=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,g=c?a.indexOf(c):-1,h=(d=a,e=Math.max(g,0),d.map((a,b)=>d[(e+b)%d.length]));1===f.length&&(h=h.filter(a=>a!==c));let i=h.find(a=>a.textValue.toLowerCase().startsWith(f.toLowerCase()));return i!==c?i:void 0}aI.displayName="SelectBubbleInput",a.s(["Arrow",()=>aH,"Content",()=>ab,"Group",()=>ap,"Icon",()=>$,"Item",()=>av,"ItemIndicator",()=>az,"ItemText",()=>ax,"Label",()=>ar,"Portal",()=>_,"Root",()=>V,"ScrollDownButton",()=>aD,"ScrollUpButton",()=>aB,"Select",()=>V,"SelectArrow",()=>aH,"SelectContent",()=>ab,"SelectGroup",()=>ap,"SelectIcon",()=>$,"SelectItem",()=>av,"SelectItemIndicator",()=>az,"SelectItemText",()=>ax,"SelectLabel",()=>ar,"SelectPortal",()=>_,"SelectScrollDownButton",()=>aD,"SelectScrollUpButton",()=>aB,"SelectSeparator",()=>aF,"SelectTrigger",()=>X,"SelectValue",()=>Z,"SelectViewport",()=>al,"Separator",()=>aF,"Trigger",()=>X,"Value",()=>Z,"Viewport",()=>al,"createSelectScope",()=>P],16252);var aM=a.i(16252),aM=aM,aN=a.i(71716);let aO=(0,d.default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);var aP=a.i(85536);let aQ=aM.Root;aM.Group;let aR=aM.Value,aS=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(aM.Trigger,{ref:e,className:(0,aP.cn)("border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...d,children:[c,(0,b.jsx)(aM.Icon,{asChild:!0,children:(0,b.jsx)(aN.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));aS.displayName=aM.Trigger.displayName;let aT=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aM.ScrollUpButton,{ref:d,className:(0,aP.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aO,{className:"h-4 w-4"})}));aT.displayName=aM.ScrollUpButton.displayName;let aU=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aM.ScrollDownButton,{ref:d,className:(0,aP.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aN.ChevronDown,{className:"h-4 w-4"})}));aU.displayName=aM.ScrollDownButton.displayName;let aV=c.forwardRef(({className:a,children:c,position:d="popper",...e},f)=>(0,b.jsx)(aM.Portal,{children:(0,b.jsxs)(aM.Content,{ref:f,className:(0,aP.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md","popper"===d&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:d,...e,children:[(0,b.jsx)(aT,{}),(0,b.jsx)(aM.Viewport,{className:(0,aP.cn)("p-1","popper"===d&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:c}),(0,b.jsx)(aU,{})]})}));aV.displayName=aM.Content.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aM.Label,{ref:d,className:(0,aP.cn)("px-2 py-1.5 text-sm font-semibold",a),...c})).displayName=aM.Label.displayName;let aW=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(aM.Item,{ref:e,className:(0,aP.cn)("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-8 pl-2 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...d,children:[(0,b.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(aM.ItemIndicator,{children:(0,b.jsx)(g.Check,{className:"h-4 w-4"})})}),(0,b.jsx)(aM.ItemText,{children:c})]}));aW.displayName=aM.Item.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aM.Separator,{ref:d,className:(0,aP.cn)("bg-muted -mx-1 my-1 h-px",a),...c})).displayName=aM.Separator.displayName;var aX=a.i(25674);let aY=(0,aX.createServerReference)("40287c046a80d417b637c720c8f873dff3dbe5ebac",aX.callServer,void 0,aX.findSourceMapURL,"updateSettingsAction");var aZ=a.i(46847),a$=a.i(61640),a_=a.i(40617),a_=a_,a0=a.i(87926);function a1(a){return(0,b.jsx)(a_.default,{className:(0,aP.cn)("h-4 w-4",a.className),...a})}function a2({className:a}){return(0,b.jsx)(a$.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,aP.cn)("rounded-sm object-contain",a)})}function a3({className:a}){return(0,b.jsx)(a$.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,aP.cn)("rounded-sm object-contain",a)})}function a4({className:a}){return(0,b.jsx)(a$.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,aP.cn)("rounded-sm object-contain",a)})}function a5({className:a}){return(0,b.jsx)(a$.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,aP.cn)("rounded-sm object-contain",a)})}function a6({className:a,...c}){return(0,b.jsx)(a0.Rocket,{className:(0,aP.cn)("h-4 w-4",a),...c})}a2.displayName="VsCodeIcon",a3.displayName="CursorEditorIcon",a4.displayName="WindsurfIcon",a5.displayName="ZedIcon",a6.displayName="AntigravityIcon";let a7={vscode:a2,cursor:a3,windsurf:a4,zed:a5,antigravity:a6};var a8=a.i(61781);let a9=[{value:aZ.AgentAuthMethod.Session,label:"Session"},{value:aZ.AgentAuthMethod.Token,label:"Token"}],ba=[{value:aZ.EditorType.VsCode,label:"VS Code"},{value:aZ.EditorType.Cursor,label:"Cursor"},{value:aZ.EditorType.Windsurf,label:"Windsurf"},{value:aZ.EditorType.Zed,label:"Zed"},{value:aZ.EditorType.Antigravity,label:"Antigravity"}];function bb({label:a,htmlFor:c,children:d}){return(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-3 last:border-b-0",children:[(0,b.jsx)(i.Label,{htmlFor:c,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:a}),(0,b.jsx)("div",{className:"flex items-center gap-2",children:d})]})}function bc({label:a,id:c,testId:d,value:e,options:f,onChange:g}){return(0,b.jsx)(bb,{label:a,htmlFor:c,children:(0,b.jsxs)(aQ,{value:e,onValueChange:g,children:[(0,b.jsx)(aS,{id:c,"data-testid":d,className:"w-45 cursor-pointer",children:(0,b.jsx)(aR,{})}),(0,b.jsx)(aV,{children:f.map(a=>(0,b.jsx)(aW,{value:a.value,children:a.label},a.value))})]})})}function bd({label:a,id:c,testId:d,checked:e,onChange:f}){return(0,b.jsx)(bb,{label:a,htmlFor:c,children:(0,b.jsx)(l.Switch,{id:c,"data-testid":d,checked:e,onCheckedChange:f,className:"cursor-pointer"})})}function be({settings:a,shepHome:d,dbFileSize:i}){let{isPending:l,showSaved:m,save:n}=function(){let[a,b]=(0,c.useTransition)(),[d,e]=(0,c.useState)(!1),f=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{if(f.current&&!a){e(!0);let a=setTimeout(()=>e(!1),2e3);return()=>clearTimeout(a)}f.current=a},[a]),{isPending:a,showSaved:d,save:(0,c.useCallback)(a=>{b(async()=>{let b=await aY(a);b.success||h.toast.error(b.error??"Failed to save settings")})},[b])}}(),o=a.featureFlags??{skills:!1,envDeploy:!1,debug:!1},[p,q]=(0,c.useState)(a.agent.type),[r,s]=(0,c.useState)(a.agent.authMethod),[t,u]=(0,c.useState)(a.agent.token??""),[v,w]=(0,c.useState)(!1),[x,y]=(0,c.useState)(a.environment.defaultEditor),z=a.environment.shellPreference,[A,B]=(0,c.useState)(a.workflow.openPrOnImplementationComplete),[C,D]=(0,c.useState)(a.workflow.approvalGateDefaults.pushOnImplementationComplete),[E,F]=(0,c.useState)(a.workflow.approvalGateDefaults.allowPrd),[G,H]=(0,c.useState)(a.workflow.approvalGateDefaults.allowPlan),[I,J]=(0,c.useState)(a.workflow.approvalGateDefaults.allowMerge),[K,L]=(0,c.useState)(null!=a.workflow.ciMaxFixAttempts?String(a.workflow.ciMaxFixAttempts):""),[M,N]=(0,c.useState)(null!=a.workflow.ciWatchTimeoutMs?String(Math.round(a.workflow.ciWatchTimeoutMs/1e3)):""),[O,P]=(0,c.useState)(null!=a.workflow.ciLogMaxChars?String(a.workflow.ciLogMaxChars):""),[Q,R]=(0,c.useState)(a.notifications.inApp.enabled),[S,T]=(0,c.useState)(a.notifications.browser.enabled),[U,V]=(0,c.useState)(a.notifications.desktop.enabled),[W,X]=(0,c.useState)({...a.notifications.events}),[Y,Z]=(0,c.useState)({...o}),$=null!=a.workflow.ciMaxFixAttempts?String(a.workflow.ciMaxFixAttempts):"",_=null!=a.workflow.ciWatchTimeoutMs?String(Math.round(a.workflow.ciWatchTimeoutMs/1e3)):"",aa=null!=a.workflow.ciLogMaxChars?String(a.workflow.ciLogMaxChars):"";function ab(a){if(""===a)return;let b=parseInt(a,10);return Number.isNaN(b)||b<=0?void 0:b}function ac(a={}){let b={type:p,authMethod:r,...a},c={type:b.type,authMethod:b.authMethod};return b.authMethod===aZ.AgentAuthMethod.Token&&(c.token=a.token??t),{agent:c}}function ad(a={}){let b=ab(a.ciTimeout??M);return{workflow:{openPrOnImplementationComplete:a.openPr??A,approvalGateDefaults:{pushOnImplementationComplete:a.pushOnComplete??C,allowPrd:a.allowPrd??E,allowPlan:a.allowPlan??G,allowMerge:a.allowMerge??I},ciMaxFixAttempts:ab(a.ciMaxFix??K),ciWatchTimeoutMs:null!=b?1e3*b:void 0,ciLogMaxChars:ab(a.ciLogMax??O)}}}function ae(a={}){return{notifications:{inApp:{enabled:a.inApp??Q},browser:{enabled:a.browser??S},desktop:{enabled:a.desktop??U},events:a.events??W}}}return(0,b.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-lg",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b pb-3",children:[(0,b.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Settings"}),l?(0,b.jsx)("span",{className:"text-muted-foreground text-xs",children:"Saving..."}):null,m&&!l?(0,b.jsxs)("span",{className:"flex items-center gap-1 text-xs text-green-600",children:[(0,b.jsx)(g.Check,{className:"h-3 w-3"}),"Saved"]}):null]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"agent-settings-section",children:"Agent"}),(0,b.jsx)(bb,{label:"Agent & Model",htmlFor:"agent-model-picker",children:(0,b.jsx)(a8.AgentModelPicker,{initialAgentType:p,initialModel:a.models.default,mode:"settings",onAgentModelChange:a=>q(a),className:"w-45"})}),(0,b.jsx)(bc,{label:"Authentication",id:"auth-method",testId:"auth-method-select",value:r,options:a9,onChange:a=>{s(a),n(ac({authMethod:a}))}}),r===aZ.AgentAuthMethod.Token&&(0,b.jsx)(bb,{label:"API Token",htmlFor:"agent-token",children:(0,b.jsxs)("div",{className:"relative w-45",children:[(0,b.jsx)(j.Input,{id:"agent-token","data-testid":"agent-token-input",type:v?"text":"password",value:t,onChange:a=>u(a.target.value),onBlur:()=>{t!==(a.agent.token??"")&&n(ac({token:t}))},placeholder:"Enter token",className:"pr-8"}),(0,b.jsx)(k.Button,{type:"button",variant:"ghost",size:"sm",className:"absolute top-0 right-0 h-full px-2 hover:bg-transparent",onClick:()=>w(!v),"data-testid":"toggle-token-visibility","aria-label":v?"Hide token":"Show token",children:v?(0,b.jsx)(f,{className:"h-3 w-3"}):(0,b.jsx)(e,{className:"h-3 w-3"})})]})}),(0,b.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"environment-settings-section",children:"Environment"}),(0,b.jsx)(bb,{label:"Editor",htmlFor:"default-editor",children:(0,b.jsxs)(aQ,{value:x,onValueChange:a=>{y(a),n({environment:{defaultEditor:a,shellPreference:z}})},children:[(0,b.jsx)(aS,{id:"default-editor","data-testid":"editor-select",className:"w-45 cursor-pointer",children:(0,b.jsx)(aR,{})}),(0,b.jsx)(aV,{children:ba.map(a=>{var c;let d=(c=a.value)&&c in a7?a7[c]:a1;return(0,b.jsx)(aW,{value:a.value,children:(0,b.jsxs)("span",{className:"flex items-center gap-2",children:[(0,b.jsx)(d,{className:"h-4 w-4 shrink-0"}),a.label]})},a.value)})})]})}),(0,b.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"workflow-settings-section",children:"Workflow"}),(0,b.jsx)(bd,{label:"Open PR on complete",id:"open-pr",testId:"switch-open-pr",checked:A,onChange:a=>{B(a),n(ad({openPr:a}))}}),(0,b.jsx)(bd,{label:"Push on complete",id:"push-on-complete",testId:"switch-push-on-complete",checked:C,onChange:a=>{D(a),n(ad({pushOnComplete:a}))}}),(0,b.jsx)(bd,{label:"Auto-approve PRD",id:"allow-prd",testId:"switch-allow-prd",checked:E,onChange:a=>{F(a),n(ad({allowPrd:a}))}}),(0,b.jsx)(bd,{label:"Auto-approve Plan",id:"allow-plan",testId:"switch-allow-plan",checked:G,onChange:a=>{H(a),n(ad({allowPlan:a}))}}),(0,b.jsx)(bd,{label:"Auto-approve Merge",id:"allow-merge",testId:"switch-allow-merge",checked:I,onChange:a=>{J(a),n(ad({allowMerge:a}))}}),(0,b.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"ci-settings-section",children:"CI"}),(0,b.jsx)(bb,{label:"Max fix attempts",htmlFor:"ci-max-fix",children:(0,b.jsx)(j.Input,{id:"ci-max-fix","data-testid":"ci-max-fix-input",type:"text",inputMode:"numeric",pattern:"[0-9]*",placeholder:"3",value:K,onChange:a=>L(a.target.value),onBlur:()=>{K!==$&&n(ad({ciMaxFix:K}))},className:"w-20"})}),(0,b.jsx)(bb,{label:"Watch timeout (s)",htmlFor:"ci-timeout",children:(0,b.jsx)(j.Input,{id:"ci-timeout","data-testid":"ci-timeout-input",type:"text",inputMode:"numeric",pattern:"[0-9]*",placeholder:"300",value:M,onChange:a=>N(a.target.value),onBlur:()=>{M!==_&&n(ad({ciTimeout:M}))},className:"w-20"})}),(0,b.jsx)(bb,{label:"Max log chars",htmlFor:"ci-log-max",children:(0,b.jsx)(j.Input,{id:"ci-log-max","data-testid":"ci-log-max-input",type:"text",inputMode:"numeric",pattern:"[0-9]*",placeholder:"50000",value:O,onChange:a=>P(a.target.value),onBlur:()=>{O!==aa&&n(ad({ciLogMax:O}))},className:"w-20"})}),(0,b.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"notification-settings-section",children:"Notifications"}),(0,b.jsx)(bd,{label:"In-app",id:"notif-in-app",testId:"switch-in-app",checked:Q,onChange:a=>{R(a),n(ae({inApp:a}))}}),(0,b.jsx)(bd,{label:"Browser",id:"notif-browser",testId:"switch-browser",checked:S,onChange:a=>{T(a),n(ae({browser:a}))}}),(0,b.jsx)(bd,{label:"Desktop",id:"notif-desktop",testId:"switch-desktop",checked:U,onChange:a=>{V(a),n(ae({desktop:a}))}}),(0,b.jsx)(bd,{label:"Agent started",id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:W.agentStarted,onChange:a=>{let b={...W,agentStarted:a};X(b),n(ae({events:b}))}}),(0,b.jsx)(bd,{label:"Phase completed",id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:W.phaseCompleted,onChange:a=>{let b={...W,phaseCompleted:a};X(b),n(ae({events:b}))}}),(0,b.jsx)(bd,{label:"Waiting approval",id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:W.waitingApproval,onChange:a=>{let b={...W,waitingApproval:a};X(b),n(ae({events:b}))}}),(0,b.jsx)(bd,{label:"Agent completed",id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:W.agentCompleted,onChange:a=>{let b={...W,agentCompleted:a};X(b),n(ae({events:b}))}}),(0,b.jsx)(bd,{label:"Agent failed",id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:W.agentFailed,onChange:a=>{let b={...W,agentFailed:a};X(b),n(ae({events:b}))}}),(0,b.jsx)(bd,{label:"PR merged",id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:W.prMerged,onChange:a=>{let b={...W,prMerged:a};X(b),n(ae({events:b}))}}),(0,b.jsx)(bd,{label:"PR closed",id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:W.prClosed,onChange:a=>{let b={...W,prClosed:a};X(b),n(ae({events:b}))}}),(0,b.jsx)(bd,{label:"PR checks passed",id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:W.prChecksPassed,onChange:a=>{let b={...W,prChecksPassed:a};X(b),n(ae({events:b}))}}),(0,b.jsx)(bd,{label:"PR checks failed",id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:W.prChecksFailed,onChange:a=>{let b={...W,prChecksFailed:a};X(b),n(ae({events:b}))}}),(0,b.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"feature-flags-settings-section",children:"Feature Flags"}),(0,b.jsx)(bd,{label:"Skills",id:"flag-skills",testId:"switch-flag-skills",checked:Y.skills,onChange:a=>{let b={...Y,skills:a};Z(b),n({featureFlags:b})}}),(0,b.jsx)(bd,{label:"Deployments",id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:Y.envDeploy,onChange:a=>{let b={...Y,envDeploy:a};Z(b),n({featureFlags:b})}}),(0,b.jsx)(bd,{label:"Debug",id:"flag-debug",testId:"switch-flag-debug",checked:Y.debug,onChange:a=>{let b={...Y,debug:a};Z(b),n({featureFlags:b})}}),(0,b.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"database-settings-section",children:"Database"}),(0,b.jsx)(bb,{label:"Location",children:(0,b.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shep-home-path",children:d})}),(0,b.jsx)(bb,{label:"Size",children:(0,b.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:i})})]})]})}a.s(["SettingsPageClient",()=>be],79020)}];
2
2
 
3
3
  //# sourceMappingURL=b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[63496,a=>{"use strict";var b=a.i(96960),c=a.i(7420),d=a.i(6175),e=a.i(90986),f=a.i(10973);function g(a){let g=a+"CollectionProvider",[h,i]=(0,c.createContextScope)(g),[j,k]=h(g,{collectionRef:{current:null},itemMap:new Map}),l=a=>{let{scope:c,children:d}=a,e=b.default.useRef(null),g=b.default.useRef(new Map).current;return(0,f.jsx)(j,{scope:c,itemMap:g,collectionRef:e,children:d})};l.displayName=g;let m=a+"CollectionSlot",n=(0,e.createSlot)(m),o=b.default.forwardRef((a,b)=>{let{scope:c,children:e}=a,g=k(m,c),h=(0,d.useComposedRefs)(b,g.collectionRef);return(0,f.jsx)(n,{ref:h,children:e})});o.displayName=m;let p=a+"CollectionItemSlot",q="data-radix-collection-item",r=(0,e.createSlot)(p),s=b.default.forwardRef((a,c)=>{let{scope:e,children:g,...h}=a,i=b.default.useRef(null),j=(0,d.useComposedRefs)(c,i),l=k(p,e);return b.default.useEffect(()=>(l.itemMap.set(i,{ref:i,...h}),()=>void l.itemMap.delete(i))),(0,f.jsx)(r,{...{[q]:""},ref:j,children:g})});return s.displayName=p,[{Provider:l,Slot:o,ItemSlot:s},function(c){let d=k(a+"CollectionConsumer",c);return b.default.useCallback(()=>{let a=d.collectionRef.current;if(!a)return[];let b=Array.from(a.querySelectorAll(`[${q}]`));return Array.from(d.itemMap.values()).sort((a,c)=>b.indexOf(a.ref.current)-b.indexOf(c.ref.current))},[d.collectionRef,d.itemMap])},i]}var h=new WeakMap;function i(a,b){var c,d;let e,f,g;if("at"in Array.prototype)return Array.prototype.at.call(a,b);let h=(c=a,d=b,e=c.length,(g=(f=j(d))>=0?f:e+f)<0||g>=e?-1:g);return -1===h?void 0:a[h]}function j(a){return a!=a||0===a?0:Math.trunc(a)}(class a extends Map{#a;constructor(a){super(a),this.#a=[...super.keys()],h.set(this,!0)}set(a,b){return h.get(this)&&(this.has(a)?this.#a[this.#a.indexOf(a)]=a:this.#a.push(a)),super.set(a,b),this}insert(a,b,c){let d,e=this.has(b),f=this.#a.length,g=j(a),h=g>=0?g:f+g,i=h<0||h>=f?-1:h;if(i===this.size||e&&i===this.size-1||-1===i)return this.set(b,c),this;let k=this.size+ +!e;g<0&&h++;let l=[...this.#a],m=!1;for(let a=h;a<k;a++)if(h===a){let f=l[a];l[a]===b&&(f=l[a+1]),e&&this.delete(b),d=this.get(f),this.set(b,c)}else{m||l[a-1]!==b||(m=!0);let c=l[m?a:a-1],e=d;d=this.get(c),this.delete(c),this.set(c,e)}return this}with(b,c,d){let e=new a(this);return e.insert(b,c,d),e}before(a){let b=this.#a.indexOf(a)-1;if(!(b<0))return this.entryAt(b)}setBefore(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d,b,c)}after(a){let b=this.#a.indexOf(a);if(-1!==(b=-1===b||b===this.size-1?-1:b+1))return this.entryAt(b)}setAfter(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d+1,b,c)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#a=[],super.clear()}delete(a){let b=super.delete(a);return b&&this.#a.splice(this.#a.indexOf(a),1),b}deleteAt(a){let b=this.keyAt(a);return void 0!==b&&this.delete(b)}at(a){let b=i(this.#a,a);if(void 0!==b)return this.get(b)}entryAt(a){let b=i(this.#a,a);if(void 0!==b)return[b,this.get(b)]}indexOf(a){return this.#a.indexOf(a)}keyAt(a){return i(this.#a,a)}from(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.at(d)}keyFrom(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.keyAt(d)}find(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return d;c++}}findIndex(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return c;c++}return -1}filter(b,c){let d=[],e=0;for(let a of this)Reflect.apply(b,c,[a,e,this])&&d.push(a),e++;return new a(d)}map(b,c){let d=[],e=0;for(let a of this)d.push([a[0],Reflect.apply(b,c,[a,e,this])]),e++;return new a(d)}reduce(...a){let[b,c]=a,d=0,e=c??this.at(0);for(let c of this)e=0===d&&1===a.length?c:Reflect.apply(b,this,[e,c,d,this]),d++;return e}reduceRight(...a){let[b,c]=a,d=c??this.at(-1);for(let c=this.size-1;c>=0;c--){let e=this.at(c);d=c===this.size-1&&1===a.length?e:Reflect.apply(b,this,[d,e,c,this])}return d}toSorted(b){return new a([...this.entries()].sort(b))}toReversed(){let b=new a;for(let a=this.size-1;a>=0;a--){let c=this.keyAt(a),d=this.get(c);b.set(c,d)}return b}toSpliced(...b){let c=[...this.entries()];return c.splice(...b),new a(c)}slice(b,c){let d=new a,e=this.size-1;if(void 0===b)return d;b<0&&(b+=this.size),void 0!==c&&c>0&&(e=c-1);for(let a=b;a<=e;a++){let b=this.keyAt(a),c=this.get(b);d.set(b,c)}return d}every(a,b){let c=0;for(let d of this){if(!Reflect.apply(a,b,[d,c,this]))return!1;c++}return!0}some(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return!0;c++}return!1}}),a.s(["createCollection",()=>g])},87926,a=>{"use strict";let b=(0,a.i(25700).default)("rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]]);a.s(["Rocket",()=>b],87926)},72016,51969,a=>{"use strict";let b=(0,a.i(25700).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["default",()=>b],51969),a.s(["Check",()=>b],72016)},94132,a=>{"use strict";let b=(0,a.i(25700).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",()=>b],94132)},3410,a=>{"use strict";let b=(0,a.i(25700).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",()=>b],3410)},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)}];
2
+
3
+ //# sourceMappingURL=node_modules__pnpm_1fcecd3a._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[61402,76052,13008,74607,6542,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a,b){if(!a.trim())return{approved:!1,error:"Feature id is required"};try{let d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{approved:!1,error:"Feature not found"};if(!e.agentRunId)return{approved:!1,error:"Feature has no agent run"};let f=(0,c.resolve)("ApproveAgentRunUseCase"),g=await f.execute(e.agentRunId,b);if(!g.approved)return{approved:!1,error:g.reason};return{approved:!0}}catch(a){return{approved:!1,error:a instanceof Error?a.message:"Failed to approve feature"}}}async function f(a,b){if(!a.trim())return{rejected:!1,error:"Feature id is required"};if(!b.trim())return{rejected:!1,error:"Feedback is required"};try{let d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{rejected:!1,error:"Feature not found"};if(!e.agentRunId)return{rejected:!1,error:"Feature has no agent run"};let f=(0,c.resolve)("RejectAgentRunUseCase"),g=await f.execute(e.agentRunId,b);if(!g.rejected)return{rejected:!1,error:g.reason};return{rejected:!0,iteration:g.iteration,iterationWarning:g.iterationWarning}}catch(a){return{rejected:!1,error:a instanceof Error?a.message:"Failed to reject feature"}}}async function g(a){if(!a.trim())return{error:"Feature id is required"};try{let b=(0,c.resolve)("GetFeatureArtifactUseCase"),d=await b.execute(a),e={question:"Goal",context:d.oneLiner,questions:d.openQuestions.map((a,b)=>({id:`q-${b}`,question:a.question,type:"select",options:(a.options??[]).map((a,c)=>({id:`q-${b}-opt-${c}`,label:a.option,rationale:a.description,...a.selected?{recommended:!0}:{}}))})),finalAction:{id:"approve-reqs",label:"Approve Requirements",description:"Finalize and lock the requirements for implementation"}},f={question:"Goal",context:d.oneLiner,questions:d.openQuestions.filter(a=>a.resolved).map(a=>{let b=a.options?.find(a=>a.selected);return{question:a.question,selectedOption:b?.option??a.answer??"N/A",rationale:a.selectionRationale??b?.description??"",wasRecommended:!1}})};return{questionnaire:e,productDecisions:f,artifact:d}}catch(a){return{error:a instanceof Error?a.message:"Failed to load feature artifact"}}}async function h(a){if(!a.trim())return{error:"Feature id is required"};try{var b;let d=(0,c.resolve)("GetResearchArtifactUseCase");return{techDecisions:{name:(b=await d.execute(a)).name,summary:b.summary,decisions:b.decisions,technologies:b.technologies}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load research artifact"}}}async function i(a){if(!a.trim())return{error:"Feature id is required"};try{let b,d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{error:"Feature not found"};let f=e.pr?{url:e.pr.url,number:e.pr.number,status:e.pr.status,commitHash:e.pr.commitHash,ciStatus:e.pr.ciStatus}:void 0,g=e.branch?{source:e.branch,target:"main"}:void 0;try{let d=(0,c.resolve)("GetPlanArtifactUseCase");b=(await d.execute(a)).phases.map(({id:a,name:b,description:c})=>({id:a,name:b,description:c}))}catch{}if(!e.worktreePath)return{pr:f,branch:g,phases:b,warning:f?void 0:"No PR or diff data available"};try{let a=(0,c.resolve)("IGitPrService"),d=await a.getPrDiffSummary(e.worktreePath,"main");return{pr:f,branch:g,phases:b,diffSummary:d}}catch{return{pr:f,branch:g,phases:b,warning:"Diff statistics unavailable"}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load merge review data"}}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"60dbb7fb137db916a892e3338b24e4fbc56186b6de",null),a.s(["approveFeature",()=>e],61402),(0,d.ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"60635b608ac10d1be1360f05bc57668b5cd96d0aac",null),a.s(["rejectFeature",()=>f],76052),(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"40b1c4add1b6468189319164e834f086131400da68",null),a.s(["getFeatureArtifact",()=>g],13008),(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"407876311adafd13a84dfae444eb3010d6c7230f20",null),a.s(["getResearchArtifact",()=>h],74607),(0,d.ensureServerEntryExports)([i]),(0,b.registerServerReference)(i,"40c9b72aca72c43a0f5a880f1967f5b1389d8abaa3",null),a.s(["getMergeReviewData",()=>i],6542)},10015,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321),h=a.i(84095),i=a.i(56799),j=a.i(80496),k=a.i(50845),l=a.i(49560),m=a.i(39353),n=a.i(29207),o=a.i(31075),p=a.i(61402),q=a.i(76052),r=a.i(13008),s=a.i(74607),t=a.i(6542);a.s([],92354),a.i(92354),a.s(["00b8c11d0ce9276daaa9718975448d5ff12f160193",()=>b.pickFolder,"00f71de2194f75def95060b1b52bd1c56a6b1bc95e",()=>o.fetchGraphData,"401e0ca54ef33861e0bb62295fad67f8839554b4f2",()=>i.openShell,"402714b90eae89a5ee418ca0ee6dbca3ab55579215",()=>l.addRepository,"407876311adafd13a84dfae444eb3010d6c7230f20",()=>s.getResearchArtifact,"408fa8f7294a57bfefe8d93cd1f811d1534d586202",()=>j.openFolder,"4090f82b5ba909e2a77d3ced03f961700e2145280c",()=>d.deployFeature,"40949691f83c6c83cc85a94c4a540290e709184886",()=>n.getFeatureMetadata,"409fa099f85b06f070cd20f54277ad8a2ad1583460",()=>c.getDeploymentLogs,"40a8853799d8197e3dd1a51e9d4003a1ae1dc83001",()=>f.stopDeployment,"40acbe68352923ed06057bf385ee44ec92abf2c299",()=>g.getDeploymentStatus,"40b1c4add1b6468189319164e834f086131400da68",()=>r.getFeatureArtifact,"40bb0abd939856a03f7d8c372cdd5da272c7134f36",()=>k.deleteFeature,"40c9b72aca72c43a0f5a880f1967f5b1389d8abaa3",()=>t.getMergeReviewData,"40d6d376e8fd7146b393ce6edc1fe0e36049c2b717",()=>h.openIde,"40e2f9ff2fc798a9e5fd08a2c647e60ad485b81df9",()=>e.deployRepository,"40ed6d75c8da86b0c930a6e2b8adbb6255b89bc17e",()=>m.deleteRepository,"60635b608ac10d1be1360f05bc57668b5cd96d0aac",()=>q.rejectFeature,"60dbb7fb137db916a892e3338b24e4fbc56186b6de",()=>p.approveFeature],10015)}];
1
+ module.exports=[61402,76052,13008,74607,6542,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a,b){if(!a.trim())return{approved:!1,error:"Feature id is required"};try{let d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{approved:!1,error:"Feature not found"};if(!e.agentRunId)return{approved:!1,error:"Feature has no agent run"};let f=(0,c.resolve)("ApproveAgentRunUseCase"),g=await f.execute(e.agentRunId,b);if(!g.approved)return{approved:!1,error:g.reason};return{approved:!0}}catch(a){return{approved:!1,error:a instanceof Error?a.message:"Failed to approve feature"}}}async function f(a,b){if(!a.trim())return{rejected:!1,error:"Feature id is required"};if(!b.trim())return{rejected:!1,error:"Feedback is required"};try{let d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{rejected:!1,error:"Feature not found"};if(!e.agentRunId)return{rejected:!1,error:"Feature has no agent run"};let f=(0,c.resolve)("RejectAgentRunUseCase"),g=await f.execute(e.agentRunId,b);if(!g.rejected)return{rejected:!1,error:g.reason};return{rejected:!0,iteration:g.iteration,iterationWarning:g.iterationWarning}}catch(a){return{rejected:!1,error:a instanceof Error?a.message:"Failed to reject feature"}}}async function g(a){if(!a.trim())return{error:"Feature id is required"};try{let b=(0,c.resolve)("GetFeatureArtifactUseCase"),d=await b.execute(a),e={question:"Goal",context:d.oneLiner,questions:d.openQuestions.map((a,b)=>({id:`q-${b}`,question:a.question,type:"select",options:(a.options??[]).map((a,c)=>({id:`q-${b}-opt-${c}`,label:a.option,rationale:a.description,...a.selected?{recommended:!0}:{}}))})),finalAction:{id:"approve-reqs",label:"Approve Requirements",description:"Finalize and lock the requirements for implementation"}},f={question:"Goal",context:d.oneLiner,questions:d.openQuestions.filter(a=>a.resolved).map(a=>{let b=a.options?.find(a=>a.selected);return{question:a.question,selectedOption:b?.option??a.answer??"N/A",rationale:a.selectionRationale??b?.description??"",wasRecommended:!1}})};return{questionnaire:e,productDecisions:f,artifact:d}}catch(a){return{error:a instanceof Error?a.message:"Failed to load feature artifact"}}}async function h(a){if(!a.trim())return{error:"Feature id is required"};try{var b;let d=(0,c.resolve)("GetResearchArtifactUseCase");return{techDecisions:{name:(b=await d.execute(a)).name,summary:b.summary,decisions:b.decisions,technologies:b.technologies}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load research artifact"}}}async function i(a){if(!a.trim())return{error:"Feature id is required"};try{let b,d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{error:"Feature not found"};let f=e.pr?{url:e.pr.url,number:e.pr.number,status:e.pr.status,commitHash:e.pr.commitHash,ciStatus:e.pr.ciStatus}:void 0,g=e.branch?{source:e.branch,target:"main"}:void 0;try{let d=(0,c.resolve)("GetPlanArtifactUseCase");b=(await d.execute(a)).phases.map(({id:a,name:b,description:c})=>({id:a,name:b,description:c}))}catch{}if(!e.worktreePath)return{pr:f,branch:g,phases:b,warning:f?void 0:"No PR or diff data available"};try{let a=(0,c.resolve)("IGitPrService"),d=await a.getPrDiffSummary(e.worktreePath,"main");return{pr:f,branch:g,phases:b,diffSummary:d}}catch{return{pr:f,branch:g,phases:b,warning:"Diff statistics unavailable"}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load merge review data"}}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"60563f78b311a49ec2bb6e6cdee29cd0f5ea859bdd",null),a.s(["approveFeature",()=>e],61402),(0,d.ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"60baf8068fae140bae942c151fc3aede73ca650e16",null),a.s(["rejectFeature",()=>f],76052),(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"401203f8bdbf13501b44f43741dde4748da636270b",null),a.s(["getFeatureArtifact",()=>g],13008),(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"40c5684d95d58d53a4c8f7deb9aeefd16d74bd169d",null),a.s(["getResearchArtifact",()=>h],74607),(0,d.ensureServerEntryExports)([i]),(0,b.registerServerReference)(i,"40bd5c566d3ca3b0c099545d14864b0d06a01a65b8",null),a.s(["getMergeReviewData",()=>i],6542)},10015,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321),h=a.i(84095),i=a.i(56799),j=a.i(80496),k=a.i(50845),l=a.i(49560),m=a.i(39353),n=a.i(29207),o=a.i(31075),p=a.i(61402),q=a.i(76052),r=a.i(13008),s=a.i(74607),t=a.i(6542);a.s([],92354),a.i(92354),a.s(["0022ac175210a0cfbbf69c303aabe3ae390e155343",()=>b.pickFolder,"00768f05ee656ebef102740f3051fc2565fd9fbf06",()=>o.fetchGraphData,"401203f8bdbf13501b44f43741dde4748da636270b",()=>r.getFeatureArtifact,"402e0a881026006623ce41db77c0bf08e058598e23",()=>g.getDeploymentStatus,"402f155a3693c928a7d11c8c27cc354e95749e7326",()=>h.openIde,"403ddc98e79b6cc735b26114ab1e409bf9ce554356",()=>e.deployRepository,"405947aa155417086c1e7a7df626dc1c744edddd04",()=>c.getDeploymentLogs,"406cdad2da8aafd803bb024ef54f70cf52279b5b79",()=>k.deleteFeature,"4070d4725d5098f07d26196bc87bdc91eb229fd533",()=>d.deployFeature,"4078dc2c9f60f282d79609fbb0f5fa26be9310ba0b",()=>m.deleteRepository,"40b7490fe16e298ade16638f6933836e735a83f219",()=>j.openFolder,"40bd5c566d3ca3b0c099545d14864b0d06a01a65b8",()=>t.getMergeReviewData,"40c5684d95d58d53a4c8f7deb9aeefd16d74bd169d",()=>s.getResearchArtifact,"40d0fc329d73d03c147761f4a40ba18469eb543298",()=>i.openShell,"40d2c63f75c23abfebb8c2836d2030ff5651dbda00",()=>n.getFeatureMetadata,"40de19057ab66a80a7474fc63496c2fb220cddd9de",()=>l.addRepository,"40f546244c759d35ee72a63b2ff3fa48ac2bab82eb",()=>f.stopDeployment,"60563f78b311a49ec2bb6e6cdee29cd0f5ea859bdd",()=>p.approveFeature,"60baf8068fae140bae942c151fc3aede73ca650e16",()=>q.rejectFeature],10015)}];
2
2
 
3
3
  //# sourceMappingURL=src_presentation_web_30d7eeda._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[61402,76052,13008,74607,6542,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a,b){if(!a.trim())return{approved:!1,error:"Feature id is required"};try{let d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{approved:!1,error:"Feature not found"};if(!e.agentRunId)return{approved:!1,error:"Feature has no agent run"};let f=(0,c.resolve)("ApproveAgentRunUseCase"),g=await f.execute(e.agentRunId,b);if(!g.approved)return{approved:!1,error:g.reason};return{approved:!0}}catch(a){return{approved:!1,error:a instanceof Error?a.message:"Failed to approve feature"}}}async function f(a,b){if(!a.trim())return{rejected:!1,error:"Feature id is required"};if(!b.trim())return{rejected:!1,error:"Feedback is required"};try{let d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{rejected:!1,error:"Feature not found"};if(!e.agentRunId)return{rejected:!1,error:"Feature has no agent run"};let f=(0,c.resolve)("RejectAgentRunUseCase"),g=await f.execute(e.agentRunId,b);if(!g.rejected)return{rejected:!1,error:g.reason};return{rejected:!0,iteration:g.iteration,iterationWarning:g.iterationWarning}}catch(a){return{rejected:!1,error:a instanceof Error?a.message:"Failed to reject feature"}}}async function g(a){if(!a.trim())return{error:"Feature id is required"};try{let b=(0,c.resolve)("GetFeatureArtifactUseCase"),d=await b.execute(a),e={question:"Goal",context:d.oneLiner,questions:d.openQuestions.map((a,b)=>({id:`q-${b}`,question:a.question,type:"select",options:(a.options??[]).map((a,c)=>({id:`q-${b}-opt-${c}`,label:a.option,rationale:a.description,...a.selected?{recommended:!0}:{}}))})),finalAction:{id:"approve-reqs",label:"Approve Requirements",description:"Finalize and lock the requirements for implementation"}},f={question:"Goal",context:d.oneLiner,questions:d.openQuestions.filter(a=>a.resolved).map(a=>{let b=a.options?.find(a=>a.selected);return{question:a.question,selectedOption:b?.option??a.answer??"N/A",rationale:a.selectionRationale??b?.description??"",wasRecommended:!1}})};return{questionnaire:e,productDecisions:f,artifact:d}}catch(a){return{error:a instanceof Error?a.message:"Failed to load feature artifact"}}}async function h(a){if(!a.trim())return{error:"Feature id is required"};try{var b;let d=(0,c.resolve)("GetResearchArtifactUseCase");return{techDecisions:{name:(b=await d.execute(a)).name,summary:b.summary,decisions:b.decisions,technologies:b.technologies}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load research artifact"}}}async function i(a){if(!a.trim())return{error:"Feature id is required"};try{let b,d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{error:"Feature not found"};let f=e.pr?{url:e.pr.url,number:e.pr.number,status:e.pr.status,commitHash:e.pr.commitHash,ciStatus:e.pr.ciStatus}:void 0,g=e.branch?{source:e.branch,target:"main"}:void 0;try{let d=(0,c.resolve)("GetPlanArtifactUseCase");b=(await d.execute(a)).phases.map(({id:a,name:b,description:c})=>({id:a,name:b,description:c}))}catch{}if(!e.worktreePath)return{pr:f,branch:g,phases:b,warning:f?void 0:"No PR or diff data available"};try{let a=(0,c.resolve)("IGitPrService"),d=await a.getPrDiffSummary(e.worktreePath,"main");return{pr:f,branch:g,phases:b,diffSummary:d}}catch{return{pr:f,branch:g,phases:b,warning:"Diff statistics unavailable"}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load merge review data"}}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"60dbb7fb137db916a892e3338b24e4fbc56186b6de",null),a.s(["approveFeature",()=>e],61402),(0,d.ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"60635b608ac10d1be1360f05bc57668b5cd96d0aac",null),a.s(["rejectFeature",()=>f],76052),(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"40b1c4add1b6468189319164e834f086131400da68",null),a.s(["getFeatureArtifact",()=>g],13008),(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"407876311adafd13a84dfae444eb3010d6c7230f20",null),a.s(["getResearchArtifact",()=>h],74607),(0,d.ensureServerEntryExports)([i]),(0,b.registerServerReference)(i,"40c9b72aca72c43a0f5a880f1967f5b1389d8abaa3",null),a.s(["getMergeReviewData",()=>i],6542)},48839,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321),h=a.i(84095),i=a.i(56799),j=a.i(80496),k=a.i(50845),l=a.i(49560),m=a.i(39353),n=a.i(29207),o=a.i(31075),p=a.i(61402),q=a.i(76052),r=a.i(13008),s=a.i(74607),t=a.i(6542);a.s([],29653),a.i(29653),a.s(["00b8c11d0ce9276daaa9718975448d5ff12f160193",()=>b.pickFolder,"00f71de2194f75def95060b1b52bd1c56a6b1bc95e",()=>o.fetchGraphData,"401e0ca54ef33861e0bb62295fad67f8839554b4f2",()=>i.openShell,"402714b90eae89a5ee418ca0ee6dbca3ab55579215",()=>l.addRepository,"407876311adafd13a84dfae444eb3010d6c7230f20",()=>s.getResearchArtifact,"408fa8f7294a57bfefe8d93cd1f811d1534d586202",()=>j.openFolder,"4090f82b5ba909e2a77d3ced03f961700e2145280c",()=>d.deployFeature,"40949691f83c6c83cc85a94c4a540290e709184886",()=>n.getFeatureMetadata,"409fa099f85b06f070cd20f54277ad8a2ad1583460",()=>c.getDeploymentLogs,"40a8853799d8197e3dd1a51e9d4003a1ae1dc83001",()=>f.stopDeployment,"40acbe68352923ed06057bf385ee44ec92abf2c299",()=>g.getDeploymentStatus,"40b1c4add1b6468189319164e834f086131400da68",()=>r.getFeatureArtifact,"40bb0abd939856a03f7d8c372cdd5da272c7134f36",()=>k.deleteFeature,"40c9b72aca72c43a0f5a880f1967f5b1389d8abaa3",()=>t.getMergeReviewData,"40d6d376e8fd7146b393ce6edc1fe0e36049c2b717",()=>h.openIde,"40e2f9ff2fc798a9e5fd08a2c647e60ad485b81df9",()=>e.deployRepository,"40ed6d75c8da86b0c930a6e2b8adbb6255b89bc17e",()=>m.deleteRepository,"60635b608ac10d1be1360f05bc57668b5cd96d0aac",()=>q.rejectFeature,"60dbb7fb137db916a892e3338b24e4fbc56186b6de",()=>p.approveFeature],48839)}];
1
+ module.exports=[61402,76052,13008,74607,6542,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a,b){if(!a.trim())return{approved:!1,error:"Feature id is required"};try{let d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{approved:!1,error:"Feature not found"};if(!e.agentRunId)return{approved:!1,error:"Feature has no agent run"};let f=(0,c.resolve)("ApproveAgentRunUseCase"),g=await f.execute(e.agentRunId,b);if(!g.approved)return{approved:!1,error:g.reason};return{approved:!0}}catch(a){return{approved:!1,error:a instanceof Error?a.message:"Failed to approve feature"}}}async function f(a,b){if(!a.trim())return{rejected:!1,error:"Feature id is required"};if(!b.trim())return{rejected:!1,error:"Feedback is required"};try{let d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{rejected:!1,error:"Feature not found"};if(!e.agentRunId)return{rejected:!1,error:"Feature has no agent run"};let f=(0,c.resolve)("RejectAgentRunUseCase"),g=await f.execute(e.agentRunId,b);if(!g.rejected)return{rejected:!1,error:g.reason};return{rejected:!0,iteration:g.iteration,iterationWarning:g.iterationWarning}}catch(a){return{rejected:!1,error:a instanceof Error?a.message:"Failed to reject feature"}}}async function g(a){if(!a.trim())return{error:"Feature id is required"};try{let b=(0,c.resolve)("GetFeatureArtifactUseCase"),d=await b.execute(a),e={question:"Goal",context:d.oneLiner,questions:d.openQuestions.map((a,b)=>({id:`q-${b}`,question:a.question,type:"select",options:(a.options??[]).map((a,c)=>({id:`q-${b}-opt-${c}`,label:a.option,rationale:a.description,...a.selected?{recommended:!0}:{}}))})),finalAction:{id:"approve-reqs",label:"Approve Requirements",description:"Finalize and lock the requirements for implementation"}},f={question:"Goal",context:d.oneLiner,questions:d.openQuestions.filter(a=>a.resolved).map(a=>{let b=a.options?.find(a=>a.selected);return{question:a.question,selectedOption:b?.option??a.answer??"N/A",rationale:a.selectionRationale??b?.description??"",wasRecommended:!1}})};return{questionnaire:e,productDecisions:f,artifact:d}}catch(a){return{error:a instanceof Error?a.message:"Failed to load feature artifact"}}}async function h(a){if(!a.trim())return{error:"Feature id is required"};try{var b;let d=(0,c.resolve)("GetResearchArtifactUseCase");return{techDecisions:{name:(b=await d.execute(a)).name,summary:b.summary,decisions:b.decisions,technologies:b.technologies}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load research artifact"}}}async function i(a){if(!a.trim())return{error:"Feature id is required"};try{let b,d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{error:"Feature not found"};let f=e.pr?{url:e.pr.url,number:e.pr.number,status:e.pr.status,commitHash:e.pr.commitHash,ciStatus:e.pr.ciStatus}:void 0,g=e.branch?{source:e.branch,target:"main"}:void 0;try{let d=(0,c.resolve)("GetPlanArtifactUseCase");b=(await d.execute(a)).phases.map(({id:a,name:b,description:c})=>({id:a,name:b,description:c}))}catch{}if(!e.worktreePath)return{pr:f,branch:g,phases:b,warning:f?void 0:"No PR or diff data available"};try{let a=(0,c.resolve)("IGitPrService"),d=await a.getPrDiffSummary(e.worktreePath,"main");return{pr:f,branch:g,phases:b,diffSummary:d}}catch{return{pr:f,branch:g,phases:b,warning:"Diff statistics unavailable"}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load merge review data"}}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"60563f78b311a49ec2bb6e6cdee29cd0f5ea859bdd",null),a.s(["approveFeature",()=>e],61402),(0,d.ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"60baf8068fae140bae942c151fc3aede73ca650e16",null),a.s(["rejectFeature",()=>f],76052),(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"401203f8bdbf13501b44f43741dde4748da636270b",null),a.s(["getFeatureArtifact",()=>g],13008),(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"40c5684d95d58d53a4c8f7deb9aeefd16d74bd169d",null),a.s(["getResearchArtifact",()=>h],74607),(0,d.ensureServerEntryExports)([i]),(0,b.registerServerReference)(i,"40bd5c566d3ca3b0c099545d14864b0d06a01a65b8",null),a.s(["getMergeReviewData",()=>i],6542)},48839,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321),h=a.i(84095),i=a.i(56799),j=a.i(80496),k=a.i(50845),l=a.i(49560),m=a.i(39353),n=a.i(29207),o=a.i(31075),p=a.i(61402),q=a.i(76052),r=a.i(13008),s=a.i(74607),t=a.i(6542);a.s([],29653),a.i(29653),a.s(["0022ac175210a0cfbbf69c303aabe3ae390e155343",()=>b.pickFolder,"00768f05ee656ebef102740f3051fc2565fd9fbf06",()=>o.fetchGraphData,"401203f8bdbf13501b44f43741dde4748da636270b",()=>r.getFeatureArtifact,"402e0a881026006623ce41db77c0bf08e058598e23",()=>g.getDeploymentStatus,"402f155a3693c928a7d11c8c27cc354e95749e7326",()=>h.openIde,"403ddc98e79b6cc735b26114ab1e409bf9ce554356",()=>e.deployRepository,"405947aa155417086c1e7a7df626dc1c744edddd04",()=>c.getDeploymentLogs,"406cdad2da8aafd803bb024ef54f70cf52279b5b79",()=>k.deleteFeature,"4070d4725d5098f07d26196bc87bdc91eb229fd533",()=>d.deployFeature,"4078dc2c9f60f282d79609fbb0f5fa26be9310ba0b",()=>m.deleteRepository,"40b7490fe16e298ade16638f6933836e735a83f219",()=>j.openFolder,"40bd5c566d3ca3b0c099545d14864b0d06a01a65b8",()=>t.getMergeReviewData,"40c5684d95d58d53a4c8f7deb9aeefd16d74bd169d",()=>s.getResearchArtifact,"40d0fc329d73d03c147761f4a40ba18469eb543298",()=>i.openShell,"40d2c63f75c23abfebb8c2836d2030ff5651dbda00",()=>n.getFeatureMetadata,"40de19057ab66a80a7474fc63496c2fb220cddd9de",()=>l.addRepository,"40f546244c759d35ee72a63b2ff3fa48ac2bab82eb",()=>f.stopDeployment,"60563f78b311a49ec2bb6e6cdee29cd0f5ea859bdd",()=>p.approveFeature,"60baf8068fae140bae942c151fc3aede73ca650e16",()=>q.rejectFeature],48839)}];
2
2
 
3
3
  //# sourceMappingURL=src_presentation_web_565a14f8._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[78391,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321),h=a.i(84095),i=a.i(56799),j=a.i(80496),k=a.i(50845),l=a.i(49560),m=a.i(39353),n=a.i(29207),o=a.i(31075);a.s([],72127),a.i(72127),a.s(["00b8c11d0ce9276daaa9718975448d5ff12f160193",()=>b.pickFolder,"00f71de2194f75def95060b1b52bd1c56a6b1bc95e",()=>o.fetchGraphData,"401e0ca54ef33861e0bb62295fad67f8839554b4f2",()=>i.openShell,"402714b90eae89a5ee418ca0ee6dbca3ab55579215",()=>l.addRepository,"408fa8f7294a57bfefe8d93cd1f811d1534d586202",()=>j.openFolder,"4090f82b5ba909e2a77d3ced03f961700e2145280c",()=>d.deployFeature,"40949691f83c6c83cc85a94c4a540290e709184886",()=>n.getFeatureMetadata,"409fa099f85b06f070cd20f54277ad8a2ad1583460",()=>c.getDeploymentLogs,"40a8853799d8197e3dd1a51e9d4003a1ae1dc83001",()=>f.stopDeployment,"40acbe68352923ed06057bf385ee44ec92abf2c299",()=>g.getDeploymentStatus,"40bb0abd939856a03f7d8c372cdd5da272c7134f36",()=>k.deleteFeature,"40d6d376e8fd7146b393ce6edc1fe0e36049c2b717",()=>h.openIde,"40e2f9ff2fc798a9e5fd08a2c647e60ad485b81df9",()=>e.deployRepository,"40ed6d75c8da86b0c930a6e2b8adbb6255b89bc17e",()=>m.deleteRepository],78391)}];
1
+ module.exports=[78391,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321),h=a.i(84095),i=a.i(56799),j=a.i(80496),k=a.i(50845),l=a.i(49560),m=a.i(39353),n=a.i(29207),o=a.i(31075);a.s([],72127),a.i(72127),a.s(["0022ac175210a0cfbbf69c303aabe3ae390e155343",()=>b.pickFolder,"00768f05ee656ebef102740f3051fc2565fd9fbf06",()=>o.fetchGraphData,"402e0a881026006623ce41db77c0bf08e058598e23",()=>g.getDeploymentStatus,"402f155a3693c928a7d11c8c27cc354e95749e7326",()=>h.openIde,"403ddc98e79b6cc735b26114ab1e409bf9ce554356",()=>e.deployRepository,"405947aa155417086c1e7a7df626dc1c744edddd04",()=>c.getDeploymentLogs,"406cdad2da8aafd803bb024ef54f70cf52279b5b79",()=>k.deleteFeature,"4070d4725d5098f07d26196bc87bdc91eb229fd533",()=>d.deployFeature,"4078dc2c9f60f282d79609fbb0f5fa26be9310ba0b",()=>m.deleteRepository,"40b7490fe16e298ade16638f6933836e735a83f219",()=>j.openFolder,"40d0fc329d73d03c147761f4a40ba18469eb543298",()=>i.openShell,"40d2c63f75c23abfebb8c2836d2030ff5651dbda00",()=>n.getFeatureMetadata,"40de19057ab66a80a7474fc63496c2fb220cddd9de",()=>l.addRepository,"40f546244c759d35ee72a63b2ff3fa48ac2bab82eb",()=>f.stopDeployment],78391)}];
2
2
 
3
3
  //# sourceMappingURL=src_presentation_web__next-internal_server_app_%28dashboard%29_page_actions_021a05f2.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[87596,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321);a.s([],78455),a.i(78455),a.s(["00b8c11d0ce9276daaa9718975448d5ff12f160193",()=>b.pickFolder,"4090f82b5ba909e2a77d3ced03f961700e2145280c",()=>d.deployFeature,"409fa099f85b06f070cd20f54277ad8a2ad1583460",()=>c.getDeploymentLogs,"40a8853799d8197e3dd1a51e9d4003a1ae1dc83001",()=>f.stopDeployment,"40acbe68352923ed06057bf385ee44ec92abf2c299",()=>g.getDeploymentStatus,"40e2f9ff2fc798a9e5fd08a2c647e60ad485b81df9",()=>e.deployRepository],87596)}];
1
+ module.exports=[87596,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321);a.s([],78455),a.i(78455),a.s(["0022ac175210a0cfbbf69c303aabe3ae390e155343",()=>b.pickFolder,"402e0a881026006623ce41db77c0bf08e058598e23",()=>g.getDeploymentStatus,"403ddc98e79b6cc735b26114ab1e409bf9ce554356",()=>e.deployRepository,"405947aa155417086c1e7a7df626dc1c744edddd04",()=>c.getDeploymentLogs,"4070d4725d5098f07d26196bc87bdc91eb229fd533",()=>d.deployFeature,"40f546244c759d35ee72a63b2ff3fa48ac2bab82eb",()=>f.stopDeployment],87596)}];
2
2
 
3
3
  //# sourceMappingURL=src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[90322,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321);a.s([],9775),a.i(9775),a.s(["00b8c11d0ce9276daaa9718975448d5ff12f160193",()=>b.pickFolder,"4090f82b5ba909e2a77d3ced03f961700e2145280c",()=>d.deployFeature,"409fa099f85b06f070cd20f54277ad8a2ad1583460",()=>c.getDeploymentLogs,"40a8853799d8197e3dd1a51e9d4003a1ae1dc83001",()=>f.stopDeployment,"40acbe68352923ed06057bf385ee44ec92abf2c299",()=>g.getDeploymentStatus,"40e2f9ff2fc798a9e5fd08a2c647e60ad485b81df9",()=>e.deployRepository],90322)}];
1
+ module.exports=[90322,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321);a.s([],9775),a.i(9775),a.s(["0022ac175210a0cfbbf69c303aabe3ae390e155343",()=>b.pickFolder,"402e0a881026006623ce41db77c0bf08e058598e23",()=>g.getDeploymentStatus,"403ddc98e79b6cc735b26114ab1e409bf9ce554356",()=>e.deployRepository,"405947aa155417086c1e7a7df626dc1c744edddd04",()=>c.getDeploymentLogs,"4070d4725d5098f07d26196bc87bdc91eb229fd533",()=>d.deployFeature,"40f546244c759d35ee72a63b2ff3fa48ac2bab82eb",()=>f.stopDeployment],90322)}];
2
2
 
3
3
  //# sourceMappingURL=src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[66693,a=>{"use strict";var b=a.i(96380),c=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),d=c((a,b)=>{var c=Object.defineProperty,d=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),e=(a,b,d)=>{let e;return(e="symbol"!=typeof b?b+"":b)in a?c(a,e,{enumerable:!0,configurable:!0,writable:!0,value:d}):a[e]=d},f=d((a,b)=>{function c(a,b){a[b]?a[b]++:a[b]=1}function d(a,b){--a[b]||delete a[b]}function f(a,b,c,d){var e=""+b,f=""+c;if(!a&&e>f){var g=e;e=f,f=g}return e+"\x01"+f+"\x01"+(void 0===d?"\0":d)}function g(a,b){return f(a,b.v,b.w,b.name)}b.exports=class{constructor(a){e(this,"_isDirected",!0),e(this,"_isMultigraph",!1),e(this,"_isCompound",!1),e(this,"_label"),e(this,"_defaultNodeLabelFn",()=>{}),e(this,"_defaultEdgeLabelFn",()=>{}),e(this,"_nodes",{}),e(this,"_in",{}),e(this,"_preds",{}),e(this,"_out",{}),e(this,"_sucs",{}),e(this,"_edgeObjs",{}),e(this,"_edgeLabels",{}),e(this,"_nodeCount",0),e(this,"_edgeCount",0),e(this,"_parent"),e(this,"_children"),a&&(this._isDirected=!Object.hasOwn(a,"directed")||a.directed,this._isMultigraph=!!Object.hasOwn(a,"multigraph")&&a.multigraph,this._isCompound=!!Object.hasOwn(a,"compound")&&a.compound),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(a){return this._label=a,this}graph(){return this._label}setDefaultNodeLabel(a){return this._defaultNodeLabelFn=a,"function"!=typeof a&&(this._defaultNodeLabelFn=()=>a),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var a=this;return this.nodes().filter(b=>0===Object.keys(a._in[b]).length)}sinks(){var a=this;return this.nodes().filter(b=>0===Object.keys(a._out[b]).length)}setNodes(a,b){var c=arguments,d=this;return a.forEach(function(a){c.length>1?d.setNode(a,b):d.setNode(a)}),this}setNode(a,b){return Object.hasOwn(this._nodes,a)?arguments.length>1&&(this._nodes[a]=b):(this._nodes[a]=arguments.length>1?b:this._defaultNodeLabelFn(a),this._isCompound&&(this._parent[a]="\0",this._children[a]={},this._children["\0"][a]=!0),this._in[a]={},this._preds[a]={},this._out[a]={},this._sucs[a]={},++this._nodeCount),this}node(a){return this._nodes[a]}hasNode(a){return Object.hasOwn(this._nodes,a)}removeNode(a){var b=this;if(Object.hasOwn(this._nodes,a)){var c=a=>b.removeEdge(b._edgeObjs[a]);delete this._nodes[a],this._isCompound&&(this._removeFromParentsChildList(a),delete this._parent[a],this.children(a).forEach(function(a){b.setParent(a)}),delete this._children[a]),Object.keys(this._in[a]).forEach(c),delete this._in[a],delete this._preds[a],Object.keys(this._out[a]).forEach(c),delete this._out[a],delete this._sucs[a],--this._nodeCount}return this}setParent(a,b){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(void 0===b)b="\0";else{b+="";for(var c=b;void 0!==c;c=this.parent(c))if(c===a)throw Error("Setting "+b+" as parent of "+a+" would create a cycle");this.setNode(b)}return this.setNode(a),this._removeFromParentsChildList(a),this._parent[a]=b,this._children[b][a]=!0,this}_removeFromParentsChildList(a){delete this._children[this._parent[a]][a]}parent(a){if(this._isCompound){var b=this._parent[a];if("\0"!==b)return b}}children(a="\0"){if(this._isCompound){var b=this._children[a];if(b)return Object.keys(b)}else{if("\0"===a)return this.nodes();if(this.hasNode(a))return[]}}predecessors(a){var b=this._preds[a];if(b)return Object.keys(b)}successors(a){var b=this._sucs[a];if(b)return Object.keys(b)}neighbors(a){var b=this.predecessors(a);if(b){let d=new Set(b);for(var c of this.successors(a))d.add(c);return Array.from(d.values())}}isLeaf(a){return 0===(this.isDirected()?this.successors(a):this.neighbors(a)).length}filterNodes(a){var b=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});b.setGraph(this.graph());var c=this;Object.entries(this._nodes).forEach(function([c,d]){a(c)&&b.setNode(c,d)}),Object.values(this._edgeObjs).forEach(function(a){b.hasNode(a.v)&&b.hasNode(a.w)&&b.setEdge(a,c.edge(a))});var d={};return this._isCompound&&b.nodes().forEach(a=>b.setParent(a,function a(e){var f=c.parent(e);return void 0===f||b.hasNode(f)?(d[e]=f,f):f in d?d[f]:a(f)}(a))),b}setDefaultEdgeLabel(a){return this._defaultEdgeLabelFn=a,"function"!=typeof a&&(this._defaultEdgeLabelFn=()=>a),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(a,b){var c=this,d=arguments;return a.reduce(function(a,e){return d.length>1?c.setEdge(a,e,b):c.setEdge(a,e),e}),this}setEdge(){var a,b,d,e,g=!1,h=arguments[0];"object"==typeof h&&null!==h&&"v"in h?(a=h.v,b=h.w,d=h.name,2==arguments.length&&(e=arguments[1],g=!0)):(a=h,b=arguments[1],d=arguments[3],arguments.length>2&&(e=arguments[2],g=!0)),a=""+a,b=""+b,void 0!==d&&(d=""+d);var i=f(this._isDirected,a,b,d);if(Object.hasOwn(this._edgeLabels,i))return g&&(this._edgeLabels[i]=e),this;if(void 0!==d&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(a),this.setNode(b),this._edgeLabels[i]=g?e:this._defaultEdgeLabelFn(a,b,d);var j=function(a,b,c,d){var e=""+b,f=""+c;if(!a&&e>f){var g=e;e=f,f=g}var h={v:e,w:f};return d&&(h.name=d),h}(this._isDirected,a,b,d);return a=j.v,b=j.w,Object.freeze(j),this._edgeObjs[i]=j,c(this._preds[b],a),c(this._sucs[a],b),this._in[b][i]=j,this._out[a][i]=j,this._edgeCount++,this}edge(a,b,c){var d=1==arguments.length?g(this._isDirected,arguments[0]):f(this._isDirected,a,b,c);return this._edgeLabels[d]}edgeAsObj(){let a=this.edge(...arguments);return"object"!=typeof a?{label:a}:a}hasEdge(a,b,c){var d=1==arguments.length?g(this._isDirected,arguments[0]):f(this._isDirected,a,b,c);return Object.hasOwn(this._edgeLabels,d)}removeEdge(a,b,c){var e=1==arguments.length?g(this._isDirected,arguments[0]):f(this._isDirected,a,b,c),h=this._edgeObjs[e];return h&&(a=h.v,b=h.w,delete this._edgeLabels[e],delete this._edgeObjs[e],d(this._preds[b],a),d(this._sucs[a],b),delete this._in[b][e],delete this._out[a][e],this._edgeCount--),this}inEdges(a,b){return this.isDirected()?this.filterEdges(this._in[a],a,b):this.nodeEdges(a,b)}outEdges(a,b){return this.isDirected()?this.filterEdges(this._out[a],a,b):this.nodeEdges(a,b)}nodeEdges(a,b){if(a in this._nodes)return this.filterEdges({...this._in[a],...this._out[a]},a,b)}filterEdges(a,b,c){if(a){var d=Object.values(a);return c?d.filter(function(a){return a.v===b&&a.w===c||a.v===c&&a.w===b}):d}}}}),g=d((a,b)=>{b.exports="3.0.2"}),h=d((a,b)=>{b.exports={Graph:f(),version:g()}}),i=d((a,b)=>{var c=f();b.exports={write:function(a){var b,c,d={options:{directed:a.isDirected(),multigraph:a.isMultigraph(),compound:a.isCompound()},nodes:(b=a).nodes().map(function(a){var c=b.node(a),d=b.parent(a),e={v:a};return void 0!==c&&(e.value=c),void 0!==d&&(e.parent=d),e}),edges:(c=a).edges().map(function(a){var b=c.edge(a),d={v:a.v,w:a.w};return void 0!==a.name&&(d.name=a.name),void 0!==b&&(d.value=b),d})};return void 0!==a.graph()&&(d.value=structuredClone(a.graph())),d},read:function(a){var b=new c(a.options).setGraph(a.value);return a.nodes.forEach(function(a){b.setNode(a.v,a.value),a.parent&&b.setParent(a.v,a.parent)}),a.edges.forEach(function(a){b.setEdge({v:a.v,w:a.w,name:a.name},a.value)}),b}}}),j=d((a,b)=>{b.exports=function(a,b,d,e){return function(a,b,c,d){var e={},f=!0,g=0,h=a.nodes(),i=function(a){var b=c(a);e[a.v].distance+b<e[a.w].distance&&(e[a.w]={distance:e[a.v].distance+b,predecessor:a.v},f=!0)},j=function(){h.forEach(function(a){d(a).forEach(function(b){var c=b.v===a?b.v:b.w,d=c===b.v?b.w:b.v;i({v:c,w:d})})})};h.forEach(function(a){e[a]={distance:a===b?0:1/0}});for(var k=h.length,l=1;l<k&&(f=!1,g++,j(),f);l++);if(g===k-1&&(f=!1,j(),f))throw Error("The graph contains a negative weight cycle");return e}(a,String(b),d||c,e||function(b){return a.outEdges(b)})};var c=()=>1}),k=d((a,b)=>{b.exports=function(a){var b,c={},d=[];return a.nodes().forEach(function(e){b=[],function d(e){Object.hasOwn(c,e)||(c[e]=!0,b.push(e),a.successors(e).forEach(d),a.predecessors(e).forEach(d))}(e),b.length&&d.push(b)}),d}}),l=d((a,b)=>{b.exports=class{constructor(){e(this,"_arr",[]),e(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(a){return a.key})}has(a){return Object.hasOwn(this._keyIndices,a)}priority(a){var b=this._keyIndices[a];if(void 0!==b)return this._arr[b].priority}min(){if(0===this.size())throw Error("Queue underflow");return this._arr[0].key}add(a,b){var c=this._keyIndices;if(!Object.hasOwn(c,a=String(a))){var d=this._arr,e=d.length;return c[a]=e,d.push({key:a,priority:b}),this._decrease(e),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var a=this._arr.pop();return delete this._keyIndices[a.key],this._heapify(0),a.key}decrease(a,b){var c=this._keyIndices[a];if(b>this._arr[c].priority)throw Error("New priority is greater than current priority. Key: "+a+" Old: "+this._arr[c].priority+" New: "+b);this._arr[c].priority=b,this._decrease(c)}_heapify(a){var b=this._arr,c=2*a,d=c+1,e=a;c<b.length&&(e=b[c].priority<b[e].priority?c:e,d<b.length&&(e=b[d].priority<b[e].priority?d:e),e!==a&&(this._swap(a,e),this._heapify(e)))}_decrease(a){for(var b,c=this._arr,d=c[a].priority;0!==a&&!(c[b=a>>1].priority<d);)this._swap(a,b),a=b}_swap(a,b){var c=this._arr,d=this._keyIndices,e=c[a],f=c[b];c[a]=f,c[b]=e,d[f.key]=a,d[e.key]=b}}}),m=d((a,b)=>{var c=l();b.exports=function(a,b,e,f){return function(a,b,d,e){var f,g,h={},i=new c,j=function(a){var b=a.v!==f?a.v:a.w,c=h[b],e=d(a),j=g.distance+e;if(e<0)throw Error("dijkstra does not allow negative edge weights. Bad edge: "+a+" Weight: "+e);j<c.distance&&(c.distance=j,c.predecessor=f,i.decrease(b,j))};for(a.nodes().forEach(function(a){var c=a===b?0:1/0;h[a]={distance:c},i.add(a,c)});i.size()>0&&(g=h[f=i.removeMin()]).distance!==1/0;)e(f).forEach(j);return h}(a,String(b),e||d,f||function(b){return a.outEdges(b)})};var d=()=>1}),n=d((a,b)=>{var c=m();b.exports=function(a,b,d){return a.nodes().reduce(function(e,f){return e[f]=c(a,f,b,d),e},{})}}),o=d((a,b)=>{b.exports=function(a,b,c){if(void 0!==a[b].predecessor)throw Error("Invalid source vertex");if(void 0===a[c].predecessor&&c!==b)throw Error("Invalid destination vertex");return{weight:a[c].distance,path:function(a,b,c){for(var d=[],e=c;e!==b;)d.push(e),e=a[e].predecessor;return d.push(b),d.reverse()}(a,b,c)}}}),p=d((a,b)=>{b.exports=function(a){var b=0,c=[],d={},e=[];return a.nodes().forEach(function(f){Object.hasOwn(d,f)||function f(g){var h=d[g]={onStack:!0,lowlink:b,index:b++};if(c.push(g),a.successors(g).forEach(function(a){Object.hasOwn(d,a)?d[a].onStack&&(h.lowlink=Math.min(h.lowlink,d[a].index)):(f(a),h.lowlink=Math.min(h.lowlink,d[a].lowlink))}),h.lowlink===h.index){var i,j=[];do d[i=c.pop()].onStack=!1,j.push(i);while(g!==i)e.push(j)}}(f)}),e}}),q=d((a,b)=>{var c=p();b.exports=function(a){return c(a).filter(function(b){return b.length>1||1===b.length&&a.hasEdge(b[0],b[0])})}}),r=d((a,b)=>{b.exports=function(a,b,d){var e,f,g,h,i;return e=a,f=b||c,g=d||function(b){return a.outEdges(b)},h={},(i=e.nodes()).forEach(function(a){h[a]={},h[a][a]={distance:0},i.forEach(function(b){a!==b&&(h[a][b]={distance:1/0})}),g(a).forEach(function(b){var c=b.v===a?b.w:b.v,d=f(b);h[a][c]={distance:d,predecessor:a}})}),i.forEach(function(a){var b=h[a];i.forEach(function(c){var d=h[c];i.forEach(function(c){var e=d[a],f=b[c],g=d[c],h=e.distance+f.distance;h<g.distance&&(g.distance=h,g.predecessor=f.predecessor)})})}),h};var c=()=>1}),s=d((a,b)=>{function c(a){var b={},c={},e=[];if(a.sinks().forEach(function f(g){if(Object.hasOwn(c,g))throw new d;Object.hasOwn(b,g)||(c[g]=!0,b[g]=!0,a.predecessors(g).forEach(f),delete c[g],e.push(g))}),Object.keys(b).length!==a.nodeCount())throw new d;return e}var d=class extends Error{constructor(){super(...arguments)}};b.exports=c,c.CycleException=d}),t=d((a,b)=>{var c=s();b.exports=function(a){try{c(a)}catch(a){if(a instanceof c.CycleException)return!1;throw a}return!0}}),u=d((a,b)=>{b.exports=function(a,b,c,d,e){Array.isArray(b)||(b=[b]);var f=(a.isDirected()?a.successors:a.neighbors).bind(a),g={};return b.forEach(function(b){if(!a.hasNode(b))throw Error("Graph does not have node: "+b);e=function a(b,c,d,e,f,g,h){return Object.hasOwn(e,c)||(e[c]=!0,d||(h=g(h,c)),f(c).forEach(function(c){h=a(b,c,d,e,f,g,h)}),d&&(h=g(h,c))),h}(a,b,"post"===c,g,f,d,e)}),e}}),v=d((a,b)=>{var c=u();b.exports=function(a,b,d){return c(a,b,d,function(a,b){return a.push(b),a},[])}}),w=d((a,b)=>{var c=v();b.exports=function(a,b){return c(a,b,"post")}}),x=d((a,b)=>{var c=v();b.exports=function(a,b){return c(a,b,"pre")}}),y=d((a,b)=>{var c=f(),d=l();b.exports=function(a,b){var e,f=new c,g={},h=new d;function i(a){var c=a.v===e?a.w:a.v,d=h.priority(c);if(void 0!==d){var f=b(a);f<d&&(g[c]=e,h.decrease(c,f))}}if(0===a.nodeCount())return f;a.nodes().forEach(function(a){h.add(a,1/0),f.setNode(a)}),h.decrease(a.nodes()[0],0);for(var j=!1;h.size()>0;){if(Object.hasOwn(g,e=h.removeMin()))f.setEdge(e,g[e]);else{if(j)throw Error("Input graph is not connected: "+a);j=!0}a.nodeEdges(e).forEach(i)}return f}}),z=d((a,b)=>{var c=m(),d=j();b.exports=function(a,b,e,f){return function(a,b,e,f){if(void 0===e)return c(a,b,e,f);for(var g=!1,h=a.nodes(),i=0;i<h.length;i++){for(var j=f(h[i]),k=0;k<j.length;k++){var l=j[k],m=l.v===h[i]?l.v:l.w,n=m===l.v?l.w:l.v;0>e({v:m,w:n})&&(g=!0)}if(g)return d(a,b,e,f)}return c(a,b,e,f)}(a,b,e,f||function(b){return a.outEdges(b)})}}),A=d((a,b)=>{b.exports={bellmanFord:j(),components:k(),dijkstra:m(),dijkstraAll:n(),extractPath:o(),findCycles:q(),floydWarshall:r(),isAcyclic:t(),postorder:w(),preorder:x(),prim:y(),shortestPaths:z(),reduce:u(),tarjan:p(),topsort:s()}}),B=h();b.exports={Graph:B.Graph,json:i(),alg:A(),version:B.version}}),e=c((a,b)=>{function c(a){a._prev._next=a._next,a._next._prev=a._prev,delete a._next,delete a._prev}function d(a,b){if("_next"!==a&&"_prev"!==a)return b}b.exports=class{constructor(){let a={};a._next=a._prev=a,this._sentinel=a}dequeue(){let a=this._sentinel,b=a._prev;if(b!==a)return c(b),b}enqueue(a){let b=this._sentinel;a._prev&&a._next&&c(a),a._next=b._next,b._next._prev=a,b._next=a,a._prev=b}toString(){let a=[],b=this._sentinel,c=b._prev;for(;c!==b;)a.push(JSON.stringify(c,d)),c=c._prev;return"["+a.join(", ")+"]"}}}),f=c((a,b)=>{var c=d().Graph,f=e();b.exports=function(a,b){var d,e;let j,k,l,m,n;if(1>=a.nodeCount())return[];let o=(d=a,e=b||g,j=new c,k=0,l=0,d.nodes().forEach(a=>{j.setNode(a,{v:a,in:0,out:0})}),d.edges().forEach(a=>{let b=j.edge(a.v,a.w)||0,c=e(a);j.setEdge(a.v,a.w,b+c),l=Math.max(l,j.node(a.v).out+=c),k=Math.max(k,j.node(a.w).in+=c)}),m=(function(a){let b=[];for(let c=0;c<a;c++)b.push(c);return b})(l+k+3).map(()=>new f),n=k+1,j.nodes().forEach(a=>{i(m,n,j.node(a))}),{graph:j,buckets:m,zeroIdx:n});return(function(a,b,c){let d=[],e=b[b.length-1],f=b[0],g;for(;a.nodeCount();){for(;g=f.dequeue();)h(a,b,c,g);for(;g=e.dequeue();)h(a,b,c,g);if(a.nodeCount()){for(let e=b.length-2;e>0;--e)if(g=b[e].dequeue()){d=d.concat(h(a,b,c,g,!0));break}}}return d})(o.graph,o.buckets,o.zeroIdx).flatMap(b=>a.outEdges(b.v,b.w))};var g=()=>1;function h(a,b,c,d,e){let f=e?[]:void 0;return a.inEdges(d.v).forEach(d=>{let g=a.edge(d),h=a.node(d.v);e&&f.push({v:d.v,w:d.w}),h.out-=g,i(b,c,h)}),a.outEdges(d.v).forEach(d=>{let e=a.edge(d),f=d.w,g=a.node(f);g.in-=e,i(b,c,g)}),a.removeNode(d.v),f}function i(a,b,c){c.out?c.in?a[c.out-c.in+b].enqueue(c):a[a.length-1].enqueue(c):a[0].enqueue(c)}}),g=c((a,b)=>{var c=d().Graph;function e(a,b,c,d){for(var e=d;a.hasNode(e);)e=i(d);return c.dummy=b,a.setNode(e,c),e}b.exports={addBorderNode:function(a,b,c,d){let f={width:0,height:0};return arguments.length>=4&&(f.rank=c,f.order=d),e(a,"border",f,b)},addDummyNode:e,applyWithChunking:f,asNonCompoundGraph:function(a){let b=new c({multigraph:a.isMultigraph()}).setGraph(a.graph());return a.nodes().forEach(c=>{a.children(c).length||b.setNode(c,a.node(c))}),a.edges().forEach(c=>{b.setEdge(c,a.edge(c))}),b},buildLayerMatrix:function(a){let b=j(g(a)+1).map(()=>[]);return a.nodes().forEach(c=>{let d=a.node(c),e=d.rank;void 0!==e&&(b[e][d.order]=c)}),b},intersectRect:function(a,b){let c,d,e=a.x,f=a.y,g=b.x-e,h=b.y-f,i=a.width/2,j=a.height/2;if(!g&&!h)throw Error("Not possible to find intersection inside of the rectangle");return Math.abs(h)*i>Math.abs(g)*j?(h<0&&(j=-j),c=j*g/h,d=j):(g<0&&(i=-i),c=i,d=i*h/g),{x:e+c,y:f+d}},mapValues:function(a,b){let c=b;return"string"==typeof b&&(c=a=>a[b]),Object.entries(a).reduce((a,[b,d])=>(a[b]=c(d,b),a),{})},maxRank:g,normalizeRanks:function(a){let b=f(Math.min,a.nodes().map(b=>{let c=a.node(b).rank;return void 0===c?Number.MAX_VALUE:c}));a.nodes().forEach(c=>{let d=a.node(c);Object.hasOwn(d,"rank")&&(d.rank-=b)})},notime:function(a,b){return b()},partition:function(a,b){let c={lhs:[],rhs:[]};return a.forEach(a=>{b(a)?c.lhs.push(a):c.rhs.push(a)}),c},pick:function(a,b){let c={};for(let d of b)void 0!==a[d]&&(c[d]=a[d]);return c},predecessorWeights:function(a){let b=a.nodes().map(b=>{let c={};return a.inEdges(b).forEach(b=>{c[b.v]=(c[b.v]||0)+a.edge(b).weight}),c});return k(a.nodes(),b)},range:j,removeEmptyRanks:function(a){let b=f(Math.min,a.nodes().map(b=>a.node(b).rank).filter(a=>void 0!==a)),c=[];a.nodes().forEach(d=>{let e=a.node(d).rank-b;c[e]||(c[e]=[]),c[e].push(d)});let d=0,e=a.graph().nodeRankFactor;Array.from(c).forEach((b,c)=>{void 0===b&&c%e!=0?--d:void 0!==b&&d&&b.forEach(b=>a.node(b).rank+=d)})},simplify:function(a){let b=new c().setGraph(a.graph());return a.nodes().forEach(c=>b.setNode(c,a.node(c))),a.edges().forEach(c=>{let d=b.edge(c.v,c.w)||{weight:0,minlen:1},e=a.edge(c);b.setEdge(c.v,c.w,{weight:d.weight+e.weight,minlen:Math.max(d.minlen,e.minlen)})}),b},successorWeights:function(a){let b=a.nodes().map(b=>{let c={};return a.outEdges(b).forEach(b=>{c[b.w]=(c[b.w]||0)+a.edge(b).weight}),c});return k(a.nodes(),b)},time:function(a,b){let c=Date.now();try{return b()}finally{console.log(a+" time: "+(Date.now()-c)+"ms")}},uniqueId:i,zipObject:k};function f(a,b){if(!(b.length>65535))return a.apply(null,b);{let c=function(a,b=65535){let c=[];for(let d=0;d<a.length;d+=b){let e=a.slice(d,d+b);c.push(e)}return c}(b);return a.apply(null,c.map(b=>a.apply(null,b)))}}function g(a){return f(Math.max,a.nodes().map(b=>{let c=a.node(b).rank;return void 0===c?5e-324:c}))}var h=0;function i(a){return a+""+ ++h}function j(a,b,c=1){null==b&&(b=a,a=0);let d=a=>a<b;c<0&&(d=a=>b<a);let e=[];for(let b=a;d(b);b+=c)e.push(b);return e}function k(a,b){return a.reduce((a,c,d)=>(a[c]=b[d],a),{})}}),h=c((a,b)=>{var c=f(),d=g().uniqueId;b.exports={run:function(a){var b,e;let f,g,h;("greedy"===a.graph().acyclicer?c(a,(b=a,a=>b.edge(a).weight)):(f=[],g={},h={},(e=a).nodes().forEach(function a(b){Object.hasOwn(h,b)||(h[b]=!0,g[b]=!0,e.outEdges(b).forEach(b=>{Object.hasOwn(g,b.w)?f.push(b):a(b.w)}),delete g[b])}),f)).forEach(b=>{let c=a.edge(b);a.removeEdge(b),c.forwardName=b.name,c.reversed=!0,a.setEdge(b.w,b.v,c,d("rev"))})},undo:function(a){a.edges().forEach(b=>{let c=a.edge(b);if(c.reversed){a.removeEdge(b);let d=c.forwardName;delete c.reversed,delete c.forwardName,a.setEdge(b.w,b.v,c,d)}})}}}),i=c((a,b)=>{var c=g();b.exports={run:function(a){a.graph().dummyChains=[],a.edges().forEach(b=>(function(a,b){let d,e,f,g=b.v,h=a.node(g).rank,i=b.w,j=a.node(i).rank,k=b.name,l=a.edge(b),m=l.labelRank;if(j!==h+1){for(a.removeEdge(b),f=0,++h;h<j;++f,++h)l.points=[],e={width:0,height:0,edgeLabel:l,edgeObj:b,rank:h},d=c.addDummyNode(a,"edge",e,"_d"),h===m&&(e.width=l.width,e.height=l.height,e.dummy="edge-label",e.labelpos=l.labelpos),a.setEdge(g,d,{weight:l.weight},k),0===f&&a.graph().dummyChains.push(d),g=d;a.setEdge(g,i,{weight:l.weight},k)}})(a,b))},undo:function(a){a.graph().dummyChains.forEach(b=>{let c=a.node(b),d=c.edgeLabel,e;for(a.setEdge(c.edgeObj,d);c.dummy;)e=a.successors(b)[0],a.removeNode(b),d.points.push({x:c.x,y:c.y}),"edge-label"===c.dummy&&(d.x=c.x,d.y=c.y,d.width=c.width,d.height=c.height),b=e,c=a.node(b)})}}}),j=c((a,b)=>{var{applyWithChunking:c}=g();b.exports={longestPath:function(a){var b={};a.sources().forEach(function d(e){var f=a.node(e);if(Object.hasOwn(b,e))return f.rank;b[e]=!0;var g=c(Math.min,a.outEdges(e).map(b=>null==b?1/0:d(b.w)-a.edge(b).minlen));return g===1/0&&(g=0),f.rank=g})},slack:function(a,b){return a.node(b.w).rank-a.node(b.v).rank-a.edge(b).minlen}}}),k=c((a,b)=>{var c=d().Graph,e=j().slack;b.exports=function(a){var b,d,f,g,h=new c({directed:!1}),i=a.nodes()[0],j=a.nodeCount();for(h.setNode(i,{});b=h,d=a,b.nodes().forEach(function a(c){d.nodeEdges(c).forEach(f=>{var g=f.v,h=c===g?f.w:g;b.hasNode(h)||e(d,f)||(b.setNode(h,{}),b.setEdge(c,h,{}),a(h))})}),b.nodeCount()<j;)f=function(a,b){return b.edges().reduce((c,d)=>{let f=1/0;return a.hasNode(d.v)!==a.hasNode(d.w)&&(f=e(b,d)),f<c[0]?[f,d]:c},[1/0,null])[1]}(h,a),g=h.hasNode(f.v)?e(a,f):-e(a,f),function(a,b,c){a.nodes().forEach(a=>b.node(a).rank+=c)}(h,a,g);return h}}),l=c((a,b)=>{var c=k(),e=j().slack,f=j().longestPath,h=d().alg.preorder,i=d().alg.postorder,l=g().simplify;function m(a){f(a=l(a));var b,d,e=c(a);for(p(e),n(e,a);b=q(e);)d=r(e,a,b),s(e,a,b,d)}function n(a,b){var c=i(a,a.nodes());(c=c.slice(0,c.length-1)).forEach(c=>{var d,e,f,g;return d=a,e=b,f=c,g=d.node(f).parent,void(d.edge(f,g).cutvalue=o(d,e,f))})}function o(a,b,c){var d=a.node(c).parent,e=!0,f=b.edge(c,d),g=0;return f||(e=!1,f=b.edge(d,c)),g=f.weight,b.nodeEdges(c).forEach(f=>{var h=f.v===c,i=h?f.w:f.v;if(i!==d){var j,k,l,m=h===e,n=b.edge(f).weight;if(g+=m?n:-n,j=a,k=c,l=i,j.hasEdge(k,l)){var o=a.edge(c,i).cutvalue;g+=m?-o:o}}}),g}function p(a,b){arguments.length<2&&(b=a.nodes()[0]),function a(b,c,d,e,f){var g=d,h=b.node(e);return c[e]=!0,b.neighbors(e).forEach(f=>{Object.hasOwn(c,f)||(d=a(b,c,d,f,e))}),h.low=g,h.lim=d++,f?h.parent=f:delete h.parent,d}(a,{},1,b)}function q(a){return a.edges().find(b=>a.edge(b).cutvalue<0)}function r(a,b,c){var d=c.v,f=c.w;b.hasEdge(d,f)||(d=c.w,f=c.v);var g=a.node(d),h=a.node(f),i=g,j=!1;return g.lim>h.lim&&(i=h,j=!0),b.edges().filter(b=>j===t(a,a.node(b.v),i)&&j!==t(a,a.node(b.w),i)).reduce((a,c)=>e(b,c)<e(b,a)?c:a)}function s(a,b,c,d){var e,f,g,i,j=c.v,k=c.w;a.removeEdge(j,k),a.setEdge(d.v,d.w,{}),p(a),n(a,b),e=a,f=b,g=e.nodes().find(a=>!f.node(a).parent),(i=(i=h(e,g)).slice(1)).forEach(a=>{var b=e.node(a).parent,c=f.edge(a,b),d=!1;c||(c=f.edge(b,a),d=!0),f.node(a).rank=f.node(b).rank+(d?c.minlen:-c.minlen)})}function t(a,b,c){return c.low<=b.lim&&b.lim<=c.lim}b.exports=m,m.initLowLimValues=p,m.initCutValues=n,m.calcCutValue=o,m.leaveEdge=q,m.enterEdge=r,m.exchangeEdges=s}),m=c((a,b)=>{var c=j().longestPath,d=k(),e=l();b.exports=function(a){var b,g=a.graph().ranker;if(g instanceof Function)return g(a);switch(a.graph().ranker){case"network-simplex":default:e(a);break;case"tight-tree":c(b=a),d(b);break;case"longest-path":f(a);case"none":}};var f=c}),n=c((a,b)=>{b.exports=function(a){var b;let c,d,e=(c={},d=0,(b=a).children().forEach(function a(e){let f=d;b.children(e).forEach(a),c[e]={low:f,lim:d++}}),c);a.graph().dummyChains.forEach(b=>{let c=a.node(b),d=c.edgeObj,f=function(a,b,c,d){let e=[],f=[],g=Math.min(b[c].low,b[d].low),h=Math.max(b[c].lim,b[d].lim),i,j;i=c;do e.push(i=a.parent(i));while(i&&(b[i].low>g||h>b[i].lim))for(j=i,i=d;(i=a.parent(i))!==j;)f.push(i);return{path:e.concat(f.reverse()),lca:j}}(a,e,d.v,d.w),g=f.path,h=f.lca,i=0,j=g[0],k=!0;for(;b!==d.w;){if(c=a.node(b),k){for(;(j=g[i])!==h&&a.node(j).maxRank<c.rank;)i++;j===h&&(k=!1)}if(!k){for(;i<g.length-1&&a.node(j=g[i+1]).minRank<=c.rank;)i++;j=g[i]}a.setParent(b,j),b=a.successors(b)[0]}})}}),o=c((a,b)=>{var c=g();b.exports={run:function(a){var b,d,e;let f=c.addDummyNode(a,"root",{},"_root"),g=(d={},(b=a).children().forEach(a=>(function a(c,e){var f=b.children(c);f&&f.length&&f.forEach(b=>a(b,e+1)),d[c]=e})(a,1)),d),h=Object.values(g),i=c.applyWithChunking(Math.max,h)-1,j=2*i+1;a.graph().nestingRoot=f,a.edges().forEach(b=>a.edge(b).minlen*=j);let k=(e=a).edges().reduce((a,b)=>a+e.edge(b).weight,0)+1;a.children().forEach(b=>(function a(b,d,e,f,g,h,i){let j=b.children(i);if(!j.length){i!==d&&b.setEdge(d,i,{weight:0,minlen:e});return}let k=c.addBorderNode(b,"_bt"),l=c.addBorderNode(b,"_bb"),m=b.node(i);b.setParent(k,i),m.borderTop=k,b.setParent(l,i),m.borderBottom=l,j.forEach(c=>{a(b,d,e,f,g,h,c);let j=b.node(c),m=j.borderTop?j.borderTop:c,n=j.borderBottom?j.borderBottom:c,o=j.borderTop?f:2*f,p=m!==n?1:g-h[i]+1;b.setEdge(k,m,{weight:o,minlen:p,nestingEdge:!0}),b.setEdge(n,l,{weight:o,minlen:p,nestingEdge:!0})}),b.parent(i)||b.setEdge(d,k,{weight:0,minlen:g+h[i]})})(a,f,j,k,i,g,b)),a.graph().nodeRankFactor=j},cleanup:function(a){var b=a.graph();a.removeNode(b.nestingRoot),delete b.nestingRoot,a.edges().forEach(b=>{a.edge(b).nestingEdge&&a.removeEdge(b)})}}}),p=c((a,b)=>{var c=g();function d(a,b,d,e,f,g){let h=f[b][g-1],i=c.addDummyNode(a,"border",{width:0,height:0,rank:g,borderType:b},d);f[b][g]=i,a.setParent(i,e),h&&a.setEdge(h,i,{weight:1})}b.exports=function(a){a.children().forEach(function b(c){let e=a.children(c),f=a.node(c);if(e.length&&e.forEach(b),Object.hasOwn(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(let b=f.minRank,e=f.maxRank+1;b<e;++b)d(a,"borderLeft","_bl",c,f,b),d(a,"borderRight","_br",c,f,b)}})}}),q=c((a,b)=>{function c(a){a.nodes().forEach(b=>d(a.node(b))),a.edges().forEach(b=>d(a.edge(b)))}function d(a){let b=a.width;a.width=a.height,a.height=b}function e(a){a.y=-a.y}function f(a){let b=a.x;a.x=a.y,a.y=b}b.exports={adjust:function(a){let b=a.graph().rankdir.toLowerCase();("lr"===b||"rl"===b)&&c(a)},undo:function(a){var b,d;let g=a.graph().rankdir.toLowerCase();("bt"===g||"rl"===g)&&((b=a).nodes().forEach(a=>e(b.node(a))),b.edges().forEach(a=>{let c=b.edge(a);c.points.forEach(e),Object.hasOwn(c,"y")&&e(c)})),("lr"===g||"rl"===g)&&((d=a).nodes().forEach(a=>f(d.node(a))),d.edges().forEach(a=>{let b=d.edge(a);b.points.forEach(f),Object.hasOwn(b,"x")&&f(b)}),c(a))}}}),r=c((a,b)=>{var c=g();b.exports=function(a){let b={},d=a.nodes().filter(b=>!a.children(b).length),e=d.map(b=>a.node(b).rank),f=c.applyWithChunking(Math.max,e),g=c.range(f+1).map(()=>[]);return d.sort((b,c)=>a.node(b).rank-a.node(c).rank).forEach(function c(d){b[d]||(b[d]=!0,g[a.node(d).rank].push(d),a.successors(d).forEach(c))}),g}}),s=c((a,b)=>{var c=g().zipObject;b.exports=function(a,b){let d=0;for(let e=1;e<b.length;++e)d+=function(a,b,d){let e=c(d,d.map((a,b)=>b)),f=b.flatMap(b=>a.outEdges(b).map(b=>({pos:e[b.w],weight:a.edge(b).weight})).sort((a,b)=>a.pos-b.pos)),g=1;for(;g<d.length;)g<<=1;let h=2*g-1;g-=1;let i=Array(h).fill(0),j=0;return f.forEach(a=>{let b=a.pos+g;i[b]+=a.weight;let c=0;for(;b>0;)b%2&&(c+=i[b+1]),b=b-1>>1,i[b]+=a.weight;j+=a.weight*c}),j}(a,b[e-1],b[e]);return d}}),t=c((a,b)=>{b.exports=function(a,b=[]){return b.map(b=>{let c=a.inEdges(b);if(!c.length)return{v:b};{let d=c.reduce((b,c)=>{let d=a.edge(c),e=a.node(c.v);return{sum:b.sum+d.weight*e.order,weight:b.weight+d.weight}},{sum:0,weight:0});return{v:b,barycenter:d.sum/d.weight,weight:d.weight}}})}}),u=c((a,b)=>{var c=g();b.exports=function(a,b){let d={};return a.forEach((a,b)=>{let c=d[a.v]={indegree:0,in:[],out:[],vs:[a.v],i:b};void 0!==a.barycenter&&(c.barycenter=a.barycenter,c.weight=a.weight)}),b.edges().forEach(a=>{let b=d[a.v],c=d[a.w];void 0!==b&&void 0!==c&&(c.indegree++,b.out.push(d[a.w]))}),function(a){let b=[];for(;a.length;){let c=a.pop();b.push(c),c.in.reverse().forEach(function(a){return b=>{b.merged||(void 0===b.barycenter||void 0===a.barycenter||b.barycenter>=a.barycenter)&&function(a,b){let c=0,d=0;a.weight&&(c+=a.barycenter*a.weight,d+=a.weight),b.weight&&(c+=b.barycenter*b.weight,d+=b.weight),a.vs=b.vs.concat(a.vs),a.barycenter=c/d,a.weight=d,a.i=Math.min(b.i,a.i),b.merged=!0}(a,b)}}(c)),c.out.forEach(function(b){return c=>{c.in.push(b),0==--c.indegree&&a.push(c)}}(c))}return b.filter(a=>!a.merged).map(a=>c.pick(a,["vs","i","barycenter","weight"]))}(Object.values(d).filter(a=>!a.indegree))}}),v=c((a,b)=>{var c=g();function d(a,b,c){let d;for(;b.length&&(d=b[b.length-1]).i<=c;)b.pop(),a.push(d.vs),c++;return c}b.exports=function(a,b){var e;let f=c.partition(a,a=>Object.hasOwn(a,"barycenter")),g=f.lhs,h=f.rhs.sort((a,b)=>b.i-a.i),i=[],j=0,k=0,l=0;g.sort((e=!!b,(a,b)=>a.barycenter<b.barycenter?-1:a.barycenter>b.barycenter?1:e?b.i-a.i:a.i-b.i)),l=d(i,h,l),g.forEach(a=>{l+=a.vs.length,i.push(a.vs),j+=a.barycenter*a.weight,k+=a.weight,l=d(i,h,l)});let m={vs:i.flat(!0)};return k&&(m.barycenter=j/k,m.weight=k),m}}),w=c((a,b)=>{var c=t(),d=u(),e=v();b.exports=function a(b,f,g,h){var i,j;let k=b.children(f),l=b.node(f),m=l?l.borderLeft:void 0,n=l?l.borderRight:void 0,o={};m&&(k=k.filter(a=>a!==m&&a!==n));let p=c(b,k);p.forEach(c=>{if(b.children(c.v).length){var d,e;let f=a(b,c.v,g,h);o[c.v]=f,Object.hasOwn(f,"barycenter")&&(d=c,e=f,void 0!==d.barycenter?(d.barycenter=(d.barycenter*d.weight+e.barycenter*e.weight)/(d.weight+e.weight),d.weight+=e.weight):(d.barycenter=e.barycenter,d.weight=e.weight))}});let q=d(p,g);i=q,j=o,i.forEach(a=>{a.vs=a.vs.flatMap(a=>j[a]?j[a].vs:a)});let r=e(q,h);if(m&&(r.vs=[m,r.vs,n].flat(!0),b.predecessors(m).length)){let a=b.node(b.predecessors(m)[0]),c=b.node(b.predecessors(n)[0]);Object.hasOwn(r,"barycenter")||(r.barycenter=0,r.weight=0),r.barycenter=(r.barycenter*r.weight+a.order+c.order)/(r.weight+2),r.weight+=2}return r}}),x=c((a,b)=>{var c=d().Graph,e=g();b.exports=function(a,b,d,f){f||(f=a.nodes());let g=function(a){for(var b;a.hasNode(b=e.uniqueId("_root")););return b}(a),h=new c({compound:!0}).setGraph({root:g}).setDefaultNodeLabel(b=>a.node(b));return f.forEach(c=>{let e=a.node(c),f=a.parent(c);(e.rank===b||e.minRank<=b&&b<=e.maxRank)&&(h.setNode(c),h.setParent(c,f||g),a[d](c).forEach(b=>{let d=b.v===c?b.w:b.v,e=h.edge(d,c),f=void 0!==e?e.weight:0;h.setEdge(d,c,{weight:a.edge(b).weight+f})}),Object.hasOwn(e,"minRank")&&h.setNode(c,{borderLeft:e.borderLeft[b],borderRight:e.borderRight[b]}))}),h}}),y=c((a,b)=>{b.exports=function(a,b,c){let d={},e;c.forEach(c=>{let f=a.parent(c),g,h;for(;f;){if((g=a.parent(f))?(h=d[g],d[g]=f):(h=e,e=f),h&&h!==f)return void b.setEdge(h,f);f=g}})}}),z=c((a,b)=>{var c=r(),e=s(),f=w(),h=x(),i=y(),j=d().Graph,k=g();function l(a,b,c){let d=new Map,e=(a,b)=>{d.has(a)||d.set(a,[]),d.get(a).push(b)};for(let b of a.nodes()){let c=a.node(b);if("number"==typeof c.rank&&e(c.rank,b),"number"==typeof c.minRank&&"number"==typeof c.maxRank)for(let a=c.minRank;a<=c.maxRank;a++)a!==c.rank&&e(a,b)}return b.map(function(b){return h(a,b,c,d.get(b)||[])})}function m(a,b){Object.values(b).forEach(b=>b.forEach((b,c)=>a.node(b).order=c))}b.exports=function a(b,d={}){if("function"==typeof d.customOrder)return void d.customOrder(b,a);let g=k.maxRank(b),h=l(b,k.range(1,g+1),"inEdges"),n=l(b,k.range(g-1,-1,-1),"outEdges"),o=c(b);if(m(b,o),d.disableOptimalOrderHeuristic)return;let p=1/0,q,r=d.constraints||[];for(let a=0,c=0;c<4;++a,++c){(function(a,b,c){let d=new j;a.forEach(function(a){c.forEach(a=>d.setEdge(a.left,a.right));let e=a.graph().root,g=f(a,e,d,b);g.vs.forEach((b,c)=>a.node(b).order=c),i(a,d,g.vs)})})(a%2?h:n,a%4>=2,r),o=k.buildLayerMatrix(b);let d=e(b,o);d<p?(c=0,q=Object.assign({},o),p=d):d===p&&(q=structuredClone(o))}m(b,q)}}),A=c((a,b)=>{var c=d().Graph,e=g();function f(a,b){let c={};return b.length&&b.reduce(function(b,d){let e=0,f=0,g=b.length,h=d[d.length-1];return d.forEach((b,j)=>{let k=function(a,b){if(a.node(b).dummy)return a.predecessors(b).find(b=>a.node(b).dummy)}(a,b),l=k?a.node(k).order:g;(k||b===h)&&(d.slice(f,j+1).forEach(b=>{a.predecessors(b).forEach(d=>{let f=a.node(d),g=f.order;(g<e||l<g)&&!(f.dummy&&a.node(b).dummy)&&i(c,d,b)})}),f=j+1,e=l)}),d}),c}function h(a,b){let c={};function d(b,d,f,g,h){let j;e.range(d,f).forEach(d=>{j=b[d],a.node(j).dummy&&a.predecessors(j).forEach(b=>{let d=a.node(b);d.dummy&&(d.order<g||d.order>h)&&i(c,b,j)})})}return b.length&&b.reduce(function(b,c){let e=-1,f,g=0;return c.forEach((h,i)=>{if("border"===a.node(h).dummy){let b=a.predecessors(h);b.length&&(f=a.node(b[0]).order,d(c,g,i,e,f),g=i,e=f)}d(c,g,c.length,f,b.length)}),c}),c}function i(a,b,c){if(b>c){let a=b;b=c,c=a}let d=a[b];d||(a[b]=d={}),d[c]=!0}function j(a,b,c){if(b>c){let a=b;b=c,c=a}return!!a[b]&&Object.hasOwn(a[b],c)}function k(a,b,c,d){let e={},f={},g={};return b.forEach(a=>{a.forEach((a,b)=>{e[a]=a,f[a]=a,g[a]=b})}),b.forEach(a=>{let b=-1;a.forEach(a=>{let h=d(a);if(h.length){let d=((h=h.sort((a,b)=>g[a]-g[b])).length-1)/2;for(let i=Math.floor(d),k=Math.ceil(d);i<=k;++i){let d=h[i];f[a]===a&&b<g[d]&&!j(c,a,d)&&(f[d]=a,f[a]=e[a]=e[d],b=g[d])}}})}),{root:e,align:f}}function l(a,b,d,e,f){var g,h,i,j,k,l,m;let n,o,p,q={},r=(g=a,h=b,i=d,j=f,n=new c,p=(k=(o=g.graph()).nodesep,l=o.edgesep,m=j,(a,b,c)=>{let d=a.node(b),e=a.node(c),f,g;if(f=0+d.width/2,Object.hasOwn(d,"labelpos"))switch(d.labelpos.toLowerCase()){case"l":g=-d.width/2;break;case"r":g=d.width/2}if(g&&(f+=m?g:-g),g=0,f+=(d.dummy?l:k)/2,f+=(e.dummy?l:k)/2,f+=e.width/2,Object.hasOwn(e,"labelpos"))switch(e.labelpos.toLowerCase()){case"l":g=e.width/2;break;case"r":g=-e.width/2}return g&&(f+=m?g:-g),g=0,f}),h.forEach(a=>{let b;a.forEach(a=>{let c=i[a];if(n.setNode(c),b){var d=i[b],e=n.edge(d,c);n.setEdge(d,c,Math.max(p(g,a,b),e||0))}b=a})}),n),s=f?"borderLeft":"borderRight";function t(a,b){let c=r.nodes().slice(),d={},e=c.pop();for(;e;){if(d[e])a(e);else for(let a of(d[e]=!0,c.push(e),b(e)))c.push(a);e=c.pop()}}return t(function(a){q[a]=r.inEdges(a).reduce((a,b)=>Math.max(a,q[b.v]+r.edge(b)),0)},r.predecessors.bind(r)),t(function(b){let c=r.outEdges(b).reduce((a,b)=>Math.min(a,q[b.w]-r.edge(b)),1/0),d=a.node(b);c!==1/0&&d.borderType!==s&&(q[b]=Math.max(q[b],c))},r.successors.bind(r)),Object.keys(e).forEach(a=>q[a]=q[d[a]]),q}function m(a,b){return Object.values(b).reduce((b,c)=>{let d=-1/0,e=1/0;Object.entries(c).forEach(([b,c])=>{var f,g;let h=(f=a,g=b,f.node(g).width/2);d=Math.max(c+h,d),e=Math.min(c-h,e)});let f=d-e;return f<b[0]&&(b=[f,c]),b},[1/0,null])[1]}function n(a,b){let c=Object.values(b),d=e.applyWithChunking(Math.min,c),f=e.applyWithChunking(Math.max,c);["u","d"].forEach(c=>{["l","r"].forEach(g=>{let h=c+g,i=a[h];if(i===b)return;let j=Object.values(i),k=d-e.applyWithChunking(Math.min,j);"l"!==g&&(k=f-e.applyWithChunking(Math.max,j)),k&&(a[h]=e.mapValues(i,a=>a+k))})})}function o(a,b){return e.mapValues(a.ul,(c,d)=>{if(b)return a[b.toLowerCase()][d];{let b=Object.values(a).map(a=>a[d]).sort((a,b)=>a-b);return(b[1]+b[2])/2}})}b.exports={positionX:function(a){let b=e.buildLayerMatrix(a),c=Object.assign(f(a,b),h(a,b)),d={},g;["u","d"].forEach(f=>{g="u"===f?b:Object.values(b).reverse(),["l","r"].forEach(b=>{"r"===b&&(g=g.map(a=>Object.values(a).reverse()));let h=("u"===f?a.predecessors:a.successors).bind(a),i=k(a,g,c,h),j=l(a,g,i.root,i.align,"r"===b);"r"===b&&(j=e.mapValues(j,a=>-a)),d[f+b]=j})});let i=m(a,d);return n(d,i),o(d,a.graph().align)},findType1Conflicts:f,findType2Conflicts:h,addConflict:i,hasConflict:j,verticalAlignment:k,horizontalCompaction:l,alignCoordinates:n,findSmallestWidthAlignment:m,balance:o}}),B=c((a,b)=>{var c=g(),d=A().positionX;b.exports=function(a){var b;let e,f,g,h;b=a=c.asNonCompoundGraph(a),e=c.buildLayerMatrix(b),f=b.graph().ranksep,g=b.graph().rankalign,h=0,e.forEach(a=>{let c=a.reduce((a,c)=>{let d=b.node(c).height;return a>d?a:d},0);a.forEach(a=>{let d=b.node(a);"top"===g?d.y=h+d.height/2:"bottom"===g?d.y=h+c-d.height/2:d.y=h+c/2}),h+=c+f}),Object.entries(d(a)).forEach(([b,c])=>a.node(b).x=c)}}),C=c((a,b)=>{var c=h(),e=i(),f=m(),j=g().normalizeRanks,k=n(),l=g().removeEmptyRanks,r=o(),s=p(),t=q(),u=z(),v=B(),w=g(),x=d().Graph;b.exports=function(a,b={}){let d=b.debugTiming?w.time:w.notime;return d("layout",()=>{let g=d(" buildLayoutGraph",()=>{var b;let c,d;return b=a,c=new x({multigraph:!0,compound:!0}),d=J(b.graph()),c.setGraph(Object.assign({},A,I(d,y),w.pick(d,C))),b.nodes().forEach(a=>{let d=I(J(b.node(a)),D);Object.keys(E).forEach(a=>{void 0===d[a]&&(d[a]=E[a])}),c.setNode(a,d),c.setParent(a,b.parent(a))}),b.edges().forEach(a=>{let d=J(b.edge(a));c.setEdge(a,Object.assign({},G,I(d,F),w.pick(d,H)))}),c});return d(" runLayout",()=>{var a,h,i;return a=g,h=d,i=b,void(h(" makeSpaceForEdgeLabels",()=>{var b;let c;return c=(b=a).graph(),void(c.ranksep/=2,b.edges().forEach(a=>{let d=b.edge(a);d.minlen*=2,"c"!==d.labelpos.toLowerCase()&&("TB"===c.rankdir||"BT"===c.rankdir?d.width+=d.labeloffset:d.height+=d.labeloffset)}))}),h(" removeSelfEdges",()=>{var b;(b=a).edges().forEach(a=>{if(a.v===a.w){var c=b.node(a.v);c.selfEdges||(c.selfEdges=[]),c.selfEdges.push({e:a,label:b.edge(a)}),b.removeEdge(a)}})}),h(" acyclic",()=>c.run(a)),h(" nestingGraph.run",()=>r.run(a)),h(" rank",()=>f(w.asNonCompoundGraph(a))),h(" injectEdgeLabelProxies",()=>{var b;(b=a).edges().forEach(a=>{let c=b.edge(a);if(c.width&&c.height){let c=b.node(a.v),d={rank:(b.node(a.w).rank-c.rank)/2+c.rank,e:a};w.addDummyNode(b,"edge-proxy",d,"_ep")}})}),h(" removeEmptyRanks",()=>l(a)),h(" nestingGraph.cleanup",()=>r.cleanup(a)),h(" normalizeRanks",()=>j(a)),h(" assignRankMinMax",()=>{var b;let c;return c=0,void((b=a).nodes().forEach(a=>{let d=b.node(a);d.borderTop&&(d.minRank=b.node(d.borderTop).rank,d.maxRank=b.node(d.borderBottom).rank,c=Math.max(c,d.maxRank))}),b.graph().maxRank=c)}),h(" removeEdgeLabelProxies",()=>{var b;(b=a).nodes().forEach(a=>{let c=b.node(a);"edge-proxy"===c.dummy&&(b.edge(c.e).labelRank=c.rank,b.removeNode(a))})}),h(" normalize.run",()=>e.run(a)),h(" parentDummyChains",()=>k(a)),h(" addBorderSegments",()=>s(a)),h(" order",()=>u(a,i)),h(" insertSelfEdges",()=>{var b;return b=a,void w.buildLayerMatrix(b).forEach(a=>{var c=0;a.forEach((a,d)=>{var e=b.node(a);e.order=d+c,(e.selfEdges||[]).forEach(a=>{w.addDummyNode(b,"selfedge",{width:a.label.width,height:a.label.height,rank:e.rank,order:d+ ++c,e:a.e,label:a.label},"_se")}),delete e.selfEdges})})}),h(" adjustCoordinateSystem",()=>t.adjust(a)),h(" position",()=>v(a)),h(" positionSelfEdges",()=>{var b;(b=a).nodes().forEach(a=>{var c=b.node(a);if("selfedge"===c.dummy){var d=b.node(c.e.v),e=d.x+d.width/2,f=d.y,g=c.x-e,h=d.height/2;b.setEdge(c.e,c.label),b.removeNode(a),c.label.points=[{x:e+2*g/3,y:f-h},{x:e+5*g/6,y:f-h},{x:e+g,y:f},{x:e+5*g/6,y:f+h},{x:e+2*g/3,y:f+h}],c.label.x=c.x,c.label.y=c.y}})}),h(" removeBorderNodes",()=>{var b;(b=a).nodes().forEach(a=>{if(b.children(a).length){let c=b.node(a),d=b.node(c.borderTop),e=b.node(c.borderBottom),f=b.node(c.borderLeft[c.borderLeft.length-1]),g=b.node(c.borderRight[c.borderRight.length-1]);c.width=Math.abs(g.x-f.x),c.height=Math.abs(e.y-d.y),c.x=f.x+c.width/2,c.y=d.y+c.height/2}}),b.nodes().forEach(a=>{"border"===b.node(a).dummy&&b.removeNode(a)})}),h(" normalize.undo",()=>e.undo(a)),h(" fixupEdgeLabelCoords",()=>{var b;(b=a).edges().forEach(a=>{let c=b.edge(a);if(Object.hasOwn(c,"x"))switch(("l"===c.labelpos||"r"===c.labelpos)&&(c.width-=c.labeloffset),c.labelpos){case"l":c.x-=c.width/2+c.labeloffset;break;case"r":c.x+=c.width/2+c.labeloffset}})}),h(" undoCoordinateSystem",()=>t.undo(a)),h(" translateGraph",()=>(function(a){let b=1/0,c=0,d=1/0,e=0,f=a.graph(),g=f.marginx||0,h=f.marginy||0;function i(a){let f=a.x,g=a.y,h=a.width,i=a.height;b=Math.min(b,f-h/2),c=Math.max(c,f+h/2),d=Math.min(d,g-i/2),e=Math.max(e,g+i/2)}a.nodes().forEach(b=>i(a.node(b))),a.edges().forEach(b=>{let c=a.edge(b);Object.hasOwn(c,"x")&&i(c)}),b-=g,d-=h,a.nodes().forEach(c=>{let e=a.node(c);e.x-=b,e.y-=d}),a.edges().forEach(c=>{let e=a.edge(c);e.points.forEach(a=>{a.x-=b,a.y-=d}),Object.hasOwn(e,"x")&&(e.x-=b),Object.hasOwn(e,"y")&&(e.y-=d)}),f.width=c-b+g,f.height=e-d+h})(a)),h(" assignNodeIntersects",()=>{var b;(b=a).edges().forEach(a=>{let c=b.edge(a),d=b.node(a.v),e=b.node(a.w),f,g;c.points?(f=c.points[0],g=c.points[c.points.length-1]):(c.points=[],f=e,g=d),c.points.unshift(w.intersectRect(d,f)),c.points.push(w.intersectRect(e,g))})}),h(" reversePoints",()=>{var b;(b=a).edges().forEach(a=>{let c=b.edge(a);c.reversed&&c.points.reverse()})}),h(" acyclic.undo",()=>c.undo(a)))}),d(" updateInputGraph",()=>{var b,c;return b=a,c=g,void(b.nodes().forEach(a=>{let d=b.node(a),e=c.node(a);d&&(d.x=e.x,d.y=e.y,d.order=e.order,d.rank=e.rank,c.children(a).length&&(d.width=e.width,d.height=e.height))}),b.edges().forEach(a=>{let d=b.edge(a),e=c.edge(a);d.points=e.points,Object.hasOwn(e,"x")&&(d.x=e.x,d.y=e.y)}),b.graph().width=c.graph().width,b.graph().height=c.graph().height)}),g})};var y=["nodesep","edgesep","ranksep","marginx","marginy"],A={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb",rankalign:"center"},C=["acyclicer","ranker","rankdir","align","rankalign"],D=["width","height","rank"],E={width:0,height:0},F=["minlen","weight","width","height","labeloffset"],G={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},H=["labelpos"];function I(a,b){return w.mapValues(w.pick(a,b),Number)}function J(a){var b={};return a&&Object.entries(a).forEach(([a,c])=>{"string"==typeof a&&(a=a.toLowerCase()),b[a]=c}),b}}),D=c((a,b)=>{var c=g(),e=d().Graph;b.exports={debugOrdering:function(a){let b=c.buildLayerMatrix(a),d=new e({compound:!0,multigraph:!0}).setGraph({});return a.nodes().forEach(b=>{d.setNode(b,{label:b}),d.setParent(b,"layer"+a.node(b).rank)}),a.edges().forEach(a=>d.setEdge(a.v,a.w,{},a.name)),b.forEach((a,b)=>{d.setNode("layer"+b,{rank:"same"}),a.reduce((a,b)=>(d.setEdge(a,b,{style:"invis"}),b))}),d}}}),E=c((a,b)=>{b.exports="2.0.4"});let F=c((a,b)=>{b.exports={graphlib:d(),layout:C(),debug:D(),util:{time:g().time,notime:g().notime},version:E()}})(),G={direction:"LR",ranksep:200,nodesep:15},H={featureNode:{width:288,height:140},repositoryNode:{width:328,height:50}};function I(a,b){let c=a.data;return c&&"number"==typeof c.width&&"number"==typeof c.height?{width:c.width,height:c.height}:H[a.type??""]??b}var J=a.i(14703);function K(a,b,c,d,e){[...a].sort((a,b)=>(a.feature.createdAt instanceof Date?a.feature.createdAt.getTime():Number(a.feature.createdAt))-(b.feature.createdAt instanceof Date?b.feature.createdAt.getTime():Number(b.feature.createdAt))).forEach(({feature:a,run:f})=>{let g;if(a.parentId&&"Blocked"===a.lifecycle){let b=c.find(b=>b.feature.id===a.parentId);b&&(g=b.feature.name)}let h={name:a.name,description:a.description??a.slug,featureId:a.id,lifecycle:(0,J.deriveLifecycle)(a,f),repositoryPath:a.repositoryPath,branch:a.branch,specPath:a.specPath,state:(0,J.deriveNodeState)(a,f),progress:(0,J.deriveProgress)(a),...f?.agentType&&{agentType:f.agentType},...f?.error&&{errorMessage:f.error},...g&&{blockedBy:g},...a.pr&&{pr:{url:a.pr.url,number:a.pr.number,status:a.pr.status,ciStatus:a.pr.ciStatus,commitHash:a.pr.commitHash}}},i=`feat-${a.id}`;d.push({id:i,type:"featureNode",position:{x:0,y:0},data:h}),a.parentId||e.push({id:`edge-${b}-${i}`,source:b,target:i,style:{strokeDasharray:"5 5"}})})}async function L(){let a=(0,b.resolve)("ListFeaturesUseCase"),c=(0,b.resolve)("ListRepositoriesUseCase"),d=(0,b.resolve)("IAgentRunRepository"),[e,f]=await Promise.all([a.execute(),c.execute()]),{nodes:g,edges:h}=function(a,b){let c={};b.forEach(a=>{let b=a.feature.repositoryPath;c[b]||(c[b]=[]),c[b].push(a)});let d=[],e=[],f=new Set;for(let g of a){f.add(g.path);let a=`repo-${g.id}`;d.push({id:a,type:"repositoryNode",position:{x:0,y:0},data:{name:g.name,repositoryPath:g.path,id:g.id}}),K(c[g.path]??[],a,b,d,e)}for(let[a,g]of Object.entries(c)){if(f.has(a))continue;let c=`virtual-repo-${a}`,h=a.split("/").filter(Boolean).at(-1)??a;d.push({id:c,type:"repositoryNode",position:{x:0,y:0},data:{name:h,repositoryPath:a}}),K(g,c,b,d,e)}for(let{feature:a}of b)if(a.parentId){let b=`feat-${a.parentId}`,c=`feat-${a.id}`;d.some(a=>a.id===b)&&d.some(a=>a.id===c)&&e.push({id:`dep-${b}-${c}`,source:b,target:c,type:"dependencyEdge"})}return{nodes:d,edges:e}}(f,await Promise.all(e.map(async a=>{let b=a.agentRunId?await d.findById(a.agentRunId):null;return{feature:a,run:b}})));return function(a,b,c={}){let{direction:d="TB",nodeSize:e={width:172,height:36},ranksep:f=80,nodesep:g=30}=c;if(0===a.length)return{nodes:[],edges:[]};let h=new F.graphlib.Graph({multigraph:!0});h.setDefaultEdgeLabel(()=>({})),h.setGraph({rankdir:d,ranksep:f,nodesep:g});let i=new Set;for(let a of b)i.add(a.source),i.add(a.target);let j=a.filter(a=>i.has(a.id)),k=a.filter(a=>!i.has(a.id));for(let a of j){let b=I(a,e);h.setNode(a.id,{width:b.width,height:b.height})}for(let a of b)h.hasNode(a.source)&&h.hasNode(a.target)&&h.setEdge(a.source,a.target,{},a.id);F.layout(h);let{targetPosition:l,sourcePosition:m}=function(a){switch(a){case"LR":return{targetPosition:"left",sourcePosition:"right"};case"RL":return{targetPosition:"right",sourcePosition:"left"};case"BT":return{targetPosition:"bottom",sourcePosition:"top"};default:return{targetPosition:"top",sourcePosition:"bottom"}}}(d),n="LR"===d||"RL"===d,o=new Map;for(let a of j){let b=h.node(a.id),c=I(a,e);o.set(a.id,{cx:b.x,cy:b.y,w:c.width,h:c.height})}let p=new Map;for(let a of b)o.has(a.source)&&o.has(a.target)&&(p.has(a.source)||p.set(a.source,[]),p.get(a.source).push(a.target));for(let[a,b]of p){if(b.length<=1)continue;let c=o.get(a),d=n?c.cy:c.cx,e=b.filter(a=>o.has(a)).sort((a,b)=>{let c=o.get(a),d=o.get(b);return n?c.cy-d.cy:c.cx-d.cx}),f=o.get(e[0]),g=o.get(e[e.length-1]),h=d-(n?(f.cy+g.cy)/2:(f.cx+g.cx)/2);if(Math.abs(h)>1)for(let a of e){let b=o.get(a);n?b.cy+=h:b.cx+=h}}let q=new Map;for(let a=0;a<j.length;a++)q.set(j[a].id,a);for(let[,a]of p){let b=a.filter(a=>o.has(a));if(b.length<=1)continue;let c=b.map(a=>n?o.get(a).cy:o.get(a).cx).sort((a,b)=>a-b),d=[...b].sort((a,b)=>(q.get(a)??0)-(q.get(b)??0));for(let a=0;a<d.length;a++){let b=o.get(d[a]);n?b.cy=c[a]:b.cx=c[a]}}let r=[];for(let a of j){let b=o.get(a.id);r.push({...a,targetPosition:l,sourcePosition:m,position:{x:b.cx-b.w/2,y:b.cy-b.h/2}})}if(k.length>0){let a=0,b=1/0;for(let c of r){let d=I(c,e);a=Math.max(a,c.position.y+d.height),b=Math.min(b,c.position.x)}b===1/0&&(b=0);for(let c=0;c<k.length;c++){let d=k[c],f=I(d,e);r.push({...d,targetPosition:l,sourcePosition:m,position:{x:b,y:a+30+c*(f.height+20)}})}}return{nodes:r,edges:[...b]}}(g,h,G)}a.s(["getGraphData",()=>L],66693)}];
1
+ module.exports=[66693,a=>{"use strict";var b=a.i(96380),c=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),d=c((a,b)=>{var c=Object.defineProperty,d=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),e=(a,b,d)=>{let e;return(e="symbol"!=typeof b?b+"":b)in a?c(a,e,{enumerable:!0,configurable:!0,writable:!0,value:d}):a[e]=d},f=d((a,b)=>{function c(a,b){a[b]?a[b]++:a[b]=1}function d(a,b){--a[b]||delete a[b]}function f(a,b,c,d){var e=""+b,f=""+c;if(!a&&e>f){var g=e;e=f,f=g}return e+"\x01"+f+"\x01"+(void 0===d?"\0":d)}function g(a,b){return f(a,b.v,b.w,b.name)}b.exports=class{constructor(a){e(this,"_isDirected",!0),e(this,"_isMultigraph",!1),e(this,"_isCompound",!1),e(this,"_label"),e(this,"_defaultNodeLabelFn",()=>{}),e(this,"_defaultEdgeLabelFn",()=>{}),e(this,"_nodes",{}),e(this,"_in",{}),e(this,"_preds",{}),e(this,"_out",{}),e(this,"_sucs",{}),e(this,"_edgeObjs",{}),e(this,"_edgeLabels",{}),e(this,"_nodeCount",0),e(this,"_edgeCount",0),e(this,"_parent"),e(this,"_children"),a&&(this._isDirected=!Object.hasOwn(a,"directed")||a.directed,this._isMultigraph=!!Object.hasOwn(a,"multigraph")&&a.multigraph,this._isCompound=!!Object.hasOwn(a,"compound")&&a.compound),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(a){return this._label=a,this}graph(){return this._label}setDefaultNodeLabel(a){return this._defaultNodeLabelFn=a,"function"!=typeof a&&(this._defaultNodeLabelFn=()=>a),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var a=this;return this.nodes().filter(b=>0===Object.keys(a._in[b]).length)}sinks(){var a=this;return this.nodes().filter(b=>0===Object.keys(a._out[b]).length)}setNodes(a,b){var c=arguments,d=this;return a.forEach(function(a){c.length>1?d.setNode(a,b):d.setNode(a)}),this}setNode(a,b){return Object.hasOwn(this._nodes,a)?arguments.length>1&&(this._nodes[a]=b):(this._nodes[a]=arguments.length>1?b:this._defaultNodeLabelFn(a),this._isCompound&&(this._parent[a]="\0",this._children[a]={},this._children["\0"][a]=!0),this._in[a]={},this._preds[a]={},this._out[a]={},this._sucs[a]={},++this._nodeCount),this}node(a){return this._nodes[a]}hasNode(a){return Object.hasOwn(this._nodes,a)}removeNode(a){var b=this;if(Object.hasOwn(this._nodes,a)){var c=a=>b.removeEdge(b._edgeObjs[a]);delete this._nodes[a],this._isCompound&&(this._removeFromParentsChildList(a),delete this._parent[a],this.children(a).forEach(function(a){b.setParent(a)}),delete this._children[a]),Object.keys(this._in[a]).forEach(c),delete this._in[a],delete this._preds[a],Object.keys(this._out[a]).forEach(c),delete this._out[a],delete this._sucs[a],--this._nodeCount}return this}setParent(a,b){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(void 0===b)b="\0";else{b+="";for(var c=b;void 0!==c;c=this.parent(c))if(c===a)throw Error("Setting "+b+" as parent of "+a+" would create a cycle");this.setNode(b)}return this.setNode(a),this._removeFromParentsChildList(a),this._parent[a]=b,this._children[b][a]=!0,this}_removeFromParentsChildList(a){delete this._children[this._parent[a]][a]}parent(a){if(this._isCompound){var b=this._parent[a];if("\0"!==b)return b}}children(a="\0"){if(this._isCompound){var b=this._children[a];if(b)return Object.keys(b)}else{if("\0"===a)return this.nodes();if(this.hasNode(a))return[]}}predecessors(a){var b=this._preds[a];if(b)return Object.keys(b)}successors(a){var b=this._sucs[a];if(b)return Object.keys(b)}neighbors(a){var b=this.predecessors(a);if(b){let d=new Set(b);for(var c of this.successors(a))d.add(c);return Array.from(d.values())}}isLeaf(a){return 0===(this.isDirected()?this.successors(a):this.neighbors(a)).length}filterNodes(a){var b=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});b.setGraph(this.graph());var c=this;Object.entries(this._nodes).forEach(function([c,d]){a(c)&&b.setNode(c,d)}),Object.values(this._edgeObjs).forEach(function(a){b.hasNode(a.v)&&b.hasNode(a.w)&&b.setEdge(a,c.edge(a))});var d={};return this._isCompound&&b.nodes().forEach(a=>b.setParent(a,function a(e){var f=c.parent(e);return void 0===f||b.hasNode(f)?(d[e]=f,f):f in d?d[f]:a(f)}(a))),b}setDefaultEdgeLabel(a){return this._defaultEdgeLabelFn=a,"function"!=typeof a&&(this._defaultEdgeLabelFn=()=>a),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(a,b){var c=this,d=arguments;return a.reduce(function(a,e){return d.length>1?c.setEdge(a,e,b):c.setEdge(a,e),e}),this}setEdge(){var a,b,d,e,g=!1,h=arguments[0];"object"==typeof h&&null!==h&&"v"in h?(a=h.v,b=h.w,d=h.name,2==arguments.length&&(e=arguments[1],g=!0)):(a=h,b=arguments[1],d=arguments[3],arguments.length>2&&(e=arguments[2],g=!0)),a=""+a,b=""+b,void 0!==d&&(d=""+d);var i=f(this._isDirected,a,b,d);if(Object.hasOwn(this._edgeLabels,i))return g&&(this._edgeLabels[i]=e),this;if(void 0!==d&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(a),this.setNode(b),this._edgeLabels[i]=g?e:this._defaultEdgeLabelFn(a,b,d);var j=function(a,b,c,d){var e=""+b,f=""+c;if(!a&&e>f){var g=e;e=f,f=g}var h={v:e,w:f};return d&&(h.name=d),h}(this._isDirected,a,b,d);return a=j.v,b=j.w,Object.freeze(j),this._edgeObjs[i]=j,c(this._preds[b],a),c(this._sucs[a],b),this._in[b][i]=j,this._out[a][i]=j,this._edgeCount++,this}edge(a,b,c){var d=1==arguments.length?g(this._isDirected,arguments[0]):f(this._isDirected,a,b,c);return this._edgeLabels[d]}edgeAsObj(){let a=this.edge(...arguments);return"object"!=typeof a?{label:a}:a}hasEdge(a,b,c){var d=1==arguments.length?g(this._isDirected,arguments[0]):f(this._isDirected,a,b,c);return Object.hasOwn(this._edgeLabels,d)}removeEdge(a,b,c){var e=1==arguments.length?g(this._isDirected,arguments[0]):f(this._isDirected,a,b,c),h=this._edgeObjs[e];return h&&(a=h.v,b=h.w,delete this._edgeLabels[e],delete this._edgeObjs[e],d(this._preds[b],a),d(this._sucs[a],b),delete this._in[b][e],delete this._out[a][e],this._edgeCount--),this}inEdges(a,b){return this.isDirected()?this.filterEdges(this._in[a],a,b):this.nodeEdges(a,b)}outEdges(a,b){return this.isDirected()?this.filterEdges(this._out[a],a,b):this.nodeEdges(a,b)}nodeEdges(a,b){if(a in this._nodes)return this.filterEdges({...this._in[a],...this._out[a]},a,b)}filterEdges(a,b,c){if(a){var d=Object.values(a);return c?d.filter(function(a){return a.v===b&&a.w===c||a.v===c&&a.w===b}):d}}}}),g=d((a,b)=>{b.exports="3.0.2"}),h=d((a,b)=>{b.exports={Graph:f(),version:g()}}),i=d((a,b)=>{var c=f();b.exports={write:function(a){var b,c,d={options:{directed:a.isDirected(),multigraph:a.isMultigraph(),compound:a.isCompound()},nodes:(b=a).nodes().map(function(a){var c=b.node(a),d=b.parent(a),e={v:a};return void 0!==c&&(e.value=c),void 0!==d&&(e.parent=d),e}),edges:(c=a).edges().map(function(a){var b=c.edge(a),d={v:a.v,w:a.w};return void 0!==a.name&&(d.name=a.name),void 0!==b&&(d.value=b),d})};return void 0!==a.graph()&&(d.value=structuredClone(a.graph())),d},read:function(a){var b=new c(a.options).setGraph(a.value);return a.nodes.forEach(function(a){b.setNode(a.v,a.value),a.parent&&b.setParent(a.v,a.parent)}),a.edges.forEach(function(a){b.setEdge({v:a.v,w:a.w,name:a.name},a.value)}),b}}}),j=d((a,b)=>{b.exports=function(a,b,d,e){return function(a,b,c,d){var e={},f=!0,g=0,h=a.nodes(),i=function(a){var b=c(a);e[a.v].distance+b<e[a.w].distance&&(e[a.w]={distance:e[a.v].distance+b,predecessor:a.v},f=!0)},j=function(){h.forEach(function(a){d(a).forEach(function(b){var c=b.v===a?b.v:b.w,d=c===b.v?b.w:b.v;i({v:c,w:d})})})};h.forEach(function(a){e[a]={distance:a===b?0:1/0}});for(var k=h.length,l=1;l<k&&(f=!1,g++,j(),f);l++);if(g===k-1&&(f=!1,j(),f))throw Error("The graph contains a negative weight cycle");return e}(a,String(b),d||c,e||function(b){return a.outEdges(b)})};var c=()=>1}),k=d((a,b)=>{b.exports=function(a){var b,c={},d=[];return a.nodes().forEach(function(e){b=[],function d(e){Object.hasOwn(c,e)||(c[e]=!0,b.push(e),a.successors(e).forEach(d),a.predecessors(e).forEach(d))}(e),b.length&&d.push(b)}),d}}),l=d((a,b)=>{b.exports=class{constructor(){e(this,"_arr",[]),e(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(a){return a.key})}has(a){return Object.hasOwn(this._keyIndices,a)}priority(a){var b=this._keyIndices[a];if(void 0!==b)return this._arr[b].priority}min(){if(0===this.size())throw Error("Queue underflow");return this._arr[0].key}add(a,b){var c=this._keyIndices;if(!Object.hasOwn(c,a=String(a))){var d=this._arr,e=d.length;return c[a]=e,d.push({key:a,priority:b}),this._decrease(e),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var a=this._arr.pop();return delete this._keyIndices[a.key],this._heapify(0),a.key}decrease(a,b){var c=this._keyIndices[a];if(b>this._arr[c].priority)throw Error("New priority is greater than current priority. Key: "+a+" Old: "+this._arr[c].priority+" New: "+b);this._arr[c].priority=b,this._decrease(c)}_heapify(a){var b=this._arr,c=2*a,d=c+1,e=a;c<b.length&&(e=b[c].priority<b[e].priority?c:e,d<b.length&&(e=b[d].priority<b[e].priority?d:e),e!==a&&(this._swap(a,e),this._heapify(e)))}_decrease(a){for(var b,c=this._arr,d=c[a].priority;0!==a&&!(c[b=a>>1].priority<d);)this._swap(a,b),a=b}_swap(a,b){var c=this._arr,d=this._keyIndices,e=c[a],f=c[b];c[a]=f,c[b]=e,d[f.key]=a,d[e.key]=b}}}),m=d((a,b)=>{var c=l();b.exports=function(a,b,e,f){return function(a,b,d,e){var f,g,h={},i=new c,j=function(a){var b=a.v!==f?a.v:a.w,c=h[b],e=d(a),j=g.distance+e;if(e<0)throw Error("dijkstra does not allow negative edge weights. Bad edge: "+a+" Weight: "+e);j<c.distance&&(c.distance=j,c.predecessor=f,i.decrease(b,j))};for(a.nodes().forEach(function(a){var c=a===b?0:1/0;h[a]={distance:c},i.add(a,c)});i.size()>0&&(g=h[f=i.removeMin()]).distance!==1/0;)e(f).forEach(j);return h}(a,String(b),e||d,f||function(b){return a.outEdges(b)})};var d=()=>1}),n=d((a,b)=>{var c=m();b.exports=function(a,b,d){return a.nodes().reduce(function(e,f){return e[f]=c(a,f,b,d),e},{})}}),o=d((a,b)=>{b.exports=function(a,b,c){if(void 0!==a[b].predecessor)throw Error("Invalid source vertex");if(void 0===a[c].predecessor&&c!==b)throw Error("Invalid destination vertex");return{weight:a[c].distance,path:function(a,b,c){for(var d=[],e=c;e!==b;)d.push(e),e=a[e].predecessor;return d.push(b),d.reverse()}(a,b,c)}}}),p=d((a,b)=>{b.exports=function(a){var b=0,c=[],d={},e=[];return a.nodes().forEach(function(f){Object.hasOwn(d,f)||function f(g){var h=d[g]={onStack:!0,lowlink:b,index:b++};if(c.push(g),a.successors(g).forEach(function(a){Object.hasOwn(d,a)?d[a].onStack&&(h.lowlink=Math.min(h.lowlink,d[a].index)):(f(a),h.lowlink=Math.min(h.lowlink,d[a].lowlink))}),h.lowlink===h.index){var i,j=[];do d[i=c.pop()].onStack=!1,j.push(i);while(g!==i)e.push(j)}}(f)}),e}}),q=d((a,b)=>{var c=p();b.exports=function(a){return c(a).filter(function(b){return b.length>1||1===b.length&&a.hasEdge(b[0],b[0])})}}),r=d((a,b)=>{b.exports=function(a,b,d){var e,f,g,h,i;return e=a,f=b||c,g=d||function(b){return a.outEdges(b)},h={},(i=e.nodes()).forEach(function(a){h[a]={},h[a][a]={distance:0},i.forEach(function(b){a!==b&&(h[a][b]={distance:1/0})}),g(a).forEach(function(b){var c=b.v===a?b.w:b.v,d=f(b);h[a][c]={distance:d,predecessor:a}})}),i.forEach(function(a){var b=h[a];i.forEach(function(c){var d=h[c];i.forEach(function(c){var e=d[a],f=b[c],g=d[c],h=e.distance+f.distance;h<g.distance&&(g.distance=h,g.predecessor=f.predecessor)})})}),h};var c=()=>1}),s=d((a,b)=>{function c(a){var b={},c={},e=[];if(a.sinks().forEach(function f(g){if(Object.hasOwn(c,g))throw new d;Object.hasOwn(b,g)||(c[g]=!0,b[g]=!0,a.predecessors(g).forEach(f),delete c[g],e.push(g))}),Object.keys(b).length!==a.nodeCount())throw new d;return e}var d=class extends Error{constructor(){super(...arguments)}};b.exports=c,c.CycleException=d}),t=d((a,b)=>{var c=s();b.exports=function(a){try{c(a)}catch(a){if(a instanceof c.CycleException)return!1;throw a}return!0}}),u=d((a,b)=>{b.exports=function(a,b,c,d,e){Array.isArray(b)||(b=[b]);var f=(a.isDirected()?a.successors:a.neighbors).bind(a),g={};return b.forEach(function(b){if(!a.hasNode(b))throw Error("Graph does not have node: "+b);e=function a(b,c,d,e,f,g,h){return Object.hasOwn(e,c)||(e[c]=!0,d||(h=g(h,c)),f(c).forEach(function(c){h=a(b,c,d,e,f,g,h)}),d&&(h=g(h,c))),h}(a,b,"post"===c,g,f,d,e)}),e}}),v=d((a,b)=>{var c=u();b.exports=function(a,b,d){return c(a,b,d,function(a,b){return a.push(b),a},[])}}),w=d((a,b)=>{var c=v();b.exports=function(a,b){return c(a,b,"post")}}),x=d((a,b)=>{var c=v();b.exports=function(a,b){return c(a,b,"pre")}}),y=d((a,b)=>{var c=f(),d=l();b.exports=function(a,b){var e,f=new c,g={},h=new d;function i(a){var c=a.v===e?a.w:a.v,d=h.priority(c);if(void 0!==d){var f=b(a);f<d&&(g[c]=e,h.decrease(c,f))}}if(0===a.nodeCount())return f;a.nodes().forEach(function(a){h.add(a,1/0),f.setNode(a)}),h.decrease(a.nodes()[0],0);for(var j=!1;h.size()>0;){if(Object.hasOwn(g,e=h.removeMin()))f.setEdge(e,g[e]);else{if(j)throw Error("Input graph is not connected: "+a);j=!0}a.nodeEdges(e).forEach(i)}return f}}),z=d((a,b)=>{var c=m(),d=j();b.exports=function(a,b,e,f){return function(a,b,e,f){if(void 0===e)return c(a,b,e,f);for(var g=!1,h=a.nodes(),i=0;i<h.length;i++){for(var j=f(h[i]),k=0;k<j.length;k++){var l=j[k],m=l.v===h[i]?l.v:l.w,n=m===l.v?l.w:l.v;0>e({v:m,w:n})&&(g=!0)}if(g)return d(a,b,e,f)}return c(a,b,e,f)}(a,b,e,f||function(b){return a.outEdges(b)})}}),A=d((a,b)=>{b.exports={bellmanFord:j(),components:k(),dijkstra:m(),dijkstraAll:n(),extractPath:o(),findCycles:q(),floydWarshall:r(),isAcyclic:t(),postorder:w(),preorder:x(),prim:y(),shortestPaths:z(),reduce:u(),tarjan:p(),topsort:s()}}),B=h();b.exports={Graph:B.Graph,json:i(),alg:A(),version:B.version}}),e=c((a,b)=>{function c(a){a._prev._next=a._next,a._next._prev=a._prev,delete a._next,delete a._prev}function d(a,b){if("_next"!==a&&"_prev"!==a)return b}b.exports=class{constructor(){let a={};a._next=a._prev=a,this._sentinel=a}dequeue(){let a=this._sentinel,b=a._prev;if(b!==a)return c(b),b}enqueue(a){let b=this._sentinel;a._prev&&a._next&&c(a),a._next=b._next,b._next._prev=a,b._next=a,a._prev=b}toString(){let a=[],b=this._sentinel,c=b._prev;for(;c!==b;)a.push(JSON.stringify(c,d)),c=c._prev;return"["+a.join(", ")+"]"}}}),f=c((a,b)=>{var c=d().Graph,f=e();b.exports=function(a,b){var d,e;let j,k,l,m,n;if(1>=a.nodeCount())return[];let o=(d=a,e=b||g,j=new c,k=0,l=0,d.nodes().forEach(a=>{j.setNode(a,{v:a,in:0,out:0})}),d.edges().forEach(a=>{let b=j.edge(a.v,a.w)||0,c=e(a);j.setEdge(a.v,a.w,b+c),l=Math.max(l,j.node(a.v).out+=c),k=Math.max(k,j.node(a.w).in+=c)}),m=(function(a){let b=[];for(let c=0;c<a;c++)b.push(c);return b})(l+k+3).map(()=>new f),n=k+1,j.nodes().forEach(a=>{i(m,n,j.node(a))}),{graph:j,buckets:m,zeroIdx:n});return(function(a,b,c){let d=[],e=b[b.length-1],f=b[0],g;for(;a.nodeCount();){for(;g=f.dequeue();)h(a,b,c,g);for(;g=e.dequeue();)h(a,b,c,g);if(a.nodeCount()){for(let e=b.length-2;e>0;--e)if(g=b[e].dequeue()){d=d.concat(h(a,b,c,g,!0));break}}}return d})(o.graph,o.buckets,o.zeroIdx).flatMap(b=>a.outEdges(b.v,b.w))};var g=()=>1;function h(a,b,c,d,e){let f=e?[]:void 0;return a.inEdges(d.v).forEach(d=>{let g=a.edge(d),h=a.node(d.v);e&&f.push({v:d.v,w:d.w}),h.out-=g,i(b,c,h)}),a.outEdges(d.v).forEach(d=>{let e=a.edge(d),f=d.w,g=a.node(f);g.in-=e,i(b,c,g)}),a.removeNode(d.v),f}function i(a,b,c){c.out?c.in?a[c.out-c.in+b].enqueue(c):a[a.length-1].enqueue(c):a[0].enqueue(c)}}),g=c((a,b)=>{var c=d().Graph;function e(a,b,c,d){for(var e=d;a.hasNode(e);)e=i(d);return c.dummy=b,a.setNode(e,c),e}b.exports={addBorderNode:function(a,b,c,d){let f={width:0,height:0};return arguments.length>=4&&(f.rank=c,f.order=d),e(a,"border",f,b)},addDummyNode:e,applyWithChunking:f,asNonCompoundGraph:function(a){let b=new c({multigraph:a.isMultigraph()}).setGraph(a.graph());return a.nodes().forEach(c=>{a.children(c).length||b.setNode(c,a.node(c))}),a.edges().forEach(c=>{b.setEdge(c,a.edge(c))}),b},buildLayerMatrix:function(a){let b=j(g(a)+1).map(()=>[]);return a.nodes().forEach(c=>{let d=a.node(c),e=d.rank;void 0!==e&&(b[e][d.order]=c)}),b},intersectRect:function(a,b){let c,d,e=a.x,f=a.y,g=b.x-e,h=b.y-f,i=a.width/2,j=a.height/2;if(!g&&!h)throw Error("Not possible to find intersection inside of the rectangle");return Math.abs(h)*i>Math.abs(g)*j?(h<0&&(j=-j),c=j*g/h,d=j):(g<0&&(i=-i),c=i,d=i*h/g),{x:e+c,y:f+d}},mapValues:function(a,b){let c=b;return"string"==typeof b&&(c=a=>a[b]),Object.entries(a).reduce((a,[b,d])=>(a[b]=c(d,b),a),{})},maxRank:g,normalizeRanks:function(a){let b=f(Math.min,a.nodes().map(b=>{let c=a.node(b).rank;return void 0===c?Number.MAX_VALUE:c}));a.nodes().forEach(c=>{let d=a.node(c);Object.hasOwn(d,"rank")&&(d.rank-=b)})},notime:function(a,b){return b()},partition:function(a,b){let c={lhs:[],rhs:[]};return a.forEach(a=>{b(a)?c.lhs.push(a):c.rhs.push(a)}),c},pick:function(a,b){let c={};for(let d of b)void 0!==a[d]&&(c[d]=a[d]);return c},predecessorWeights:function(a){let b=a.nodes().map(b=>{let c={};return a.inEdges(b).forEach(b=>{c[b.v]=(c[b.v]||0)+a.edge(b).weight}),c});return k(a.nodes(),b)},range:j,removeEmptyRanks:function(a){let b=f(Math.min,a.nodes().map(b=>a.node(b).rank).filter(a=>void 0!==a)),c=[];a.nodes().forEach(d=>{let e=a.node(d).rank-b;c[e]||(c[e]=[]),c[e].push(d)});let d=0,e=a.graph().nodeRankFactor;Array.from(c).forEach((b,c)=>{void 0===b&&c%e!=0?--d:void 0!==b&&d&&b.forEach(b=>a.node(b).rank+=d)})},simplify:function(a){let b=new c().setGraph(a.graph());return a.nodes().forEach(c=>b.setNode(c,a.node(c))),a.edges().forEach(c=>{let d=b.edge(c.v,c.w)||{weight:0,minlen:1},e=a.edge(c);b.setEdge(c.v,c.w,{weight:d.weight+e.weight,minlen:Math.max(d.minlen,e.minlen)})}),b},successorWeights:function(a){let b=a.nodes().map(b=>{let c={};return a.outEdges(b).forEach(b=>{c[b.w]=(c[b.w]||0)+a.edge(b).weight}),c});return k(a.nodes(),b)},time:function(a,b){let c=Date.now();try{return b()}finally{console.log(a+" time: "+(Date.now()-c)+"ms")}},uniqueId:i,zipObject:k};function f(a,b){if(!(b.length>65535))return a.apply(null,b);{let c=function(a,b=65535){let c=[];for(let d=0;d<a.length;d+=b){let e=a.slice(d,d+b);c.push(e)}return c}(b);return a.apply(null,c.map(b=>a.apply(null,b)))}}function g(a){return f(Math.max,a.nodes().map(b=>{let c=a.node(b).rank;return void 0===c?5e-324:c}))}var h=0;function i(a){return a+""+ ++h}function j(a,b,c=1){null==b&&(b=a,a=0);let d=a=>a<b;c<0&&(d=a=>b<a);let e=[];for(let b=a;d(b);b+=c)e.push(b);return e}function k(a,b){return a.reduce((a,c,d)=>(a[c]=b[d],a),{})}}),h=c((a,b)=>{var c=f(),d=g().uniqueId;b.exports={run:function(a){var b,e;let f,g,h;("greedy"===a.graph().acyclicer?c(a,(b=a,a=>b.edge(a).weight)):(f=[],g={},h={},(e=a).nodes().forEach(function a(b){Object.hasOwn(h,b)||(h[b]=!0,g[b]=!0,e.outEdges(b).forEach(b=>{Object.hasOwn(g,b.w)?f.push(b):a(b.w)}),delete g[b])}),f)).forEach(b=>{let c=a.edge(b);a.removeEdge(b),c.forwardName=b.name,c.reversed=!0,a.setEdge(b.w,b.v,c,d("rev"))})},undo:function(a){a.edges().forEach(b=>{let c=a.edge(b);if(c.reversed){a.removeEdge(b);let d=c.forwardName;delete c.reversed,delete c.forwardName,a.setEdge(b.w,b.v,c,d)}})}}}),i=c((a,b)=>{var c=g();b.exports={run:function(a){a.graph().dummyChains=[],a.edges().forEach(b=>(function(a,b){let d,e,f,g=b.v,h=a.node(g).rank,i=b.w,j=a.node(i).rank,k=b.name,l=a.edge(b),m=l.labelRank;if(j!==h+1){for(a.removeEdge(b),f=0,++h;h<j;++f,++h)l.points=[],e={width:0,height:0,edgeLabel:l,edgeObj:b,rank:h},d=c.addDummyNode(a,"edge",e,"_d"),h===m&&(e.width=l.width,e.height=l.height,e.dummy="edge-label",e.labelpos=l.labelpos),a.setEdge(g,d,{weight:l.weight},k),0===f&&a.graph().dummyChains.push(d),g=d;a.setEdge(g,i,{weight:l.weight},k)}})(a,b))},undo:function(a){a.graph().dummyChains.forEach(b=>{let c=a.node(b),d=c.edgeLabel,e;for(a.setEdge(c.edgeObj,d);c.dummy;)e=a.successors(b)[0],a.removeNode(b),d.points.push({x:c.x,y:c.y}),"edge-label"===c.dummy&&(d.x=c.x,d.y=c.y,d.width=c.width,d.height=c.height),b=e,c=a.node(b)})}}}),j=c((a,b)=>{var{applyWithChunking:c}=g();b.exports={longestPath:function(a){var b={};a.sources().forEach(function d(e){var f=a.node(e);if(Object.hasOwn(b,e))return f.rank;b[e]=!0;var g=c(Math.min,a.outEdges(e).map(b=>null==b?1/0:d(b.w)-a.edge(b).minlen));return g===1/0&&(g=0),f.rank=g})},slack:function(a,b){return a.node(b.w).rank-a.node(b.v).rank-a.edge(b).minlen}}}),k=c((a,b)=>{var c=d().Graph,e=j().slack;b.exports=function(a){var b,d,f,g,h=new c({directed:!1}),i=a.nodes()[0],j=a.nodeCount();for(h.setNode(i,{});b=h,d=a,b.nodes().forEach(function a(c){d.nodeEdges(c).forEach(f=>{var g=f.v,h=c===g?f.w:g;b.hasNode(h)||e(d,f)||(b.setNode(h,{}),b.setEdge(c,h,{}),a(h))})}),b.nodeCount()<j;)f=function(a,b){return b.edges().reduce((c,d)=>{let f=1/0;return a.hasNode(d.v)!==a.hasNode(d.w)&&(f=e(b,d)),f<c[0]?[f,d]:c},[1/0,null])[1]}(h,a),g=h.hasNode(f.v)?e(a,f):-e(a,f),function(a,b,c){a.nodes().forEach(a=>b.node(a).rank+=c)}(h,a,g);return h}}),l=c((a,b)=>{var c=k(),e=j().slack,f=j().longestPath,h=d().alg.preorder,i=d().alg.postorder,l=g().simplify;function m(a){f(a=l(a));var b,d,e=c(a);for(p(e),n(e,a);b=q(e);)d=r(e,a,b),s(e,a,b,d)}function n(a,b){var c=i(a,a.nodes());(c=c.slice(0,c.length-1)).forEach(c=>{var d,e,f,g;return d=a,e=b,f=c,g=d.node(f).parent,void(d.edge(f,g).cutvalue=o(d,e,f))})}function o(a,b,c){var d=a.node(c).parent,e=!0,f=b.edge(c,d),g=0;return f||(e=!1,f=b.edge(d,c)),g=f.weight,b.nodeEdges(c).forEach(f=>{var h=f.v===c,i=h?f.w:f.v;if(i!==d){var j,k,l,m=h===e,n=b.edge(f).weight;if(g+=m?n:-n,j=a,k=c,l=i,j.hasEdge(k,l)){var o=a.edge(c,i).cutvalue;g+=m?-o:o}}}),g}function p(a,b){arguments.length<2&&(b=a.nodes()[0]),function a(b,c,d,e,f){var g=d,h=b.node(e);return c[e]=!0,b.neighbors(e).forEach(f=>{Object.hasOwn(c,f)||(d=a(b,c,d,f,e))}),h.low=g,h.lim=d++,f?h.parent=f:delete h.parent,d}(a,{},1,b)}function q(a){return a.edges().find(b=>a.edge(b).cutvalue<0)}function r(a,b,c){var d=c.v,f=c.w;b.hasEdge(d,f)||(d=c.w,f=c.v);var g=a.node(d),h=a.node(f),i=g,j=!1;return g.lim>h.lim&&(i=h,j=!0),b.edges().filter(b=>j===t(a,a.node(b.v),i)&&j!==t(a,a.node(b.w),i)).reduce((a,c)=>e(b,c)<e(b,a)?c:a)}function s(a,b,c,d){var e,f,g,i,j=c.v,k=c.w;a.removeEdge(j,k),a.setEdge(d.v,d.w,{}),p(a),n(a,b),e=a,f=b,g=e.nodes().find(a=>!f.node(a).parent),(i=(i=h(e,g)).slice(1)).forEach(a=>{var b=e.node(a).parent,c=f.edge(a,b),d=!1;c||(c=f.edge(b,a),d=!0),f.node(a).rank=f.node(b).rank+(d?c.minlen:-c.minlen)})}function t(a,b,c){return c.low<=b.lim&&b.lim<=c.lim}b.exports=m,m.initLowLimValues=p,m.initCutValues=n,m.calcCutValue=o,m.leaveEdge=q,m.enterEdge=r,m.exchangeEdges=s}),m=c((a,b)=>{var c=j().longestPath,d=k(),e=l();b.exports=function(a){var b,g=a.graph().ranker;if(g instanceof Function)return g(a);switch(a.graph().ranker){case"network-simplex":default:e(a);break;case"tight-tree":c(b=a),d(b);break;case"longest-path":f(a);case"none":}};var f=c}),n=c((a,b)=>{b.exports=function(a){var b;let c,d,e=(c={},d=0,(b=a).children().forEach(function a(e){let f=d;b.children(e).forEach(a),c[e]={low:f,lim:d++}}),c);a.graph().dummyChains.forEach(b=>{let c=a.node(b),d=c.edgeObj,f=function(a,b,c,d){let e=[],f=[],g=Math.min(b[c].low,b[d].low),h=Math.max(b[c].lim,b[d].lim),i,j;i=c;do e.push(i=a.parent(i));while(i&&(b[i].low>g||h>b[i].lim))for(j=i,i=d;(i=a.parent(i))!==j;)f.push(i);return{path:e.concat(f.reverse()),lca:j}}(a,e,d.v,d.w),g=f.path,h=f.lca,i=0,j=g[0],k=!0;for(;b!==d.w;){if(c=a.node(b),k){for(;(j=g[i])!==h&&a.node(j).maxRank<c.rank;)i++;j===h&&(k=!1)}if(!k){for(;i<g.length-1&&a.node(j=g[i+1]).minRank<=c.rank;)i++;j=g[i]}a.setParent(b,j),b=a.successors(b)[0]}})}}),o=c((a,b)=>{var c=g();b.exports={run:function(a){var b,d,e;let f=c.addDummyNode(a,"root",{},"_root"),g=(d={},(b=a).children().forEach(a=>(function a(c,e){var f=b.children(c);f&&f.length&&f.forEach(b=>a(b,e+1)),d[c]=e})(a,1)),d),h=Object.values(g),i=c.applyWithChunking(Math.max,h)-1,j=2*i+1;a.graph().nestingRoot=f,a.edges().forEach(b=>a.edge(b).minlen*=j);let k=(e=a).edges().reduce((a,b)=>a+e.edge(b).weight,0)+1;a.children().forEach(b=>(function a(b,d,e,f,g,h,i){let j=b.children(i);if(!j.length){i!==d&&b.setEdge(d,i,{weight:0,minlen:e});return}let k=c.addBorderNode(b,"_bt"),l=c.addBorderNode(b,"_bb"),m=b.node(i);b.setParent(k,i),m.borderTop=k,b.setParent(l,i),m.borderBottom=l,j.forEach(c=>{a(b,d,e,f,g,h,c);let j=b.node(c),m=j.borderTop?j.borderTop:c,n=j.borderBottom?j.borderBottom:c,o=j.borderTop?f:2*f,p=m!==n?1:g-h[i]+1;b.setEdge(k,m,{weight:o,minlen:p,nestingEdge:!0}),b.setEdge(n,l,{weight:o,minlen:p,nestingEdge:!0})}),b.parent(i)||b.setEdge(d,k,{weight:0,minlen:g+h[i]})})(a,f,j,k,i,g,b)),a.graph().nodeRankFactor=j},cleanup:function(a){var b=a.graph();a.removeNode(b.nestingRoot),delete b.nestingRoot,a.edges().forEach(b=>{a.edge(b).nestingEdge&&a.removeEdge(b)})}}}),p=c((a,b)=>{var c=g();function d(a,b,d,e,f,g){let h=f[b][g-1],i=c.addDummyNode(a,"border",{width:0,height:0,rank:g,borderType:b},d);f[b][g]=i,a.setParent(i,e),h&&a.setEdge(h,i,{weight:1})}b.exports=function(a){a.children().forEach(function b(c){let e=a.children(c),f=a.node(c);if(e.length&&e.forEach(b),Object.hasOwn(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(let b=f.minRank,e=f.maxRank+1;b<e;++b)d(a,"borderLeft","_bl",c,f,b),d(a,"borderRight","_br",c,f,b)}})}}),q=c((a,b)=>{function c(a){a.nodes().forEach(b=>d(a.node(b))),a.edges().forEach(b=>d(a.edge(b)))}function d(a){let b=a.width;a.width=a.height,a.height=b}function e(a){a.y=-a.y}function f(a){let b=a.x;a.x=a.y,a.y=b}b.exports={adjust:function(a){let b=a.graph().rankdir.toLowerCase();("lr"===b||"rl"===b)&&c(a)},undo:function(a){var b,d;let g=a.graph().rankdir.toLowerCase();("bt"===g||"rl"===g)&&((b=a).nodes().forEach(a=>e(b.node(a))),b.edges().forEach(a=>{let c=b.edge(a);c.points.forEach(e),Object.hasOwn(c,"y")&&e(c)})),("lr"===g||"rl"===g)&&((d=a).nodes().forEach(a=>f(d.node(a))),d.edges().forEach(a=>{let b=d.edge(a);b.points.forEach(f),Object.hasOwn(b,"x")&&f(b)}),c(a))}}}),r=c((a,b)=>{var c=g();b.exports=function(a){let b={},d=a.nodes().filter(b=>!a.children(b).length),e=d.map(b=>a.node(b).rank),f=c.applyWithChunking(Math.max,e),g=c.range(f+1).map(()=>[]);return d.sort((b,c)=>a.node(b).rank-a.node(c).rank).forEach(function c(d){b[d]||(b[d]=!0,g[a.node(d).rank].push(d),a.successors(d).forEach(c))}),g}}),s=c((a,b)=>{var c=g().zipObject;b.exports=function(a,b){let d=0;for(let e=1;e<b.length;++e)d+=function(a,b,d){let e=c(d,d.map((a,b)=>b)),f=b.flatMap(b=>a.outEdges(b).map(b=>({pos:e[b.w],weight:a.edge(b).weight})).sort((a,b)=>a.pos-b.pos)),g=1;for(;g<d.length;)g<<=1;let h=2*g-1;g-=1;let i=Array(h).fill(0),j=0;return f.forEach(a=>{let b=a.pos+g;i[b]+=a.weight;let c=0;for(;b>0;)b%2&&(c+=i[b+1]),b=b-1>>1,i[b]+=a.weight;j+=a.weight*c}),j}(a,b[e-1],b[e]);return d}}),t=c((a,b)=>{b.exports=function(a,b=[]){return b.map(b=>{let c=a.inEdges(b);if(!c.length)return{v:b};{let d=c.reduce((b,c)=>{let d=a.edge(c),e=a.node(c.v);return{sum:b.sum+d.weight*e.order,weight:b.weight+d.weight}},{sum:0,weight:0});return{v:b,barycenter:d.sum/d.weight,weight:d.weight}}})}}),u=c((a,b)=>{var c=g();b.exports=function(a,b){let d={};return a.forEach((a,b)=>{let c=d[a.v]={indegree:0,in:[],out:[],vs:[a.v],i:b};void 0!==a.barycenter&&(c.barycenter=a.barycenter,c.weight=a.weight)}),b.edges().forEach(a=>{let b=d[a.v],c=d[a.w];void 0!==b&&void 0!==c&&(c.indegree++,b.out.push(d[a.w]))}),function(a){let b=[];for(;a.length;){let c=a.pop();b.push(c),c.in.reverse().forEach(function(a){return b=>{b.merged||(void 0===b.barycenter||void 0===a.barycenter||b.barycenter>=a.barycenter)&&function(a,b){let c=0,d=0;a.weight&&(c+=a.barycenter*a.weight,d+=a.weight),b.weight&&(c+=b.barycenter*b.weight,d+=b.weight),a.vs=b.vs.concat(a.vs),a.barycenter=c/d,a.weight=d,a.i=Math.min(b.i,a.i),b.merged=!0}(a,b)}}(c)),c.out.forEach(function(b){return c=>{c.in.push(b),0==--c.indegree&&a.push(c)}}(c))}return b.filter(a=>!a.merged).map(a=>c.pick(a,["vs","i","barycenter","weight"]))}(Object.values(d).filter(a=>!a.indegree))}}),v=c((a,b)=>{var c=g();function d(a,b,c){let d;for(;b.length&&(d=b[b.length-1]).i<=c;)b.pop(),a.push(d.vs),c++;return c}b.exports=function(a,b){var e;let f=c.partition(a,a=>Object.hasOwn(a,"barycenter")),g=f.lhs,h=f.rhs.sort((a,b)=>b.i-a.i),i=[],j=0,k=0,l=0;g.sort((e=!!b,(a,b)=>a.barycenter<b.barycenter?-1:a.barycenter>b.barycenter?1:e?b.i-a.i:a.i-b.i)),l=d(i,h,l),g.forEach(a=>{l+=a.vs.length,i.push(a.vs),j+=a.barycenter*a.weight,k+=a.weight,l=d(i,h,l)});let m={vs:i.flat(!0)};return k&&(m.barycenter=j/k,m.weight=k),m}}),w=c((a,b)=>{var c=t(),d=u(),e=v();b.exports=function a(b,f,g,h){var i,j;let k=b.children(f),l=b.node(f),m=l?l.borderLeft:void 0,n=l?l.borderRight:void 0,o={};m&&(k=k.filter(a=>a!==m&&a!==n));let p=c(b,k);p.forEach(c=>{if(b.children(c.v).length){var d,e;let f=a(b,c.v,g,h);o[c.v]=f,Object.hasOwn(f,"barycenter")&&(d=c,e=f,void 0!==d.barycenter?(d.barycenter=(d.barycenter*d.weight+e.barycenter*e.weight)/(d.weight+e.weight),d.weight+=e.weight):(d.barycenter=e.barycenter,d.weight=e.weight))}});let q=d(p,g);i=q,j=o,i.forEach(a=>{a.vs=a.vs.flatMap(a=>j[a]?j[a].vs:a)});let r=e(q,h);if(m&&(r.vs=[m,r.vs,n].flat(!0),b.predecessors(m).length)){let a=b.node(b.predecessors(m)[0]),c=b.node(b.predecessors(n)[0]);Object.hasOwn(r,"barycenter")||(r.barycenter=0,r.weight=0),r.barycenter=(r.barycenter*r.weight+a.order+c.order)/(r.weight+2),r.weight+=2}return r}}),x=c((a,b)=>{var c=d().Graph,e=g();b.exports=function(a,b,d,f){f||(f=a.nodes());let g=function(a){for(var b;a.hasNode(b=e.uniqueId("_root")););return b}(a),h=new c({compound:!0}).setGraph({root:g}).setDefaultNodeLabel(b=>a.node(b));return f.forEach(c=>{let e=a.node(c),f=a.parent(c);(e.rank===b||e.minRank<=b&&b<=e.maxRank)&&(h.setNode(c),h.setParent(c,f||g),a[d](c).forEach(b=>{let d=b.v===c?b.w:b.v,e=h.edge(d,c),f=void 0!==e?e.weight:0;h.setEdge(d,c,{weight:a.edge(b).weight+f})}),Object.hasOwn(e,"minRank")&&h.setNode(c,{borderLeft:e.borderLeft[b],borderRight:e.borderRight[b]}))}),h}}),y=c((a,b)=>{b.exports=function(a,b,c){let d={},e;c.forEach(c=>{let f=a.parent(c),g,h;for(;f;){if((g=a.parent(f))?(h=d[g],d[g]=f):(h=e,e=f),h&&h!==f)return void b.setEdge(h,f);f=g}})}}),z=c((a,b)=>{var c=r(),e=s(),f=w(),h=x(),i=y(),j=d().Graph,k=g();function l(a,b,c){let d=new Map,e=(a,b)=>{d.has(a)||d.set(a,[]),d.get(a).push(b)};for(let b of a.nodes()){let c=a.node(b);if("number"==typeof c.rank&&e(c.rank,b),"number"==typeof c.minRank&&"number"==typeof c.maxRank)for(let a=c.minRank;a<=c.maxRank;a++)a!==c.rank&&e(a,b)}return b.map(function(b){return h(a,b,c,d.get(b)||[])})}function m(a,b){Object.values(b).forEach(b=>b.forEach((b,c)=>a.node(b).order=c))}b.exports=function a(b,d={}){if("function"==typeof d.customOrder)return void d.customOrder(b,a);let g=k.maxRank(b),h=l(b,k.range(1,g+1),"inEdges"),n=l(b,k.range(g-1,-1,-1),"outEdges"),o=c(b);if(m(b,o),d.disableOptimalOrderHeuristic)return;let p=1/0,q,r=d.constraints||[];for(let a=0,c=0;c<4;++a,++c){(function(a,b,c){let d=new j;a.forEach(function(a){c.forEach(a=>d.setEdge(a.left,a.right));let e=a.graph().root,g=f(a,e,d,b);g.vs.forEach((b,c)=>a.node(b).order=c),i(a,d,g.vs)})})(a%2?h:n,a%4>=2,r),o=k.buildLayerMatrix(b);let d=e(b,o);d<p?(c=0,q=Object.assign({},o),p=d):d===p&&(q=structuredClone(o))}m(b,q)}}),A=c((a,b)=>{var c=d().Graph,e=g();function f(a,b){let c={};return b.length&&b.reduce(function(b,d){let e=0,f=0,g=b.length,h=d[d.length-1];return d.forEach((b,j)=>{let k=function(a,b){if(a.node(b).dummy)return a.predecessors(b).find(b=>a.node(b).dummy)}(a,b),l=k?a.node(k).order:g;(k||b===h)&&(d.slice(f,j+1).forEach(b=>{a.predecessors(b).forEach(d=>{let f=a.node(d),g=f.order;(g<e||l<g)&&!(f.dummy&&a.node(b).dummy)&&i(c,d,b)})}),f=j+1,e=l)}),d}),c}function h(a,b){let c={};function d(b,d,f,g,h){let j;e.range(d,f).forEach(d=>{j=b[d],a.node(j).dummy&&a.predecessors(j).forEach(b=>{let d=a.node(b);d.dummy&&(d.order<g||d.order>h)&&i(c,b,j)})})}return b.length&&b.reduce(function(b,c){let e=-1,f,g=0;return c.forEach((h,i)=>{if("border"===a.node(h).dummy){let b=a.predecessors(h);b.length&&(f=a.node(b[0]).order,d(c,g,i,e,f),g=i,e=f)}d(c,g,c.length,f,b.length)}),c}),c}function i(a,b,c){if(b>c){let a=b;b=c,c=a}let d=a[b];d||(a[b]=d={}),d[c]=!0}function j(a,b,c){if(b>c){let a=b;b=c,c=a}return!!a[b]&&Object.hasOwn(a[b],c)}function k(a,b,c,d){let e={},f={},g={};return b.forEach(a=>{a.forEach((a,b)=>{e[a]=a,f[a]=a,g[a]=b})}),b.forEach(a=>{let b=-1;a.forEach(a=>{let h=d(a);if(h.length){let d=((h=h.sort((a,b)=>g[a]-g[b])).length-1)/2;for(let i=Math.floor(d),k=Math.ceil(d);i<=k;++i){let d=h[i];f[a]===a&&b<g[d]&&!j(c,a,d)&&(f[d]=a,f[a]=e[a]=e[d],b=g[d])}}})}),{root:e,align:f}}function l(a,b,d,e,f){var g,h,i,j,k,l,m;let n,o,p,q={},r=(g=a,h=b,i=d,j=f,n=new c,p=(k=(o=g.graph()).nodesep,l=o.edgesep,m=j,(a,b,c)=>{let d=a.node(b),e=a.node(c),f,g;if(f=0+d.width/2,Object.hasOwn(d,"labelpos"))switch(d.labelpos.toLowerCase()){case"l":g=-d.width/2;break;case"r":g=d.width/2}if(g&&(f+=m?g:-g),g=0,f+=(d.dummy?l:k)/2,f+=(e.dummy?l:k)/2,f+=e.width/2,Object.hasOwn(e,"labelpos"))switch(e.labelpos.toLowerCase()){case"l":g=e.width/2;break;case"r":g=-e.width/2}return g&&(f+=m?g:-g),g=0,f}),h.forEach(a=>{let b;a.forEach(a=>{let c=i[a];if(n.setNode(c),b){var d=i[b],e=n.edge(d,c);n.setEdge(d,c,Math.max(p(g,a,b),e||0))}b=a})}),n),s=f?"borderLeft":"borderRight";function t(a,b){let c=r.nodes().slice(),d={},e=c.pop();for(;e;){if(d[e])a(e);else for(let a of(d[e]=!0,c.push(e),b(e)))c.push(a);e=c.pop()}}return t(function(a){q[a]=r.inEdges(a).reduce((a,b)=>Math.max(a,q[b.v]+r.edge(b)),0)},r.predecessors.bind(r)),t(function(b){let c=r.outEdges(b).reduce((a,b)=>Math.min(a,q[b.w]-r.edge(b)),1/0),d=a.node(b);c!==1/0&&d.borderType!==s&&(q[b]=Math.max(q[b],c))},r.successors.bind(r)),Object.keys(e).forEach(a=>q[a]=q[d[a]]),q}function m(a,b){return Object.values(b).reduce((b,c)=>{let d=-1/0,e=1/0;Object.entries(c).forEach(([b,c])=>{var f,g;let h=(f=a,g=b,f.node(g).width/2);d=Math.max(c+h,d),e=Math.min(c-h,e)});let f=d-e;return f<b[0]&&(b=[f,c]),b},[1/0,null])[1]}function n(a,b){let c=Object.values(b),d=e.applyWithChunking(Math.min,c),f=e.applyWithChunking(Math.max,c);["u","d"].forEach(c=>{["l","r"].forEach(g=>{let h=c+g,i=a[h];if(i===b)return;let j=Object.values(i),k=d-e.applyWithChunking(Math.min,j);"l"!==g&&(k=f-e.applyWithChunking(Math.max,j)),k&&(a[h]=e.mapValues(i,a=>a+k))})})}function o(a,b){return e.mapValues(a.ul,(c,d)=>{if(b)return a[b.toLowerCase()][d];{let b=Object.values(a).map(a=>a[d]).sort((a,b)=>a-b);return(b[1]+b[2])/2}})}b.exports={positionX:function(a){let b=e.buildLayerMatrix(a),c=Object.assign(f(a,b),h(a,b)),d={},g;["u","d"].forEach(f=>{g="u"===f?b:Object.values(b).reverse(),["l","r"].forEach(b=>{"r"===b&&(g=g.map(a=>Object.values(a).reverse()));let h=("u"===f?a.predecessors:a.successors).bind(a),i=k(a,g,c,h),j=l(a,g,i.root,i.align,"r"===b);"r"===b&&(j=e.mapValues(j,a=>-a)),d[f+b]=j})});let i=m(a,d);return n(d,i),o(d,a.graph().align)},findType1Conflicts:f,findType2Conflicts:h,addConflict:i,hasConflict:j,verticalAlignment:k,horizontalCompaction:l,alignCoordinates:n,findSmallestWidthAlignment:m,balance:o}}),B=c((a,b)=>{var c=g(),d=A().positionX;b.exports=function(a){var b;let e,f,g,h;b=a=c.asNonCompoundGraph(a),e=c.buildLayerMatrix(b),f=b.graph().ranksep,g=b.graph().rankalign,h=0,e.forEach(a=>{let c=a.reduce((a,c)=>{let d=b.node(c).height;return a>d?a:d},0);a.forEach(a=>{let d=b.node(a);"top"===g?d.y=h+d.height/2:"bottom"===g?d.y=h+c-d.height/2:d.y=h+c/2}),h+=c+f}),Object.entries(d(a)).forEach(([b,c])=>a.node(b).x=c)}}),C=c((a,b)=>{var c=h(),e=i(),f=m(),j=g().normalizeRanks,k=n(),l=g().removeEmptyRanks,r=o(),s=p(),t=q(),u=z(),v=B(),w=g(),x=d().Graph;b.exports=function(a,b={}){let d=b.debugTiming?w.time:w.notime;return d("layout",()=>{let g=d(" buildLayoutGraph",()=>{var b;let c,d;return b=a,c=new x({multigraph:!0,compound:!0}),d=J(b.graph()),c.setGraph(Object.assign({},A,I(d,y),w.pick(d,C))),b.nodes().forEach(a=>{let d=I(J(b.node(a)),D);Object.keys(E).forEach(a=>{void 0===d[a]&&(d[a]=E[a])}),c.setNode(a,d),c.setParent(a,b.parent(a))}),b.edges().forEach(a=>{let d=J(b.edge(a));c.setEdge(a,Object.assign({},G,I(d,F),w.pick(d,H)))}),c});return d(" runLayout",()=>{var a,h,i;return a=g,h=d,i=b,void(h(" makeSpaceForEdgeLabels",()=>{var b;let c;return c=(b=a).graph(),void(c.ranksep/=2,b.edges().forEach(a=>{let d=b.edge(a);d.minlen*=2,"c"!==d.labelpos.toLowerCase()&&("TB"===c.rankdir||"BT"===c.rankdir?d.width+=d.labeloffset:d.height+=d.labeloffset)}))}),h(" removeSelfEdges",()=>{var b;(b=a).edges().forEach(a=>{if(a.v===a.w){var c=b.node(a.v);c.selfEdges||(c.selfEdges=[]),c.selfEdges.push({e:a,label:b.edge(a)}),b.removeEdge(a)}})}),h(" acyclic",()=>c.run(a)),h(" nestingGraph.run",()=>r.run(a)),h(" rank",()=>f(w.asNonCompoundGraph(a))),h(" injectEdgeLabelProxies",()=>{var b;(b=a).edges().forEach(a=>{let c=b.edge(a);if(c.width&&c.height){let c=b.node(a.v),d={rank:(b.node(a.w).rank-c.rank)/2+c.rank,e:a};w.addDummyNode(b,"edge-proxy",d,"_ep")}})}),h(" removeEmptyRanks",()=>l(a)),h(" nestingGraph.cleanup",()=>r.cleanup(a)),h(" normalizeRanks",()=>j(a)),h(" assignRankMinMax",()=>{var b;let c;return c=0,void((b=a).nodes().forEach(a=>{let d=b.node(a);d.borderTop&&(d.minRank=b.node(d.borderTop).rank,d.maxRank=b.node(d.borderBottom).rank,c=Math.max(c,d.maxRank))}),b.graph().maxRank=c)}),h(" removeEdgeLabelProxies",()=>{var b;(b=a).nodes().forEach(a=>{let c=b.node(a);"edge-proxy"===c.dummy&&(b.edge(c.e).labelRank=c.rank,b.removeNode(a))})}),h(" normalize.run",()=>e.run(a)),h(" parentDummyChains",()=>k(a)),h(" addBorderSegments",()=>s(a)),h(" order",()=>u(a,i)),h(" insertSelfEdges",()=>{var b;return b=a,void w.buildLayerMatrix(b).forEach(a=>{var c=0;a.forEach((a,d)=>{var e=b.node(a);e.order=d+c,(e.selfEdges||[]).forEach(a=>{w.addDummyNode(b,"selfedge",{width:a.label.width,height:a.label.height,rank:e.rank,order:d+ ++c,e:a.e,label:a.label},"_se")}),delete e.selfEdges})})}),h(" adjustCoordinateSystem",()=>t.adjust(a)),h(" position",()=>v(a)),h(" positionSelfEdges",()=>{var b;(b=a).nodes().forEach(a=>{var c=b.node(a);if("selfedge"===c.dummy){var d=b.node(c.e.v),e=d.x+d.width/2,f=d.y,g=c.x-e,h=d.height/2;b.setEdge(c.e,c.label),b.removeNode(a),c.label.points=[{x:e+2*g/3,y:f-h},{x:e+5*g/6,y:f-h},{x:e+g,y:f},{x:e+5*g/6,y:f+h},{x:e+2*g/3,y:f+h}],c.label.x=c.x,c.label.y=c.y}})}),h(" removeBorderNodes",()=>{var b;(b=a).nodes().forEach(a=>{if(b.children(a).length){let c=b.node(a),d=b.node(c.borderTop),e=b.node(c.borderBottom),f=b.node(c.borderLeft[c.borderLeft.length-1]),g=b.node(c.borderRight[c.borderRight.length-1]);c.width=Math.abs(g.x-f.x),c.height=Math.abs(e.y-d.y),c.x=f.x+c.width/2,c.y=d.y+c.height/2}}),b.nodes().forEach(a=>{"border"===b.node(a).dummy&&b.removeNode(a)})}),h(" normalize.undo",()=>e.undo(a)),h(" fixupEdgeLabelCoords",()=>{var b;(b=a).edges().forEach(a=>{let c=b.edge(a);if(Object.hasOwn(c,"x"))switch(("l"===c.labelpos||"r"===c.labelpos)&&(c.width-=c.labeloffset),c.labelpos){case"l":c.x-=c.width/2+c.labeloffset;break;case"r":c.x+=c.width/2+c.labeloffset}})}),h(" undoCoordinateSystem",()=>t.undo(a)),h(" translateGraph",()=>(function(a){let b=1/0,c=0,d=1/0,e=0,f=a.graph(),g=f.marginx||0,h=f.marginy||0;function i(a){let f=a.x,g=a.y,h=a.width,i=a.height;b=Math.min(b,f-h/2),c=Math.max(c,f+h/2),d=Math.min(d,g-i/2),e=Math.max(e,g+i/2)}a.nodes().forEach(b=>i(a.node(b))),a.edges().forEach(b=>{let c=a.edge(b);Object.hasOwn(c,"x")&&i(c)}),b-=g,d-=h,a.nodes().forEach(c=>{let e=a.node(c);e.x-=b,e.y-=d}),a.edges().forEach(c=>{let e=a.edge(c);e.points.forEach(a=>{a.x-=b,a.y-=d}),Object.hasOwn(e,"x")&&(e.x-=b),Object.hasOwn(e,"y")&&(e.y-=d)}),f.width=c-b+g,f.height=e-d+h})(a)),h(" assignNodeIntersects",()=>{var b;(b=a).edges().forEach(a=>{let c=b.edge(a),d=b.node(a.v),e=b.node(a.w),f,g;c.points?(f=c.points[0],g=c.points[c.points.length-1]):(c.points=[],f=e,g=d),c.points.unshift(w.intersectRect(d,f)),c.points.push(w.intersectRect(e,g))})}),h(" reversePoints",()=>{var b;(b=a).edges().forEach(a=>{let c=b.edge(a);c.reversed&&c.points.reverse()})}),h(" acyclic.undo",()=>c.undo(a)))}),d(" updateInputGraph",()=>{var b,c;return b=a,c=g,void(b.nodes().forEach(a=>{let d=b.node(a),e=c.node(a);d&&(d.x=e.x,d.y=e.y,d.order=e.order,d.rank=e.rank,c.children(a).length&&(d.width=e.width,d.height=e.height))}),b.edges().forEach(a=>{let d=b.edge(a),e=c.edge(a);d.points=e.points,Object.hasOwn(e,"x")&&(d.x=e.x,d.y=e.y)}),b.graph().width=c.graph().width,b.graph().height=c.graph().height)}),g})};var y=["nodesep","edgesep","ranksep","marginx","marginy"],A={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb",rankalign:"center"},C=["acyclicer","ranker","rankdir","align","rankalign"],D=["width","height","rank"],E={width:0,height:0},F=["minlen","weight","width","height","labeloffset"],G={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},H=["labelpos"];function I(a,b){return w.mapValues(w.pick(a,b),Number)}function J(a){var b={};return a&&Object.entries(a).forEach(([a,c])=>{"string"==typeof a&&(a=a.toLowerCase()),b[a]=c}),b}}),D=c((a,b)=>{var c=g(),e=d().Graph;b.exports={debugOrdering:function(a){let b=c.buildLayerMatrix(a),d=new e({compound:!0,multigraph:!0}).setGraph({});return a.nodes().forEach(b=>{d.setNode(b,{label:b}),d.setParent(b,"layer"+a.node(b).rank)}),a.edges().forEach(a=>d.setEdge(a.v,a.w,{},a.name)),b.forEach((a,b)=>{d.setNode("layer"+b,{rank:"same"}),a.reduce((a,b)=>(d.setEdge(a,b,{style:"invis"}),b))}),d}}}),E=c((a,b)=>{b.exports="2.0.4"});let F=c((a,b)=>{b.exports={graphlib:d(),layout:C(),debug:D(),util:{time:g().time,notime:g().notime},version:E()}})(),G={direction:"LR",ranksep:200,nodesep:15},H={featureNode:{width:288,height:140},repositoryNode:{width:328,height:50}};function I(a,b){let c=a.data;return c&&"number"==typeof c.width&&"number"==typeof c.height?{width:c.width,height:c.height}:H[a.type??""]??b}var J=a.i(14703);function K(a,b,c,d,e){[...a].sort((a,b)=>(a.feature.createdAt instanceof Date?a.feature.createdAt.getTime():Number(a.feature.createdAt))-(b.feature.createdAt instanceof Date?b.feature.createdAt.getTime():Number(b.feature.createdAt))).forEach(({feature:a,run:f})=>{let g;if(a.parentId&&"Blocked"===a.lifecycle){let b=c.find(b=>b.feature.id===a.parentId);b&&(g=b.feature.name)}let h={name:a.name,description:a.description??a.slug,featureId:a.id,lifecycle:(0,J.deriveLifecycle)(a,f),repositoryPath:a.repositoryPath,branch:a.branch,specPath:a.specPath,state:(0,J.deriveNodeState)(a,f),progress:(0,J.deriveProgress)(a),...f?.agentType&&{agentType:f.agentType},...f?.modelId&&{modelId:f.modelId},...f?.error&&{errorMessage:f.error},...g&&{blockedBy:g},...a.pr&&{pr:{url:a.pr.url,number:a.pr.number,status:a.pr.status,ciStatus:a.pr.ciStatus,commitHash:a.pr.commitHash}}},i=`feat-${a.id}`;d.push({id:i,type:"featureNode",position:{x:0,y:0},data:h}),a.parentId||e.push({id:`edge-${b}-${i}`,source:b,target:i,style:{strokeDasharray:"5 5"}})})}async function L(){let a=(0,b.resolve)("ListFeaturesUseCase"),c=(0,b.resolve)("ListRepositoriesUseCase"),d=(0,b.resolve)("IAgentRunRepository"),[e,f]=await Promise.all([a.execute(),c.execute()]),{nodes:g,edges:h}=function(a,b){let c={};b.forEach(a=>{let b=a.feature.repositoryPath;c[b]||(c[b]=[]),c[b].push(a)});let d=[],e=[],f=new Set;for(let g of a){f.add(g.path);let a=`repo-${g.id}`;d.push({id:a,type:"repositoryNode",position:{x:0,y:0},data:{name:g.name,repositoryPath:g.path,id:g.id}}),K(c[g.path]??[],a,b,d,e)}for(let[a,g]of Object.entries(c)){if(f.has(a))continue;let c=`virtual-repo-${a}`,h=a.split("/").filter(Boolean).at(-1)??a;d.push({id:c,type:"repositoryNode",position:{x:0,y:0},data:{name:h,repositoryPath:a}}),K(g,c,b,d,e)}for(let{feature:a}of b)if(a.parentId){let b=`feat-${a.parentId}`,c=`feat-${a.id}`;d.some(a=>a.id===b)&&d.some(a=>a.id===c)&&e.push({id:`dep-${b}-${c}`,source:b,target:c,type:"dependencyEdge"})}return{nodes:d,edges:e}}(f,await Promise.all(e.map(async a=>{let b=a.agentRunId?await d.findById(a.agentRunId):null;return{feature:a,run:b}})));return function(a,b,c={}){let{direction:d="TB",nodeSize:e={width:172,height:36},ranksep:f=80,nodesep:g=30}=c;if(0===a.length)return{nodes:[],edges:[]};let h=new F.graphlib.Graph({multigraph:!0});h.setDefaultEdgeLabel(()=>({})),h.setGraph({rankdir:d,ranksep:f,nodesep:g});let i=new Set;for(let a of b)i.add(a.source),i.add(a.target);let j=a.filter(a=>i.has(a.id)),k=a.filter(a=>!i.has(a.id));for(let a of j){let b=I(a,e);h.setNode(a.id,{width:b.width,height:b.height})}for(let a of b)h.hasNode(a.source)&&h.hasNode(a.target)&&h.setEdge(a.source,a.target,{},a.id);F.layout(h);let{targetPosition:l,sourcePosition:m}=function(a){switch(a){case"LR":return{targetPosition:"left",sourcePosition:"right"};case"RL":return{targetPosition:"right",sourcePosition:"left"};case"BT":return{targetPosition:"bottom",sourcePosition:"top"};default:return{targetPosition:"top",sourcePosition:"bottom"}}}(d),n="LR"===d||"RL"===d,o=new Map;for(let a of j){let b=h.node(a.id),c=I(a,e);o.set(a.id,{cx:b.x,cy:b.y,w:c.width,h:c.height})}let p=new Map;for(let a of b)o.has(a.source)&&o.has(a.target)&&(p.has(a.source)||p.set(a.source,[]),p.get(a.source).push(a.target));for(let[a,b]of p){if(b.length<=1)continue;let c=o.get(a),d=n?c.cy:c.cx,e=b.filter(a=>o.has(a)).sort((a,b)=>{let c=o.get(a),d=o.get(b);return n?c.cy-d.cy:c.cx-d.cx}),f=o.get(e[0]),g=o.get(e[e.length-1]),h=d-(n?(f.cy+g.cy)/2:(f.cx+g.cx)/2);if(Math.abs(h)>1)for(let a of e){let b=o.get(a);n?b.cy+=h:b.cx+=h}}let q=new Map;for(let a=0;a<j.length;a++)q.set(j[a].id,a);for(let[,a]of p){let b=a.filter(a=>o.has(a));if(b.length<=1)continue;let c=b.map(a=>n?o.get(a).cy:o.get(a).cx).sort((a,b)=>a-b),d=[...b].sort((a,b)=>(q.get(a)??0)-(q.get(b)??0));for(let a=0;a<d.length;a++){let b=o.get(d[a]);n?b.cy=c[a]:b.cx=c[a]}}let r=[];for(let a of j){let b=o.get(a.id);r.push({...a,targetPosition:l,sourcePosition:m,position:{x:b.cx-b.w/2,y:b.cy-b.h/2}})}if(k.length>0){let a=0,b=1/0;for(let c of r){let d=I(c,e);a=Math.max(a,c.position.y+d.height),b=Math.min(b,c.position.x)}b===1/0&&(b=0);for(let c=0;c<k.length;c++){let d=k[c],f=I(d,e);r.push({...d,targetPosition:l,sourcePosition:m,position:{x:b,y:a+30+c*(f.height+20)}})}}return{nodes:r,edges:[...b]}}(g,h,G)}a.s(["getGraphData",()=>L],66693)}];
2
2
 
3
3
  //# sourceMappingURL=src_presentation_web_app_%28dashboard%29_get-graph-data_ts_b018483e._.js.map