@shepai/cli 1.71.0 → 1.72.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (552) hide show
  1. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  2. package/dist/packages/core/src/infrastructure/di/container.js +3 -0
  3. package/dist/src/presentation/web/app/(dashboard)/@drawer/create/page.d.ts +11 -0
  4. package/dist/src/presentation/web/app/(dashboard)/@drawer/create/page.d.ts.map +1 -0
  5. package/dist/src/presentation/web/app/(dashboard)/@drawer/create/page.js +18 -0
  6. package/dist/src/presentation/web/app/(dashboard)/@drawer/default.d.ts +3 -0
  7. package/dist/src/presentation/web/app/(dashboard)/@drawer/default.d.ts.map +1 -0
  8. package/dist/src/presentation/web/app/(dashboard)/@drawer/default.js +4 -0
  9. package/dist/src/presentation/web/app/(dashboard)/@drawer/feature/[featureId]/page.d.ts +10 -0
  10. package/dist/src/presentation/web/app/(dashboard)/@drawer/feature/[featureId]/page.d.ts.map +1 -0
  11. package/dist/src/presentation/web/app/(dashboard)/@drawer/feature/[featureId]/page.js +35 -0
  12. package/dist/src/presentation/web/app/(dashboard)/@drawer/repository/[repositoryId]/page.d.ts +10 -0
  13. package/dist/src/presentation/web/app/(dashboard)/@drawer/repository/[repositoryId]/page.d.ts.map +1 -0
  14. package/dist/src/presentation/web/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +18 -0
  15. package/dist/src/presentation/web/app/(dashboard)/create/page.d.ts +3 -0
  16. package/dist/src/presentation/web/app/(dashboard)/create/page.d.ts.map +1 -0
  17. package/dist/src/presentation/web/app/(dashboard)/create/page.js +4 -0
  18. package/dist/src/presentation/web/app/(dashboard)/feature/[featureId]/page.d.ts +3 -0
  19. package/dist/src/presentation/web/app/(dashboard)/feature/[featureId]/page.d.ts.map +1 -0
  20. package/dist/src/presentation/web/app/(dashboard)/feature/[featureId]/page.js +4 -0
  21. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts +7 -0
  22. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts.map +1 -0
  23. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.js +19 -0
  24. package/dist/src/presentation/web/app/(dashboard)/layout.d.ts +10 -0
  25. package/dist/src/presentation/web/app/(dashboard)/layout.d.ts.map +1 -0
  26. package/dist/src/presentation/web/app/(dashboard)/layout.js +9 -0
  27. package/dist/src/presentation/web/app/(dashboard)/page.d.ts +5 -0
  28. package/dist/src/presentation/web/app/(dashboard)/page.d.ts.map +1 -0
  29. package/dist/src/presentation/web/app/(dashboard)/page.js +6 -0
  30. package/dist/src/presentation/web/app/(dashboard)/repository/[repositoryId]/page.d.ts +3 -0
  31. package/dist/src/presentation/web/app/(dashboard)/repository/[repositoryId]/page.d.ts.map +1 -0
  32. package/dist/src/presentation/web/app/(dashboard)/repository/[repositoryId]/page.js +4 -0
  33. package/dist/src/presentation/web/app/build-feature-node-data.d.ts +8 -0
  34. package/dist/src/presentation/web/app/build-feature-node-data.d.ts.map +1 -0
  35. package/dist/src/presentation/web/app/build-feature-node-data.js +53 -0
  36. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts.map +1 -1
  37. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +5 -0
  38. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.d.ts +10 -0
  39. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.d.ts.map +1 -0
  40. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.js +49 -0
  41. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts +6 -0
  42. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -0
  43. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +388 -0
  44. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.d.ts +6 -0
  45. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.d.ts.map +1 -0
  46. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.js +27 -0
  47. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  48. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +74 -57
  49. package/dist/src/presentation/web/components/features/control-center/control-center.d.ts +4 -1
  50. package/dist/src/presentation/web/components/features/control-center/control-center.d.ts.map +1 -1
  51. package/dist/src/presentation/web/components/features/control-center/control-center.js +3 -3
  52. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +0 -15
  53. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  54. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +5 -146
  55. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts +2 -1
  56. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
  57. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +7 -1
  58. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
  59. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +6 -4
  60. package/dist/src/presentation/web/hooks/use-notifications.d.ts.map +1 -1
  61. package/dist/src/presentation/web/hooks/use-notifications.js +8 -5
  62. package/dist/src/presentation/web/hooks/use-selected-feature-id.d.ts +6 -0
  63. package/dist/src/presentation/web/hooks/use-selected-feature-id.d.ts.map +1 -0
  64. package/dist/src/presentation/web/hooks/use-selected-feature-id.js +11 -0
  65. package/dist/tsconfig.build.tsbuildinfo +1 -1
  66. package/package.json +1 -1
  67. package/web/.next/BUILD_ID +1 -1
  68. package/web/.next/app-path-routes-manifest.json +7 -1
  69. package/web/.next/build-manifest.json +5 -5
  70. package/web/.next/cache/.previewinfo +1 -1
  71. package/web/.next/cache/.rscinfo +1 -1
  72. package/web/.next/cache/.tsbuildinfo +1 -1
  73. package/web/.next/cache/config.json +3 -3
  74. package/web/.next/fallback-build-manifest.json +2 -2
  75. package/web/.next/prerender-manifest.json +3 -3
  76. package/web/.next/required-server-files.js +1 -1
  77. package/web/.next/required-server-files.json +1 -1
  78. package/web/.next/routes-manifest.json +22 -0
  79. package/web/.next/server/app/(dashboard)/@drawer/create/page/app-paths-manifest.json +3 -0
  80. package/web/.next/server/app/{page → (dashboard)/@drawer/create/page}/build-manifest.json +3 -3
  81. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +215 -0
  82. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +19 -0
  83. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -0
  84. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +2 -0
  85. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/app-paths-manifest.json +3 -0
  86. package/web/.next/{standalone/src/presentation/web/.next/server/app → server/app/(dashboard)/@drawer/feature/[featureId]}/page/build-manifest.json +3 -3
  87. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +260 -0
  88. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +19 -0
  89. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -0
  90. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +2 -0
  91. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/app-paths-manifest.json +3 -0
  92. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +18 -0
  93. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/next-font-manifest.json +6 -0
  94. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/react-loadable-manifest.json +1 -0
  95. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +185 -0
  96. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +19 -0
  97. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.map +5 -0
  98. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -0
  99. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +2 -0
  100. package/web/.next/server/app/(dashboard)/create/page/app-paths-manifest.json +3 -0
  101. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +18 -0
  102. package/web/.next/server/app/(dashboard)/create/page/next-font-manifest.json +6 -0
  103. package/web/.next/server/app/(dashboard)/create/page/react-loadable-manifest.json +1 -0
  104. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +215 -0
  105. package/web/.next/server/app/(dashboard)/create/page.js +19 -0
  106. package/web/.next/server/app/(dashboard)/create/page.js.map +5 -0
  107. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -0
  108. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +2 -0
  109. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/app-paths-manifest.json +3 -0
  110. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +18 -0
  111. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/next-font-manifest.json +6 -0
  112. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/react-loadable-manifest.json +1 -0
  113. package/web/.next/server/app/{page → (dashboard)/feature/[featureId]/page}/server-reference-manifest.json +100 -130
  114. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +19 -0
  115. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.map +5 -0
  116. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -0
  117. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +2 -0
  118. package/web/.next/server/app/(dashboard)/page/app-paths-manifest.json +3 -0
  119. package/web/.next/server/app/(dashboard)/page/build-manifest.json +18 -0
  120. package/web/.next/server/app/(dashboard)/page/next-font-manifest.json +6 -0
  121. package/web/.next/server/app/(dashboard)/page/react-loadable-manifest.json +1 -0
  122. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +185 -0
  123. package/web/.next/server/app/(dashboard)/page.js +19 -0
  124. package/web/.next/server/app/(dashboard)/page.js.map +5 -0
  125. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -0
  126. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +2 -0
  127. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/app-paths-manifest.json +3 -0
  128. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +18 -0
  129. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/next-font-manifest.json +6 -0
  130. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/react-loadable-manifest.json +1 -0
  131. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +185 -0
  132. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +19 -0
  133. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.map +5 -0
  134. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -0
  135. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +2 -0
  136. package/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  137. package/web/.next/server/app/_global-error/page.js +1 -1
  138. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  139. package/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  140. package/web/.next/server/app/_global-error.html +2 -2
  141. package/web/.next/server/app/_global-error.rsc +1 -1
  142. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  143. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  144. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  145. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  146. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  147. package/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  148. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  149. package/web/.next/server/app/_not-found/page.js +1 -1
  150. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  151. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  152. package/web/.next/server/app/api/tools/[id]/install/route.js +1 -1
  153. package/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +1 -1
  154. package/web/.next/server/app/skills/page/build-manifest.json +3 -3
  155. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  156. package/web/.next/server/app/skills/page.js +2 -2
  157. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  158. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  159. package/web/.next/server/app/tools/page/build-manifest.json +3 -3
  160. package/web/.next/server/app/tools/page/server-reference-manifest.json +1 -1
  161. package/web/.next/server/app/tools/page.js +2 -2
  162. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  163. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  164. package/web/.next/server/app/version/page/build-manifest.json +3 -3
  165. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  166. package/web/.next/server/app/version/page.js +2 -2
  167. package/web/.next/server/app/version/page.js.nft.json +1 -1
  168. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  169. package/web/.next/server/app-paths-manifest.json +7 -1
  170. package/web/.next/server/chunks/{[root-of-the-server]__e926de65._.js → [root-of-the-server]__b1f03347._.js} +2 -2
  171. package/web/.next/server/chunks/{[root-of-the-server]__e926de65._.js.map → [root-of-the-server]__b1f03347._.js.map} +1 -1
  172. package/web/.next/server/chunks/ssr/403f9_next_d6c8d28d._.js +6 -0
  173. package/web/.next/server/chunks/ssr/403f9_next_d6c8d28d._.js.map +1 -0
  174. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_0f115902.js +4 -0
  175. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_0f115902.js.map +1 -0
  176. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_8e8822d6.js +4 -0
  177. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_8e8822d6.js.map +1 -0
  178. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_9d039634.js +4 -0
  179. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_9d039634.js.map +1 -0
  180. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_bec3d8d3.js +4 -0
  181. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_bec3d8d3.js.map +1 -0
  182. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_c27615b6.js +4 -0
  183. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_c27615b6.js.map +1 -0
  184. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_d302115b.js +4 -0
  185. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_d302115b.js.map +1 -0
  186. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +3 -0
  187. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -0
  188. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_2b7834f6.js +3 -0
  189. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_2b7834f6.js.map +1 -0
  190. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6923c575.js +3 -0
  191. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6923c575.js.map +1 -0
  192. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__b79b0516._.js → server/chunks/ssr/[root-of-the-server]__01a37f7a._.js} +2 -2
  193. package/web/.next/server/chunks/ssr/[root-of-the-server]__07385073._.js +4 -0
  194. package/web/.next/server/chunks/ssr/[root-of-the-server]__07385073._.js.map +1 -0
  195. package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +1 -1
  196. package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js.map +1 -1
  197. package/web/.next/server/chunks/ssr/[root-of-the-server]__2018e25f._.js +3 -0
  198. package/web/.next/server/chunks/ssr/[root-of-the-server]__2018e25f._.js.map +1 -0
  199. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6e8b5181._.js → server/chunks/ssr/[root-of-the-server]__249c74f6._.js} +2 -2
  200. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__248ee887._.js → server/chunks/ssr/[root-of-the-server]__3534949f._.js} +2 -2
  201. package/web/.next/server/chunks/ssr/[root-of-the-server]__3b4af5ae._.js +3 -0
  202. package/web/.next/server/chunks/ssr/[root-of-the-server]__3b4af5ae._.js.map +1 -0
  203. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__f7f90528._.js → server/chunks/ssr/[root-of-the-server]__55f60c9d._.js} +2 -2
  204. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  205. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +1 -1
  206. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +3 -0
  207. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +1 -0
  208. package/web/.next/server/chunks/ssr/[root-of-the-server]__6db85a66._.js +4 -0
  209. package/web/.next/server/chunks/ssr/[root-of-the-server]__6db85a66._.js.map +1 -0
  210. package/web/.next/server/chunks/ssr/[root-of-the-server]__6ee2450e._.js +3 -0
  211. package/web/.next/server/chunks/ssr/[root-of-the-server]__6ee2450e._.js.map +1 -0
  212. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  213. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +1 -1
  214. package/web/.next/server/chunks/ssr/[root-of-the-server]__8a947500._.js +3 -0
  215. package/web/.next/server/chunks/ssr/[root-of-the-server]__8a947500._.js.map +1 -0
  216. package/web/.next/server/chunks/ssr/[root-of-the-server]__8c1a3d66._.js +3 -0
  217. package/web/.next/server/chunks/ssr/[root-of-the-server]__8c1a3d66._.js.map +1 -0
  218. package/web/.next/server/chunks/ssr/[root-of-the-server]__8fcb9132._.js +4 -0
  219. package/web/.next/server/chunks/ssr/[root-of-the-server]__8fcb9132._.js.map +1 -0
  220. package/web/.next/server/chunks/ssr/{[root-of-the-server]__1efeb0eb._.js → [root-of-the-server]__9d14479b._.js} +2 -2
  221. package/web/.next/server/chunks/ssr/{[root-of-the-server]__1efeb0eb._.js.map → [root-of-the-server]__9d14479b._.js.map} +1 -1
  222. package/web/.next/server/chunks/ssr/[root-of-the-server]__d4e51258._.js +3 -0
  223. package/web/.next/server/chunks/ssr/[root-of-the-server]__d4e51258._.js.map +1 -0
  224. package/web/.next/server/chunks/ssr/[root-of-the-server]__fe2a7deb._.js +3 -0
  225. package/web/.next/server/chunks/ssr/[root-of-the-server]__fe2a7deb._.js.map +1 -0
  226. package/web/.next/server/chunks/ssr/{_725584e5._.js → _00e6c698._.js} +2 -2
  227. package/web/.next/server/chunks/ssr/_00e6c698._.js.map +1 -0
  228. package/web/.next/server/chunks/ssr/_13566ff3._.js +3 -0
  229. package/web/.next/server/chunks/ssr/_13566ff3._.js.map +1 -0
  230. package/web/.next/server/chunks/ssr/_250a63ae._.js +3 -0
  231. package/web/.next/server/chunks/ssr/_250a63ae._.js.map +1 -0
  232. package/web/.next/server/chunks/ssr/_34a58db8._.js +3 -0
  233. package/web/.next/server/chunks/ssr/{_72ce07df._.js.map → _34a58db8._.js.map} +1 -1
  234. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/_49bf495c._.js → server/chunks/ssr/_37259405._.js} +2 -2
  235. package/web/.next/server/chunks/ssr/_37259405._.js.map +1 -0
  236. package/web/.next/server/chunks/ssr/_48935b11._.js +12 -0
  237. package/web/.next/server/chunks/ssr/_48935b11._.js.map +1 -0
  238. package/web/.next/server/chunks/ssr/_85d0351b._.js +3 -0
  239. package/web/.next/server/chunks/ssr/_85d0351b._.js.map +1 -0
  240. package/web/.next/server/chunks/ssr/_ad8a094f._.js +1 -1
  241. package/web/.next/server/chunks/ssr/_cb5b3951._.js +3 -0
  242. package/web/.next/server/chunks/ssr/_cb5b3951._.js.map +1 -0
  243. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/_c5d377cc._.js → server/chunks/ssr/_dc379243._.js} +3 -3
  244. package/web/.next/server/chunks/ssr/_dc379243._.js.map +1 -0
  245. package/web/.next/server/chunks/ssr/_fc3a6895._.js +3 -0
  246. package/web/.next/server/chunks/ssr/_fc3a6895._.js.map +1 -0
  247. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +3 -0
  248. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -0
  249. package/web/.next/server/chunks/ssr/node_modules__pnpm_11589942._.js +3 -0
  250. package/web/.next/server/chunks/ssr/node_modules__pnpm_11589942._.js.map +1 -0
  251. package/web/.next/server/chunks/ssr/src_presentation_web_1a32dbcb._.js +8 -0
  252. package/web/.next/server/chunks/ssr/src_presentation_web_1a32dbcb._.js.map +1 -0
  253. package/web/.next/server/chunks/ssr/src_presentation_web_398553b0._.js +3 -0
  254. package/web/.next/server/chunks/ssr/src_presentation_web_398553b0._.js.map +1 -0
  255. package/web/.next/server/chunks/ssr/src_presentation_web_5c87e8e4._.js +3 -0
  256. package/web/.next/server/chunks/ssr/src_presentation_web_5c87e8e4._.js.map +1 -0
  257. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f4952172.js +3 -0
  258. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f4952172.js.map +1 -0
  259. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_create_page_tsx_c60c859a._.js +3 -0
  260. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_create_page_tsx_c60c859a._.js.map +1 -0
  261. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_feature_[featureId]_page_tsx_797907a1._.js +3 -0
  262. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_feature_[featureId]_page_tsx_797907a1._.js.map +1 -0
  263. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_page_tsx_8d870268._.js +3 -0
  264. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_page_tsx_8d870268._.js.map +1 -0
  265. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_repository_[repositoryId]_page_tsx_7d738911._.js +3 -0
  266. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_repository_[repositoryId]_page_tsx_7d738911._.js.map +1 -0
  267. package/web/.next/server/chunks/ssr/src_presentation_web_c1bc6240._.js +8 -0
  268. package/web/.next/server/chunks/ssr/src_presentation_web_c1bc6240._.js.map +1 -0
  269. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js → server/chunks/ssr/src_presentation_web_ca99d62d._.js} +2 -2
  270. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -0
  271. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  272. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  273. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +3 -0
  274. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -0
  275. package/web/.next/server/middleware-build-manifest.js +3 -3
  276. package/web/.next/server/pages/500.html +2 -2
  277. package/web/.next/server/server-reference-manifest.js +1 -1
  278. package/web/.next/server/server-reference-manifest.json +672 -119
  279. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  280. package/web/.next/standalone/src/presentation/web/.next/app-path-routes-manifest.json +7 -1
  281. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +5 -5
  282. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  283. package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
  284. package/web/.next/standalone/src/presentation/web/.next/routes-manifest.json +22 -0
  285. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/app-paths-manifest.json +3 -0
  286. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +18 -0
  287. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/next-font-manifest.json +6 -0
  288. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/react-loadable-manifest.json +1 -0
  289. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +215 -0
  290. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js +19 -0
  291. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js.map +5 -0
  292. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -0
  293. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +2 -0
  294. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/app-paths-manifest.json +3 -0
  295. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +18 -0
  296. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/next-font-manifest.json +6 -0
  297. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/react-loadable-manifest.json +1 -0
  298. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +260 -0
  299. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +19 -0
  300. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.map +5 -0
  301. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -0
  302. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +2 -0
  303. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/app-paths-manifest.json +3 -0
  304. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +18 -0
  305. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/next-font-manifest.json +6 -0
  306. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/react-loadable-manifest.json +1 -0
  307. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +185 -0
  308. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +19 -0
  309. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.map +5 -0
  310. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -0
  311. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +2 -0
  312. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/app-paths-manifest.json +3 -0
  313. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/build-manifest.json +18 -0
  314. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/next-font-manifest.json +6 -0
  315. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/react-loadable-manifest.json +1 -0
  316. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +215 -0
  317. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js +19 -0
  318. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js.map +5 -0
  319. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -0
  320. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +2 -0
  321. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/app-paths-manifest.json +3 -0
  322. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +18 -0
  323. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/next-font-manifest.json +6 -0
  324. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/react-loadable-manifest.json +1 -0
  325. package/web/.next/standalone/src/presentation/web/.next/server/app/{page → (dashboard)/feature/[featureId]/page}/server-reference-manifest.json +100 -130
  326. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +19 -0
  327. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.map +5 -0
  328. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -0
  329. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +2 -0
  330. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/app-paths-manifest.json +3 -0
  331. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/build-manifest.json +18 -0
  332. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/next-font-manifest.json +6 -0
  333. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/react-loadable-manifest.json +1 -0
  334. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +185 -0
  335. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js +19 -0
  336. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js.map +5 -0
  337. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js.nft.json +1 -0
  338. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +2 -0
  339. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/app-paths-manifest.json +3 -0
  340. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +18 -0
  341. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/next-font-manifest.json +6 -0
  342. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/react-loadable-manifest.json +1 -0
  343. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +185 -0
  344. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +19 -0
  345. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.map +5 -0
  346. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -0
  347. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +2 -0
  348. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  349. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page.js +1 -1
  350. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  351. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  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 +3 -3
  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 +1 -1
  362. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  363. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  364. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js +1 -1
  365. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +1 -1
  366. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/build-manifest.json +3 -3
  367. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  368. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js +2 -2
  369. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js.nft.json +1 -1
  370. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  371. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/build-manifest.json +3 -3
  372. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +1 -1
  373. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js +2 -2
  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 +3 -3
  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 +2 -2
  379. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
  380. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  381. package/web/.next/standalone/src/presentation/web/.next/server/app-paths-manifest.json +7 -1
  382. package/web/.next/standalone/src/presentation/web/.next/server/chunks/{[root-of-the-server]__e926de65._.js → [root-of-the-server]__b1f03347._.js} +2 -2
  383. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_d6c8d28d._.js +6 -0
  384. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_0f115902.js +4 -0
  385. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_8e8822d6.js +4 -0
  386. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_9d039634.js +4 -0
  387. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_bec3d8d3.js +4 -0
  388. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_c27615b6.js +4 -0
  389. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_d302115b.js +4 -0
  390. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +3 -0
  391. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_2b7834f6.js +3 -0
  392. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6923c575.js +3 -0
  393. package/web/.next/{server/chunks/ssr/[root-of-the-server]__b79b0516._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__01a37f7a._.js} +2 -2
  394. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__07385073._.js +4 -0
  395. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +1 -1
  396. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__2018e25f._.js +3 -0
  397. package/web/.next/{server/chunks/ssr/[root-of-the-server]__6e8b5181._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js} +2 -2
  398. package/web/.next/{server/chunks/ssr/[root-of-the-server]__248ee887._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__3534949f._.js} +2 -2
  399. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__3b4af5ae._.js +3 -0
  400. package/web/.next/{server/chunks/ssr/[root-of-the-server]__f7f90528._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__55f60c9d._.js} +2 -2
  401. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  402. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +3 -0
  403. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6db85a66._.js +4 -0
  404. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6ee2450e._.js +3 -0
  405. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  406. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__8a947500._.js +3 -0
  407. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__8c1a3d66._.js +3 -0
  408. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__8fcb9132._.js +4 -0
  409. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{[root-of-the-server]__1efeb0eb._.js → [root-of-the-server]__9d14479b._.js} +2 -2
  410. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__d4e51258._.js +3 -0
  411. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fe2a7deb._.js +3 -0
  412. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_725584e5._.js → _00e6c698._.js} +2 -2
  413. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_13566ff3._.js +3 -0
  414. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_250a63ae._.js +3 -0
  415. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_34a58db8._.js +3 -0
  416. package/web/.next/{server/chunks/ssr/_49bf495c._.js → standalone/src/presentation/web/.next/server/chunks/ssr/_37259405._.js} +2 -2
  417. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_48935b11._.js +12 -0
  418. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_85d0351b._.js +3 -0
  419. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_ad8a094f._.js +1 -1
  420. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_cb5b3951._.js +3 -0
  421. package/web/.next/{server/chunks/ssr/_c5d377cc._.js → standalone/src/presentation/web/.next/server/chunks/ssr/_dc379243._.js} +3 -3
  422. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_fc3a6895._.js +3 -0
  423. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +3 -0
  424. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_11589942._.js +3 -0
  425. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_1a32dbcb._.js +8 -0
  426. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_398553b0._.js +3 -0
  427. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_5c87e8e4._.js +3 -0
  428. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f4952172.js +3 -0
  429. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_create_page_tsx_c60c859a._.js +3 -0
  430. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_feature_[featureId]_page_tsx_797907a1._.js +3 -0
  431. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_page_tsx_8d870268._.js +3 -0
  432. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_repository_[repositoryId]_page_tsx_7d738911._.js +3 -0
  433. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_c1bc6240._.js +8 -0
  434. package/web/.next/{server/chunks/ssr/src_presentation_web_ed0934e5._.js → standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js} +2 -2
  435. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  436. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +3 -0
  437. package/web/.next/standalone/src/presentation/web/.next/server/middleware-build-manifest.js +3 -3
  438. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  439. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  440. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +672 -119
  441. package/web/.next/standalone/src/presentation/web/app/(dashboard)/@drawer/create/page.tsx +35 -0
  442. package/web/.next/standalone/src/presentation/web/app/(dashboard)/@drawer/default.tsx +4 -0
  443. package/web/.next/standalone/src/presentation/web/app/(dashboard)/@drawer/feature/[featureId]/page.tsx +46 -0
  444. package/web/.next/standalone/src/presentation/web/app/(dashboard)/@drawer/repository/[repositoryId]/page.tsx +29 -0
  445. package/web/.next/standalone/src/presentation/web/app/(dashboard)/create/page.tsx +4 -0
  446. package/web/.next/standalone/src/presentation/web/app/(dashboard)/feature/[featureId]/page.tsx +4 -0
  447. package/web/.next/standalone/src/presentation/web/app/{page.tsx → (dashboard)/get-graph-data.ts} +4 -13
  448. package/web/.next/standalone/src/presentation/web/app/(dashboard)/layout.tsx +22 -0
  449. package/web/.next/standalone/src/presentation/web/app/(dashboard)/page.tsx +7 -0
  450. package/web/.next/standalone/src/presentation/web/app/(dashboard)/repository/[repositoryId]/page.tsx +4 -0
  451. package/web/.next/standalone/src/presentation/web/app/build-feature-node-data.ts +63 -0
  452. package/web/.next/standalone/src/presentation/web/components/common/base-drawer/base-drawer.tsx +4 -0
  453. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/create-drawer-client.tsx +87 -0
  454. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.tsx +721 -0
  455. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.tsx +98 -0
  456. package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center-inner.tsx +89 -87
  457. package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center.tsx +5 -1
  458. package/web/.next/standalone/src/presentation/web/components/features/control-center/use-control-center-state.ts +5 -197
  459. package/web/.next/standalone/src/presentation/web/components/features/features-canvas/features-canvas.tsx +9 -0
  460. package/web/.next/standalone/src/presentation/web/components/layouts/app-shell/app-shell.tsx +11 -5
  461. package/web/.next/standalone/src/presentation/web/hooks/use-notifications.ts +13 -12
  462. package/web/.next/standalone/src/presentation/web/hooks/use-selected-feature-id.ts +13 -0
  463. package/web/.next/standalone/src/presentation/web/server.js +1 -1
  464. package/web/.next/static/chunks/03d33ef0225f01ed.js +1 -0
  465. package/web/.next/static/chunks/{c1c15470a7b058c8.js → 07fcc6d17357e905.js} +1 -1
  466. package/web/.next/static/chunks/{d450d8db6be36b8d.js → 34abde74bbbcf2a7.js} +1 -1
  467. package/web/.next/static/chunks/3e46df89d84cae41.js +1 -0
  468. package/web/.next/static/chunks/40056cc7a83dbc74.js +1 -0
  469. package/web/.next/static/chunks/424982cd78174a1a.js +1 -0
  470. package/web/.next/static/chunks/47435830535491e8.js +1 -0
  471. package/web/.next/static/chunks/5f5c607ffae8b918.js +1 -0
  472. package/web/.next/static/chunks/64d73952a0291431.js +1 -0
  473. package/web/.next/static/chunks/826098f4effdc320.js +1 -0
  474. package/web/.next/static/chunks/{b025563d959150a1.js → 858e98ff8bec6b19.js} +1 -1
  475. package/web/.next/static/chunks/938c21b0cefb2b1d.js +1 -0
  476. package/web/.next/static/chunks/af0b5ed9f7772209.js +1 -0
  477. package/web/.next/static/chunks/c49356a5aa45e9f6.js +10 -0
  478. package/web/.next/static/chunks/d5aa17e7271ca056.js +1 -0
  479. package/web/.next/static/chunks/e44849eb58a3335f.js +1 -0
  480. package/web/.next/static/chunks/f05904554c809e13.js +1 -0
  481. package/web/.next/static/chunks/{turbopack-958ac34b879d0dce.js → turbopack-3a8fe0e18e69b0ab.js} +1 -1
  482. package/web/.next/trace +1 -1
  483. package/web/.next/trace-build +1 -1
  484. package/web/.next/types/link.d.ts +3 -0
  485. package/web/.next/types/routes.d.ts +5 -2
  486. package/web/.next/types/validator.ts +65 -2
  487. package/dist/src/presentation/web/app/page.d.ts +0 -4
  488. package/dist/src/presentation/web/app/page.d.ts.map +0 -1
  489. package/dist/src/presentation/web/app/page.js +0 -25
  490. package/web/.next/server/app/page/app-paths-manifest.json +0 -3
  491. package/web/.next/server/app/page.js +0 -16
  492. package/web/.next/server/app/page.js.nft.json +0 -1
  493. package/web/.next/server/app/page_client-reference-manifest.js +0 -2
  494. package/web/.next/server/chunks/ssr/[root-of-the-server]__5f968713._.js +0 -3
  495. package/web/.next/server/chunks/ssr/[root-of-the-server]__5f968713._.js.map +0 -1
  496. package/web/.next/server/chunks/ssr/[root-of-the-server]__970ba1be._.js +0 -3
  497. package/web/.next/server/chunks/ssr/[root-of-the-server]__970ba1be._.js.map +0 -1
  498. package/web/.next/server/chunks/ssr/[root-of-the-server]__97a1f9c2._.js +0 -4
  499. package/web/.next/server/chunks/ssr/[root-of-the-server]__97a1f9c2._.js.map +0 -1
  500. package/web/.next/server/chunks/ssr/[root-of-the-server]__9add7c3a._.js +0 -12
  501. package/web/.next/server/chunks/ssr/[root-of-the-server]__9add7c3a._.js.map +0 -1
  502. package/web/.next/server/chunks/ssr/[root-of-the-server]__ad7c18fa._.js +0 -9
  503. package/web/.next/server/chunks/ssr/[root-of-the-server]__ad7c18fa._.js.map +0 -1
  504. package/web/.next/server/chunks/ssr/[root-of-the-server]__b22d8535._.js +0 -3
  505. package/web/.next/server/chunks/ssr/[root-of-the-server]__b22d8535._.js.map +0 -1
  506. package/web/.next/server/chunks/ssr/_25e0eb34._.js +0 -3
  507. package/web/.next/server/chunks/ssr/_25e0eb34._.js.map +0 -1
  508. package/web/.next/server/chunks/ssr/_49bf495c._.js.map +0 -1
  509. package/web/.next/server/chunks/ssr/_68b5e0de._.js +0 -6
  510. package/web/.next/server/chunks/ssr/_68b5e0de._.js.map +0 -1
  511. package/web/.next/server/chunks/ssr/_725584e5._.js.map +0 -1
  512. package/web/.next/server/chunks/ssr/_72ce07df._.js +0 -3
  513. package/web/.next/server/chunks/ssr/_c5d377cc._.js.map +0 -1
  514. package/web/.next/server/chunks/ssr/_ed9132c9._.js +0 -3
  515. package/web/.next/server/chunks/ssr/_ed9132c9._.js.map +0 -1
  516. package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js.map +0 -1
  517. package/web/.next/standalone/src/presentation/web/.next/server/app/page/app-paths-manifest.json +0 -3
  518. package/web/.next/standalone/src/presentation/web/.next/server/app/page.js +0 -16
  519. package/web/.next/standalone/src/presentation/web/.next/server/app/page.js.nft.json +0 -1
  520. package/web/.next/standalone/src/presentation/web/.next/server/app/page_client-reference-manifest.js +0 -2
  521. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__5f968713._.js +0 -3
  522. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__970ba1be._.js +0 -3
  523. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__97a1f9c2._.js +0 -4
  524. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__9add7c3a._.js +0 -12
  525. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__ad7c18fa._.js +0 -9
  526. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__b22d8535._.js +0 -3
  527. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_25e0eb34._.js +0 -3
  528. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_68b5e0de._.js +0 -6
  529. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_72ce07df._.js +0 -3
  530. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_ed9132c9._.js +0 -3
  531. package/web/.next/static/chunks/01ae2241bd4b44b6.js +0 -1
  532. package/web/.next/static/chunks/20f7876f292cfd82.js +0 -1
  533. package/web/.next/static/chunks/51c94a563ecc565d.js +0 -1
  534. package/web/.next/static/chunks/62c8ebbd9c7bb287.js +0 -1
  535. package/web/.next/static/chunks/673e0c1000a91948.js +0 -1
  536. package/web/.next/static/chunks/7ad36bef63f15bc6.js +0 -1
  537. package/web/.next/static/chunks/8b6df4f8e194d0ce.js +0 -1
  538. package/web/.next/static/chunks/c7fb052190a02a9c.js +0 -10
  539. package/web/.next/static/chunks/d9e3cf214ac2f386.js +0 -1
  540. /package/web/.next/server/app/{page → (dashboard)/@drawer/create/page}/next-font-manifest.json +0 -0
  541. /package/web/.next/server/app/{page → (dashboard)/@drawer/create/page}/react-loadable-manifest.json +0 -0
  542. /package/web/.next/server/app/{page.js.map → (dashboard)/@drawer/create/page.js.map} +0 -0
  543. /package/web/.next/{standalone/src/presentation/web/.next/server/app → server/app/(dashboard)/@drawer/feature/[featureId]}/page/next-font-manifest.json +0 -0
  544. /package/web/.next/{standalone/src/presentation/web/.next/server/app → server/app/(dashboard)/@drawer/feature/[featureId]}/page/react-loadable-manifest.json +0 -0
  545. /package/web/.next/{standalone/src/presentation/web/.next/server/app → server/app/(dashboard)/@drawer/feature/[featureId]}/page.js.map +0 -0
  546. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__b79b0516._.js.map → [root-of-the-server]__01a37f7a._.js.map} +0 -0
  547. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__6e8b5181._.js.map → [root-of-the-server]__249c74f6._.js.map} +0 -0
  548. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__248ee887._.js.map → [root-of-the-server]__3534949f._.js.map} +0 -0
  549. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__f7f90528._.js.map → [root-of-the-server]__55f60c9d._.js.map} +0 -0
  550. /package/web/.next/static/{F3mdpVVEgR5m2xHY_SnYx → wZm2E7aeoaHgqBeiAY-EL}/_buildManifest.js +0 -0
  551. /package/web/.next/static/{F3mdpVVEgR5m2xHY_SnYx → wZm2E7aeoaHgqBeiAY-EL}/_clientMiddlewareManifest.json +0 -0
  552. /package/web/.next/static/{F3mdpVVEgR5m2xHY_SnYx → wZm2E7aeoaHgqBeiAY-EL}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[15638,a=>{"use strict";a.s(["ControlCenter",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call ControlCenter() from the server but ControlCenter is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/control-center/control-center.tsx <module evaluation>","ControlCenter")},87979,a=>{"use strict";a.s(["ControlCenter",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call ControlCenter() from the server but ControlCenter is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/control-center/control-center.tsx","ControlCenter")},35685,a=>{"use strict";a.i(15638);var b=a.i(87979);a.n(b)},79957,a=>{"use strict";a.s(["useControlCenterState",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call useControlCenterState() from the server but useControlCenterState is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/control-center/use-control-center-state.ts <module evaluation>","useControlCenterState")},81035,a=>{"use strict";a.s(["useControlCenterState",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call useControlCenterState() from the server but useControlCenterState is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/control-center/use-control-center-state.ts","useControlCenterState")},62858,a=>{"use strict";a.i(79957);var b=a.i(81035);a.n(b)},48886,a=>{"use strict";var b=a.i(92807),c=a.i(35685);a.i(62858);var d=a.i(96380),e=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),f=e((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}}),g=e((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(", ")+"]"}}}),h=e((a,b)=>{var c=f().Graph,d=g();b.exports=function(a,b){var f,g;let j,k,l,m,n;if(1>=a.nodeCount())return[];let o=(f=a,g=b||e,j=new c,k=0,l=0,f.nodes().forEach(a=>{j.setNode(a,{v:a,in:0,out:0})}),f.edges().forEach(a=>{let b=j.edge(a.v,a.w)||0,c=g(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 d),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 e=()=>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)}}),i=e((a,b)=>{var c=f().Graph;function d(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,e){let f={width:0,height:0};return arguments.length>=4&&(f.rank=c,f.order=e),d(a,"border",f,b)},addDummyNode:d,applyWithChunking:e,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=e(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=e(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,f=a.graph().nodeRankFactor;Array.from(c).forEach((b,c)=>{void 0===b&&c%f!=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 e(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 e(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),{})}}),j=e((a,b)=>{var c=h(),d=i().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)}})}}}),k=e((a,b)=>{var c=i();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)})}}}),l=e((a,b)=>{var{applyWithChunking:c}=i();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}}}),m=e((a,b)=>{var c=f().Graph,d=l().slack;b.exports=function(a){var b,e,f,g,h=new c({directed:!1}),i=a.nodes()[0],j=a.nodeCount();for(h.setNode(i,{});b=h,e=a,b.nodes().forEach(function a(c){e.nodeEdges(c).forEach(f=>{var g=f.v,h=c===g?f.w:g;b.hasNode(h)||d(e,f)||(b.setNode(h,{}),b.setEdge(c,h,{}),a(h))})}),b.nodeCount()<j;)f=function(a,b){return b.edges().reduce((c,e)=>{let f=1/0;return a.hasNode(e.v)!==a.hasNode(e.w)&&(f=d(b,e)),f<c[0]?[f,e]:c},[1/0,null])[1]}(h,a),g=h.hasNode(f.v)?d(a,f):-d(a,f),function(a,b,c){a.nodes().forEach(a=>b.node(a).rank+=c)}(h,a,g);return h}}),n=e((a,b)=>{var c=m(),d=l().slack,e=l().longestPath,g=f().alg.preorder,h=f().alg.postorder,j=i().simplify;function k(a){e(a=j(a));var b,d,f=c(a);for(p(f),n(f,a);b=q(f);)d=r(f,a,b),s(f,a,b,d)}function n(a,b){var c=h(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 e=c.v,f=c.w;b.hasEdge(e,f)||(e=c.w,f=c.v);var g=a.node(e),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)=>d(b,c)<d(b,a)?c:a)}function s(a,b,c,d){var e,f,h,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,h=e.nodes().find(a=>!f.node(a).parent),(i=(i=g(e,h)).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=k,k.initLowLimValues=p,k.initCutValues=n,k.calcCutValue=o,k.leaveEdge=q,k.enterEdge=r,k.exchangeEdges=s}),o=e((a,b)=>{var c=l().longestPath,d=m(),e=n();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}),p=e((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]}})}}),q=e((a,b)=>{var c=i();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)})}}}),r=e((a,b)=>{var c=i();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)}})}}),s=e((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))}}}),t=e((a,b)=>{var c=i();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}}),u=e((a,b)=>{var c=i().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}}),v=e((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}}})}}),w=e((a,b)=>{var c=i();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))}}),x=e((a,b)=>{var c=i();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}}),y=e((a,b)=>{var c=v(),d=w(),e=x();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}}),z=e((a,b)=>{var c=f().Graph,d=i();b.exports=function(a,b,e,f){f||(f=a.nodes());let g=function(a){for(var b;a.hasNode(b=d.uniqueId("_root")););return b}(a),h=new c({compound:!0}).setGraph({root:g}).setDefaultNodeLabel(b=>a.node(b));return f.forEach(c=>{let d=a.node(c),f=a.parent(c);(d.rank===b||d.minRank<=b&&b<=d.maxRank)&&(h.setNode(c),h.setParent(c,f||g),a[e](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(d,"minRank")&&h.setNode(c,{borderLeft:d.borderLeft[b],borderRight:d.borderRight[b]}))}),h}}),A=e((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}})}}),B=e((a,b)=>{var c=t(),d=u(),e=y(),g=z(),h=A(),j=f().Graph,k=i();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 g(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,f={}){if("function"==typeof f.customOrder)return void f.customOrder(b,a);let g=k.maxRank(b),i=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),f.disableOptimalOrderHeuristic)return;let p=1/0,q,r=f.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 f=a.graph().root,g=e(a,f,d,b);g.vs.forEach((b,c)=>a.node(b).order=c),h(a,d,g.vs)})})(a%2?i:n,a%4>=2,r),o=k.buildLayerMatrix(b);let f=d(b,o);f<p?(c=0,q=Object.assign({},o),p=f):f===p&&(q=structuredClone(o))}m(b,q)}}),C=e((a,b)=>{var c=f().Graph,d=i();function e(a,b){let c={};return b.length&&b.reduce(function(b,d){let e=0,f=0,g=b.length,i=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===i)&&(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)&&h(c,d,b)})}),f=j+1,e=l)}),d}),c}function g(a,b){let c={};function e(b,e,f,g,i){let j;d.range(e,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>i)&&h(c,b,j)})})}return b.length&&b.reduce(function(b,c){let d=-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,e(c,g,i,d,f),g=i,d=f)}e(c,g,c.length,f,b.length)}),c}),c}function h(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),e=d.applyWithChunking(Math.min,c),f=d.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=e-d.applyWithChunking(Math.min,j);"l"!==g&&(k=f-d.applyWithChunking(Math.max,j)),k&&(a[h]=d.mapValues(i,a=>a+k))})})}function o(a,b){return d.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=d.buildLayerMatrix(a),c=Object.assign(e(a,b),g(a,b)),f={},h;["u","d"].forEach(e=>{h="u"===e?b:Object.values(b).reverse(),["l","r"].forEach(b=>{"r"===b&&(h=h.map(a=>Object.values(a).reverse()));let g=("u"===e?a.predecessors:a.successors).bind(a),i=k(a,h,c,g),j=l(a,h,i.root,i.align,"r"===b);"r"===b&&(j=d.mapValues(j,a=>-a)),f[e+b]=j})});let i=m(a,f);return n(f,i),o(f,a.graph().align)},findType1Conflicts:e,findType2Conflicts:g,addConflict:h,hasConflict:j,verticalAlignment:k,horizontalCompaction:l,alignCoordinates:n,findSmallestWidthAlignment:m,balance:o}}),D=e((a,b)=>{var c=i(),d=C().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)}}),E=e((a,b)=>{var c=j(),d=k(),e=o(),g=i().normalizeRanks,h=p(),l=i().removeEmptyRanks,m=q(),n=r(),t=s(),u=B(),v=D(),w=i(),x=f().Graph;b.exports=function(a,b={}){let f=b.debugTiming?w.time:w.notime;return f("layout",()=>{let i=f(" buildLayoutGraph",()=>{var b;let c,d;return b=a,c=new x({multigraph:!0,compound:!0}),d=J(b.graph()),c.setGraph(Object.assign({},z,I(d,y),w.pick(d,A))),b.nodes().forEach(a=>{let d=I(J(b.node(a)),C);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 f(" runLayout",()=>{var a,j,k;return a=i,j=f,k=b,void(j(" 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)}))}),j(" 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)}})}),j(" acyclic",()=>c.run(a)),j(" nestingGraph.run",()=>m.run(a)),j(" rank",()=>e(w.asNonCompoundGraph(a))),j(" 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")}})}),j(" removeEmptyRanks",()=>l(a)),j(" nestingGraph.cleanup",()=>m.cleanup(a)),j(" normalizeRanks",()=>g(a)),j(" 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)}),j(" 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))})}),j(" normalize.run",()=>d.run(a)),j(" parentDummyChains",()=>h(a)),j(" addBorderSegments",()=>n(a)),j(" order",()=>u(a,k)),j(" 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})})}),j(" adjustCoordinateSystem",()=>t.adjust(a)),j(" position",()=>v(a)),j(" 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}})}),j(" 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)})}),j(" normalize.undo",()=>d.undo(a)),j(" 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}})}),j(" undoCoordinateSystem",()=>t.undo(a)),j(" 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)),j(" 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))})}),j(" reversePoints",()=>{var b;(b=a).edges().forEach(a=>{let c=b.edge(a);c.reversed&&c.points.reverse()})}),j(" acyclic.undo",()=>c.undo(a)))}),f(" updateInputGraph",()=>{var b,c;return b=a,c=i,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)}),i})};var y=["nodesep","edgesep","ranksep","marginx","marginy"],z={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb",rankalign:"center"},A=["acyclicer","ranker","rankdir","align","rankalign"],C=["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}}),F=e((a,b)=>{var c=i(),d=f().Graph;b.exports={debugOrdering:function(a){let b=c.buildLayerMatrix(a),e=new d({compound:!0,multigraph:!0}).setGraph({});return a.nodes().forEach(b=>{e.setNode(b,{label:b}),e.setParent(b,"layer"+a.node(b).rank)}),a.edges().forEach(a=>e.setEdge(a.v,a.w,{},a.name)),b.forEach((a,b)=>{e.setNode("layer"+b,{rank:"same"}),a.reduce((a,b)=>(e.setEdge(a,b,{style:"invis"}),b))}),e}}}),G=e((a,b)=>{b.exports="2.0.4"});let H=e((a,b)=>{b.exports={graphlib:f(),layout:E(),debug:F(),util:{time:i().time,notime:i().notime},version:G()}})(),I={featureNode:{width:288,height:140},repositoryNode:{width:288,height:50},addRepositoryNode:{width:224,height:50}};function J(a,b){let c=a.data;return c&&"number"==typeof c.width&&"number"==typeof c.height?{width:c.width,height:c.height}:I[a.type??""]??b}var K=a.i(81719);let L={Requirements:"requirements",Research:"research",Implementation:"implementation",Review:"review","Deploy & QA":"deploy",Maintain:"maintain"},M={analyze:"requirements",requirements:"requirements",research:"research",plan:"implementation",implement:"implementation",merge:"review"};function N(a,b,c,d,e){a.forEach(({feature:a,run:f})=>{let g,h=f?.result?.startsWith("node:")?f.result.slice(5):void 0,i=f?.status==="completed"?"maintain":(h?M[h]:void 0)??L[a.lifecycle]??"requirements";if(a.parentId&&"Blocked"===a.lifecycle){let b=c.find(b=>b.feature.id===a.parentId);b&&(g=b.feature.name)}let j={name:a.name,description:a.description??a.slug,featureId:a.id,lifecycle:i,repositoryPath:a.repositoryPath,branch:a.branch,specPath:a.specPath,state:function(a,b){if(a.lifecycle===K.SdlcLifecycle.Blocked)return"blocked";if(b)switch(b.status){case K.AgentRunStatus.waitingApproval:return"action-required";case K.AgentRunStatus.failed:return"error";case K.AgentRunStatus.interrupted:case K.AgentRunStatus.cancelled:return"blocked";case K.AgentRunStatus.completed:return a.lifecycle===K.SdlcLifecycle.Maintain,"done";case K.AgentRunStatus.running:case K.AgentRunStatus.pending:return"running"}if(a.lifecycle===K.SdlcLifecycle.Maintain)return"done";let c=a.plan?.tasks;return c&&0!==c.length?c.some(a=>a.state===K.TaskState.Review)?"action-required":c.some(a=>a.state===K.TaskState.WIP)?"running":c.every(a=>a.state===K.TaskState.Done)?"done":"running":"running"}(a,f),progress:function(a){if(a.lifecycle===K.SdlcLifecycle.Maintain)return 100;let b=a.plan?.tasks;return b&&0!==b.length?Math.round(b.filter(a=>a.state===K.TaskState.Done).length/b.length*100):0}(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}}},k=`feat-${a.id}`;d.push({id:k,type:"featureNode",position:{x:0,y:0},data:j}),a.parentId||e.push({id:`edge-${b}-${k}`,source:b,target:k,style:{strokeDasharray:"5 5"}})})}async function O(){let a=(0,d.resolve)("ListFeaturesUseCase"),e=(0,d.resolve)("ListRepositoriesUseCase"),f=(0,d.resolve)("IAgentRunRepository"),[g,h]=await Promise.all([a.execute(),e.execute()]),{nodes:i,edges:j}=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}}),N(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}}),N(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}}(h,await Promise.all(g.map(async a=>{let b=a.agentRunId?await f.findById(a.agentRunId):null;return{feature:a,run:b}}))),k=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 H.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=J(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);H.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=[];for(let a of j){let b=h.node(a.id),c=J(a,e);n.push({...a,targetPosition:l,sourcePosition:m,position:{x:b.x-c.width/2,y:b.y-c.height/2}})}if(k.length>0){let a=0,b=1/0;for(let c of n){let d=J(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=J(d,e);n.push({...d,targetPosition:l,sourcePosition:m,position:{x:b,y:a+30+c*(f.height+20)}})}}return{nodes:n,edges:[...b]}}(i,j,{direction:"LR",ranksep:200,nodesep:15});return(0,b.jsx)("div",{className:"h-screen w-full",children:(0,b.jsx)(c.ControlCenter,{initialNodes:k.nodes,initialEdges:k.edges})})}a.s(["default",()=>O,"dynamic",0,"force-dynamic"],48886)}];
