@shepai/cli 1.26.0 → 1.28.0

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 (225) hide show
  1. package/dist/packages/core/src/application/ports/output/index.d.ts +1 -1
  2. package/dist/packages/core/src/application/ports/output/index.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/ports/output/services/index.d.ts +1 -0
  4. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  5. package/dist/packages/core/src/application/ports/output/services/notification-service.interface.d.ts +29 -0
  6. package/dist/packages/core/src/application/ports/output/services/notification-service.interface.d.ts.map +1 -0
  7. package/dist/packages/core/src/application/ports/output/services/notification-service.interface.js +12 -0
  8. package/dist/packages/core/src/application/use-cases/features/create/metadata-generator.d.ts +3 -2
  9. package/dist/packages/core/src/application/use-cases/features/create/metadata-generator.d.ts.map +1 -1
  10. package/dist/packages/core/src/application/use-cases/features/create/metadata-generator.js +36 -15
  11. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  12. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +13 -0
  13. package/dist/packages/core/src/domain/generated/output.d.ts +109 -0
  14. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  15. package/dist/packages/core/src/domain/generated/output.js +15 -0
  16. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  17. package/dist/packages/core/src/infrastructure/di/container.js +17 -0
  18. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +8 -0
  19. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  20. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +22 -0
  21. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.d.ts.map +1 -1
  22. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.js +14 -0
  23. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  24. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +17 -3
  25. package/dist/packages/core/src/infrastructure/services/notifications/desktop-notifier.d.ts +22 -0
  26. package/dist/packages/core/src/infrastructure/services/notifications/desktop-notifier.d.ts.map +1 -0
  27. package/dist/packages/core/src/infrastructure/services/notifications/desktop-notifier.js +39 -0
  28. package/dist/packages/core/src/infrastructure/services/notifications/notification-bus.d.ts +52 -0
  29. package/dist/packages/core/src/infrastructure/services/notifications/notification-bus.d.ts.map +1 -0
  30. package/dist/packages/core/src/infrastructure/services/notifications/notification-bus.js +64 -0
  31. package/dist/packages/core/src/infrastructure/services/notifications/notification-watcher.service.d.ts +60 -0
  32. package/dist/packages/core/src/infrastructure/services/notifications/notification-watcher.service.d.ts.map +1 -0
  33. package/dist/packages/core/src/infrastructure/services/notifications/notification-watcher.service.js +225 -0
  34. package/dist/packages/core/src/infrastructure/services/notifications/notification.service.d.ts +21 -0
  35. package/dist/packages/core/src/infrastructure/services/notifications/notification.service.d.ts.map +1 -0
  36. package/dist/packages/core/src/infrastructure/services/notifications/notification.service.js +43 -0
  37. package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
  38. package/dist/src/presentation/cli/commands/feat/new.command.js +7 -6
  39. package/dist/src/presentation/cli/commands/ui.command.d.ts.map +1 -1
  40. package/dist/src/presentation/cli/commands/ui.command.js +8 -0
  41. package/dist/src/presentation/web/app/api/agent-events/route.d.ts +14 -0
  42. package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -0
  43. package/dist/src/presentation/web/app/api/agent-events/route.js +77 -0
  44. package/dist/src/presentation/web/app/api/features/create/route.d.ts.map +1 -1
  45. package/dist/src/presentation/web/app/api/features/create/route.js +28 -2
  46. package/dist/src/presentation/web/app/page.d.ts.map +1 -1
  47. package/dist/src/presentation/web/app/page.js +9 -12
  48. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts +4 -8
  49. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  50. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +37 -4
  51. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts +30 -6
  52. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts.map +1 -1
  53. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +74 -18
  54. package/dist/src/presentation/web/components/common/feature-create-drawer/index.d.ts +1 -1
  55. package/dist/src/presentation/web/components/common/feature-create-drawer/index.d.ts.map +1 -1
  56. package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.js +2 -2
  57. package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.js +3 -3
  58. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +5 -2
  59. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  60. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +9 -0
  61. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  62. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +9 -7
  63. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
  64. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +3 -0
  65. package/dist/src/presentation/web/components/common/index.d.ts +1 -1
  66. package/dist/src/presentation/web/components/common/index.d.ts.map +1 -1
  67. package/dist/src/presentation/web/components/common/index.js +1 -1
  68. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  69. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +2 -2
  70. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +3 -2
  71. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  72. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +4 -12
  73. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
  74. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +3 -0
  75. package/dist/src/presentation/web/components/ui/button.d.ts +1 -1
  76. package/dist/src/presentation/web/components/ui/checkbox-group-item.d.ts +11 -0
  77. package/dist/src/presentation/web/components/ui/checkbox-group-item.d.ts.map +1 -0
  78. package/dist/src/presentation/web/components/ui/checkbox-group-item.js +8 -0
  79. package/dist/src/presentation/web/components/ui/checkbox-group-item.stories.d.ts +17 -0
  80. package/dist/src/presentation/web/components/ui/checkbox-group-item.stories.d.ts.map +1 -0
  81. package/dist/src/presentation/web/components/ui/checkbox-group-item.stories.js +33 -0
  82. package/dist/src/presentation/web/components/ui/checkbox-group.d.ts +21 -0
  83. package/dist/src/presentation/web/components/ui/checkbox-group.d.ts.map +1 -0
  84. package/dist/src/presentation/web/components/ui/checkbox-group.js +24 -0
  85. package/dist/src/presentation/web/components/ui/checkbox-group.stories.d.ts +23 -0
  86. package/dist/src/presentation/web/components/ui/checkbox-group.stories.d.ts.map +1 -0
  87. package/dist/src/presentation/web/components/ui/checkbox-group.stories.js +61 -0
  88. package/dist/src/presentation/web/components/ui/checkbox.d.ts +5 -0
  89. package/dist/src/presentation/web/components/ui/checkbox.d.ts.map +1 -0
  90. package/dist/src/presentation/web/components/ui/checkbox.js +9 -0
  91. package/dist/src/presentation/web/components/ui/checkbox.stories.d.ts +10 -0
  92. package/dist/src/presentation/web/components/ui/checkbox.stories.d.ts.map +1 -0
  93. package/dist/src/presentation/web/components/ui/checkbox.stories.js +24 -0
  94. package/dist/src/presentation/web/hooks/use-agent-events.d.ts +12 -0
  95. package/dist/src/presentation/web/hooks/use-agent-events.d.ts.map +1 -0
  96. package/dist/src/presentation/web/hooks/use-agent-events.js +58 -0
  97. package/dist/src/presentation/web/hooks/use-notifications.d.ts +10 -0
  98. package/dist/src/presentation/web/hooks/use-notifications.d.ts.map +1 -0
  99. package/dist/src/presentation/web/hooks/use-notifications.js +57 -0
  100. package/dist/src/presentation/web/hooks/use-notifications.stories.d.ts +6 -0
  101. package/dist/src/presentation/web/hooks/use-notifications.stories.d.ts.map +1 -0
  102. package/dist/src/presentation/web/hooks/use-notifications.stories.js +62 -0
  103. package/dist/tsconfig.build.tsbuildinfo +1 -1
  104. package/package.json +3 -1
  105. package/web/.next/BUILD_ID +1 -1
  106. package/web/.next/app-path-routes-manifest.json +1 -0
  107. package/web/.next/build-manifest.json +2 -2
  108. package/web/.next/cache/.previewinfo +1 -1
  109. package/web/.next/cache/.rscinfo +1 -1
  110. package/web/.next/cache/.tsbuildinfo +1 -1
  111. package/web/.next/cache/config.json +3 -3
  112. package/web/.next/fallback-build-manifest.json +2 -2
  113. package/web/.next/prerender-manifest.json +3 -3
  114. package/web/.next/required-server-files.js +1 -1
  115. package/web/.next/required-server-files.json +1 -1
  116. package/web/.next/routes-manifest.json +6 -0
  117. package/web/.next/server/app/_global-error.html +2 -2
  118. package/web/.next/server/app/_global-error.rsc +1 -1
  119. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  120. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  121. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  122. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  123. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  124. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  125. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  126. package/web/.next/server/app/_not-found.html +2 -2
  127. package/web/.next/server/app/_not-found.rsc +10 -10
  128. package/web/.next/server/app/_not-found.segments/_full.segment.rsc +10 -10
  129. package/web/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
  130. package/web/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
  131. package/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  132. package/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  133. package/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  134. package/web/.next/server/app/api/agent-events/route/app-paths-manifest.json +3 -0
  135. package/web/.next/server/app/api/agent-events/route/build-manifest.json +11 -0
  136. package/web/.next/server/app/api/agent-events/route/server-reference-manifest.json +4 -0
  137. package/web/.next/server/app/api/agent-events/route.js +6 -0
  138. package/web/.next/server/app/api/agent-events/route.js.map +5 -0
  139. package/web/.next/server/app/api/agent-events/route.js.nft.json +1 -0
  140. package/web/.next/server/app/api/agent-events/route_client-reference-manifest.js +2 -0
  141. package/web/.next/server/app/api/dialog/pick-files/route.js +3 -2
  142. package/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  143. package/web/.next/server/app/api/dialog/pick-folder/route.js +3 -2
  144. package/web/.next/server/app/api/dialog/pick-folder/route.js.nft.json +1 -1
  145. package/web/.next/server/app/api/features/create/route.js +3 -2
  146. package/web/.next/server/app/api/features/create/route.js.nft.json +1 -1
  147. package/web/.next/server/app/api/ide/open/route.js +4 -2
  148. package/web/.next/server/app/api/ide/open/route.js.nft.json +1 -1
  149. package/web/.next/server/app/api/shell/open/route.js +3 -2
  150. package/web/.next/server/app/api/shell/open/route.js.nft.json +1 -1
  151. package/web/.next/server/app/page.js +1 -1
  152. package/web/.next/server/app/page.js.nft.json +1 -1
  153. package/web/.next/server/app/page_client-reference-manifest.js +1 -1
  154. package/web/.next/server/app/version/page.js.nft.json +1 -1
  155. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  156. package/web/.next/server/app/version.html +2 -2
  157. package/web/.next/server/app/version.rsc +5 -5
  158. package/web/.next/server/app/version.segments/_full.segment.rsc +5 -5
  159. package/web/.next/server/app/version.segments/_head.segment.rsc +1 -1
  160. package/web/.next/server/app/version.segments/_index.segment.rsc +4 -4
  161. package/web/.next/server/app/version.segments/_tree.segment.rsc +2 -2
  162. package/web/.next/server/app/version.segments/version/__PAGE__.segment.rsc +2 -2
  163. package/web/.next/server/app/version.segments/version.segment.rsc +1 -1
  164. package/web/.next/server/app-paths-manifest.json +1 -0
  165. package/web/.next/server/chunks/403f9_next_567de315._.js +17 -0
  166. package/web/.next/server/chunks/403f9_next_567de315._.js.map +1 -0
  167. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_12059e3e.js +3 -0
  168. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_12059e3e.js.map +1 -0
  169. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_agent-events_route_actions_686edb08.js +3 -0
  170. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_agent-events_route_actions_686edb08.js.map +1 -0
  171. package/web/.next/server/chunks/[root-of-the-server]__4e987cf3._.js +8 -0
  172. package/web/.next/server/chunks/[root-of-the-server]__4e987cf3._.js.map +1 -0
  173. package/web/.next/server/chunks/[root-of-the-server]__57104a4c._.js +7 -0
  174. package/web/.next/server/chunks/[root-of-the-server]__57104a4c._.js.map +1 -0
  175. package/web/.next/server/chunks/{[root-of-the-server]__602cce1b._.js → [root-of-the-server]__61349adc._.js} +2 -2
  176. package/web/.next/server/chunks/{[root-of-the-server]__bb4fc5b5._.js → [root-of-the-server]__a6bf88cc._.js} +2 -2
  177. package/web/.next/server/chunks/[root-of-the-server]__aa2074ca._.js +3 -0
  178. package/web/.next/server/chunks/[root-of-the-server]__aa2074ca._.js.map +1 -0
  179. package/web/.next/server/chunks/{[root-of-the-server]__1913013c._.js → [root-of-the-server]__ec87d735._.js} +2 -2
  180. package/web/.next/server/chunks/[root-of-the-server]__ecaf05bc._.js +3 -0
  181. package/web/.next/server/chunks/[root-of-the-server]__ecaf05bc._.js.map +1 -0
  182. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_dbf21e04.js +1 -1
  183. package/web/.next/server/chunks/ssr/[root-of-the-server]__80e5bed2._.js +1 -1
  184. package/web/.next/server/chunks/ssr/[root-of-the-server]__f12b60be._.js +1 -1
  185. package/web/.next/server/chunks/ssr/[root-of-the-server]__fa87595c._.js +1 -1
  186. package/web/.next/server/chunks/ssr/_09afa42a._.js +6 -1
  187. package/web/.next/server/chunks/ssr/_09afa42a._.js.map +1 -1
  188. package/web/.next/server/chunks/ssr/_884ddade._.js +1 -1
  189. package/web/.next/server/chunks/ssr/_a4189414._.js +10 -0
  190. package/web/.next/server/chunks/ssr/_a4189414._.js.map +1 -0
  191. package/web/.next/server/chunks/ssr/_c5d377cc._.js +1 -1
  192. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  193. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  194. package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js +1 -1
  195. package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js.map +1 -1
  196. package/web/.next/server/pages/404.html +2 -2
  197. package/web/.next/server/pages/500.html +2 -2
  198. package/web/.next/server/server-reference-manifest.js +1 -1
  199. package/web/.next/server/server-reference-manifest.json +1 -1
  200. package/web/.next/static/chunks/1d665ddc2230f73f.js +5 -0
  201. package/web/.next/static/chunks/{c2854b6c6d0ca1f3.js → 28c05929f2636c01.js} +7 -2
  202. package/web/.next/static/chunks/a7273c84449394e0.css +2 -0
  203. package/web/.next/static/chunks/b32b17f102226f32.js +1 -0
  204. package/web/.next/trace +1 -1
  205. package/web/.next/trace-build +1 -1
  206. package/web/.next/types/link.d.ts +1 -0
  207. package/web/.next/types/routes.d.ts +2 -1
  208. package/web/.next/types/validator.ts +9 -0
  209. package/web/.next/server/chunks/[root-of-the-server]__56ac1509._.js +0 -3
  210. package/web/.next/server/chunks/[root-of-the-server]__56ac1509._.js.map +0 -1
  211. package/web/.next/server/chunks/[root-of-the-server]__ba6c5641._.js +0 -21
  212. package/web/.next/server/chunks/[root-of-the-server]__ba6c5641._.js.map +0 -1
  213. package/web/.next/server/chunks/[root-of-the-server]__eaa478b7._.js +0 -8
  214. package/web/.next/server/chunks/[root-of-the-server]__eaa478b7._.js.map +0 -1
  215. package/web/.next/server/chunks/ssr/_1c3962d7._.js +0 -10
  216. package/web/.next/server/chunks/ssr/_1c3962d7._.js.map +0 -1
  217. package/web/.next/static/chunks/78ef4acb26e4d6ea.js +0 -1
  218. package/web/.next/static/chunks/79009d1ca0d944d2.js +0 -5
  219. package/web/.next/static/chunks/86ff2b6444e06e88.css +0 -2
  220. /package/web/.next/server/chunks/{[root-of-the-server]__602cce1b._.js.map → [root-of-the-server]__61349adc._.js.map} +0 -0
  221. /package/web/.next/server/chunks/{[root-of-the-server]__bb4fc5b5._.js.map → [root-of-the-server]__a6bf88cc._.js.map} +0 -0
  222. /package/web/.next/server/chunks/{[root-of-the-server]__1913013c._.js.map → [root-of-the-server]__ec87d735._.js.map} +0 -0
  223. /package/web/.next/static/{_6j6GS-S6zPiASj5tsxJ8 → wymVMk3X_cTuoYKeS0Gbf}/_buildManifest.js +0 -0
  224. /package/web/.next/static/{_6j6GS-S6zPiASj5tsxJ8 → wymVMk3X_cTuoYKeS0Gbf}/_clientMiddlewareManifest.json +0 -0
  225. /package/web/.next/static/{_6j6GS-S6zPiASj5tsxJ8 → wymVMk3X_cTuoYKeS0Gbf}/_ssgManifest.js +0 -0