1
+ module.exports=[15638,a=>{"use strict";a.s(["ControlCenter",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call ControlCenter() from the server but ControlCenter is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/control-center/control-center.tsx <module evaluation>","ControlCenter")},87979,a=>{"use strict";a.s(["ControlCenter",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call ControlCenter() from the server but ControlCenter is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/control-center/control-center.tsx","ControlCenter")},35685,a=>{"use strict";a.i(15638);var b=a.i(87979);a.n(b)},79957,a=>{"use strict";a.s(["useControlCenterState",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call useControlCenterState() from the server but useControlCenterState is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/control-center/use-control-center-state.ts <module evaluation>","useControlCenterState")},81035,a=>{"use strict";a.s(["useControlCenterState",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call useControlCenterState() from the server but useControlCenterState is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/control-center/use-control-center-state.ts","useControlCenterState")},62858,a=>{"use strict";a.i(79957);var b=a.i(81035);a.n(b)},19981,a=>{"use strict";var b=a.i(92807),c=a.i(35685);a.i(62858);var d=a.i(96380),e=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),f=e((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}}),g=e((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(", ")+"]"}}}),h=e((a,b)=>{var c=f().Graph,d=g();b.exports=function(a,b){var f,g;let j,k,l,m,n;if(1>=a.nodeCount())return[];let o=(f=a,g=b||e,j=new c,k=0,l=0,f.nodes().forEach(a=>{j.setNode(a,{v:a,in:0,out:0})}),f.edges().forEach(a=>{let b=j.edge(a.v,a.w)||0,c=g(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 d),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 e=()=>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)}}),i=e((a,b)=>{var c=f().Graph;function d(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,e){let f={width:0,height:0};return arguments.length>=4&&(f.rank=c,f.order=e),d(a,"border",f,b)},addDummyNode:d,applyWithChunking:e,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=e(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=e(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,f=a.graph().nodeRankFactor;Array.from(c).forEach((b,c)=>{void 0===b&&c%f!=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 e(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 e(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),{})}}),j=e((a,b)=>{var c=h(),d=i().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)}})}}}),k=e((a,b)=>{var c=i();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)})}}}),l=e((a,b)=>{var{applyWithChunking:c}=i();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}}}),m=e((a,b)=>{var c=f().Graph,d=l().slack;b.exports=function(a){var b,e,f,g,h=new c({directed:!1}),i=a.nodes()[0],j=a.nodeCount();for(h.setNode(i,{});b=h,e=a,b.nodes().forEach(function a(c){e.nodeEdges(c).forEach(f=>{var g=f.v,h=c===g?f.w:g;b.hasNode(h)||d(e,f)||(b.setNode(h,{}),b.setEdge(c,h,{}),a(h))})}),b.nodeCount()<j;)f=function(a,b){return b.edges().reduce((c,e)=>{let f=1/0;return a.hasNode(e.v)!==a.hasNode(e.w)&&(f=d(b,e)),f<c[0]?[f,e]:c},[1/0,null])[1]}(h,a),g=h.hasNode(f.v)?d(a,f):-d(a,f),function(a,b,c){a.nodes().forEach(a=>b.node(a).rank+=c)}(h,a,g);return h}}),n=e((a,b)=>{var c=m(),d=l().slack,e=l().longestPath,g=f().alg.preorder,h=f().alg.postorder,j=i().simplify;function k(a){e(a=j(a));var b,d,f=c(a);for(p(f),n(f,a);b=q(f);)d=r(f,a,b),s(f,a,b,d)}function n(a,b){var c=h(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 e=c.v,f=c.w;b.hasEdge(e,f)||(e=c.w,f=c.v);var g=a.node(e),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)=>d(b,c)<d(b,a)?c:a)}function s(a,b,c,d){var e,f,h,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,h=e.nodes().find(a=>!f.node(a).parent),(i=(i=g(e,h)).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=k,k.initLowLimValues=p,k.initCutValues=n,k.calcCutValue=o,k.leaveEdge=q,k.enterEdge=r,k.exchangeEdges=s}),o=e((a,b)=>{var c=l().longestPath,d=m(),e=n();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}),p=e((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]}})}}),q=e((a,b)=>{var c=i();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)})}}}),r=e((a,b)=>{var c=i();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)}})}}),s=e((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))}}}),t=e((a,b)=>{var c=i();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}}),u=e((a,b)=>{var c=i().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}}),v=e((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}}})}}),w=e((a,b)=>{var c=i();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))}}),x=e((a,b)=>{var c=i();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}}),y=e((a,b)=>{var c=v(),d=w(),e=x();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}}),z=e((a,b)=>{var c=f().Graph,d=i();b.exports=function(a,b,e,f){f||(f=a.nodes());let g=function(a){for(var b;a.hasNode(b=d.uniqueId("_root")););return b}(a),h=new c({compound:!0}).setGraph({root:g}).setDefaultNodeLabel(b=>a.node(b));return f.forEach(c=>{let d=a.node(c),f=a.parent(c);(d.rank===b||d.minRank<=b&&b<=d.maxRank)&&(h.setNode(c),h.setParent(c,f||g),a[e](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(d,"minRank")&&h.setNode(c,{borderLeft:d.borderLeft[b],borderRight:d.borderRight[b]}))}),h}}),A=e((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}})}}),B=e((a,b)=>{var c=t(),d=u(),e=y(),g=z(),h=A(),j=f().Graph,k=i();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 g(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,f={}){if("function"==typeof f.customOrder)return void f.customOrder(b,a);let g=k.maxRank(b),i=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),f.disableOptimalOrderHeuristic)return;let p=1/0,q,r=f.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 f=a.graph().root,g=e(a,f,d,b);g.vs.forEach((b,c)=>a.node(b).order=c),h(a,d,g.vs)})})(a%2?i:n,a%4>=2,r),o=k.buildLayerMatrix(b);let f=d(b,o);f<p?(c=0,q=Object.assign({},o),p=f):f===p&&(q=structuredClone(o))}m(b,q)}}),C=e((a,b)=>{var c=f().Graph,d=i();function e(a,b){let c={};return b.length&&b.reduce(function(b,d){let e=0,f=0,g=b.length,i=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===i)&&(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)&&h(c,d,b)})}),f=j+1,e=l)}),d}),c}function g(a,b){let c={};function e(b,e,f,g,i){let j;d.range(e,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>i)&&h(c,b,j)})})}return b.length&&b.reduce(function(b,c){let d=-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,e(c,g,i,d,f),g=i,d=f)}e(c,g,c.length,f,b.length)}),c}),c}function h(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),e=d.applyWithChunking(Math.min,c),f=d.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=e-d.applyWithChunking(Math.min,j);"l"!==g&&(k=f-d.applyWithChunking(Math.max,j)),k&&(a[h]=d.mapValues(i,a=>a+k))})})}function o(a,b){return d.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=d.buildLayerMatrix(a),c=Object.assign(e(a,b),g(a,b)),f={},h;["u","d"].forEach(e=>{h="u"===e?b:Object.values(b).reverse(),["l","r"].forEach(b=>{"r"===b&&(h=h.map(a=>Object.values(a).reverse()));let g=("u"===e?a.predecessors:a.successors).bind(a),i=k(a,h,c,g),j=l(a,h,i.root,i.align,"r"===b);"r"===b&&(j=d.mapValues(j,a=>-a)),f[e+b]=j})});let i=m(a,f);return n(f,i),o(f,a.graph().align)},findType1Conflicts:e,findType2Conflicts:g,addConflict:h,hasConflict:j,verticalAlignment:k,horizontalCompaction:l,alignCoordinates:n,findSmallestWidthAlignment:m,balance:o}}),D=e((a,b)=>{var c=i(),d=C().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)}}),E=e((a,b)=>{var c=j(),d=k(),e=o(),g=i().normalizeRanks,h=p(),l=i().removeEmptyRanks,m=q(),n=r(),t=s(),u=B(),v=D(),w=i(),x=f().Graph;b.exports=function(a,b={}){let f=b.debugTiming?w.time:w.notime;return f("layout",()=>{let i=f(" buildLayoutGraph",()=>{var b;let c,d;return b=a,c=new x({multigraph:!0,compound:!0}),d=J(b.graph()),c.setGraph(Object.assign({},z,I(d,y),w.pick(d,A))),b.nodes().forEach(a=>{let d=I(J(b.node(a)),C);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 f(" runLayout",()=>{var a,j,k;return a=i,j=f,k=b,void(j(" 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)}))}),j(" 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)}})}),j(" acyclic",()=>c.run(a)),j(" nestingGraph.run",()=>m.run(a)),j(" rank",()=>e(w.asNonCompoundGraph(a))),j(" 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")}})}),j(" removeEmptyRanks",()=>l(a)),j(" nestingGraph.cleanup",()=>m.cleanup(a)),j(" normalizeRanks",()=>g(a)),j(" 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)}),j(" 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))})}),j(" normalize.run",()=>d.run(a)),j(" parentDummyChains",()=>h(a)),j(" addBorderSegments",()=>n(a)),j(" order",()=>u(a,k)),j(" 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})})}),j(" adjustCoordinateSystem",()=>t.adjust(a)),j(" position",()=>v(a)),j(" 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}})}),j(" 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)})}),j(" normalize.undo",()=>d.undo(a)),j(" 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}})}),j(" undoCoordinateSystem",()=>t.undo(a)),j(" 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)),j(" 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))})}),j(" reversePoints",()=>{var b;(b=a).edges().forEach(a=>{let c=b.edge(a);c.reversed&&c.points.reverse()})}),j(" acyclic.undo",()=>c.undo(a)))}),f(" updateInputGraph",()=>{var b,c;return b=a,c=i,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)}),i})};var y=["nodesep","edgesep","ranksep","marginx","marginy"],z={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb",rankalign:"center"},A=["acyclicer","ranker","rankdir","align","rankalign"],C=["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}}),F=e((a,b)=>{var c=i(),d=f().Graph;b.exports={debugOrdering:function(a){let b=c.buildLayerMatrix(a),e=new d({compound:!0,multigraph:!0}).setGraph({});return a.nodes().forEach(b=>{e.setNode(b,{label:b}),e.setParent(b,"layer"+a.node(b).rank)}),a.edges().forEach(a=>e.setEdge(a.v,a.w,{},a.name)),b.forEach((a,b)=>{e.setNode("layer"+b,{rank:"same"}),a.reduce((a,b)=>(e.setEdge(a,b,{style:"invis"}),b))}),e}}}),G=e((a,b)=>{b.exports="2.0.4"});let H=e((a,b)=>{b.exports={graphlib:f(),layout:E(),debug:F(),util:{time:i().time,notime:i().notime},version:G()}})(),I={featureNode:{width:288,height:140},repositoryNode:{width:288,height:50},addRepositoryNode:{width:224,height:50}};function J(a,b){let c=a.data;return c&&"number"==typeof c.width&&"number"==typeof c.height?{width:c.width,height:c.height}:I[a.type??""]??b}var K=a.i(14703);let L={Requirements:"requirements",Research:"research",Implementation:"implementation",Review:"review","Deploy & QA":"deploy",Maintain:"maintain"},M={analyze:"requirements",requirements:"requirements",research:"research",plan:"implementation",implement:"implementation",merge:"review"};function N(a,b,c,d,e){a.forEach(({feature:a,run:f})=>{let g,h=f?.result?.startsWith("node:")?f.result.slice(5):void 0,i=f?.status==="completed"?"maintain":(h?M[h]:void 0)??L[a.lifecycle]??"requirements";if(a.parentId&&"Blocked"===a.lifecycle){let b=c.find(b=>b.feature.id===a.parentId);b&&(g=b.feature.name)}let j={name:a.name,description:a.description??a.slug,featureId:a.id,lifecycle:i,repositoryPath:a.repositoryPath,branch:a.branch,specPath:a.specPath,state:(0,K.deriveNodeState)(a,f),progress:(0,K.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}}},k=`feat-${a.id}`;d.push({id:k,type:"featureNode",position:{x:0,y:0},data:j}),a.parentId||e.push({id:`edge-${b}-${k}`,source:b,target:k,style:{strokeDasharray:"5 5"}})})}async function O(){let a=(0,d.resolve)("ListFeaturesUseCase"),b=(0,d.resolve)("ListRepositoriesUseCase"),c=(0,d.resolve)("IAgentRunRepository"),[e,f]=await Promise.all([a.execute(),b.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}}),N(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}}),N(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 c.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 H.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=J(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);H.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=[];for(let a of j){let b=h.node(a.id),c=J(a,e);n.push({...a,targetPosition:l,sourcePosition:m,position:{x:b.x-c.width/2,y:b.y-c.height/2}})}if(k.length>0){let a=0,b=1/0;for(let c of n){let d=J(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=J(d,e);n.push({...d,targetPosition:l,sourcePosition:m,position:{x:b,y:a+30+c*(f.height+20)}})}}return{nodes:n,edges:[...b]}}(g,h,{direction:"LR",ranksep:200,nodesep:15})}async function P({children:a,drawer:d}){let{nodes:e,edges:f}=await O();return(0,b.jsxs)("div",{className:"h-screen w-full",children:[(0,b.jsx)(c.ControlCenter,{initialNodes:e,initialEdges:f,drawer:d}),a]})}a.s(["default",()=>P,"dynamic",0,"force-dynamic"],19981)}];
2
2
 
3
- //# sourceMappingURL=src_presentation_web_ed0934e5._.js.map
3
+ //# sourceMappingURL=src_presentation_web_ca99d62d._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[66560,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(42261),e=a.i(25700);let f=(0,e.default)("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);var g=a.i(20098),h=a.i(85536),i=a.i(18948);a.i(90920),a.i(13126);var j=a.i(10568),k=a.i(71335);function l({...a}){return(0,b.jsx)(k.Dialog.Root,{"data-slot":"sheet",...a})}function m({...a}){return(0,b.jsx)(k.Dialog.Portal,{"data-slot":"sheet-portal",...a})}function n({className:a,...c}){return(0,b.jsx)(k.Dialog.Overlay,{"data-slot":"sheet-overlay",className:(0,h.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",a),...c})}function o({className:a,children:c,side:d="right",showCloseButton:e=!0,...f}){return(0,b.jsxs)(m,{children:[(0,b.jsx)(n,{}),(0,b.jsxs)(k.Dialog.Content,{"data-slot":"sheet-content",className:(0,h.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500","right"===d&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm","left"===d&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm","top"===d&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===d&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",a),...f,children:[c,e?(0,b.jsxs)(k.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,b.jsx)(j.XIcon,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})]})}function p({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sheet-header",className:(0,h.cn)("flex flex-col gap-1.5 p-4",a),...c})}function q({className:a,...c}){return(0,b.jsx)(k.Dialog.Title,{"data-slot":"sheet-title",className:(0,h.cn)("text-foreground font-semibold",a),...c})}function r({className:a,...c}){return(0,b.jsx)(k.Dialog.Description,{"data-slot":"sheet-description",className:(0,h.cn)("text-muted-foreground text-sm",a),...c})}var s=a.i(82934);let t=c.createContext(null);function u(){let a=c.useContext(t);if(!a)throw Error("useSidebar must be used within a SidebarProvider.");return a}function v({defaultOpen:a=!0,open:d,onOpenChange:e,className:f,style:g,children:i,...j}){let k=function(){let[a,b]=c.useState(void 0);return c.useEffect(()=>{let a=window.matchMedia("(max-width: 767px)"),c=()=>{b(window.innerWidth<768)};return a.addEventListener("change",c),b(window.innerWidth<768),()=>a.removeEventListener("change",c)},[]),!!a}(),[l,m]=c.useState(!1),[n,o]=c.useState(a),p=d??n,q=c.useCallback(a=>{let b="function"==typeof a?a(p):a;e?e(b):o(b),document.cookie=`sidebar_state=${b}; path=/; max-age=604800`},[e,p]),r=c.useCallback(()=>k?m(a=>!a):q(a=>!a),[k,q,m]);c.useEffect(()=>{let a=a=>{"b"===a.key&&(a.metaKey||a.ctrlKey)&&(a.preventDefault(),r())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[r]);let u=p?"expanded":"collapsed",v=c.useMemo(()=>({state:u,open:p,setOpen:q,isMobile:k,openMobile:l,setOpenMobile:m,toggleSidebar:r}),[u,p,q,k,l,m,r]);return(0,b.jsx)(t.Provider,{value:v,children:(0,b.jsx)(s.TooltipProvider,{delayDuration:0,children:(0,b.jsx)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...g},className:(0,h.cn)("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",f),...j,children:i})})})}function w({side:a="left",variant:c="sidebar",collapsible:d="offcanvas",className:e,children:f,...g}){let{isMobile:i,state:j,openMobile:k,setOpenMobile:m}=u();return"none"===d?(0,b.jsx)("div",{"data-slot":"sidebar",className:(0,h.cn)("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",e),...g,children:f}):i?(0,b.jsx)(l,{open:k,onOpenChange:m,...g,children:(0,b.jsxs)(o,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:a,children:[(0,b.jsxs)(p,{className:"sr-only",children:[(0,b.jsx)(q,{children:"Sidebar"}),(0,b.jsx)(r,{children:"Displays the mobile sidebar."})]}),(0,b.jsx)("div",{className:"flex h-full w-full flex-col",children:f})]})}):(0,b.jsxs)("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":j,"data-collapsible":"collapsed"===j?d:"","data-variant":c,"data-side":a,"data-slot":"sidebar",children:[(0,b.jsx)("div",{"data-slot":"sidebar-gap",className:(0,h.cn)("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===c||"inset"===c?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),(0,b.jsx)("div",{"data-slot":"sidebar-container",className:(0,h.cn)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex","left"===a?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===c||"inset"===c?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",e),...g,children:(0,b.jsx)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:f})})]})}function x({className:a,...c}){let{toggleSidebar:d}=u();return(0,b.jsx)("button",{"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:d,title:"Toggle Sidebar",className:(0,h.cn)("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex","in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",a),...c})}function y({className:a,...c}){return(0,b.jsx)("main",{"data-slot":"sidebar-inset",className:(0,h.cn)("bg-background relative flex w-full flex-1 flex-col","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",a),...c})}function z({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:(0,h.cn)("flex flex-col gap-2 p-2",a),...c})}function A({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:(0,h.cn)("flex flex-col gap-2 p-2",a),...c})}function B({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:(0,h.cn)("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",a),...c})}function C({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:(0,h.cn)("relative flex w-full min-w-0 flex-col p-2",a),...c})}function D({className:a,asChild:c=!1,...d}){let e=c?g.Slot.Root:"div";return(0,b.jsx)(e,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:(0,h.cn)("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",a),...d})}function E({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:(0,h.cn)("w-full text-sm",a),...c})}function F({className:a,...c}){return(0,b.jsx)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:(0,h.cn)("flex w-full min-w-0 flex-col gap-1",a),...c})}function G({className:a,...c}){return(0,b.jsx)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:(0,h.cn)("group/menu-item relative",a),...c})}let H=(0,d.cva)("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function I({asChild:a=!1,isActive:c=!1,variant:d="default",size:e="default",tooltip:f,className:i,...j}){let k=a?g.Slot.Root:"button",{isMobile:l,state:m}=u(),n=(0,b.jsx)(k,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":e,"data-active":c,className:(0,h.cn)(H({variant:d,size:e}),i),...j});return f?("string"==typeof f&&(f={children:f}),(0,b.jsxs)(s.Tooltip,{children:[(0,b.jsx)(s.TooltipTrigger,{asChild:!0,children:n}),(0,b.jsx)(s.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==m||l,...f})]})):n}var J=a.i(69845);let K=(0,e.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);var L=a.i(17300),M=a.i(67424),N=a.i(67837),O=a.i(66873),P=a.i(14272),Q=a.i(7420),R=a.i(6175),S=a.i(79406),T=a.i(48939),U=a.i(61476),V=a.i(59653),W="ScrollArea",[X,Y]=(0,Q.createContextScope)(W),[Z,$]=X(W),_=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,type:f="hover",dir:g,scrollHideDelay:h=600,...i}=a,[j,k]=c.useState(null),[l,m]=c.useState(null),[n,o]=c.useState(null),[p,q]=c.useState(null),[r,s]=c.useState(null),[t,u]=c.useState(0),[v,w]=c.useState(0),[x,y]=c.useState(!1),[z,A]=c.useState(!1),B=(0,R.useComposedRefs)(d,a=>k(a)),C=(0,T.useDirection)(g);return(0,b.jsx)(Z,{scope:e,type:f,dir:C,scrollHideDelay:h,scrollArea:j,viewport:l,onViewportChange:m,content:n,onContentChange:o,scrollbarX:p,onScrollbarXChange:q,scrollbarXEnabled:x,onScrollbarXEnabledChange:y,scrollbarY:r,onScrollbarYChange:s,scrollbarYEnabled:z,onScrollbarYEnabledChange:A,onCornerWidthChange:u,onCornerHeightChange:w,children:(0,b.jsx)(O.Primitive.div,{dir:C,...i,ref:B,style:{position:"relative","--radix-scroll-area-corner-width":t+"px","--radix-scroll-area-corner-height":v+"px",...a.style}})})});_.displayName=W;var aa="ScrollAreaViewport",ab=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,children:f,nonce:g,...h}=a,i=$(aa,e),j=c.useRef(null),k=(0,R.useComposedRefs)(d,j,i.onViewportChange);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:g}),(0,b.jsx)(O.Primitive.div,{"data-radix-scroll-area-viewport":"",...h,ref:k,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...a.style},children:(0,b.jsx)("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:f})})]})});ab.displayName=aa;var ac="ScrollAreaScrollbar",ad=c.forwardRef((a,d)=>{let{forceMount:e,...f}=a,g=$(ac,a.__scopeScrollArea),{onScrollbarXEnabledChange:h,onScrollbarYEnabledChange:i}=g,j="horizontal"===a.orientation;return c.useEffect(()=>(j?h(!0):i(!0),()=>{j?h(!1):i(!1)}),[j,h,i]),"hover"===g.type?(0,b.jsx)(ae,{...f,ref:d,forceMount:e}):"scroll"===g.type?(0,b.jsx)(af,{...f,ref:d,forceMount:e}):"auto"===g.type?(0,b.jsx)(ag,{...f,ref:d,forceMount:e}):"always"===g.type?(0,b.jsx)(ah,{...f,ref:d}):null});ad.displayName=ac;var ae=c.forwardRef((a,d)=>{let{forceMount:e,...f}=a,g=$(ac,a.__scopeScrollArea),[h,i]=c.useState(!1);return c.useEffect(()=>{let a=g.scrollArea,b=0;if(a){let c=()=>{window.clearTimeout(b),i(!0)},d=()=>{b=window.setTimeout(()=>i(!1),g.scrollHideDelay)};return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",d),()=>{window.clearTimeout(b),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",d)}}},[g.scrollArea,g.scrollHideDelay]),(0,b.jsx)(P.Presence,{present:e||h,children:(0,b.jsx)(ag,{"data-state":h?"visible":"hidden",...f,ref:d})})}),af=c.forwardRef((a,d)=>{var e;let{forceMount:f,...g}=a,h=$(ac,a.__scopeScrollArea),i="horizontal"===a.orientation,j=az(()=>l("SCROLL_END"),100),[k,l]=(e={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},c.useReducer((a,b)=>e[a][b]??a,"hidden"));return c.useEffect(()=>{if("idle"===k){let a=window.setTimeout(()=>l("HIDE"),h.scrollHideDelay);return()=>window.clearTimeout(a)}},[k,h.scrollHideDelay,l]),c.useEffect(()=>{let a=h.viewport,b=i?"scrollLeft":"scrollTop";if(a){let c=a[b],d=()=>{let d=a[b];c!==d&&(l("SCROLL"),j()),c=d};return a.addEventListener("scroll",d),()=>a.removeEventListener("scroll",d)}},[h.viewport,i,l,j]),(0,b.jsx)(P.Presence,{present:f||"hidden"!==k,children:(0,b.jsx)(ah,{"data-state":"hidden"===k?"hidden":"visible",...g,ref:d,onPointerEnter:(0,V.composeEventHandlers)(a.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:(0,V.composeEventHandlers)(a.onPointerLeave,()=>l("POINTER_LEAVE"))})})}),ag=c.forwardRef((a,d)=>{let e=$(ac,a.__scopeScrollArea),{forceMount:f,...g}=a,[h,i]=c.useState(!1),j="horizontal"===a.orientation,k=az(()=>{if(e.viewport){let a=e.viewport.offsetWidth<e.viewport.scrollWidth,b=e.viewport.offsetHeight<e.viewport.scrollHeight;i(j?a:b)}},10);return aA(e.viewport,k),aA(e.content,k),(0,b.jsx)(P.Presence,{present:f||h,children:(0,b.jsx)(ah,{"data-state":h?"visible":"hidden",...g,ref:d})})}),ah=c.forwardRef((a,d)=>{let{orientation:e="vertical",...f}=a,g=$(ac,a.__scopeScrollArea),h=c.useRef(null),i=c.useRef(0),[j,k]=c.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=au(j.viewport,j.content),m={...f,sizes:j,onSizesChange:k,hasThumb:!!(l>0&&l<1),onThumbChange:a=>h.current=a,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:a=>i.current=a};function n(a,b){return function(a,b,c,d="ltr"){let e=av(c),f=b||e/2,g=c.scrollbar.paddingStart+f,h=c.scrollbar.size-c.scrollbar.paddingEnd-(e-f),i=c.content-c.viewport;return ax([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}(a,i.current,j,b)}return"horizontal"===e?(0,b.jsx)(ai,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=aw(g.viewport.scrollLeft,j,g.dir);h.current.style.transform=`translate3d(${a}px, 0, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollLeft=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollLeft=n(a,g.dir))}}):"vertical"===e?(0,b.jsx)(aj,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=aw(g.viewport.scrollTop,j);h.current.style.transform=`translate3d(0, ${a}px, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollTop=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollTop=n(a))}}):null}),ai=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...g}=a,h=$(ac,a.__scopeScrollArea),[i,j]=c.useState(),k=c.useRef(null),l=(0,R.useComposedRefs)(d,k,h.onScrollbarXChange);return c.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,b.jsx)(am,{"data-orientation":"horizontal",...g,ref:l,sizes:e,style:{bottom:0,left:"rtl"===h.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===h.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":av(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.x),onDragScroll:b=>a.onDragScroll(b.x),onWheelScroll:(b,c)=>{if(h.viewport){var d,e;let f=h.viewport.scrollLeft+b.deltaX;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&f({content:h.viewport.scrollWidth,viewport:h.viewport.offsetWidth,scrollbar:{size:k.current.clientWidth,paddingStart:at(i.paddingLeft),paddingEnd:at(i.paddingRight)}})}})}),aj=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...g}=a,h=$(ac,a.__scopeScrollArea),[i,j]=c.useState(),k=c.useRef(null),l=(0,R.useComposedRefs)(d,k,h.onScrollbarYChange);return c.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,b.jsx)(am,{"data-orientation":"vertical",...g,ref:l,sizes:e,style:{top:0,right:"ltr"===h.dir?0:void 0,left:"rtl"===h.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":av(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.y),onDragScroll:b=>a.onDragScroll(b.y),onWheelScroll:(b,c)=>{if(h.viewport){var d,e;let f=h.viewport.scrollTop+b.deltaY;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&f({content:h.viewport.scrollHeight,viewport:h.viewport.offsetHeight,scrollbar:{size:k.current.clientHeight,paddingStart:at(i.paddingTop),paddingEnd:at(i.paddingBottom)}})}})}),[ak,al]=X(ac),am=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,sizes:f,hasThumb:g,onThumbChange:h,onThumbPointerUp:i,onThumbPointerDown:j,onThumbPositionChange:k,onDragScroll:l,onWheelScroll:m,onResize:n,...o}=a,p=$(ac,e),[q,r]=c.useState(null),s=(0,R.useComposedRefs)(d,a=>r(a)),t=c.useRef(null),u=c.useRef(""),v=p.viewport,w=f.content-f.viewport,x=(0,S.useCallbackRef)(m),y=(0,S.useCallbackRef)(k),z=az(n,10);function A(a){t.current&&l({x:a.clientX-t.current.left,y:a.clientY-t.current.top})}return c.useEffect(()=>{let a=a=>{let b=a.target;q?.contains(b)&&x(a,w)};return document.addEventListener("wheel",a,{passive:!1}),()=>document.removeEventListener("wheel",a,{passive:!1})},[v,q,w,x]),c.useEffect(y,[f,y]),aA(q,z),aA(p.content,z),(0,b.jsx)(ak,{scope:e,scrollbar:q,hasThumb:g,onThumbChange:(0,S.useCallbackRef)(h),onThumbPointerUp:(0,S.useCallbackRef)(i),onThumbPositionChange:y,onThumbPointerDown:(0,S.useCallbackRef)(j),children:(0,b.jsx)(O.Primitive.div,{...o,ref:s,style:{position:"absolute",...o.style},onPointerDown:(0,V.composeEventHandlers)(a.onPointerDown,a=>{0===a.button&&(a.target.setPointerCapture(a.pointerId),t.current=q.getBoundingClientRect(),u.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",p.viewport&&(p.viewport.style.scrollBehavior="auto"),A(a))}),onPointerMove:(0,V.composeEventHandlers)(a.onPointerMove,A),onPointerUp:(0,V.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),document.body.style.webkitUserSelect=u.current,p.viewport&&(p.viewport.style.scrollBehavior=""),t.current=null})})})}),an="ScrollAreaThumb",ao=c.forwardRef((a,c)=>{let{forceMount:d,...e}=a,f=al(an,a.__scopeScrollArea);return(0,b.jsx)(P.Presence,{present:d||f.hasThumb,children:(0,b.jsx)(ap,{ref:c,...e})})}),ap=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,style:f,...g}=a,h=$(an,e),i=al(an,e),{onThumbPositionChange:j}=i,k=(0,R.useComposedRefs)(d,a=>i.onThumbChange(a)),l=c.useRef(void 0),m=az(()=>{l.current&&(l.current(),l.current=void 0)},100);return c.useEffect(()=>{let a=h.viewport;if(a){let b=()=>{m(),l.current||(l.current=ay(a,j),j())};return j(),a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)}},[h.viewport,m,j]),(0,b.jsx)(O.Primitive.div,{"data-state":i.hasThumb?"visible":"hidden",...g,ref:k,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...f},onPointerDownCapture:(0,V.composeEventHandlers)(a.onPointerDownCapture,a=>{let b=a.target.getBoundingClientRect(),c=a.clientX-b.left,d=a.clientY-b.top;i.onThumbPointerDown({x:c,y:d})}),onPointerUp:(0,V.composeEventHandlers)(a.onPointerUp,i.onThumbPointerUp)})});ao.displayName=an;var aq="ScrollAreaCorner",ar=c.forwardRef((a,c)=>{let d=$(aq,a.__scopeScrollArea),e=!!(d.scrollbarX&&d.scrollbarY);return"scroll"!==d.type&&e?(0,b.jsx)(as,{...a,ref:c}):null});ar.displayName=aq;var as=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,...f}=a,g=$(aq,e),[h,i]=c.useState(0),[j,k]=c.useState(0),l=!!(h&&j);return aA(g.scrollbarX,()=>{let a=g.scrollbarX?.offsetHeight||0;g.onCornerHeightChange(a),k(a)}),aA(g.scrollbarY,()=>{let a=g.scrollbarY?.offsetWidth||0;g.onCornerWidthChange(a),i(a)}),l?(0,b.jsx)(O.Primitive.div,{...f,ref:d,style:{width:h,height:j,position:"absolute",right:"ltr"===g.dir?0:void 0,left:"rtl"===g.dir?0:void 0,bottom:0,...a.style}}):null});function at(a){return a?parseInt(a,10):0}function au(a,b){let c=a/b;return isNaN(c)?0:c}function av(a){let b=au(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function aw(a,b,c="ltr"){let d=av(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=function(a,[b,c]){return Math.min(c,Math.max(b,a))}(a,"ltr"===c?[0,g]:[-1*g,0]);return ax([0,g],[0,f-d])(h)}function ax(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}var ay=(a,b=()=>{})=>{let c={left:a.scrollLeft,top:a.scrollTop},d=0;return!function e(){let f={left:a.scrollLeft,top:a.scrollTop},g=c.left!==f.left,h=c.top!==f.top;(g||h)&&b(),c=f,d=window.requestAnimationFrame(e)}(),()=>window.cancelAnimationFrame(d)};function az(a,b){let d=(0,S.useCallbackRef)(a),e=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),c.useCallback(()=>{window.clearTimeout(e.current),e.current=window.setTimeout(d,b)},[d,b])}function aA(a,b){let c=(0,S.useCallbackRef)(b);(0,U.useLayoutEffect)(()=>{let b=0;if(a){let d=new ResizeObserver(()=>{cancelAnimationFrame(b),b=window.requestAnimationFrame(c)});return d.observe(a),()=>{window.cancelAnimationFrame(b),d.unobserve(a)}}},[a,c])}a.s(["Corner",()=>ar,"Root",()=>_,"ScrollArea",()=>_,"ScrollAreaCorner",()=>ar,"ScrollAreaScrollbar",()=>ad,"ScrollAreaThumb",()=>ao,"ScrollAreaViewport",()=>ab,"Scrollbar",()=>ad,"Thumb",()=>ao,"Viewport",()=>ab,"createScrollAreaScope",()=>Y],73942);var aB=a.i(73942),aB=aB;function aC({className:a,children:c,...d}){return(0,b.jsxs)(aB.Root,{"data-slot":"scroll-area",className:(0,h.cn)("relative",a),...d,children:[(0,b.jsx)(aB.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:c}),(0,b.jsx)(aD,{}),(0,b.jsx)(aB.Corner,{})]})}function aD({className:a,orientation:c="vertical",...d}){return(0,b.jsx)(aB.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:c,className:(0,h.cn)("flex touch-none p-px transition-colors select-none","vertical"===c&&"h-full w-2.5 border-l border-l-transparent","horizontal"===c&&"h-2.5 flex-col border-t border-t-transparent",a),...d,children:(0,b.jsx)(aB.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}var aE=a.i(56109),aF=a.i(19884);function aG({icon:a,label:c,href:d,active:e=!1}){let f=(0,aF.useSoundAction)("navigate");return(0,b.jsx)(G,{"data-testid":"sidebar-nav-item",children:(0,b.jsx)(I,{asChild:!0,isActive:e,tooltip:c,children:(0,b.jsxs)(aE.default,{href:d,onClick:()=>f.play(),children:[(0,b.jsx)(a,{}),(0,b.jsx)("span",{children:c})]})})})}function aH({className:a}){let{toggleSidebar:c,open:d}=u(),e=(0,aF.useSoundAction)("expand"),g=(0,aF.useSoundAction)("collapse");return(0,b.jsx)("div",{className:(0,h.cn)("flex",a),children:(0,b.jsx)(i.Button,{"data-testid":"sidebar-collapse-toggle",variant:"ghost",size:"icon",className:"size-7 cursor-pointer group-data-[collapsible=icon]:size-8!",onClick:()=>{d?g.play():e.play(),c()},"aria-label":d?"Collapse sidebar":"Expand sidebar",children:(0,b.jsx)(f,{className:"size-4"})})})}function aI({className:a,size:c=24}){return(0,b.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 194 200",width:c,height:c,className:(0,h.cn)("shrink-0",a),"aria-hidden":"true",children:(0,b.jsx)("g",{transform:"matrix(1, 0, 0, 1, -111, -208)",children:(0,b.jsx)("path",{d:"M 198 406 C196,405 194,403 193,401 C192,399 191,398 186,398 C178,397 174,394 170,387 L 168 381 L 163 381 C156,381 150,377 147,370 C144,364 143,359 146,353 C148,348 148,347 147,347 C145,347 140,343 138,339 C133,329 139,314 149,311 L 152 311 L 149 307 C145,302 145,294 149,290 C151,288 152,287 151,286 C150,283 152,278 155,276 C156,275 159,274 162,273 C165,273 166,273 168,276 C171,278 171,280 172,287 C173,294 174,297 177,304 C180,309 182,314 183,316 C186,327 193,336 199,339 C204,342 211,342 216,340 C222,336 231,324 234,314 C235,312 237,307 239,302 C240,298 242,292 242,289 C243,281 245,278 247,275 C250,273 251,273 255,273 C261,274 264,278 264,282 C264,284 264,286 263,287 C262,287 263,288 265,290 C272,295 272,303 267,309 L 265 312 L 269 314 C276,317 279,323 279,332 C279,339 277,343 272,347 C268,351 268,351 269,354 C272,358 271,366 269,371 C266,376 259,381 254,381 C252,381 251,382 248,386 C242,395 234,400 227,399 C224,398 223,398 221,401 C220,403 217,405 216,406 C211,409 203,409 198,406 ZM 136 271 C123,267 115,262 113,256 C111,251 111,251 113,251 C118,254 124,254 132,252 C136,252 141,251 144,251 C149,251 157,253 162,256 C166,258 166,258 166,264 L 166 269 L 160 270 C149,272 142,272 136,271 ZM 264 271 C263,271 259,270 256,270 L 250 270 L 250 265 C249,259 250,257 259,254 C265,251 272,251 289,252 C297,253 299,253 302,252 C305,250 305,250 305,252 C305,255 301,262 297,264 C289,270 272,273 264,271 ZM 162 249 C160,247 159,245 159,242 C159,236 164,230 169,230 C170,230 171,228 171,225 C171,216 176,210 184,209 C189,209 195,211 195,213 C195,214 196,213 197,212 C201,209 204,208 208,208 C212,208 217,210 219,212 C220,214 220,213 223,211 C226,208 234,208 239,211 C243,214 246,221 246,226 C245,230 245,230 247,230 C253,230 258,238 257,244 C256,249 251,252 245,252 C241,252 237,251 234,248 C232,247 232,247 228,249 C225,251 222,252 220,252 C216,252 212,250 210,247 C209,246 209,246 206,248 C201,252 192,253 185,248 C183,247 183,247 178,249 C172,253 166,253 162,249 ZM 116 249 C112,248 114,247 119,247 C122,247 127,246 130,245 C138,242 146,242 152,245 L 158 248 L 148 247 C142,247 138,247 133,248 C128,250 120,250 116,249 ZM 284 248 C281,247 277,247 270,247 L 260 248 L 263 246 C269,243 276,242 284,245 C289,246 295,247 298,247 C303,247 304,247 303,248 C301,250 289,250 284,248 Z",fill:"currentColor"})})})}function aJ({startedAt:a}){let[d,e]=(0,c.useState)(()=>Date.now()-a);return(0,c.useEffect)(()=>{let b=setInterval(()=>{(0,c.startTransition)(()=>e(Date.now()-a))},1e3);return()=>clearInterval(b)},[a]),(0,b.jsx)("span",{"data-testid":"elapsed-time",className:"tabular-nums",children:function(a){let b=Math.floor(a/1e3);if(b>=3600){let a=Math.floor(b/3600);return`${a}h`}let c=Math.floor(b/60);return`${String(c).padStart(2,"0")}:${String(b%60).padStart(2,"0")}`}(d)})}var aK=a.i(82697),aL=a.i(88064),aM=a.i(67273);let aN={"action-needed":{icon:aK.CircleAlert,iconClass:"text-amber-500",bgClass:"bg-amber-500/10",label:"Action Needed"},"in-progress":{icon:aL.Loader2,iconClass:"text-blue-500 animate-spin",bgClass:"bg-blue-500/10",label:"In Progress"},done:{icon:aM.CircleCheck,iconClass:"text-emerald-500",bgClass:"bg-emerald-500/10",label:"Done"}},aO=["action-needed","in-progress","done"];function aP({name:a,status:c,startedAt:d,duration:e,onClick:f}){let{icon:g,iconClass:h}=aN[c];return(0,b.jsx)(G,{"data-testid":"feature-list-item",children:(0,b.jsxs)(I,{size:"sm",onClick:f,tooltip:a,className:"cursor-pointer",children:[(0,b.jsx)(g,{className:h}),(0,b.jsx)("span",{className:"flex-1 truncate font-medium",children:a}),"in-progress"===c&&null!=d?(0,b.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:(0,b.jsx)(aJ,{startedAt:d})}):null,"done"===c&&e?(0,b.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:e}):null]})})}function aQ({label:a,count:c,children:d}){return(0,b.jsxs)(C,{"data-testid":"feature-status-group",className:"px-2 py-1",children:[(0,b.jsxs)(D,{className:"text-muted-foreground h-6 px-2 text-[0.65rem] font-semibold tracking-wider uppercase",children:[a,(0,b.jsx)("span",{"aria-label":`${c} items`,className:"bg-sidebar-accent text-sidebar-accent-foreground ml-1.5 inline-flex h-4 min-w-4 items-center justify-center rounded-full px-1 text-[0.6rem] font-medium tabular-nums",role:"img",children:c})]}),(0,b.jsx)(E,{children:(0,b.jsx)(F,{className:"gap-0.5",children:d})})]})}let aR=(0,e.default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),aS=(0,e.default)("grip-horizontal",[["circle",{cx:"12",cy:"9",r:"1",key:"124mty"}],["circle",{cx:"19",cy:"9",r:"1",key:"1ruzo2"}],["circle",{cx:"5",cy:"9",r:"1",key:"1a8b28"}],["circle",{cx:"12",cy:"15",r:"1",key:"1e56xg"}],["circle",{cx:"19",cy:"15",r:"1",key:"1a92ep"}],["circle",{cx:"5",cy:"15",r:"1",key:"5r1jwy"}]]);function aT({label:a,onFolderClick:c,onMenuClick:d,className:e}){let{state:f,isMobile:g}=u();return(0,b.jsx)(C,{"data-testid":"sidebar-section-header",className:(0,h.cn)("px-2 py-1",e),children:(0,b.jsxs)("div",{className:"text-sidebar-foreground flex h-7 w-full shrink-0 items-center px-2 text-sm font-medium",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a}),(0,b.jsxs)("span",{className:"text-sidebar-foreground/70 flex shrink-0 items-center gap-0.5",children:[(0,b.jsxs)(s.Tooltip,{children:[(0,b.jsx)(s.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:c,className:"ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex size-7 items-center justify-center rounded-md p-0 outline-hidden transition-colors focus-visible:ring-2 [&>svg]:size-4","aria-label":"Open features folder",children:(0,b.jsx)(aR,{className:"size-4"})})}),(0,b.jsx)(s.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==f||g,children:"Open features folder"})]}),(0,b.jsxs)(s.Tooltip,{children:[(0,b.jsx)(s.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:d,className:"ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex size-7 items-center justify-center rounded-md p-0 outline-hidden transition-colors focus-visible:ring-2 [&>svg]:size-4","aria-label":"Features options",children:(0,b.jsx)(aS,{className:"size-4"})})}),(0,b.jsx)(s.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==f||g,children:"Features options"})]})]})]})})}var aU=a.i(17227);function aV({features:a,onNewFeature:d,onFeatureClick:e,onFeaturesFolderClick:f,onFeaturesMenuClick:g}){let h=(0,J.usePathname)(),{state:i}=u(),{mounted:j,visible:k}=function(a,b){let[d,e]=(0,c.useState)(!a),[f,g]=(0,c.useState)(!a);return(0,c.useEffect)(()=>{if(!a){e(!0);let a=requestAnimationFrame(()=>g(!0));return()=>cancelAnimationFrame(a)}g(!1);let b=window.setTimeout(()=>e(!1),200);return()=>window.clearTimeout(b)},[a,200]),{mounted:d,visible:f}}("collapsed"===i,0),l=aO.map(b=>{let{label:c}=aN[b],d=a.filter(a=>a.status===b);return{key:b,label:c,items:d}});return(0,b.jsxs)(w,{"data-testid":"app-sidebar",collapsible:"icon",children:[(0,b.jsx)(z,{children:(0,b.jsxs)(F,{children:[(0,b.jsx)(G,{children:(0,b.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[j?(0,b.jsxs)("div",{className:["flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2 transition-opacity duration-200 ease-out",k?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!k,children:[(0,b.jsx)(aI,{className:"shrink-0",size:20}),(0,b.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"})]}):null,(0,b.jsx)(aH,{className:"shrink-0 transition-all duration-200"})]})}),(0,b.jsx)(aG,{icon:K,label:"Control Center",href:"/",active:"/"===h}),(0,b.jsx)(aG,{icon:L.Wrench,label:"Tools",href:"/tools",active:"/tools"===h}),aU.featureFlags.skills?(0,b.jsx)(aG,{icon:M.Puzzle,label:"Skills",href:"/skills",active:"/skills"===h}):null]})}),(0,b.jsx)(B,{children:j?(0,b.jsxs)("div",{className:["min-w-0 overflow-hidden transition-opacity duration-200 ease-out [&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none",k?"opacity-100":"opacity-0"].join(" "),children:[(0,b.jsx)(aT,{label:"Features",onFolderClick:f,onMenuClick:g}),(0,b.jsx)(aC,{children:l.map(({key:a,label:c,items:d})=>d.length>0?(0,b.jsx)(aQ,{label:c,count:d.length,children:d.map(a=>(0,b.jsx)(aP,{name:a.name,status:a.status,startedAt:a.startedAt,duration:a.duration,onClick:e?()=>e(a.featureId):void 0},a.featureId))},a):null)})]}):null}),(0,b.jsx)(A,{children:(0,b.jsx)(F,{children:(0,b.jsx)(G,{children:(0,b.jsxs)(I,{onClick:d,tooltip:"New feature",children:[(0,b.jsx)(N.Plus,{}),(0,b.jsx)("span",{children:"New feature"})]})})})}),(0,b.jsx)(x,{})]})}a.i(65079);var aW=a.i(21080);let aX=(0,e.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),aY=(0,e.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),aZ="shep-theme";function a$(){let{theme:a,resolvedTheme:d,setTheme:e}=function(){let[a,b]=(0,c.useState)("system"),[d,e]=(0,c.useState)("light"),f=(0,c.useCallback)(()=>"light",[]),g=(0,c.useCallback)(a=>"system"===a?f():a,[f]),h=(0,c.useCallback)(a=>{if("u"<typeof document)return;let b=document.documentElement;b.classList.remove("light","dark"),b.classList.add(a),e(a)},[]),i=(0,c.useCallback)(a=>{b(a),"u">typeof localStorage&&localStorage.setItem(aZ,a),h(g(a))},[g,h]);return(0,c.useEffect)(()=>{let a=localStorage.getItem(aZ)??"system";b(a),h(g(a))},[g,h]),(0,c.useEffect)(()=>{},[a,g,h]),{theme:a,resolvedTheme:d,setTheme:i}}(),f=(0,aF.useSoundAction)("toggle-on"),g=(0,aF.useSoundAction)("toggle-off");return(0,b.jsxs)(i.Button,{variant:"ghost",size:"icon",onClick:()=>{"dark"!==("system"===a?d:a)?f.play():g.play(),"system"===a?e("dark"===d?"light":"dark"):e("dark"===a?"light":"dark")},"aria-label":`Switch to ${"dark"===d?"light":"dark"} mode`,children:[(0,b.jsx)(aY,{className:"h-5 w-5 scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90"}),(0,b.jsx)(aX,{className:"absolute h-5 w-5 scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0"}),(0,b.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}let a_=(0,e.default)("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),a0=(0,e.default)("volume-off",[["path",{d:"M16 9a5 5 0 0 1 .95 2.293",key:"1fgyg8"}],["path",{d:"M19.364 5.636a9 9 0 0 1 1.889 9.96",key:"l3zxae"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11",key:"1gbwow"}],["path",{d:"M9.828 4.172A.686.686 0 0 1 11 4.657v.686",key:"s2je0y"}]]);var a1=a.i(2103);function a2(){let{enabled:a,toggle:c}=(0,a1.useSoundEnabled)();return(0,b.jsxs)(i.Button,{variant:"ghost",size:"icon",onClick:c,"aria-label":a?"Mute sounds":"Unmute sounds",children:[a?(0,b.jsx)(a_,{className:"h-5 w-5"}):(0,b.jsx)(a0,{className:"h-5 w-5"}),(0,b.jsx)("span",{className:"sr-only",children:"Toggle sound"})]})}var a3=a.i(84871),a4=a.i(1356),a5=a.i(52313),a6=a.i(46847);let a7={[a6.NotificationSeverity.Success]:"success",[a6.NotificationSeverity.Error]:"error",[a6.NotificationSeverity.Warning]:"warning",[a6.NotificationSeverity.Info]:"info"},a8={[a6.NotificationSeverity.Success]:"notification-success",[a6.NotificationSeverity.Error]:"notification-error",[a6.NotificationSeverity.Warning]:"notification-warning",[a6.NotificationSeverity.Info]:"notification-info"};function a9({children:a}){!function(){let{events:a}=(0,a3.useAgentEventsContext)(),b=(0,aF.useSoundAction)("notification-success"),d=(0,aF.useSoundAction)("notification-error"),e=(0,aF.useSoundAction)("notification-warning"),f=(0,aF.useSoundAction)("notification-info"),g=(0,c.useMemo)(()=>({"notification-success":b,"notification-error":d,"notification-warning":e,"notification-info":f}),[b,d,e,f]),[h,i]=(0,c.useState)(()=>void 0===globalThis.Notification?"default":globalThis.Notification.permission),j=(0,c.useRef)(0);(0,c.useEffect)(()=>{if(a.length<=j.current)return;let b=a.slice(j.current);for(let c of(j.current=a.length,b)){if(c.severity!==a6.NotificationSeverity.Error&&c.severity!==a6.NotificationSeverity.Warning&&c.severity!==a6.NotificationSeverity.Success)continue;!function(a){let b=a7[a.severity]??"info",c=a.eventType===a6.NotificationEventType.WaitingApproval;a5.toast[b](a.featureName,{description:a.message,...c&&{action:{label:"Review",onClick:()=>{window.dispatchEvent(new CustomEvent("shep:select-feature",{detail:{featureId:a.featureId}}))}}}})}(c),globalThis.Notification?.permission==="granted"&&new Notification(`Shep: ${c.featureName}`,{body:c.message,icon:"/favicon-light.svg"});let a=a8[c.severity];g[a]?.play()}},[a,g]),(0,c.useCallback)(async()=>{void 0===globalThis.Notification||i(await globalThis.Notification.requestPermission())},[])}();let{features:d}=(0,a4.useSidebarFeaturesContext)(),e=(0,c.useCallback)(()=>{window.dispatchEvent(new CustomEvent("shep:open-create-drawer"))},[]),f=(0,c.useCallback)(a=>{window.dispatchEvent(new CustomEvent("shep:select-feature",{detail:{featureId:a}}))},[]),g=(0,c.useCallback)(a=>{window.dispatchEvent(new CustomEvent("shep:add-repository",{detail:{path:a}}))},[]);return(0,b.jsxs)(v,{children:[(0,b.jsx)(aV,{features:d,onNewFeature:e,onFeatureClick:f}),(0,b.jsx)(y,{children:(0,b.jsxs)("div",{className:"relative h-full",children:[(0,b.jsxs)("div",{className:"absolute top-3 right-3 z-50 flex gap-1",children:[(0,b.jsx)(aW.AddRepositoryButton,{onSelect:g}),(0,b.jsx)(a2,{}),(0,b.jsx)(a$,{})]}),(0,b.jsx)("main",{className:"h-full",children:a})]})})]})}function ba({children:a}){return(0,b.jsx)(a3.AgentEventsProvider,{children:(0,b.jsx)(a4.SidebarFeaturesProvider,{children:(0,b.jsx)(a9,{children:a})})})}a.s(["AppShell",()=>ba],66560)},58313,a=>{"use strict";var b=a.i(10973),c=a.i(52313);let d=({...a})=>(0,b.jsx)(c.Toaster,{className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...a});a.s(["Toaster",()=>d])}];
1
+ module.exports=[66560,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(69845),e=a.i(42261),f=a.i(25700);let g=(0,f.default)("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);var h=a.i(20098),i=a.i(85536),j=a.i(18948);a.i(90920),a.i(13126);var k=a.i(10568),l=a.i(71335);function m({...a}){return(0,b.jsx)(l.Dialog.Root,{"data-slot":"sheet",...a})}function n({...a}){return(0,b.jsx)(l.Dialog.Portal,{"data-slot":"sheet-portal",...a})}function o({className:a,...c}){return(0,b.jsx)(l.Dialog.Overlay,{"data-slot":"sheet-overlay",className:(0,i.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",a),...c})}function p({className:a,children:c,side:d="right",showCloseButton:e=!0,...f}){return(0,b.jsxs)(n,{children:[(0,b.jsx)(o,{}),(0,b.jsxs)(l.Dialog.Content,{"data-slot":"sheet-content",className:(0,i.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500","right"===d&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm","left"===d&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm","top"===d&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===d&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",a),...f,children:[c,e?(0,b.jsxs)(l.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,b.jsx)(k.XIcon,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})]})}function q({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sheet-header",className:(0,i.cn)("flex flex-col gap-1.5 p-4",a),...c})}function r({className:a,...c}){return(0,b.jsx)(l.Dialog.Title,{"data-slot":"sheet-title",className:(0,i.cn)("text-foreground font-semibold",a),...c})}function s({className:a,...c}){return(0,b.jsx)(l.Dialog.Description,{"data-slot":"sheet-description",className:(0,i.cn)("text-muted-foreground text-sm",a),...c})}var t=a.i(82934);let u=c.createContext(null);function v(){let a=c.useContext(u);if(!a)throw Error("useSidebar must be used within a SidebarProvider.");return a}function w({defaultOpen:a=!0,open:d,onOpenChange:e,className:f,style:g,children:h,...j}){let k=function(){let[a,b]=c.useState(void 0);return c.useEffect(()=>{let a=window.matchMedia("(max-width: 767px)"),c=()=>{b(window.innerWidth<768)};return a.addEventListener("change",c),b(window.innerWidth<768),()=>a.removeEventListener("change",c)},[]),!!a}(),[l,m]=c.useState(!1),[n,o]=c.useState(a),p=d??n,q=c.useCallback(a=>{let b="function"==typeof a?a(p):a;e?e(b):o(b),document.cookie=`sidebar_state=${b}; path=/; max-age=604800`},[e,p]),r=c.useCallback(()=>k?m(a=>!a):q(a=>!a),[k,q,m]);c.useEffect(()=>{let a=a=>{"b"===a.key&&(a.metaKey||a.ctrlKey)&&(a.preventDefault(),r())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[r]);let s=p?"expanded":"collapsed",v=c.useMemo(()=>({state:s,open:p,setOpen:q,isMobile:k,openMobile:l,setOpenMobile:m,toggleSidebar:r}),[s,p,q,k,l,m,r]);return(0,b.jsx)(u.Provider,{value:v,children:(0,b.jsx)(t.TooltipProvider,{delayDuration:0,children:(0,b.jsx)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...g},className:(0,i.cn)("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",f),...j,children:h})})})}function x({side:a="left",variant:c="sidebar",collapsible:d="offcanvas",className:e,children:f,...g}){let{isMobile:h,state:j,openMobile:k,setOpenMobile:l}=v();return"none"===d?(0,b.jsx)("div",{"data-slot":"sidebar",className:(0,i.cn)("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",e),...g,children:f}):h?(0,b.jsx)(m,{open:k,onOpenChange:l,...g,children:(0,b.jsxs)(p,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:a,children:[(0,b.jsxs)(q,{className:"sr-only",children:[(0,b.jsx)(r,{children:"Sidebar"}),(0,b.jsx)(s,{children:"Displays the mobile sidebar."})]}),(0,b.jsx)("div",{className:"flex h-full w-full flex-col",children:f})]})}):(0,b.jsxs)("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":j,"data-collapsible":"collapsed"===j?d:"","data-variant":c,"data-side":a,"data-slot":"sidebar",children:[(0,b.jsx)("div",{"data-slot":"sidebar-gap",className:(0,i.cn)("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===c||"inset"===c?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),(0,b.jsx)("div",{"data-slot":"sidebar-container",className:(0,i.cn)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex","left"===a?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===c||"inset"===c?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",e),...g,children:(0,b.jsx)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:f})})]})}function y({className:a,...c}){let{toggleSidebar:d}=v();return(0,b.jsx)("button",{"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:d,title:"Toggle Sidebar",className:(0,i.cn)("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex","in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",a),...c})}function z({className:a,...c}){return(0,b.jsx)("main",{"data-slot":"sidebar-inset",className:(0,i.cn)("bg-background relative flex w-full flex-1 flex-col","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",a),...c})}function A({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:(0,i.cn)("flex flex-col gap-2 p-2",a),...c})}function B({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:(0,i.cn)("flex flex-col gap-2 p-2",a),...c})}function C({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:(0,i.cn)("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",a),...c})}function D({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:(0,i.cn)("relative flex w-full min-w-0 flex-col p-2",a),...c})}function E({className:a,asChild:c=!1,...d}){let e=c?h.Slot.Root:"div";return(0,b.jsx)(e,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:(0,i.cn)("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",a),...d})}function F({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:(0,i.cn)("w-full text-sm",a),...c})}function G({className:a,...c}){return(0,b.jsx)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:(0,i.cn)("flex w-full min-w-0 flex-col gap-1",a),...c})}function H({className:a,...c}){return(0,b.jsx)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:(0,i.cn)("group/menu-item relative",a),...c})}let I=(0,e.cva)("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function J({asChild:a=!1,isActive:c=!1,variant:d="default",size:e="default",tooltip:f,className:g,...j}){let k=a?h.Slot.Root:"button",{isMobile:l,state:m}=v(),n=(0,b.jsx)(k,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":e,"data-active":c,className:(0,i.cn)(I({variant:d,size:e}),g),...j});return f?("string"==typeof f&&(f={children:f}),(0,b.jsxs)(t.Tooltip,{children:[(0,b.jsx)(t.TooltipTrigger,{asChild:!0,children:n}),(0,b.jsx)(t.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==m||l,...f})]})):n}let K=(0,f.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);var L=a.i(17300),M=a.i(67424),N=a.i(67837),O=a.i(66873),P=a.i(14272),Q=a.i(7420),R=a.i(6175),S=a.i(79406),T=a.i(48939),U=a.i(61476),V=a.i(59653),W="ScrollArea",[X,Y]=(0,Q.createContextScope)(W),[Z,$]=X(W),_=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,type:f="hover",dir:g,scrollHideDelay:h=600,...i}=a,[j,k]=c.useState(null),[l,m]=c.useState(null),[n,o]=c.useState(null),[p,q]=c.useState(null),[r,s]=c.useState(null),[t,u]=c.useState(0),[v,w]=c.useState(0),[x,y]=c.useState(!1),[z,A]=c.useState(!1),B=(0,R.useComposedRefs)(d,a=>k(a)),C=(0,T.useDirection)(g);return(0,b.jsx)(Z,{scope:e,type:f,dir:C,scrollHideDelay:h,scrollArea:j,viewport:l,onViewportChange:m,content:n,onContentChange:o,scrollbarX:p,onScrollbarXChange:q,scrollbarXEnabled:x,onScrollbarXEnabledChange:y,scrollbarY:r,onScrollbarYChange:s,scrollbarYEnabled:z,onScrollbarYEnabledChange:A,onCornerWidthChange:u,onCornerHeightChange:w,children:(0,b.jsx)(O.Primitive.div,{dir:C,...i,ref:B,style:{position:"relative","--radix-scroll-area-corner-width":t+"px","--radix-scroll-area-corner-height":v+"px",...a.style}})})});_.displayName=W;var aa="ScrollAreaViewport",ab=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,children:f,nonce:g,...h}=a,i=$(aa,e),j=c.useRef(null),k=(0,R.useComposedRefs)(d,j,i.onViewportChange);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:g}),(0,b.jsx)(O.Primitive.div,{"data-radix-scroll-area-viewport":"",...h,ref:k,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...a.style},children:(0,b.jsx)("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:f})})]})});ab.displayName=aa;var ac="ScrollAreaScrollbar",ad=c.forwardRef((a,d)=>{let{forceMount:e,...f}=a,g=$(ac,a.__scopeScrollArea),{onScrollbarXEnabledChange:h,onScrollbarYEnabledChange:i}=g,j="horizontal"===a.orientation;return c.useEffect(()=>(j?h(!0):i(!0),()=>{j?h(!1):i(!1)}),[j,h,i]),"hover"===g.type?(0,b.jsx)(ae,{...f,ref:d,forceMount:e}):"scroll"===g.type?(0,b.jsx)(af,{...f,ref:d,forceMount:e}):"auto"===g.type?(0,b.jsx)(ag,{...f,ref:d,forceMount:e}):"always"===g.type?(0,b.jsx)(ah,{...f,ref:d}):null});ad.displayName=ac;var ae=c.forwardRef((a,d)=>{let{forceMount:e,...f}=a,g=$(ac,a.__scopeScrollArea),[h,i]=c.useState(!1);return c.useEffect(()=>{let a=g.scrollArea,b=0;if(a){let c=()=>{window.clearTimeout(b),i(!0)},d=()=>{b=window.setTimeout(()=>i(!1),g.scrollHideDelay)};return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",d),()=>{window.clearTimeout(b),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",d)}}},[g.scrollArea,g.scrollHideDelay]),(0,b.jsx)(P.Presence,{present:e||h,children:(0,b.jsx)(ag,{"data-state":h?"visible":"hidden",...f,ref:d})})}),af=c.forwardRef((a,d)=>{var e;let{forceMount:f,...g}=a,h=$(ac,a.__scopeScrollArea),i="horizontal"===a.orientation,j=az(()=>l("SCROLL_END"),100),[k,l]=(e={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},c.useReducer((a,b)=>e[a][b]??a,"hidden"));return c.useEffect(()=>{if("idle"===k){let a=window.setTimeout(()=>l("HIDE"),h.scrollHideDelay);return()=>window.clearTimeout(a)}},[k,h.scrollHideDelay,l]),c.useEffect(()=>{let a=h.viewport,b=i?"scrollLeft":"scrollTop";if(a){let c=a[b],d=()=>{let d=a[b];c!==d&&(l("SCROLL"),j()),c=d};return a.addEventListener("scroll",d),()=>a.removeEventListener("scroll",d)}},[h.viewport,i,l,j]),(0,b.jsx)(P.Presence,{present:f||"hidden"!==k,children:(0,b.jsx)(ah,{"data-state":"hidden"===k?"hidden":"visible",...g,ref:d,onPointerEnter:(0,V.composeEventHandlers)(a.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:(0,V.composeEventHandlers)(a.onPointerLeave,()=>l("POINTER_LEAVE"))})})}),ag=c.forwardRef((a,d)=>{let e=$(ac,a.__scopeScrollArea),{forceMount:f,...g}=a,[h,i]=c.useState(!1),j="horizontal"===a.orientation,k=az(()=>{if(e.viewport){let a=e.viewport.offsetWidth<e.viewport.scrollWidth,b=e.viewport.offsetHeight<e.viewport.scrollHeight;i(j?a:b)}},10);return aA(e.viewport,k),aA(e.content,k),(0,b.jsx)(P.Presence,{present:f||h,children:(0,b.jsx)(ah,{"data-state":h?"visible":"hidden",...g,ref:d})})}),ah=c.forwardRef((a,d)=>{let{orientation:e="vertical",...f}=a,g=$(ac,a.__scopeScrollArea),h=c.useRef(null),i=c.useRef(0),[j,k]=c.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=au(j.viewport,j.content),m={...f,sizes:j,onSizesChange:k,hasThumb:!!(l>0&&l<1),onThumbChange:a=>h.current=a,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:a=>i.current=a};function n(a,b){return function(a,b,c,d="ltr"){let e=av(c),f=b||e/2,g=c.scrollbar.paddingStart+f,h=c.scrollbar.size-c.scrollbar.paddingEnd-(e-f),i=c.content-c.viewport;return ax([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}(a,i.current,j,b)}return"horizontal"===e?(0,b.jsx)(ai,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=aw(g.viewport.scrollLeft,j,g.dir);h.current.style.transform=`translate3d(${a}px, 0, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollLeft=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollLeft=n(a,g.dir))}}):"vertical"===e?(0,b.jsx)(aj,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=aw(g.viewport.scrollTop,j);h.current.style.transform=`translate3d(0, ${a}px, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollTop=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollTop=n(a))}}):null}),ai=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...g}=a,h=$(ac,a.__scopeScrollArea),[i,j]=c.useState(),k=c.useRef(null),l=(0,R.useComposedRefs)(d,k,h.onScrollbarXChange);return c.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,b.jsx)(am,{"data-orientation":"horizontal",...g,ref:l,sizes:e,style:{bottom:0,left:"rtl"===h.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===h.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":av(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.x),onDragScroll:b=>a.onDragScroll(b.x),onWheelScroll:(b,c)=>{if(h.viewport){var d,e;let f=h.viewport.scrollLeft+b.deltaX;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&f({content:h.viewport.scrollWidth,viewport:h.viewport.offsetWidth,scrollbar:{size:k.current.clientWidth,paddingStart:at(i.paddingLeft),paddingEnd:at(i.paddingRight)}})}})}),aj=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...g}=a,h=$(ac,a.__scopeScrollArea),[i,j]=c.useState(),k=c.useRef(null),l=(0,R.useComposedRefs)(d,k,h.onScrollbarYChange);return c.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,b.jsx)(am,{"data-orientation":"vertical",...g,ref:l,sizes:e,style:{top:0,right:"ltr"===h.dir?0:void 0,left:"rtl"===h.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":av(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.y),onDragScroll:b=>a.onDragScroll(b.y),onWheelScroll:(b,c)=>{if(h.viewport){var d,e;let f=h.viewport.scrollTop+b.deltaY;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&f({content:h.viewport.scrollHeight,viewport:h.viewport.offsetHeight,scrollbar:{size:k.current.clientHeight,paddingStart:at(i.paddingTop),paddingEnd:at(i.paddingBottom)}})}})}),[ak,al]=X(ac),am=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,sizes:f,hasThumb:g,onThumbChange:h,onThumbPointerUp:i,onThumbPointerDown:j,onThumbPositionChange:k,onDragScroll:l,onWheelScroll:m,onResize:n,...o}=a,p=$(ac,e),[q,r]=c.useState(null),s=(0,R.useComposedRefs)(d,a=>r(a)),t=c.useRef(null),u=c.useRef(""),v=p.viewport,w=f.content-f.viewport,x=(0,S.useCallbackRef)(m),y=(0,S.useCallbackRef)(k),z=az(n,10);function A(a){t.current&&l({x:a.clientX-t.current.left,y:a.clientY-t.current.top})}return c.useEffect(()=>{let a=a=>{let b=a.target;q?.contains(b)&&x(a,w)};return document.addEventListener("wheel",a,{passive:!1}),()=>document.removeEventListener("wheel",a,{passive:!1})},[v,q,w,x]),c.useEffect(y,[f,y]),aA(q,z),aA(p.content,z),(0,b.jsx)(ak,{scope:e,scrollbar:q,hasThumb:g,onThumbChange:(0,S.useCallbackRef)(h),onThumbPointerUp:(0,S.useCallbackRef)(i),onThumbPositionChange:y,onThumbPointerDown:(0,S.useCallbackRef)(j),children:(0,b.jsx)(O.Primitive.div,{...o,ref:s,style:{position:"absolute",...o.style},onPointerDown:(0,V.composeEventHandlers)(a.onPointerDown,a=>{0===a.button&&(a.target.setPointerCapture(a.pointerId),t.current=q.getBoundingClientRect(),u.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",p.viewport&&(p.viewport.style.scrollBehavior="auto"),A(a))}),onPointerMove:(0,V.composeEventHandlers)(a.onPointerMove,A),onPointerUp:(0,V.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),document.body.style.webkitUserSelect=u.current,p.viewport&&(p.viewport.style.scrollBehavior=""),t.current=null})})})}),an="ScrollAreaThumb",ao=c.forwardRef((a,c)=>{let{forceMount:d,...e}=a,f=al(an,a.__scopeScrollArea);return(0,b.jsx)(P.Presence,{present:d||f.hasThumb,children:(0,b.jsx)(ap,{ref:c,...e})})}),ap=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,style:f,...g}=a,h=$(an,e),i=al(an,e),{onThumbPositionChange:j}=i,k=(0,R.useComposedRefs)(d,a=>i.onThumbChange(a)),l=c.useRef(void 0),m=az(()=>{l.current&&(l.current(),l.current=void 0)},100);return c.useEffect(()=>{let a=h.viewport;if(a){let b=()=>{m(),l.current||(l.current=ay(a,j),j())};return j(),a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)}},[h.viewport,m,j]),(0,b.jsx)(O.Primitive.div,{"data-state":i.hasThumb?"visible":"hidden",...g,ref:k,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...f},onPointerDownCapture:(0,V.composeEventHandlers)(a.onPointerDownCapture,a=>{let b=a.target.getBoundingClientRect(),c=a.clientX-b.left,d=a.clientY-b.top;i.onThumbPointerDown({x:c,y:d})}),onPointerUp:(0,V.composeEventHandlers)(a.onPointerUp,i.onThumbPointerUp)})});ao.displayName=an;var aq="ScrollAreaCorner",ar=c.forwardRef((a,c)=>{let d=$(aq,a.__scopeScrollArea),e=!!(d.scrollbarX&&d.scrollbarY);return"scroll"!==d.type&&e?(0,b.jsx)(as,{...a,ref:c}):null});ar.displayName=aq;var as=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,...f}=a,g=$(aq,e),[h,i]=c.useState(0),[j,k]=c.useState(0),l=!!(h&&j);return aA(g.scrollbarX,()=>{let a=g.scrollbarX?.offsetHeight||0;g.onCornerHeightChange(a),k(a)}),aA(g.scrollbarY,()=>{let a=g.scrollbarY?.offsetWidth||0;g.onCornerWidthChange(a),i(a)}),l?(0,b.jsx)(O.Primitive.div,{...f,ref:d,style:{width:h,height:j,position:"absolute",right:"ltr"===g.dir?0:void 0,left:"rtl"===g.dir?0:void 0,bottom:0,...a.style}}):null});function at(a){return a?parseInt(a,10):0}function au(a,b){let c=a/b;return isNaN(c)?0:c}function av(a){let b=au(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function aw(a,b,c="ltr"){let d=av(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=function(a,[b,c]){return Math.min(c,Math.max(b,a))}(a,"ltr"===c?[0,g]:[-1*g,0]);return ax([0,g],[0,f-d])(h)}function ax(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}var ay=(a,b=()=>{})=>{let c={left:a.scrollLeft,top:a.scrollTop},d=0;return!function e(){let f={left:a.scrollLeft,top:a.scrollTop},g=c.left!==f.left,h=c.top!==f.top;(g||h)&&b(),c=f,d=window.requestAnimationFrame(e)}(),()=>window.cancelAnimationFrame(d)};function az(a,b){let d=(0,S.useCallbackRef)(a),e=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),c.useCallback(()=>{window.clearTimeout(e.current),e.current=window.setTimeout(d,b)},[d,b])}function aA(a,b){let c=(0,S.useCallbackRef)(b);(0,U.useLayoutEffect)(()=>{let b=0;if(a){let d=new ResizeObserver(()=>{cancelAnimationFrame(b),b=window.requestAnimationFrame(c)});return d.observe(a),()=>{window.cancelAnimationFrame(b),d.unobserve(a)}}},[a,c])}a.s(["Corner",()=>ar,"Root",()=>_,"ScrollArea",()=>_,"ScrollAreaCorner",()=>ar,"ScrollAreaScrollbar",()=>ad,"ScrollAreaThumb",()=>ao,"ScrollAreaViewport",()=>ab,"Scrollbar",()=>ad,"Thumb",()=>ao,"Viewport",()=>ab,"createScrollAreaScope",()=>Y],73942);var aB=a.i(73942),aB=aB;function aC({className:a,children:c,...d}){return(0,b.jsxs)(aB.Root,{"data-slot":"scroll-area",className:(0,i.cn)("relative",a),...d,children:[(0,b.jsx)(aB.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:c}),(0,b.jsx)(aD,{}),(0,b.jsx)(aB.Corner,{})]})}function aD({className:a,orientation:c="vertical",...d}){return(0,b.jsx)(aB.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:c,className:(0,i.cn)("flex touch-none p-px transition-colors select-none","vertical"===c&&"h-full w-2.5 border-l border-l-transparent","horizontal"===c&&"h-2.5 flex-col border-t border-t-transparent",a),...d,children:(0,b.jsx)(aB.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}var aE=a.i(56109),aF=a.i(19884);function aG({icon:a,label:c,href:d,active:e=!1}){let f=(0,aF.useSoundAction)("navigate");return(0,b.jsx)(H,{"data-testid":"sidebar-nav-item",children:(0,b.jsx)(J,{asChild:!0,isActive:e,tooltip:c,children:(0,b.jsxs)(aE.default,{href:d,onClick:()=>f.play(),children:[(0,b.jsx)(a,{}),(0,b.jsx)("span",{children:c})]})})})}function aH({className:a}){let{toggleSidebar:c,open:d}=v(),e=(0,aF.useSoundAction)("expand"),f=(0,aF.useSoundAction)("collapse");return(0,b.jsx)("div",{className:(0,i.cn)("flex",a),children:(0,b.jsx)(j.Button,{"data-testid":"sidebar-collapse-toggle",variant:"ghost",size:"icon",className:"size-7 cursor-pointer group-data-[collapsible=icon]:size-8!",onClick:()=>{d?f.play():e.play(),c()},"aria-label":d?"Collapse sidebar":"Expand sidebar",children:(0,b.jsx)(g,{className:"size-4"})})})}function aI({className:a,size:c=24}){return(0,b.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 194 200",width:c,height:c,className:(0,i.cn)("shrink-0",a),"aria-hidden":"true",children:(0,b.jsx)("g",{transform:"matrix(1, 0, 0, 1, -111, -208)",children:(0,b.jsx)("path",{d:"M 198 406 C196,405 194,403 193,401 C192,399 191,398 186,398 C178,397 174,394 170,387 L 168 381 L 163 381 C156,381 150,377 147,370 C144,364 143,359 146,353 C148,348 148,347 147,347 C145,347 140,343 138,339 C133,329 139,314 149,311 L 152 311 L 149 307 C145,302 145,294 149,290 C151,288 152,287 151,286 C150,283 152,278 155,276 C156,275 159,274 162,273 C165,273 166,273 168,276 C171,278 171,280 172,287 C173,294 174,297 177,304 C180,309 182,314 183,316 C186,327 193,336 199,339 C204,342 211,342 216,340 C222,336 231,324 234,314 C235,312 237,307 239,302 C240,298 242,292 242,289 C243,281 245,278 247,275 C250,273 251,273 255,273 C261,274 264,278 264,282 C264,284 264,286 263,287 C262,287 263,288 265,290 C272,295 272,303 267,309 L 265 312 L 269 314 C276,317 279,323 279,332 C279,339 277,343 272,347 C268,351 268,351 269,354 C272,358 271,366 269,371 C266,376 259,381 254,381 C252,381 251,382 248,386 C242,395 234,400 227,399 C224,398 223,398 221,401 C220,403 217,405 216,406 C211,409 203,409 198,406 ZM 136 271 C123,267 115,262 113,256 C111,251 111,251 113,251 C118,254 124,254 132,252 C136,252 141,251 144,251 C149,251 157,253 162,256 C166,258 166,258 166,264 L 166 269 L 160 270 C149,272 142,272 136,271 ZM 264 271 C263,271 259,270 256,270 L 250 270 L 250 265 C249,259 250,257 259,254 C265,251 272,251 289,252 C297,253 299,253 302,252 C305,250 305,250 305,252 C305,255 301,262 297,264 C289,270 272,273 264,271 ZM 162 249 C160,247 159,245 159,242 C159,236 164,230 169,230 C170,230 171,228 171,225 C171,216 176,210 184,209 C189,209 195,211 195,213 C195,214 196,213 197,212 C201,209 204,208 208,208 C212,208 217,210 219,212 C220,214 220,213 223,211 C226,208 234,208 239,211 C243,214 246,221 246,226 C245,230 245,230 247,230 C253,230 258,238 257,244 C256,249 251,252 245,252 C241,252 237,251 234,248 C232,247 232,247 228,249 C225,251 222,252 220,252 C216,252 212,250 210,247 C209,246 209,246 206,248 C201,252 192,253 185,248 C183,247 183,247 178,249 C172,253 166,253 162,249 ZM 116 249 C112,248 114,247 119,247 C122,247 127,246 130,245 C138,242 146,242 152,245 L 158 248 L 148 247 C142,247 138,247 133,248 C128,250 120,250 116,249 ZM 284 248 C281,247 277,247 270,247 L 260 248 L 263 246 C269,243 276,242 284,245 C289,246 295,247 298,247 C303,247 304,247 303,248 C301,250 289,250 284,248 Z",fill:"currentColor"})})})}function aJ({startedAt:a}){let[d,e]=(0,c.useState)(()=>Date.now()-a);return(0,c.useEffect)(()=>{let b=setInterval(()=>{(0,c.startTransition)(()=>e(Date.now()-a))},1e3);return()=>clearInterval(b)},[a]),(0,b.jsx)("span",{"data-testid":"elapsed-time",className:"tabular-nums",children:function(a){let b=Math.floor(a/1e3);if(b>=3600){let a=Math.floor(b/3600);return`${a}h`}let c=Math.floor(b/60);return`${String(c).padStart(2,"0")}:${String(b%60).padStart(2,"0")}`}(d)})}var aK=a.i(82697),aL=a.i(88064),aM=a.i(67273);let aN={"action-needed":{icon:aK.CircleAlert,iconClass:"text-amber-500",bgClass:"bg-amber-500/10",label:"Action Needed"},"in-progress":{icon:aL.Loader2,iconClass:"text-blue-500 animate-spin",bgClass:"bg-blue-500/10",label:"In Progress"},done:{icon:aM.CircleCheck,iconClass:"text-emerald-500",bgClass:"bg-emerald-500/10",label:"Done"}},aO=["action-needed","in-progress","done"];function aP({name:a,status:c,startedAt:d,duration:e,onClick:f}){let{icon:g,iconClass:h}=aN[c];return(0,b.jsx)(H,{"data-testid":"feature-list-item",children:(0,b.jsxs)(J,{size:"sm",onClick:f,tooltip:a,className:"cursor-pointer",children:[(0,b.jsx)(g,{className:h}),(0,b.jsx)("span",{className:"flex-1 truncate font-medium",children:a}),"in-progress"===c&&null!=d?(0,b.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:(0,b.jsx)(aJ,{startedAt:d})}):null,"done"===c&&e?(0,b.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:e}):null]})})}function aQ({label:a,count:c,children:d}){return(0,b.jsxs)(D,{"data-testid":"feature-status-group",className:"px-2 py-1",children:[(0,b.jsxs)(E,{className:"text-muted-foreground h-6 px-2 text-[0.65rem] font-semibold tracking-wider uppercase",children:[a,(0,b.jsx)("span",{"aria-label":`${c} items`,className:"bg-sidebar-accent text-sidebar-accent-foreground ml-1.5 inline-flex h-4 min-w-4 items-center justify-center rounded-full px-1 text-[0.6rem] font-medium tabular-nums",role:"img",children:c})]}),(0,b.jsx)(F,{children:(0,b.jsx)(G,{className:"gap-0.5",children:d})})]})}let aR=(0,f.default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),aS=(0,f.default)("grip-horizontal",[["circle",{cx:"12",cy:"9",r:"1",key:"124mty"}],["circle",{cx:"19",cy:"9",r:"1",key:"1ruzo2"}],["circle",{cx:"5",cy:"9",r:"1",key:"1a8b28"}],["circle",{cx:"12",cy:"15",r:"1",key:"1e56xg"}],["circle",{cx:"19",cy:"15",r:"1",key:"1a92ep"}],["circle",{cx:"5",cy:"15",r:"1",key:"5r1jwy"}]]);function aT({label:a,onFolderClick:c,onMenuClick:d,className:e}){let{state:f,isMobile:g}=v();return(0,b.jsx)(D,{"data-testid":"sidebar-section-header",className:(0,i.cn)("px-2 py-1",e),children:(0,b.jsxs)("div",{className:"text-sidebar-foreground flex h-7 w-full shrink-0 items-center px-2 text-sm font-medium",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a}),(0,b.jsxs)("span",{className:"text-sidebar-foreground/70 flex shrink-0 items-center gap-0.5",children:[(0,b.jsxs)(t.Tooltip,{children:[(0,b.jsx)(t.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:c,className:"ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex size-7 items-center justify-center rounded-md p-0 outline-hidden transition-colors focus-visible:ring-2 [&>svg]:size-4","aria-label":"Open features folder",children:(0,b.jsx)(aR,{className:"size-4"})})}),(0,b.jsx)(t.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==f||g,children:"Open features folder"})]}),(0,b.jsxs)(t.Tooltip,{children:[(0,b.jsx)(t.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:d,className:"ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex size-7 items-center justify-center rounded-md p-0 outline-hidden transition-colors focus-visible:ring-2 [&>svg]:size-4","aria-label":"Features options",children:(0,b.jsx)(aS,{className:"size-4"})})}),(0,b.jsx)(t.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==f||g,children:"Features options"})]})]})]})})}var aU=a.i(17227);function aV({features:a,onNewFeature:e,onFeatureClick:f,onFeaturesFolderClick:g,onFeaturesMenuClick:h}){let i=(0,d.usePathname)(),{state:j}=v(),{mounted:k,visible:l}=function(a,b){let[d,e]=(0,c.useState)(!a),[f,g]=(0,c.useState)(!a);return(0,c.useEffect)(()=>{if(!a){e(!0);let a=requestAnimationFrame(()=>g(!0));return()=>cancelAnimationFrame(a)}g(!1);let b=window.setTimeout(()=>e(!1),200);return()=>window.clearTimeout(b)},[a,200]),{mounted:d,visible:f}}("collapsed"===j,0),m=aO.map(b=>{let{label:c}=aN[b],d=a.filter(a=>a.status===b);return{key:b,label:c,items:d}});return(0,b.jsxs)(x,{"data-testid":"app-sidebar",collapsible:"icon",children:[(0,b.jsx)(A,{children:(0,b.jsxs)(G,{children:[(0,b.jsx)(H,{children:(0,b.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[k?(0,b.jsxs)("div",{className:["flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2 transition-opacity duration-200 ease-out",l?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!l,children:[(0,b.jsx)(aI,{className:"shrink-0",size:20}),(0,b.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"})]}):null,(0,b.jsx)(aH,{className:"shrink-0 transition-all duration-200"})]})}),(0,b.jsx)(aG,{icon:K,label:"Control Center",href:"/",active:"/"===i}),(0,b.jsx)(aG,{icon:L.Wrench,label:"Tools",href:"/tools",active:"/tools"===i}),aU.featureFlags.skills?(0,b.jsx)(aG,{icon:M.Puzzle,label:"Skills",href:"/skills",active:"/skills"===i}):null]})}),(0,b.jsx)(C,{children:k?(0,b.jsxs)("div",{className:["min-w-0 overflow-hidden transition-opacity duration-200 ease-out [&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none",l?"opacity-100":"opacity-0"].join(" "),children:[(0,b.jsx)(aT,{label:"Features",onFolderClick:g,onMenuClick:h}),(0,b.jsx)(aC,{children:m.map(({key:a,label:c,items:d})=>d.length>0?(0,b.jsx)(aQ,{label:c,count:d.length,children:d.map(a=>(0,b.jsx)(aP,{name:a.name,status:a.status,startedAt:a.startedAt,duration:a.duration,onClick:f?()=>f(a.featureId):void 0},a.featureId))},a):null)})]}):null}),(0,b.jsx)(B,{children:(0,b.jsx)(G,{children:(0,b.jsx)(H,{children:(0,b.jsxs)(J,{onClick:e,tooltip:"New feature",children:[(0,b.jsx)(N.Plus,{}),(0,b.jsx)("span",{children:"New feature"})]})})})}),(0,b.jsx)(y,{})]})}a.i(65079);var aW=a.i(21080);let aX=(0,f.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),aY=(0,f.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),aZ="shep-theme";function a$(){let{theme:a,resolvedTheme:d,setTheme:e}=function(){let[a,b]=(0,c.useState)("system"),[d,e]=(0,c.useState)("light"),f=(0,c.useCallback)(()=>"light",[]),g=(0,c.useCallback)(a=>"system"===a?f():a,[f]),h=(0,c.useCallback)(a=>{if("u"<typeof document)return;let b=document.documentElement;b.classList.remove("light","dark"),b.classList.add(a),e(a)},[]),i=(0,c.useCallback)(a=>{b(a),"u">typeof localStorage&&localStorage.setItem(aZ,a),h(g(a))},[g,h]);return(0,c.useEffect)(()=>{let a=localStorage.getItem(aZ)??"system";b(a),h(g(a))},[g,h]),(0,c.useEffect)(()=>{},[a,g,h]),{theme:a,resolvedTheme:d,setTheme:i}}(),f=(0,aF.useSoundAction)("toggle-on"),g=(0,aF.useSoundAction)("toggle-off");return(0,b.jsxs)(j.Button,{variant:"ghost",size:"icon",onClick:()=>{"dark"!==("system"===a?d:a)?f.play():g.play(),"system"===a?e("dark"===d?"light":"dark"):e("dark"===a?"light":"dark")},"aria-label":`Switch to ${"dark"===d?"light":"dark"} mode`,children:[(0,b.jsx)(aY,{className:"h-5 w-5 scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90"}),(0,b.jsx)(aX,{className:"absolute h-5 w-5 scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0"}),(0,b.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}let a_=(0,f.default)("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),a0=(0,f.default)("volume-off",[["path",{d:"M16 9a5 5 0 0 1 .95 2.293",key:"1fgyg8"}],["path",{d:"M19.364 5.636a9 9 0 0 1 1.889 9.96",key:"l3zxae"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11",key:"1gbwow"}],["path",{d:"M9.828 4.172A.686.686 0 0 1 11 4.657v.686",key:"s2je0y"}]]);var a1=a.i(2103);function a2(){let{enabled:a,toggle:c}=(0,a1.useSoundEnabled)();return(0,b.jsxs)(j.Button,{variant:"ghost",size:"icon",onClick:c,"aria-label":a?"Mute sounds":"Unmute sounds",children:[a?(0,b.jsx)(a_,{className:"h-5 w-5"}):(0,b.jsx)(a0,{className:"h-5 w-5"}),(0,b.jsx)("span",{className:"sr-only",children:"Toggle sound"})]})}var a3=a.i(84871),a4=a.i(1356),a5=a.i(52313),a6=a.i(46847);let a7={[a6.NotificationSeverity.Success]:"success",[a6.NotificationSeverity.Error]:"error",[a6.NotificationSeverity.Warning]:"warning",[a6.NotificationSeverity.Info]:"info"},a8={[a6.NotificationSeverity.Success]:"notification-success",[a6.NotificationSeverity.Error]:"notification-error",[a6.NotificationSeverity.Warning]:"notification-warning",[a6.NotificationSeverity.Info]:"notification-info"};function a9({children:a}){let e=(0,d.useRouter)();!function(){let a=(0,d.useRouter)(),{events:b}=(0,a3.useAgentEventsContext)(),e=(0,aF.useSoundAction)("notification-success"),f=(0,aF.useSoundAction)("notification-error"),g=(0,aF.useSoundAction)("notification-warning"),h=(0,aF.useSoundAction)("notification-info"),i=(0,c.useMemo)(()=>({"notification-success":e,"notification-error":f,"notification-warning":g,"notification-info":h}),[e,f,g,h]),[j,k]=(0,c.useState)(()=>void 0===globalThis.Notification?"default":globalThis.Notification.permission),l=(0,c.useRef)(0);(0,c.useEffect)(()=>{if(b.length<=l.current)return;let c=b.slice(l.current);for(let d of(l.current=b.length,c)){if(d.severity!==a6.NotificationSeverity.Error&&d.severity!==a6.NotificationSeverity.Warning&&d.severity!==a6.NotificationSeverity.Success)continue;!function(a,b){let c=a7[a.severity]??"info",d=a.eventType===a6.NotificationEventType.WaitingApproval;a5.toast[c](a.featureName,{description:a.message,...d&&b&&{action:{label:"Review",onClick:()=>{b(`/feature/${a.featureId}`)}}}})}(d,b=>a.push(b)),globalThis.Notification?.permission==="granted"&&new Notification(`Shep: ${d.featureName}`,{body:d.message,icon:"/favicon-light.svg"});let b=a8[d.severity];i[b]?.play()}},[b,i,a]),(0,c.useCallback)(async()=>{void 0===globalThis.Notification||k(await globalThis.Notification.requestPermission())},[])}();let{features:f}=(0,a4.useSidebarFeaturesContext)(),g=(0,c.useCallback)(()=>{e.push("/create")},[e]),h=(0,c.useCallback)(a=>{e.push(`/feature/${a}`)},[e]),i=(0,c.useCallback)(a=>{window.dispatchEvent(new CustomEvent("shep:add-repository",{detail:{path:a}}))},[]);return(0,b.jsxs)(w,{children:[(0,b.jsx)(aV,{features:f,onNewFeature:g,onFeatureClick:h}),(0,b.jsx)(z,{children:(0,b.jsxs)("div",{className:"relative h-full",children:[(0,b.jsxs)("div",{className:"absolute top-3 right-3 z-50 flex gap-1",children:[(0,b.jsx)(aW.AddRepositoryButton,{onSelect:i}),(0,b.jsx)(a2,{}),(0,b.jsx)(a$,{})]}),(0,b.jsx)("main",{className:"h-full",children:a})]})})]})}function ba({children:a}){return(0,b.jsx)(a3.AgentEventsProvider,{children:(0,b.jsx)(a4.SidebarFeaturesProvider,{children:(0,b.jsx)(a9,{children:a})})})}a.s(["AppShell",()=>ba],66560)},58313,a=>{"use strict";var b=a.i(10973),c=a.i(52313);let d=({...a})=>(0,b.jsx)(c.Toaster,{className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...a});a.s(["Toaster",()=>d])}];
2
2
 
3
3
  //# sourceMappingURL=src_presentation_web_components_e599bb8c._.js.map