@@ -0,0 +1,2 @@
1
+ .react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-border-default:1px solid #bbb;--xy-node-border-selected-default:1px solid #555;--xy-handle-background-color-default:#333;--xy-selection-background-color-default:#9696b41a;--xy-selection-border-default:1px dotted #9b9b9bcc;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));min-width:5px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{justify-content:center;align-items:center;width:26px;height:26px;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border:var(--xy-node-border,var(--xy-node-border-default));color:var(--xy-node-color,var(--xy-node-color-default))}.react-flow__node-input.selected,.react-flow__node-input:focus,.react-flow__node-input:focus-visible,.react-flow__node-default.selected,.react-flow__node-default:focus,.react-flow__node-default:focus-visible,.react-flow__node-output.selected,.react-flow__node-output:focus,.react-flow__node-output:focus-visible,.react-flow__node-group.selected,.react-flow__node-group:focus,.react-flow__node-group:focus-visible{border:var(--xy-node-border-selected,var(--xy-node-border-selected-default));outline:none}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-space-x-reverse:0;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--color-red-50:#fef2f2;--color-red-500:#fb2c36;--color-red-600:#e40014;--color-red-700:#bf000f;--color-amber-50:#fffbeb;--color-amber-500:#f99c00;--color-amber-700:#b75000;--color-emerald-50:#ecfdf5;--color-emerald-500:#00bb7f;--color-emerald-600:#009767;--color-emerald-700:#007956;--color-cyan-400:#00d2ef;--color-blue-50:#eff6ff;--color-blue-500:#3080ff;--color-blue-600:#155dfc;--color-blue-700:#1447e6;--color-indigo-400:#7d87ff;--color-violet-400:#a685ff;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-400:#99a1af;--color-gray-600:#4a5565;--color-zinc-100:#f4f4f5;--color-zinc-200:#e4e4e7;--color-zinc-400:#9f9fa9;--color-zinc-500:#71717b;--color-zinc-800:#27272a;--color-zinc-900:#18181b;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--animate-accordion-down:accordion-down .2s ease-out;--animate-accordion-up:accordion-up .2s ease-out;--color-background:#fff;--color-foreground:#0a0a0a;--color-primary:#3b82f6;--color-primary-foreground:#fff;--color-secondary:#f1f5f9;--color-secondary-foreground:#0f172a;--color-muted:#f1f5f9;--color-muted-foreground:#64748b;--color-accent:#f1f5f9;--color-accent-foreground:#0f172a;--color-destructive:#ef4444;--color-destructive-foreground:#fff;--color-border:#e2e8f0;--color-input:#e2e8f0;--color-ring:#3b82f6;--color-card:#fff;--color-card-foreground:#0a0a0a;--color-popover:#fff;--color-popover-foreground:#0a0a0a;--radius-full:9999px;--animate-spinner:spinner .8s linear infinite;--animate-indeterminate-progress:indeterminate-progress 1.5s ease-in-out infinite}@supports (color:lab(0% 0 0)){:root,:host{--color-red-50:lab(96.5005% 4.18508 1.52328);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-red-600:lab(48.4493% 77.4328 61.5452);--color-red-700:lab(40.4273% 67.2623 53.7441);--color-amber-50:lab(98.6252% -.635922 8.42309);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-amber-700:lab(47.2709% 42.9082 69.2966);--color-emerald-50:lab(97.8462% -6.94966 1.85487);--color-emerald-500:lab(66.9756% -58.27 19.5419);--color-emerald-600:lab(55.0481% -49.9246 15.93);--color-emerald-700:lab(44.4871% -41.0396 11.0361);--color-cyan-400:lab(76.6045% -40.9406 -29.6231);--color-blue-50:lab(96.492% -1.14644 -5.11479);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-blue-700:lab(36.9089% 35.0961 -85.6872);--color-indigo-400:lab(59.866% 22.4834 -64.4485);--color-violet-400:lab(62.8239% 34.9159 -60.0512);--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-600:lab(35.6337% -1.58697 -10.8425);--color-zinc-100:lab(96.1634% .0993311 -.364041);--color-zinc-200:lab(90.6853% .399232 -1.45452);--color-zinc-400:lab(65.6464% 1.53497 -5.42429);--color-zinc-500:lab(47.8878% 1.65477 -5.77283);--color-zinc-800:lab(15.7305% .613764 -2.16959);--color-zinc-900:lab(8.30603% .618205 -2.16572)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--color-border);outline-color:#3b82f680}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab,var(--color-ring)50%,transparent)}}body{background-color:var(--color-background);color:var(--color-foreground)}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing)*3)}.top-3\.5{top:calc(var(--spacing)*3.5)}.top-4{top:calc(var(--spacing)*4)}.top-8{top:calc(var(--spacing)*8)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-8{left:calc(var(--spacing)*8)}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3\.5{margin-inline:calc(var(--spacing)*3.5)}.my-1{margin-block:calc(var(--spacing)*1)}.-mt-1{margin-top:calc(var(--spacing)*-1)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-0\.75{margin-top:calc(var(--spacing)*.75)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-24{margin-top:calc(var(--spacing)*24)}.mt-auto{margin-top:auto}.-mr-1{margin-right:calc(var(--spacing)*-1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-24{margin-bottom:calc(var(--spacing)*24)}.ml-1\.5{margin-left:calc(var(--spacing)*1.5)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.size-full{width:100%;height:100%}.h-0\!{height:calc(var(--spacing)*0)!important}.h-1{height:calc(var(--spacing)*1)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-32{height:calc(var(--spacing)*32)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-96{max-height:calc(var(--spacing)*96)}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-35{min-height:calc(var(--spacing)*35)}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0\!{width:calc(var(--spacing)*0)!important}.w-1\/3{width:33.3333%}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-56{width:calc(var(--spacing)*56)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-\[180px\]{width:180px}.w-\[280px\]{width:280px}.w-\[350px\]{width:350px}.w-\[400px\]{width:400px}.w-\[420px\]{width:420px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-4{min-width:calc(var(--spacing)*4)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-0{rotate:none}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-indeterminate-progress{animation:var(--animate-indeterminate-progress)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.animate-spinner{animation:var(--animate-spinner)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0\!{border-style:var(--tw-border-style)!important;border-width:0!important}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-border{border-color:var(--color-border)}.border-destructive\/50{border-color:#ef444480}@supports (color:color-mix(in lab, red, red)){.border-destructive\/50{border-color:color-mix(in oklab,var(--color-destructive)50%,transparent)}}.border-input{border-color:var(--color-input)}.border-muted-foreground\/30{border-color:#64748b4d}@supports (color:color-mix(in lab, red, red)){.border-muted-foreground\/30{border-color:color-mix(in oklab,var(--color-muted-foreground)30%,transparent)}}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-amber-500{border-left-color:var(--color-amber-500)}.border-l-blue-500{border-left-color:var(--color-blue-500)}.border-l-emerald-500{border-left-color:var(--color-emerald-500)}.border-l-gray-400{border-left-color:var(--color-gray-400)}.border-l-red-500{border-left-color:var(--color-red-500)}.border-l-transparent{border-left-color:#0000}.bg-accent{background-color:var(--color-accent)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.bg-background{background-color:var(--color-background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-card{background-color:var(--color-card)}.bg-destructive{background-color:var(--color-destructive)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500)10%,transparent)}}.bg-foreground{background-color:var(--color-foreground)}.bg-foreground\/30{background-color:#0a0a0a4d}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/30{background-color:color-mix(in oklab,var(--color-foreground)30%,transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-muted{background-color:var(--color-muted)}.bg-muted\/30{background-color:#f1f5f94d}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--color-muted)30%,transparent)}}.bg-muted\/50{background-color:#f1f5f980}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--color-muted)50%,transparent)}}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500{background-color:var(--color-red-500)}.bg-secondary{background-color:var(--color-secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-accent{background-color:var(--sidebar-accent)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.bg-transparent\!{background-color:#0000!important}.bg-zinc-900{background-color:var(--color-zinc-900)}.\[background-image\:radial-gradient\(circle\,_var\(--color-border\)_1px\,_transparent_1px\)\]{background-image:radial-gradient(circle,var(--color-border)1px,transparent 1px)}.\[background-size\:24px_24px\]{background-size:24px 24px}.fill-foreground{fill:var(--color-foreground)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-px{padding:1px}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-6{padding-left:calc(var(--spacing)*6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent-foreground{color:var(--color-accent-foreground)}.text-amber-500{color:var(--color-amber-500)}.text-amber-700{color:var(--color-amber-700)}.text-background{color:var(--color-background)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-card-foreground{color:var(--color-card-foreground)}.text-current{color:currentColor}.text-cyan-400{color:var(--color-cyan-400)}.text-destructive{color:var(--color-destructive)}.text-destructive-foreground{color:var(--color-destructive-foreground)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-foreground{color:var(--color-foreground)}.text-gray-400{color:var(--color-gray-400)}.text-gray-600{color:var(--color-gray-600)}.text-indigo-400{color:var(--color-indigo-400)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-muted-foreground\/60{color:#64748b99}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--color-muted-foreground)60%,transparent)}}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-sidebar-accent-foreground{color:var(--sidebar-accent-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground)70%,transparent)}}.text-violet-400{color:var(--color-violet-400)}.text-white{color:var(--color-white)}.text-zinc-100{color:var(--color-zinc-100)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-0\!{opacity:0!important}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm,.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-primary{--tw-ring-color:var(--color-primary)}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--color-background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.running{animation-play-state:running}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing)*8)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing)*-8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing)*8)!important;height:calc(var(--spacing)*8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)) + 2px)}.group-data-\[collapsible\=icon\]\:justify-center:is(:where(.group)[data-collapsible=icon] *){justify-content:center}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing)*0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing)*-4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing)*0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius-lg)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-\[\.toast\]\:bg-muted:is(:where(.group).toast *){background-color:var(--color-muted)}.group-\[\.toast\]\:bg-primary:is(:where(.group).toast *){background-color:var(--color-primary)}.group-\[\.toast\]\:text-muted-foreground:is(:where(.group).toast *){color:var(--color-muted-foreground)}.group-\[\.toast\]\:text-primary-foreground:is(:where(.group).toast *){color:var(--color-primary-foreground)}.group-\[\.toaster\]\:border-border:is(:where(.group).toaster *){border-color:var(--color-border)}.group-\[\.toaster\]\:bg-background:is(:where(.group).toaster *){background-color:var(--color-background)}.group-\[\.toaster\]\:text-foreground:is(:where(.group).toaster *){color:var(--color-foreground)}.group-\[\.toaster\]\:shadow-lg:is(:where(.group).toaster *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing)*1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing)*2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing)*1)}.selection\:bg-primary ::selection{background-color:var(--color-primary)}.selection\:bg-primary::selection{background-color:var(--color-primary)}.selection\:text-primary-foreground ::selection{color:var(--color-primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--color-primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--color-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing)*-2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}@media (hover:hover){.hover\:border-blue-500:hover{border-color:var(--color-blue-500)}.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-accent\/50:hover{background-color:#f1f5f980}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--color-accent)50%,transparent)}}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-destructive\/80:hover{background-color:#ef4444cc}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab,var(--color-destructive)80%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:#ef4444e6}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--color-destructive)90%,transparent)}}.hover\:bg-muted\/80:hover{background-color:#f1f5f9cc}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/80:hover{background-color:color-mix(in oklab,var(--color-muted)80%,transparent)}}.hover\:bg-primary\/80:hover{background-color:#3b82f6cc}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--color-primary)80%,transparent)}}.hover\:bg-primary\/90:hover{background-color:#3b82f6e6}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:#f1f5f9cc}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--color-secondary)80%,transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:text-blue-500:hover{color:var(--color-blue-500)}.hover\:text-destructive:hover{color:var(--color-destructive)}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:text-zinc-200:hover{color:var(--color-zinc-200)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--color-ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:#ef444433}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-destructive)20%,transparent)}}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:#3b82f680}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-ring)50%,transparent)}}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing)*1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--color-destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:#ef444433}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--color-destructive)20%,transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--color-background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--color-foreground)}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--color-primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--color-primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--color-primary-foreground)}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:var(--animate-accordion-up)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:calc(1/2*-100%)}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:calc(48%*-1)}.data-\[state\=indeterminate\]\:border-primary[data-state=indeterminate]{border-color:var(--color-primary)}.data-\[state\=indeterminate\]\:bg-primary[data-state=indeterminate]{background-color:var(--color-primary)}.data-\[state\=indeterminate\]\:text-primary-foreground[data-state=indeterminate]{color:var(--color-primary-foreground)}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:var(--animate-accordion-down)}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--color-secondary)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--color-muted-foreground)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:calc(1/2*-100%)}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:calc(48%*-1)}@media (hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}@media (min-width:40rem){.sm\:flex{display:flex}.sm\:max-w-96{max-width:calc(var(--spacing)*96)}.sm\:max-w-\[425px\]{max-width:425px}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius-lg)}.sm\:text-left{text-align:left}}@media (min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing)*2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing)*0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:var(--radius-xl)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing)*2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dark\:scale-0:is(.dark *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:scale-100:is(.dark *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:-rotate-90:is(.dark *){rotate:-90deg}.dark\:rotate-0:is(.dark *){rotate:none}.dark\:border-destructive:is(.dark *){border-color:var(--color-destructive)}.dark\:border-input:is(.dark *){border-color:var(--color-input)}.dark\:bg-destructive\/60:is(.dark *){background-color:#ef444499}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--color-destructive)60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:#e2e8f04d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-input)30%,transparent)}}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:#f1f5f980}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:#e2e8f080}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:#ef444466}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:#ef444466}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--color-destructive)40%,transparent)}}.dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--color-primary)}.\[\&_\[data-sidebar\=group-label\]\]\:\!mt-0 [data-sidebar=group-label]{margin-top:calc(var(--spacing)*0)!important}.\[\&_\[data-sidebar\=group-label\]\]\:\!opacity-100 [data-sidebar=group-label]{opacity:1!important}.\[\&_\[data-sidebar\=group-label\]\]\:\!transition-none [data-sidebar=group-label]{transition-property:none!important}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing)*4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing)*4)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:var(--color-destructive)}.\[\&\>svg\]\:text-foreground>svg{color:var(--color-foreground)}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing)*7)}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing)*-2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing)*-2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.dark{--color-background:#0a0a0a;--color-foreground:#fafafa;--color-primary:#3b82f6;--color-primary-foreground:#fff;--color-secondary:#1e293b;--color-secondary-foreground:#f8fafc;--color-muted:#1e293b;--color-muted-foreground:#94a3b8;--color-accent:#1e293b;--color-accent-foreground:#f8fafc;--color-destructive:#dc2626;--color-destructive-foreground:#fff;--color-border:#1e293b;--color-input:#1e293b;--color-ring:#3b82f6;--color-card:#0a0a0a;--color-card-foreground:#fafafa;--color-popover:#0a0a0a;--color-popover-foreground:#fafafa}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}to{height:0}}@keyframes spinner{to{transform:rotate(1turn)}}@keyframes indeterminate-progress{0%{transform:translate(-100%)}50%{transform:translate(200%)}to{transform:translate(400%)}}:root{--sidebar:var(--color-background);--sidebar-foreground:var(--color-foreground);--sidebar-primary:var(--color-primary);--sidebar-primary-foreground:var(--color-primary-foreground);--sidebar-accent:var(--color-accent);--sidebar-accent-foreground:var(--color-accent-foreground);--sidebar-border:var(--color-border);--sidebar-ring:var(--color-ring)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24270,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},66033,e=>{"use strict";var r=e.i(79054);e.i(20314);var t=r.createContext(void 0);function n(e){let n=r.useContext(t);return e||n||"ltr"}e.s(["useDirection",()=>n])},87292,e=>{"use strict";var r,t,n,o,i,a,l,s,c,u,d,p,f,h,v,m,g,w,b,S,x,C,R=e.i(20314),y=e.i(79054),T=e.i(57638),E=e.i(31406),j=e.i(3645);let P=(0,j.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"}]]),A=(0,j.default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);var N=e.i(3214),D=e.i(87620),k=e.i(85995),L=e.i(22528),_=e.i(5978),I=e.i(29297),M=e.i(66033),H=e.i(5192),O=e.i(91967),W="ScrollArea",[z,F]=(0,L.createContextScope)(W),[q,U]=z(W),B=y.forwardRef((e,r)=>{let{__scopeScrollArea:t,type:n="hover",dir:o,scrollHideDelay:i=600,...a}=e,[l,s]=y.useState(null),[c,u]=y.useState(null),[d,p]=y.useState(null),[f,h]=y.useState(null),[v,m]=y.useState(null),[g,w]=y.useState(0),[b,S]=y.useState(0),[x,C]=y.useState(!1),[T,E]=y.useState(!1),j=(0,_.useComposedRefs)(r,e=>s(e)),P=(0,M.useDirection)(o);return(0,R.jsx)(q,{scope:t,type:n,dir:P,scrollHideDelay:i,scrollArea:l,viewport:c,onViewportChange:u,content:d,onContentChange:p,scrollbarX:f,onScrollbarXChange:h,scrollbarXEnabled:x,onScrollbarXEnabledChange:C,scrollbarY:v,onScrollbarYChange:m,scrollbarYEnabled:T,onScrollbarYEnabledChange:E,onCornerWidthChange:w,onCornerHeightChange:S,children:(0,R.jsx)(D.Primitive.div,{dir:P,...a,ref:j,style:{position:"relative","--radix-scroll-area-corner-width":g+"px","--radix-scroll-area-corner-height":b+"px",...e.style}})})});B.displayName=W;var Y="ScrollAreaViewport",V=y.forwardRef((e,r)=>{let{__scopeScrollArea:t,children:n,nonce:o,...i}=e,a=U(Y,t),l=y.useRef(null),s=(0,_.useComposedRefs)(r,l,a.onViewportChange);return(0,R.jsxs)(R.Fragment,{children:[(0,R.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:o}),(0,R.jsx)(D.Primitive.div,{"data-radix-scroll-area-viewport":"",...i,ref:s,style:{overflowX:a.scrollbarXEnabled?"scroll":"hidden",overflowY:a.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,R.jsx)("div",{ref:a.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});V.displayName=Y;var X="ScrollAreaScrollbar",$=y.forwardRef((e,r)=>{let{forceMount:t,...n}=e,o=U(X,e.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:a}=o,l="horizontal"===e.orientation;return y.useEffect(()=>(l?i(!0):a(!0),()=>{l?i(!1):a(!1)}),[l,i,a]),"hover"===o.type?(0,R.jsx)(G,{...n,ref:r,forceMount:t}):"scroll"===o.type?(0,R.jsx)(K,{...n,ref:r,forceMount:t}):"auto"===o.type?(0,R.jsx)(Q,{...n,ref:r,forceMount:t}):"always"===o.type?(0,R.jsx)(Z,{...n,ref:r}):null});$.displayName=X;var G=y.forwardRef((e,r)=>{let{forceMount:t,...n}=e,o=U(X,e.__scopeScrollArea),[i,a]=y.useState(!1);return y.useEffect(()=>{let e=o.scrollArea,r=0;if(e){let t=()=>{window.clearTimeout(r),a(!0)},n=()=>{r=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return e.addEventListener("pointerenter",t),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(r),e.removeEventListener("pointerenter",t),e.removeEventListener("pointerleave",n)}}},[o.scrollArea,o.scrollHideDelay]),(0,R.jsx)(k.Presence,{present:t||i,children:(0,R.jsx)(Q,{"data-state":i?"visible":"hidden",...n,ref:r})})}),K=y.forwardRef((e,r)=>{var t;let{forceMount:n,...o}=e,i=U(X,e.__scopeScrollArea),a="horizontal"===e.orientation,l=em(()=>c("SCROLL_END"),100),[s,c]=(t={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},y.useReducer((e,r)=>t[e][r]??e,"hidden"));return y.useEffect(()=>{if("idle"===s){let e=window.setTimeout(()=>c("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),y.useEffect(()=>{let e=i.viewport,r=a?"scrollLeft":"scrollTop";if(e){let t=e[r],n=()=>{let n=e[r];t!==n&&(c("SCROLL"),l()),t=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[i.viewport,a,c,l]),(0,R.jsx)(k.Presence,{present:n||"hidden"!==s,children:(0,R.jsx)(Z,{"data-state":"hidden"===s?"hidden":"visible",...o,ref:r,onPointerEnter:(0,O.composeEventHandlers)(e.onPointerEnter,()=>c("POINTER_ENTER")),onPointerLeave:(0,O.composeEventHandlers)(e.onPointerLeave,()=>c("POINTER_LEAVE"))})})}),Q=y.forwardRef((e,r)=>{let t=U(X,e.__scopeScrollArea),{forceMount:n,...o}=e,[i,a]=y.useState(!1),l="horizontal"===e.orientation,s=em(()=>{if(t.viewport){let e=t.viewport.offsetWidth<t.viewport.scrollWidth,r=t.viewport.offsetHeight<t.viewport.scrollHeight;a(l?e:r)}},10);return eg(t.viewport,s),eg(t.content,s),(0,R.jsx)(k.Presence,{present:n||i,children:(0,R.jsx)(Z,{"data-state":i?"visible":"hidden",...o,ref:r})})}),Z=y.forwardRef((e,r)=>{let{orientation:t="vertical",...n}=e,o=U(X,e.__scopeScrollArea),i=y.useRef(null),a=y.useRef(0),[l,s]=y.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),c=ed(l.viewport,l.content),u={...n,sizes:l,onSizesChange:s,hasThumb:!!(c>0&&c<1),onThumbChange:e=>i.current=e,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:e=>a.current=e};function d(e,r){return function(e,r,t,n="ltr"){let o=ep(t),i=r||o/2,a=t.scrollbar.paddingStart+i,l=t.scrollbar.size-t.scrollbar.paddingEnd-(o-i),s=t.content-t.viewport;return eh([a,l],"ltr"===n?[0,s]:[-1*s,0])(e)}(e,a.current,l,r)}return"horizontal"===t?(0,R.jsx)(J,{...u,ref:r,onThumbPositionChange:()=>{if(o.viewport&&i.current){let e=ef(o.viewport.scrollLeft,l,o.dir);i.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{o.viewport&&(o.viewport.scrollLeft=e)},onDragScroll:e=>{o.viewport&&(o.viewport.scrollLeft=d(e,o.dir))}}):"vertical"===t?(0,R.jsx)(ee,{...u,ref:r,onThumbPositionChange:()=>{if(o.viewport&&i.current){let e=ef(o.viewport.scrollTop,l);i.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{o.viewport&&(o.viewport.scrollTop=e)},onDragScroll:e=>{o.viewport&&(o.viewport.scrollTop=d(e))}}):null}),J=y.forwardRef((e,r)=>{let{sizes:t,onSizesChange:n,...o}=e,i=U(X,e.__scopeScrollArea),[a,l]=y.useState(),s=y.useRef(null),c=(0,_.useComposedRefs)(r,s,i.onScrollbarXChange);return y.useEffect(()=>{s.current&&l(getComputedStyle(s.current))},[s]),(0,R.jsx)(en,{"data-orientation":"horizontal",...o,ref:c,sizes:t,style:{bottom:0,left:"rtl"===i.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===i.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ep(t)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.x),onDragScroll:r=>e.onDragScroll(r.x),onWheelScroll:(r,t)=>{if(i.viewport){var n,o;let a=i.viewport.scrollLeft+r.deltaX;e.onWheelScroll(a),n=a,o=t,n>0&&n<o&&r.preventDefault()}},onResize:()=>{s.current&&i.viewport&&a&&n({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:s.current.clientWidth,paddingStart:eu(a.paddingLeft),paddingEnd:eu(a.paddingRight)}})}})}),ee=y.forwardRef((e,r)=>{let{sizes:t,onSizesChange:n,...o}=e,i=U(X,e.__scopeScrollArea),[a,l]=y.useState(),s=y.useRef(null),c=(0,_.useComposedRefs)(r,s,i.onScrollbarYChange);return y.useEffect(()=>{s.current&&l(getComputedStyle(s.current))},[s]),(0,R.jsx)(en,{"data-orientation":"vertical",...o,ref:c,sizes:t,style:{top:0,right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ep(t)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.y),onDragScroll:r=>e.onDragScroll(r.y),onWheelScroll:(r,t)=>{if(i.viewport){var n,o;let a=i.viewport.scrollTop+r.deltaY;e.onWheelScroll(a),n=a,o=t,n>0&&n<o&&r.preventDefault()}},onResize:()=>{s.current&&i.viewport&&a&&n({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:s.current.clientHeight,paddingStart:eu(a.paddingTop),paddingEnd:eu(a.paddingBottom)}})}})}),[er,et]=z(X),en=y.forwardRef((e,r)=>{let{__scopeScrollArea:t,sizes:n,hasThumb:o,onThumbChange:i,onThumbPointerUp:a,onThumbPointerDown:l,onThumbPositionChange:s,onDragScroll:c,onWheelScroll:u,onResize:d,...p}=e,f=U(X,t),[h,v]=y.useState(null),m=(0,_.useComposedRefs)(r,e=>v(e)),g=y.useRef(null),w=y.useRef(""),b=f.viewport,S=n.content-n.viewport,x=(0,I.useCallbackRef)(u),C=(0,I.useCallbackRef)(s),T=em(d,10);function E(e){g.current&&c({x:e.clientX-g.current.left,y:e.clientY-g.current.top})}return y.useEffect(()=>{let e=e=>{let r=e.target;h?.contains(r)&&x(e,S)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[b,h,S,x]),y.useEffect(C,[n,C]),eg(h,T),eg(f.content,T),(0,R.jsx)(er,{scope:t,scrollbar:h,hasThumb:o,onThumbChange:(0,I.useCallbackRef)(i),onThumbPointerUp:(0,I.useCallbackRef)(a),onThumbPositionChange:C,onThumbPointerDown:(0,I.useCallbackRef)(l),children:(0,R.jsx)(D.Primitive.div,{...p,ref:m,style:{position:"absolute",...p.style},onPointerDown:(0,O.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),g.current=h.getBoundingClientRect(),w.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",f.viewport&&(f.viewport.style.scrollBehavior="auto"),E(e))}),onPointerMove:(0,O.composeEventHandlers)(e.onPointerMove,E),onPointerUp:(0,O.composeEventHandlers)(e.onPointerUp,e=>{let r=e.target;r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=w.current,f.viewport&&(f.viewport.style.scrollBehavior=""),g.current=null})})})}),eo="ScrollAreaThumb",ei=y.forwardRef((e,r)=>{let{forceMount:t,...n}=e,o=et(eo,e.__scopeScrollArea);return(0,R.jsx)(k.Presence,{present:t||o.hasThumb,children:(0,R.jsx)(ea,{ref:r,...n})})}),ea=y.forwardRef((e,r)=>{let{__scopeScrollArea:t,style:n,...o}=e,i=U(eo,t),a=et(eo,t),{onThumbPositionChange:l}=a,s=(0,_.useComposedRefs)(r,e=>a.onThumbChange(e)),c=y.useRef(void 0),u=em(()=>{c.current&&(c.current(),c.current=void 0)},100);return y.useEffect(()=>{let e=i.viewport;if(e){let r=()=>{u(),c.current||(c.current=ev(e,l),l())};return l(),e.addEventListener("scroll",r),()=>e.removeEventListener("scroll",r)}},[i.viewport,u,l]),(0,R.jsx)(D.Primitive.div,{"data-state":a.hasThumb?"visible":"hidden",...o,ref:s,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:(0,O.composeEventHandlers)(e.onPointerDownCapture,e=>{let r=e.target.getBoundingClientRect(),t=e.clientX-r.left,n=e.clientY-r.top;a.onThumbPointerDown({x:t,y:n})}),onPointerUp:(0,O.composeEventHandlers)(e.onPointerUp,a.onThumbPointerUp)})});ei.displayName=eo;var el="ScrollAreaCorner",es=y.forwardRef((e,r)=>{let t=U(el,e.__scopeScrollArea),n=!!(t.scrollbarX&&t.scrollbarY);return"scroll"!==t.type&&n?(0,R.jsx)(ec,{...e,ref:r}):null});es.displayName=el;var ec=y.forwardRef((e,r)=>{let{__scopeScrollArea:t,...n}=e,o=U(el,t),[i,a]=y.useState(0),[l,s]=y.useState(0),c=!!(i&&l);return eg(o.scrollbarX,()=>{let e=o.scrollbarX?.offsetHeight||0;o.onCornerHeightChange(e),s(e)}),eg(o.scrollbarY,()=>{let e=o.scrollbarY?.offsetWidth||0;o.onCornerWidthChange(e),a(e)}),c?(0,R.jsx)(D.Primitive.div,{...n,ref:r,style:{width:i,height:l,position:"absolute",right:"ltr"===o.dir?0:void 0,left:"rtl"===o.dir?0:void 0,bottom:0,...e.style}}):null});function eu(e){return e?parseInt(e,10):0}function ed(e,r){let t=e/r;return isNaN(t)?0:t}function ep(e){let r=ed(e.viewport,e.content),t=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-t)*r,18)}function ef(e,r,t="ltr"){let n=ep(r),o=r.scrollbar.paddingStart+r.scrollbar.paddingEnd,i=r.scrollbar.size-o,a=r.content-r.viewport,l=function(e,[r,t]){return Math.min(t,Math.max(r,e))}(e,"ltr"===t?[0,a]:[-1*a,0]);return eh([0,a],[0,i-n])(l)}function eh(e,r){return t=>{if(e[0]===e[1]||r[0]===r[1])return r[0];let n=(r[1]-r[0])/(e[1]-e[0]);return r[0]+n*(t-e[0])}}var ev=(e,r=()=>{})=>{let t={left:e.scrollLeft,top:e.scrollTop},n=0;return!function o(){let i={left:e.scrollLeft,top:e.scrollTop},a=t.left!==i.left,l=t.top!==i.top;(a||l)&&r(),t=i,n=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(n)};function em(e,r){let t=(0,I.useCallbackRef)(e),n=y.useRef(0);return y.useEffect(()=>()=>window.clearTimeout(n.current),[]),y.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(t,r)},[t,r])}function eg(e,r){let t=(0,I.useCallbackRef)(r);(0,H.useLayoutEffect)(()=>{let r=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(t)});return n.observe(e),()=>{window.cancelAnimationFrame(r),n.unobserve(e)}}},[e,t])}e.s(["Corner",()=>es,"Root",()=>B,"ScrollArea",()=>B,"ScrollAreaCorner",()=>es,"ScrollAreaScrollbar",()=>$,"ScrollAreaThumb",()=>ei,"ScrollAreaViewport",()=>V,"Scrollbar",()=>$,"Thumb",()=>ei,"Viewport",()=>V,"createScrollAreaScope",()=>F],87516);var ew=e.i(87516),ew=ew,eb=e.i(31777);function eS({className:e,children:r,...t}){return(0,R.jsxs)(ew.Root,{"data-slot":"scroll-area",className:(0,eb.cn)("relative",e),...t,children:[(0,R.jsx)(ew.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:r}),(0,R.jsx)(ex,{}),(0,R.jsx)(ew.Corner,{})]})}function ex({className:e,orientation:r="vertical",...t}){return(0,R.jsx)(ew.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:r,className:(0,eb.cn)("flex touch-none p-px transition-colors select-none","vertical"===r&&"h-full w-2.5 border-l border-l-transparent","horizontal"===r&&"h-2.5 flex-col border-t border-t-transparent",e),...t,children:(0,R.jsx)(ew.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}e.i(90491);var eC=e.i(90798);e.i(85462);var eR=e.i(26506);e.i(92233);var ey=e.i(10025);e.i(8356);var eT=e.i(71045);e.i(78788);var eE=e.i(91495);e.i(72028);var ej=e.i(41506),eP=e.i(40327);function eA({features:e,onNewFeature:r,onFeatureClick:t,onFeaturesFolderClick:n,onFeaturesMenuClick:o}){let i=(0,E.usePathname)(),{state:a}=(0,T.useSidebar)(),{mounted:l,visible:s}=function(e,r){let[t,n]=(0,y.useState)(!e),[o,i]=(0,y.useState)(!e);return(0,y.useEffect)(()=>{if(!e){n(!0);let e=requestAnimationFrame(()=>i(!0));return()=>cancelAnimationFrame(e)}i(!1);let r=window.setTimeout(()=>n(!1),200);return()=>window.clearTimeout(r)},[e,200]),{mounted:t,visible:o}}("collapsed"===a,0),c=eP.featureStatusOrder.map(r=>{let{label:t}=eP.featureStatusConfig[r],n=e.filter(e=>e.status===r);return{key:r,label:t,items:n}});return(0,R.jsxs)(T.Sidebar,{"data-testid":"app-sidebar",collapsible:"icon",children:[(0,R.jsx)(T.SidebarHeader,{children:(0,R.jsxs)(T.SidebarMenu,{children:[(0,R.jsx)(T.SidebarMenuItem,{children:(0,R.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[l?(0,R.jsxs)("div",{className:["flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2 transition-opacity duration-200 ease-out",s?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!s,children:[(0,R.jsx)(ey.ShepLogo,{className:"shrink-0",size:20}),(0,R.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"})]}):null,(0,R.jsx)(eR.SidebarCollapseToggle,{className:"shrink-0 transition-all duration-200"})]})}),(0,R.jsx)(eC.SidebarNavItem,{icon:P,label:"Control Center",href:"/",active:"/"===i}),(0,R.jsx)(eC.SidebarNavItem,{icon:A,label:"Memory",href:"/memory",active:"/memory"===i})]})}),(0,R.jsx)(T.SidebarContent,{children:l?(0,R.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",s?"opacity-100":"opacity-0"].join(" "),children:[(0,R.jsx)(ej.SidebarSectionHeader,{label:"Features",onFolderClick:n,onMenuClick:o}),(0,R.jsx)(eS,{children:c.map(({key:e,label:r,items:n})=>n.length>0?(0,R.jsx)(eE.FeatureStatusGroup,{label:r,count:n.length,children:n.map(e=>(0,R.jsx)(eT.FeatureListItem,{name:e.name,status:e.status,startedAt:e.startedAt,duration:e.duration,onClick:t?()=>t(e.name):void 0},e.name))},e):null)})]}):null}),(0,R.jsx)(T.SidebarFooter,{children:(0,R.jsx)(T.SidebarMenu,{children:(0,R.jsx)(T.SidebarMenuItem,{children:(0,R.jsxs)(T.SidebarMenuButton,{onClick:r,tooltip:"New feature",children:[(0,R.jsx)(N.Plus,{}),(0,R.jsx)("span",{children:"New feature"})]})})})}),(0,R.jsx)(T.SidebarRail,{})]})}e.i(53777);var eN=e.i(25732),eD=e.i(60112);(r={}).PRD="PRD",r.API="API",r.Design="Design",r.Other="Other",(t={}).Markdown="md",t.Text="txt",t.Yaml="yaml",t.Other="Other",(n={}).Todo="Todo",n.Elaborating="Elaborating",n.Done="Done",(o={}).Assistant="assistant",o.User="user",(i={}).Functional="Functional",i.NonFunctional="NonFunctional",(a={}).NotStarted="NotStarted",a.Running="Running",a.Finished="Finished",(l={}).VsCode="vscode",l.Cursor="cursor",l.Windsurf="windsurf",l.Zed="zed",l.Antigravity="antigravity",(s={}).ClaudeCode="claude-code",s.GeminiCli="gemini-cli",s.Aider="aider",s.Continue="continue",s.Cursor="cursor",(c={}).Session="session",c.Token="token",(u={}).Todo="Todo",u.WIP="Work in Progress",u.Done="Done",u.Review="Review",(d={}).Requirements="Requirements",d.ClarificationRequired="ClarificationRequired",d.Ready="Ready",(p={}).Requirements="Requirements",p.Research="Research",p.Implementation="Implementation",p.Review="Review",p.DeployAndQA="Deploy & QA",p.Maintain="Maintain",(f={}).VsCode="vscode",f.Cursor="cursor",f.Windsurf="windsurf",f.Zed="zed",f.Antigravity="antigravity",f.CursorCli="cursor-cli",f.ClaudeCode="claude-code",(h={}).AgentStarted="agent_started",h.PhaseCompleted="phase_completed",h.WaitingApproval="waiting_approval",h.AgentCompleted="agent_completed",h.AgentFailed="agent_failed";var ek=((v={}).Info="info",v.Warning="warning",v.Success="success",v.Error="error",v);(m={}).Idle="Idle",m.Running="Running",m.Paused="Paused",m.Stopped="Stopped",(g={}).GatheringRequirements="GatheringRequirements",g.ClarificationsRequired="ClarificationsRequired",g.DoingResearch="DoingResearch",g.AwaitingReview="AwaitingReview",g.ExecutingWorkPlan="ExecutingWorkPlan",g.Ready="Ready",(w={}).TCP="TCP",w.UDP="UDP",(b={}).DockerCompose="DockerCompose",b.Docker="Docker",b.Kubernetes="Kubernetes",b.Script="Script",b.Manual="Manual",(S={}).Booting="Booting",S.Ready="Ready",S.Stopped="Stopped",(x={}).pending="pending",x.running="running",x.completed="completed",x.failed="failed",x.interrupted="interrupted",x.cancelled="cancelled",x.waitingApproval="waiting_approval",(C={}).sessionResume="session-resume",C.streaming="streaming",C.toolScoping="tool-scoping",C.structuredOutput="structured-output",C.systemPrompt="system-prompt";let eL={[ek.Success]:"success",[ek.Error]:"error",[ek.Warning]:"warning",[ek.Info]:"info"};function e_({children:e}){!function(e){let r=(void 0)??!1,{lastEvent:t}=function(e){let[r,t]=(0,y.useState)([]),[n,o]=(0,y.useState)(null),[i,a]=(0,y.useState)("disconnected"),l=(0,y.useRef)(1e3),s=(0,y.useRef)(null),c=(0,y.useRef)(null),u=e?.runId,d=(0,y.useCallback)(()=>{if("u"<typeof EventSource)return;let e=new EventSource(u?`/api/agent-events?runId=${encodeURIComponent(u)}`:"/api/agent-events");c.current=e,a("connecting"),e.onopen=()=>{a("connected"),l.current=1e3},e.onerror=()=>{e.close(),c.current=null,a("disconnected");let r=l.current;l.current=Math.min(2*r,3e4),s.current=setTimeout(()=>{s.current=null,d()},r)},e.addEventListener("notification",e=>{let r=JSON.parse(e.data);t(e=>[...e,r]),o(r)})},[u]);return(0,y.useEffect)(()=>(d(),()=>{null!==s.current&&(clearTimeout(s.current),s.current=null),c.current&&(c.current.close(),c.current=null)}),[d]),{events:r,lastEvent:n,connectionStatus:i}}({runId:void 0}),[n,o]=(0,y.useState)(()=>void 0===globalThis.Notification?"default":globalThis.Notification.permission),i=(0,y.useRef)(new Set);(0,y.useEffect)(()=>{if(!t)return;let e=`${t.agentRunId}-${t.eventType}-${t.timestamp}`;if(!i.current.has(e)){let n;i.current.add(e),n=eL[t.severity]??"info",eD.toast[n](t.featureName,{description:t.message}),r&&globalThis.Notification?.permission==="granted"&&new Notification(t.featureName,{body:t.message})}},[t,r]),(0,y.useCallback)(async()=>{void 0===globalThis.Notification||o(await globalThis.Notification.requestPermission())},[])}();let r=(0,y.useCallback)(()=>{window.dispatchEvent(new CustomEvent("shep:open-create-drawer"))},[]);return(0,R.jsxs)(T.SidebarProvider,{children:[(0,R.jsx)(eA,{features:[],onNewFeature:r}),(0,R.jsx)(T.SidebarInset,{children:(0,R.jsxs)("div",{className:"relative h-full",children:[(0,R.jsx)("div",{className:"absolute top-3 right-3 z-50",children:(0,R.jsx)(eN.ThemeToggle,{})}),(0,R.jsx)("main",{className:"h-full",children:e})]})})]})}e.s(["AppShell",()=>e_],87292)},25251,e=>{"use strict";var r=e.i(20314),t=e.i(60112);let n=({...e})=>(0,r.jsx)(t.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"}},...e});e.s(["Toaster",()=>n])}]);
package/web/.next/trace CHANGED
@@ -1 +1 @@
1
- [{"name":"generate-buildid","duration":213,"timestamp":130980135,"id":4,"parentId":1,"tags":{},"startTime":1771357087432,"traceId":"66c207e69d68a406"},{"name":"load-custom-routes","duration":305,"timestamp":130980456,"id":5,"parentId":1,"tags":{},"startTime":1771357087432,"traceId":"66c207e69d68a406"},{"name":"create-dist-dir","duration":323,"timestamp":130980854,"id":6,"parentId":1,"tags":{},"startTime":1771357087432,"traceId":"66c207e69d68a406"},{"name":"clean","duration":216,"timestamp":130981621,"id":7,"parentId":1,"tags":{},"startTime":1771357087433,"traceId":"66c207e69d68a406"},{"name":"create-pages-mapping","duration":259,"timestamp":131049696,"id":8,"parentId":1,"tags":{},"startTime":1771357087501,"traceId":"66c207e69d68a406"},{"name":"collect-app-files","duration":2230,"timestamp":131049999,"id":9,"parentId":1,"tags":{},"startTime":1771357087502,"traceId":"66c207e69d68a406"},{"name":"create-app-mapping","duration":1366,"timestamp":131052263,"id":10,"parentId":1,"tags":{},"startTime":1771357087504,"traceId":"66c207e69d68a406"},{"name":"create-app-layouts","duration":184,"timestamp":131053719,"id":11,"parentId":1,"tags":{},"startTime":1771357087505,"traceId":"66c207e69d68a406"},{"name":"collect-default-files","duration":857,"timestamp":131056790,"id":13,"parentId":1,"tags":{},"startTime":1771357087508,"traceId":"66c207e69d68a406"},{"name":"generate-route-types","duration":14740,"timestamp":131055524,"id":12,"parentId":1,"tags":{},"startTime":1771357087507,"traceId":"66c207e69d68a406"},{"name":"public-dir-conflict-check","duration":90,"timestamp":131070323,"id":14,"parentId":1,"tags":{},"startTime":1771357087522,"traceId":"66c207e69d68a406"},{"name":"generate-routes-manifest","duration":2278,"timestamp":131070474,"id":15,"parentId":1,"tags":{},"startTime":1771357087522,"traceId":"66c207e69d68a406"},{"name":"run-turbopack","duration":5472995,"timestamp":131085346,"id":17,"parentId":1,"tags":{},"startTime":1771357087537,"traceId":"66c207e69d68a406"},{"name":"run-typescript","duration":5571535,"timestamp":136571159,"id":19,"parentId":1,"tags":{},"startTime":1771357093023,"traceId":"66c207e69d68a406"},{"name":"generate-required-server-files","duration":1370,"timestamp":142143116,"id":21,"parentId":1,"tags":{},"startTime":1771357098595,"traceId":"66c207e69d68a406"},{"name":"check-static-error-page","duration":3126,"timestamp":142212906,"id":23,"parentId":22,"tags":{},"startTime":1771357098665,"traceId":"66c207e69d68a406"},{"name":"is-page-static","duration":234432,"timestamp":142220235,"id":34,"parentId":25,"tags":{},"startTime":1771357098672,"traceId":"66c207e69d68a406"},{"name":"check-page","duration":247827,"timestamp":142215319,"id":25,"parentId":22,"tags":{"page":"/_global-error"},"startTime":1771357098667,"traceId":"66c207e69d68a406"},{"name":"is-page-static","duration":316078,"timestamp":142220575,"id":36,"parentId":27,"tags":{},"startTime":1771357098672,"traceId":"66c207e69d68a406"},{"name":"check-page","duration":321090,"timestamp":142215623,"id":27,"parentId":22,"tags":{"page":"/api/dialog/pick-folder"},"startTime":1771357098667,"traceId":"66c207e69d68a406"},{"name":"is-page-static","duration":320198,"timestamp":142220640,"id":37,"parentId":28,"tags":{},"startTime":1771357098672,"traceId":"66c207e69d68a406"},{"name":"check-page","duration":325197,"timestamp":142215696,"id":28,"parentId":22,"tags":{"page":"/api/features/create"},"startTime":1771357098667,"traceId":"66c207e69d68a406"},{"name":"is-page-static","duration":325264,"timestamp":142220704,"id":38,"parentId":29,"tags":{},"startTime":1771357098672,"traceId":"66c207e69d68a406"},{"name":"check-page","duration":330288,"timestamp":142215754,"id":29,"parentId":22,"tags":{"page":"/api/ide/open"},"startTime":1771357098667,"traceId":"66c207e69d68a406"},{"name":"is-page-static","duration":329230,"timestamp":142220842,"id":39,"parentId":30,"tags":{},"startTime":1771357098672,"traceId":"66c207e69d68a406"},{"name":"check-page","duration":334580,"timestamp":142215809,"id":30,"parentId":22,"tags":{"page":"/api/shell/open"},"startTime":1771357098667,"traceId":"66c207e69d68a406"},{"name":"is-page-static","duration":343940,"timestamp":142219900,"id":33,"parentId":24,"tags":{},"startTime":1771357098672,"traceId":"66c207e69d68a406"},{"name":"check-page","duration":349964,"timestamp":142213943,"id":24,"parentId":22,"tags":{"page":"/_not-found"},"startTime":1771357098666,"traceId":"66c207e69d68a406"},{"name":"is-page-static","duration":346336,"timestamp":142228286,"id":41,"parentId":31,"tags":{},"startTime":1771357098680,"traceId":"66c207e69d68a406"},{"name":"check-page","duration":358787,"timestamp":142215867,"id":31,"parentId":22,"tags":{"page":"/"},"startTime":1771357098667,"traceId":"66c207e69d68a406"},{"name":"is-page-static","duration":358956,"timestamp":142228230,"id":40,"parentId":32,"tags":{},"startTime":1771357098680,"traceId":"66c207e69d68a406"},{"name":"check-page","duration":371365,"timestamp":142215931,"id":32,"parentId":22,"tags":{"page":"/version"},"startTime":1771357098668,"traceId":"66c207e69d68a406"},{"name":"is-page-static","duration":385250,"timestamp":142220368,"id":35,"parentId":26,"tags":{},"startTime":1771357098672,"traceId":"66c207e69d68a406"},{"name":"check-page","duration":390128,"timestamp":142215530,"id":26,"parentId":22,"tags":{"page":"/api/dialog/pick-files"},"startTime":1771357098667,"traceId":"66c207e69d68a406"},{"name":"static-check","duration":393535,"timestamp":142212157,"id":22,"parentId":1,"tags":{},"startTime":1771357098664,"traceId":"66c207e69d68a406"},{"name":"write-routes-manifest","duration":420,"timestamp":142609388,"id":43,"parentId":1,"tags":{},"startTime":1771357099061,"traceId":"66c207e69d68a406"},{"name":"load-dotenv","duration":32,"timestamp":142619871,"id":46,"parentId":45,"tags":{},"startTime":1771357099071,"traceId":"66c207e69d68a406"},{"name":"run-export-path-map","duration":312,"timestamp":142623051,"id":47,"parentId":45,"tags":{},"startTime":1771357099075,"traceId":"66c207e69d68a406"},{"name":"next-export","duration":213471,"timestamp":142618930,"id":45,"parentId":1,"tags":{},"startTime":1771357099071,"traceId":"66c207e69d68a406"},{"name":"move-exported-app-not-found-","duration":479,"timestamp":142834370,"id":48,"parentId":44,"tags":{},"startTime":1771357099286,"traceId":"66c207e69d68a406"},{"name":"move-exported-app-global-error-","duration":347,"timestamp":142834910,"id":49,"parentId":44,"tags":{},"startTime":1771357099287,"traceId":"66c207e69d68a406"},{"name":"static-generation","duration":222881,"timestamp":142613617,"id":44,"parentId":1,"tags":{},"startTime":1771357099065,"traceId":"66c207e69d68a406"},{"name":"write-routes-manifest","duration":223,"timestamp":142836570,"id":50,"parentId":1,"tags":{},"startTime":1771357099288,"traceId":"66c207e69d68a406"},{"name":"print-tree-view","duration":2575,"timestamp":142843551,"id":51,"parentId":1,"tags":{},"startTime":1771357099295,"traceId":"66c207e69d68a406"},{"name":"telemetry-flush","duration":81899,"timestamp":142846146,"id":52,"parentId":1,"tags":{},"startTime":1771357099298,"traceId":"66c207e69d68a406"},{"name":"next-build","duration":12171923,"timestamp":130756146,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1771357087208,"traceId":"66c207e69d68a406"}]
1
+ [{"name":"generate-buildid","duration":193,"timestamp":118687523,"id":4,"parentId":1,"tags":{},"startTime":1771426951596,"traceId":"60d1b73f482e16b4"},{"name":"load-custom-routes","duration":348,"timestamp":118687816,"id":5,"parentId":1,"tags":{},"startTime":1771426951596,"traceId":"60d1b73f482e16b4"},{"name":"create-dist-dir","duration":208,"timestamp":118688241,"id":6,"parentId":1,"tags":{},"startTime":1771426951597,"traceId":"60d1b73f482e16b4"},{"name":"clean","duration":211,"timestamp":118688865,"id":7,"parentId":1,"tags":{},"startTime":1771426951597,"traceId":"60d1b73f482e16b4"},{"name":"create-pages-mapping","duration":211,"timestamp":118861384,"id":8,"parentId":1,"tags":{},"startTime":1771426951770,"traceId":"60d1b73f482e16b4"},{"name":"collect-app-files","duration":1721,"timestamp":118861637,"id":9,"parentId":1,"tags":{},"startTime":1771426951770,"traceId":"60d1b73f482e16b4"},{"name":"create-app-mapping","duration":944,"timestamp":118863387,"id":10,"parentId":1,"tags":{},"startTime":1771426951772,"traceId":"60d1b73f482e16b4"},{"name":"create-app-layouts","duration":190,"timestamp":118864413,"id":11,"parentId":1,"tags":{},"startTime":1771426951773,"traceId":"60d1b73f482e16b4"},{"name":"collect-default-files","duration":662,"timestamp":118866443,"id":13,"parentId":1,"tags":{},"startTime":1771426951775,"traceId":"60d1b73f482e16b4"},{"name":"generate-route-types","duration":13026,"timestamp":118865896,"id":12,"parentId":1,"tags":{},"startTime":1771426951774,"traceId":"60d1b73f482e16b4"},{"name":"public-dir-conflict-check","duration":117,"timestamp":118878966,"id":14,"parentId":1,"tags":{},"startTime":1771426951787,"traceId":"60d1b73f482e16b4"},{"name":"generate-routes-manifest","duration":2064,"timestamp":118879145,"id":15,"parentId":1,"tags":{},"startTime":1771426951787,"traceId":"60d1b73f482e16b4"},{"name":"run-turbopack","duration":5143072,"timestamp":118884505,"id":17,"parentId":1,"tags":{},"startTime":1771426951793,"traceId":"60d1b73f482e16b4"},{"name":"run-typescript","duration":5482321,"timestamp":124032536,"id":19,"parentId":1,"tags":{},"startTime":1771426956941,"traceId":"60d1b73f482e16b4"},{"name":"generate-required-server-files","duration":1444,"timestamp":129515367,"id":21,"parentId":1,"tags":{},"startTime":1771426962424,"traceId":"60d1b73f482e16b4"},{"name":"check-static-error-page","duration":2410,"timestamp":129569518,"id":23,"parentId":22,"tags":{},"startTime":1771426962478,"traceId":"60d1b73f482e16b4"},{"name":"is-page-static","duration":259094,"timestamp":129576026,"id":35,"parentId":25,"tags":{},"startTime":1771426962484,"traceId":"60d1b73f482e16b4"},{"name":"check-page","duration":264036,"timestamp":129571171,"id":25,"parentId":22,"tags":{"page":"/_global-error"},"startTime":1771426962479,"traceId":"60d1b73f482e16b4"},{"name":"is-page-static","duration":309512,"timestamp":129575779,"id":34,"parentId":24,"tags":{},"startTime":1771426962484,"traceId":"60d1b73f482e16b4"},{"name":"check-page","duration":315140,"timestamp":129570223,"id":24,"parentId":22,"tags":{"page":"/_not-found"},"startTime":1771426962479,"traceId":"60d1b73f482e16b4"},{"name":"is-page-static","duration":344062,"timestamp":129576433,"id":37,"parentId":27,"tags":{},"startTime":1771426962485,"traceId":"60d1b73f482e16b4"},{"name":"check-page","duration":349147,"timestamp":129571410,"id":27,"parentId":22,"tags":{"page":"/api/dialog/pick-files"},"startTime":1771426962480,"traceId":"60d1b73f482e16b4"},{"name":"is-page-static","duration":348627,"timestamp":129576219,"id":36,"parentId":26,"tags":{},"startTime":1771426962485,"traceId":"60d1b73f482e16b4"},{"name":"check-page","duration":353584,"timestamp":129571328,"id":26,"parentId":22,"tags":{"page":"/api/agent-events"},"startTime":1771426962480,"traceId":"60d1b73f482e16b4"},{"name":"is-page-static","duration":348614,"timestamp":129576500,"id":38,"parentId":28,"tags":{},"startTime":1771426962485,"traceId":"60d1b73f482e16b4"},{"name":"check-page","duration":353919,"timestamp":129571485,"id":28,"parentId":22,"tags":{"page":"/api/dialog/pick-folder"},"startTime":1771426962480,"traceId":"60d1b73f482e16b4"},{"name":"is-page-static","duration":348994,"timestamp":129576578,"id":39,"parentId":29,"tags":{},"startTime":1771426962485,"traceId":"60d1b73f482e16b4"},{"name":"check-page","duration":354060,"timestamp":129571557,"id":29,"parentId":22,"tags":{"page":"/api/features/create"},"startTime":1771426962480,"traceId":"60d1b73f482e16b4"},{"name":"is-page-static","duration":364104,"timestamp":129578970,"id":41,"parentId":30,"tags":{},"startTime":1771426962487,"traceId":"60d1b73f482e16b4"},{"name":"check-page","duration":371502,"timestamp":129571623,"id":30,"parentId":22,"tags":{"page":"/api/ide/open"},"startTime":1771426962480,"traceId":"60d1b73f482e16b4"},{"name":"is-page-static","duration":372720,"timestamp":129583172,"id":42,"parentId":33,"tags":{},"startTime":1771426962491,"traceId":"60d1b73f482e16b4"},{"name":"check-page","duration":384178,"timestamp":129571848,"id":33,"parentId":22,"tags":{"page":"/version"},"startTime":1771426962480,"traceId":"60d1b73f482e16b4"},{"name":"is-page-static","duration":379403,"timestamp":129576730,"id":40,"parentId":31,"tags":{},"startTime":1771426962485,"traceId":"60d1b73f482e16b4"},{"name":"check-page","duration":384475,"timestamp":129571695,"id":31,"parentId":22,"tags":{"page":"/api/shell/open"},"startTime":1771426962480,"traceId":"60d1b73f482e16b4"},{"name":"is-page-static","duration":373699,"timestamp":129583204,"id":43,"parentId":32,"tags":{},"startTime":1771426962492,"traceId":"60d1b73f482e16b4"},{"name":"check-page","duration":385154,"timestamp":129571766,"id":32,"parentId":22,"tags":{"page":"/"},"startTime":1771426962480,"traceId":"60d1b73f482e16b4"},{"name":"static-check","duration":388050,"timestamp":129568902,"id":22,"parentId":1,"tags":{},"startTime":1771426962477,"traceId":"60d1b73f482e16b4"},{"name":"write-routes-manifest","duration":351,"timestamp":129957615,"id":45,"parentId":1,"tags":{},"startTime":1771426962866,"traceId":"60d1b73f482e16b4"},{"name":"load-dotenv","duration":32,"timestamp":129968390,"id":48,"parentId":47,"tags":{},"startTime":1771426962877,"traceId":"60d1b73f482e16b4"},{"name":"run-export-path-map","duration":384,"timestamp":129970551,"id":49,"parentId":47,"tags":{},"startTime":1771426962879,"traceId":"60d1b73f482e16b4"},{"name":"next-export","duration":183986,"timestamp":129967444,"id":47,"parentId":1,"tags":{},"startTime":1771426962876,"traceId":"60d1b73f482e16b4"},{"name":"move-exported-app-not-found-","duration":487,"timestamp":130152925,"id":50,"parentId":46,"tags":{},"startTime":1771426963061,"traceId":"60d1b73f482e16b4"},{"name":"move-exported-app-global-error-","duration":371,"timestamp":130153472,"id":51,"parentId":46,"tags":{},"startTime":1771426963062,"traceId":"60d1b73f482e16b4"},{"name":"static-generation","duration":194314,"timestamp":129961660,"id":46,"parentId":1,"tags":{},"startTime":1771426962870,"traceId":"60d1b73f482e16b4"},{"name":"write-routes-manifest","duration":279,"timestamp":130156074,"id":52,"parentId":1,"tags":{},"startTime":1771426963064,"traceId":"60d1b73f482e16b4"},{"name":"print-tree-view","duration":2379,"timestamp":130160582,"id":53,"parentId":1,"tags":{},"startTime":1771426963069,"traceId":"60d1b73f482e16b4"},{"name":"telemetry-flush","duration":96181,"timestamp":130162970,"id":54,"parentId":1,"tags":{},"startTime":1771426963071,"traceId":"60d1b73f482e16b4"},{"name":"next-build","duration":11818235,"timestamp":118440938,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1771426951349,"traceId":"60d1b73f482e16b4"}]
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":5472995,"timestamp":131085346,"id":17,"parentId":1,"tags":{},"startTime":1771357087537,"traceId":"66c207e69d68a406"},{"name":"run-typescript","duration":5571535,"timestamp":136571159,"id":19,"parentId":1,"tags":{},"startTime":1771357093023,"traceId":"66c207e69d68a406"},{"name":"static-check","duration":393535,"timestamp":142212157,"id":22,"parentId":1,"tags":{},"startTime":1771357098664,"traceId":"66c207e69d68a406"},{"name":"static-generation","duration":222881,"timestamp":142613617,"id":44,"parentId":1,"tags":{},"startTime":1771357099065,"traceId":"66c207e69d68a406"},{"name":"telemetry-flush","duration":81899,"timestamp":142846146,"id":52,"parentId":1,"tags":{},"startTime":1771357099298,"traceId":"66c207e69d68a406"},{"name":"next-build","duration":12171923,"timestamp":130756146,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1771357087208,"traceId":"66c207e69d68a406"}]
1
+ [{"name":"run-turbopack","duration":5143072,"timestamp":118884505,"id":17,"parentId":1,"tags":{},"startTime":1771426951793,"traceId":"60d1b73f482e16b4"},{"name":"run-typescript","duration":5482321,"timestamp":124032536,"id":19,"parentId":1,"tags":{},"startTime":1771426956941,"traceId":"60d1b73f482e16b4"},{"name":"static-check","duration":388050,"timestamp":129568902,"id":22,"parentId":1,"tags":{},"startTime":1771426962477,"traceId":"60d1b73f482e16b4"},{"name":"static-generation","duration":194314,"timestamp":129961660,"id":46,"parentId":1,"tags":{},"startTime":1771426962870,"traceId":"60d1b73f482e16b4"},{"name":"telemetry-flush","duration":96181,"timestamp":130162970,"id":54,"parentId":1,"tags":{},"startTime":1771426963071,"traceId":"60d1b73f482e16b4"},{"name":"next-build","duration":11818235,"timestamp":118440938,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1771426951349,"traceId":"60d1b73f482e16b4"}]
@@ -33,6 +33,7 @@ declare namespace __next_route_internal_types__ {
33
33
 
34
34
  type StaticRoutes =
35
35
  | `/`
36
+ | `/api/agent-events`
36
37
  | `/api/dialog/pick-files`
37
38
  | `/api/dialog/pick-folder`
38
39
  | `/api/features/create`
@@ -2,7 +2,7 @@
2
2
  // Do not edit this file manually
3
3
 
4
4
  type AppRoutes = "/" | "/version"
5
- type AppRouteHandlerRoutes = "/api/dialog/pick-files" | "/api/dialog/pick-folder" | "/api/features/create" | "/api/ide/open" | "/api/shell/open"
5
+ type AppRouteHandlerRoutes = "/api/agent-events" | "/api/dialog/pick-files" | "/api/dialog/pick-folder" | "/api/features/create" | "/api/ide/open" | "/api/shell/open"
6
6
  type PageRoutes = never
7
7
  type LayoutRoutes = "/"
8
8
  type RedirectRoutes = never
@@ -12,6 +12,7 @@ type Routes = AppRoutes | PageRoutes | LayoutRoutes | RedirectRoutes | RewriteRo
12
12
 
13
13
  interface ParamMap {
14
14
  "/": {}
15
+ "/api/agent-events": {}
15
16
  "/api/dialog/pick-files": {}
16
17
  "/api/dialog/pick-folder": {}
17
18
  "/api/features/create": {}
@@ -65,6 +65,15 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
65
65
  type __Unused = __Check
66
66
  }
67
67
 
68
+ // Validate ../../app/api/agent-events/route.ts
69
+ {
70
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/agent-events">> = Specific
71
+ const handler = {} as typeof import("../../app/api/agent-events/route.js")
72
+ type __Check = __IsExpected<typeof handler>
73
+ // @ts-ignore
74
+ type __Unused = __Check
75
+ }
76
+
68
77
  // Validate ../../app/api/dialog/pick-files/route.ts
69
78
  {
70
79
  type __IsExpected<Specific extends RouteHandlerConfig<"/api/dialog/pick-files">> = Specific
@@ -1,3 +0,0 @@
1
- module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},91466,19087,27192,e=>{"use strict";let t="__shepSettings";function r(){let e=function(){let e=globalThis[t];if(null!=e)return e;let r=process[t];return null!=r?r:null}();if(null===e)throw Error("Settings not initialized. Call initializeSettings() during CLI bootstrap.");return e}e.s(["getSettings",()=>r],91466);var n=e.i(66680),a=e.i(60526),i=e.i(50227);let o=(0,i.join)((0,a.homedir)(),".shep");function s(e,t){let r=(0,n.createHash)("sha256").update(e).digest("hex").slice(0,16),a=t.replace(/\//g,"-");return(0,i.join)(o,"repos",r,"wt",a)}function l(e){let{repositoryPath:t,branch:r}=e;return"string"!=typeof t||0===t.length?{error:"repositoryPath is required and must be a non-empty string",status:400}:t.startsWith("/")?"string"!=typeof r||0===r.length?{error:"branch is required and must be a non-empty string",status:400}:r.includes("..")?{error:"branch must not contain path traversal sequences (..)",status:400}:r.includes("\0")?{error:"branch must not contain null bytes",status:400}:{repositoryPath:t,branch:r}:{error:"repositoryPath must be an absolute path (starting with /)",status:400}}e.s(["computeWorktreePath",()=>s],19087),e.s(["validateToolbarInput",()=>l],27192)},40689,e=>{"use strict";var t,r,n,a,i,o,s,l,d,u,c,p,h,g,m,R,y,v,x,f,w=e.i(22925),b=e.i(62995),C=e.i(14112),A=e.i(31716),P=e.i(16340),k=e.i(40522),E=e.i(21994),q=e.i(5802),S=e.i(17171),T=e.i(177),I=e.i(43685),N=e.i(84832),D=e.i(92435),_=e.i(41260),O=e.i(80556),j=e.i(93695);e.i(97230);var F=e.i(35162),H=e.i(27980),U=e.i(91466),M=e.i(74533);(t={}).PRD="PRD",t.API="API",t.Design="Design",t.Other="Other",(r={}).Markdown="md",r.Text="txt",r.Yaml="yaml",r.Other="Other",(n={}).Todo="Todo",n.Elaborating="Elaborating",n.Done="Done",(a={}).Assistant="assistant",a.User="user",(i={}).Functional="Functional",i.NonFunctional="NonFunctional",(o={}).NotStarted="NotStarted",o.Running="Running",o.Finished="Finished";var W=((s={}).VsCode="vscode",s.Cursor="cursor",s.Windsurf="windsurf",s.Zed="zed",s.Antigravity="antigravity",s);(l={}).ClaudeCode="claude-code",l.GeminiCli="gemini-cli",l.Aider="aider",l.Continue="continue",l.Cursor="cursor",(d={}).Session="session",d.Token="token",(u={}).Todo="Todo",u.WIP="Work in Progress",u.Done="Done",u.Review="Review",(c={}).Requirements="Requirements",c.ClarificationRequired="ClarificationRequired",c.Ready="Ready",(p={}).Requirements="Requirements",p.Research="Research",p.Implementation="Implementation",p.Review="Review",p.DeployAndQA="Deploy & QA",p.Maintain="Maintain",(h={}).VsCode="vscode",h.Cursor="cursor",h.Windsurf="windsurf",h.Zed="zed",h.Antigravity="antigravity",h.CursorCli="cursor-cli",h.ClaudeCode="claude-code",(g={}).Idle="Idle",g.Running="Running",g.Paused="Paused",g.Stopped="Stopped",(m={}).GatheringRequirements="GatheringRequirements",m.ClarificationsRequired="ClarificationsRequired",m.DoingResearch="DoingResearch",m.AwaitingReview="AwaitingReview",m.ExecutingWorkPlan="ExecutingWorkPlan",m.Ready="Ready",(R={}).TCP="TCP",R.UDP="UDP",(y={}).DockerCompose="DockerCompose",y.Docker="Docker",y.Kubernetes="Kubernetes",y.Script="Script",y.Manual="Manual",(v={}).Booting="Booting",v.Ready="Ready",v.Stopped="Stopped",(x={}).pending="pending",x.running="running",x.completed="completed",x.failed="failed",x.interrupted="interrupted",x.cancelled="cancelled",x.waitingApproval="waiting_approval",(f={}).sessionResume="session-resume",f.streaming="streaming",f.toolScoping="tool-scoping",f.structuredOutput="structured-output",f.systemPrompt="system-prompt";class ${name="Antigravity";editorId=W.Antigravity;binary="antigravity";async launch(e){(0,M.spawn)(this.binary,[e],{detached:!0,stdio:"ignore"}).unref()}checkAvailable(){return new Promise(e=>{(0,M.execFile)("which",[this.binary],t=>{e(!t)})})}}class K{name="Cursor";editorId=W.Cursor;binary="cursor";async launch(e){(0,M.spawn)(this.binary,[e],{detached:!0,stdio:"ignore"}).unref()}checkAvailable(){return new Promise(e=>{(0,M.execFile)("which",[this.binary],t=>{e(!t)})})}}class B{name="VS Code";editorId=W.VsCode;binary="code";async launch(e){(0,M.spawn)(this.binary,[e],{detached:!0,stdio:"ignore"}).unref()}checkAvailable(){return new Promise(e=>{(0,M.execFile)("which",[this.binary],t=>{e(!t)})})}}class V{name="Windsurf";editorId=W.Windsurf;binary="windsurf";async launch(e){(0,M.spawn)(this.binary,[e],{detached:!0,stdio:"ignore"}).unref()}checkAvailable(){return new Promise(e=>{(0,M.execFile)("which",[this.binary],t=>{e(!t)})})}}class z{name="Zed";editorId=W.Zed;binary="zed";async launch(e){(0,M.spawn)(this.binary,[e],{detached:!0,stdio:"ignore"}).unref()}checkAvailable(){return new Promise(e=>{(0,M.execFile)("which",[this.binary],t=>{e(!t)})})}}var G=e.i(19087);async function L(e){let t=function(){let e=[new B,new K,new V,new z,new $],t=new Map;for(let r of e)t.set(r.editorId,r);return t}(),r=t.get(e.editorId);if(!r)return{ok:!1,code:"unknown_editor",message:`No launcher found for editor: ${e.editorId}. Supported: ${[...t.keys()].join(", ")}`};if(e.checkAvailability&&!await r.checkAvailable())return{ok:!1,code:"editor_unavailable",message:`${r.name} is not available — ensure "${r.binary}" is installed and on your PATH`};try{let t=(0,G.computeWorktreePath)(e.repositoryPath,e.branch);return await r.launch(t),{ok:!0,editorName:r.name,worktreePath:t}}catch(e){return{ok:!1,code:"launch_failed",message:e instanceof Error?e.message:"Failed to launch IDE"}}}var Z=e.i(27192);async function X(e){let t=await e.json(),r=(0,Z.validateToolbarInput)(t);if("error"in r)return H.NextResponse.json({error:r.error},{status:r.status});let{repositoryPath:n,branch:a}=r,i=(0,U.getSettings)().environment.defaultEditor,o=await L({editorId:i,repositoryPath:n,branch:a,checkAvailability:!0});if(!o.ok){let e="launch_failed"===o.code?500:404;return H.NextResponse.json({error:o.message},{status:e})}return H.NextResponse.json({success:!0,editor:o.editorName,path:o.worktreePath})}e.s(["POST",()=>X],42817);var Q=e.i(42817);let Y=new w.AppRouteRouteModule({definition:{kind:b.RouteKind.APP_ROUTE,page:"/api/ide/open/route",pathname:"/api/ide/open",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/presentation/web/app/api/ide/open/route.ts",nextConfigOutput:"",userland:Q}),{workAsyncStorage:J,workUnitAsyncStorage:ee,serverHooks:et}=Y;function er(){return(0,C.patchFetch)({workAsyncStorage:J,workUnitAsyncStorage:ee})}async function en(e,t,r){Y.isDev&&(0,A.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/ide/open/route";n=n.replace(/\/index$/,"")||"/";let a=await Y.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!a)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:i,params:o,nextConfig:s,parsedUrl:l,isDraftMode:d,prerenderManifest:u,routerServerContext:c,isOnDemandRevalidate:p,revalidateOnlyGenerated:h,resolvedPathname:g,clientReferenceManifest:m,serverActionsManifest:R}=a,y=(0,E.normalizeAppPath)(n),v=!!(u.dynamicRoutes[y]||u.routes[g]),x=async()=>((null==c?void 0:c.render404)?await c.render404(e,t,l,!1):t.end("This page could not be found"),null);if(v&&!d){let e=!!u.routes[g],t=u.dynamicRoutes[y];if(t&&!1===t.fallback&&!e){if(s.experimental.adapterPath)return await x();throw new j.NoFallbackError}}let f=null;!v||Y.isDev||d||(f="/index"===(f=g)?"/":f);let w=!0===Y.isDev||!v,C=v&&!w;R&&m&&(0,k.setManifestsSingleton)({page:n,clientReferenceManifest:m,serverActionsManifest:R});let H=e.method||"GET",U=(0,P.getTracer)(),M=U.getActiveScopeSpan(),W={params:o,prerenderManifest:u,renderOpts:{experimental:{authInterrupts:!!s.experimental.authInterrupts},cacheComponents:!!s.cacheComponents,supportsDynamicResponse:w,incrementalCache:(0,A.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:s.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>Y.onRequestError(e,t,n,a,c)},sharedContext:{buildId:i}},$=new q.NodeNextRequest(e),K=new q.NodeNextResponse(t),B=S.NextRequestAdapter.fromNodeNextRequest($,(0,S.signalFromNodeResponse)(t));try{let a=async e=>Y.handle(B,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==T.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${H} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${n}`)}),i=!!(0,A.getRequestMeta)(e,"minimalMode"),o=async o=>{var l,g;let m=async({previousCacheEntry:s})=>{try{if(!i&&p&&h&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await a(o);e.fetchMetrics=W.renderOpts.fetchMetrics;let l=W.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let d=W.renderOpts.collectedTags;if(!v)return await (0,N.sendResponse)($,K,n,W.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,D.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[O.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=O.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=O.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:F.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==s?void 0:s.isStale)&&await Y.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,I.getRevalidateReason)({isStaticGeneration:C,isOnDemandRevalidate:p})},!1,c),t}},R=await Y.handleResponse({req:e,nextConfig:s,cacheKey:f,routeKind:b.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:u,isRoutePPREnabled:!1,isOnDemandRevalidate:p,revalidateOnlyGenerated:h,responseGenerator:m,waitUntil:r.waitUntil,isMinimalMode:i});if(!v)return null;if((null==R||null==(l=R.value)?void 0:l.kind)!==F.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==R||null==(g=R.value)?void 0:g.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",p?"REVALIDATED":R.isMiss?"MISS":R.isStale?"STALE":"HIT"),d&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let y=(0,D.fromNodeOutgoingHttpHeaders)(R.value.headers);return i&&v||y.delete(O.NEXT_CACHE_TAGS_HEADER),!R.cacheControl||t.getHeader("Cache-Control")||y.get("Cache-Control")||y.set("Cache-Control",(0,_.getCacheControlHeader)(R.cacheControl)),await (0,N.sendResponse)($,K,new Response(R.value.body,{headers:y,status:R.value.status||200})),null};M?await o(M):await U.withPropagatedContext(e.headers,()=>U.trace(T.BaseServerSpan.handleRequest,{spanName:`${H} ${n}`,kind:P.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o))}catch(t){if(t instanceof j.NoFallbackError||await Y.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,I.getRevalidateReason)({isStaticGeneration:C,isOnDemandRevalidate:p})},!1,c),v)throw t;return await (0,N.sendResponse)($,K,new Response(null,{status:500})),null}}e.s(["handler",()=>en,"patchFetch",()=>er,"routeModule",()=>Y,"serverHooks",()=>et,"workAsyncStorage",()=>J,"workUnitAsyncStorage",()=>ee],40689)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__56ac1509._.js.map