@shipit-ai/cli 1.170.0 → 1.171.0-pr15.c970346

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 (251) hide show
  1. package/apis/json-schema/ClaudeCodeProxyConfig.yaml +20 -0
  2. package/apis/json-schema/LiteLLMProxyConfig.yaml +4 -1
  3. package/apis/json-schema/LiteLLMProxyRoutingMode.yaml +8 -0
  4. package/dist/packages/core/src/domain/generated/output.d.ts +35 -1
  5. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  6. package/dist/packages/core/src/domain/generated/output.js +6 -0
  7. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +5 -0
  8. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  9. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +38 -1
  10. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/055-add-litellm-proxy-agent-config.d.ts +15 -0
  11. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/055-add-litellm-proxy-agent-config.d.ts.map +1 -0
  12. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/055-add-litellm-proxy-agent-config.js +32 -0
  13. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  14. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +36 -5
  15. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-provider.service.d.ts.map +1 -1
  16. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-provider.service.js +7 -1
  17. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts +4 -1
  18. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts.map +1 -1
  19. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.js +53 -0
  20. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
  21. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +5 -0
  22. package/dist/src/presentation/web/components/features/plugins/plugins-page-client.d.ts.map +1 -1
  23. package/dist/src/presentation/web/components/features/plugins/plugins-page-client.js +11 -2
  24. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.d.ts.map +1 -1
  25. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.js +3 -1
  26. package/dist/src/presentation/web/components/features/settings/litellm-proxy-routing-section.d.ts +6 -0
  27. package/dist/src/presentation/web/components/features/settings/litellm-proxy-routing-section.d.ts.map +1 -0
  28. package/dist/src/presentation/web/components/features/settings/litellm-proxy-routing-section.js +69 -0
  29. package/dist/src/presentation/web/components/features/settings/litellm-proxy-routing-section.stories.d.ts +16 -0
  30. package/dist/src/presentation/web/components/features/settings/litellm-proxy-routing-section.stories.d.ts.map +1 -0
  31. package/dist/src/presentation/web/components/features/settings/litellm-proxy-routing-section.stories.js +64 -0
  32. package/dist/src/presentation/web/components/features/settings/litellm-proxy-settings-section.d.ts.map +1 -1
  33. package/dist/src/presentation/web/components/features/settings/litellm-proxy-settings-section.js +5 -8
  34. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  35. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +2 -1
  36. package/dist/src/presentation/web/components/features/skills/skills-page-client.d.ts.map +1 -1
  37. package/dist/src/presentation/web/components/features/skills/skills-page-client.js +6 -2
  38. package/dist/src/presentation/web/components/features/tools/tools-page-client.d.ts.map +1 -1
  39. package/dist/src/presentation/web/components/features/tools/tools-page-client.js +23 -4
  40. package/dist/translations/ar/web.json +18 -1
  41. package/dist/translations/de/web.json +18 -1
  42. package/dist/translations/en/web.json +18 -1
  43. package/dist/translations/es/web.json +18 -1
  44. package/dist/translations/fr/web.json +18 -1
  45. package/dist/translations/he/web.json +18 -1
  46. package/dist/translations/pt/web.json +18 -1
  47. package/dist/translations/ru/web.json +18 -1
  48. package/dist/tsconfig.build.tsbuildinfo +1 -1
  49. package/package.json +1 -1
  50. package/web/.next/BUILD_ID +1 -1
  51. package/web/.next/build-manifest.json +3 -3
  52. package/web/.next/fallback-build-manifest.json +3 -3
  53. package/web/.next/prerender-manifest.json +3 -3
  54. package/web/.next/required-server-files.js +3 -3
  55. package/web/.next/required-server-files.json +3 -3
  56. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  57. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  58. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  59. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  60. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  61. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  62. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +31 -31
  63. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  64. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  65. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  66. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  67. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  68. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +37 -37
  69. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  70. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  71. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  72. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  73. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  74. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  75. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  76. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  77. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  78. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  79. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  80. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +31 -31
  81. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  82. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  83. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  84. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  85. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  86. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +37 -37
  87. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  88. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  89. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  90. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  91. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  92. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  93. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  94. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  95. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  96. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  97. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  98. package/web/.next/server/app/_global-error.html +1 -1
  99. package/web/.next/server/app/_global-error.rsc +1 -1
  100. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  101. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  102. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  103. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  104. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  105. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  106. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  107. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  108. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  109. package/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  110. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  111. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  112. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  113. package/web/.next/server/app/plugins/page/server-reference-manifest.json +15 -15
  114. package/web/.next/server/app/plugins/page.js.nft.json +1 -1
  115. package/web/.next/server/app/plugins/page_client-reference-manifest.js +1 -1
  116. package/web/.next/server/app/settings/page/server-reference-manifest.json +12 -12
  117. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  118. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  119. package/web/.next/server/app/skills/page/server-reference-manifest.json +11 -11
  120. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  121. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  122. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  123. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  124. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  125. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  126. package/web/.next/server/app/version/page.js.nft.json +1 -1
  127. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  128. package/web/.next/server/chunks/11es_next_dist_esm_build_templates_app-route_067cwst.js +1 -1
  129. package/web/.next/server/chunks/11es_next_dist_esm_build_templates_app-route_067cwst.js.map +1 -1
  130. package/web/.next/server/chunks/[root-of-the-server]__0tb~wwk._.js +1 -1
  131. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js +1 -1
  132. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js.map +1 -1
  133. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js +2 -2
  134. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js.map +1 -1
  135. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js +1 -1
  136. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js.map +1 -1
  137. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js +1 -1
  138. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js.map +1 -1
  139. package/web/.next/server/chunks/ssr/[root-of-the-server]__0.5ojmt._.js +1 -1
  140. package/web/.next/server/chunks/ssr/[root-of-the-server]__0.5ojmt._.js.map +1 -1
  141. package/web/.next/server/chunks/ssr/[root-of-the-server]__05_qc0n._.js +1 -1
  142. package/web/.next/server/chunks/ssr/[root-of-the-server]__05_qc0n._.js.map +1 -1
  143. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0~v1~b9._.js → [root-of-the-server]__0dec29w._.js} +2 -2
  144. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0~v1~b9._.js.map → [root-of-the-server]__0dec29w._.js.map} +1 -1
  145. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ge~xny._.js +1 -1
  146. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ge~xny._.js.map +1 -1
  147. package/web/.next/server/chunks/ssr/[root-of-the-server]__0qda~yi._.js +1 -1
  148. package/web/.next/server/chunks/ssr/[root-of-the-server]__0qda~yi._.js.map +1 -1
  149. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rv1gci._.js +1 -1
  150. package/web/.next/server/chunks/ssr/[root-of-the-server]__0tq2syh._.js +1 -1
  151. package/web/.next/server/chunks/ssr/[root-of-the-server]__0t~u8sd._.js +1 -1
  152. package/web/.next/server/chunks/ssr/[root-of-the-server]__0t~u8sd._.js.map +1 -1
  153. package/web/.next/server/chunks/ssr/[root-of-the-server]__10tll_l._.js +1 -1
  154. package/web/.next/server/chunks/ssr/[root-of-the-server]__10tll_l._.js.map +1 -1
  155. package/web/.next/server/chunks/ssr/[root-of-the-server]__122xqm6._.js +1 -1
  156. package/web/.next/server/chunks/ssr/[root-of-the-server]__122xqm6._.js.map +1 -1
  157. package/web/.next/server/chunks/ssr/[root-of-the-server]__12j29w-._.js +1 -1
  158. package/web/.next/server/chunks/ssr/[root-of-the-server]__12j29w-._.js.map +1 -1
  159. package/web/.next/server/chunks/ssr/_01sesw0._.js +1 -1
  160. package/web/.next/server/chunks/ssr/_01sesw0._.js.map +1 -1
  161. package/web/.next/server/chunks/ssr/_069y.js._.js +2 -2
  162. package/web/.next/server/chunks/ssr/_069y.js._.js.map +1 -1
  163. package/web/.next/server/chunks/ssr/_083k45~._.js +1 -1
  164. package/web/.next/server/chunks/ssr/_083k45~._.js.map +1 -1
  165. package/web/.next/server/chunks/ssr/_0__4si~._.js +1 -1
  166. package/web/.next/server/chunks/ssr/_0__4si~._.js.map +1 -1
  167. package/web/.next/server/chunks/ssr/_0_m17kl._.js +1 -1
  168. package/web/.next/server/chunks/ssr/_0_m17kl._.js.map +1 -1
  169. package/web/.next/server/chunks/ssr/{_0_17.-n._.js → _0cbt_pe._.js} +2 -2
  170. package/web/.next/server/chunks/ssr/{_0_17.-n._.js.map → _0cbt_pe._.js.map} +1 -1
  171. package/web/.next/server/chunks/ssr/_0d4miu.._.js +1 -1
  172. package/web/.next/server/chunks/ssr/_0d4miu.._.js.map +1 -1
  173. package/web/.next/server/chunks/ssr/_0e8ern9._.js +1 -1
  174. package/web/.next/server/chunks/ssr/_0e8ern9._.js.map +1 -1
  175. package/web/.next/server/chunks/ssr/_0kaec~c._.js +3 -0
  176. package/web/.next/server/chunks/ssr/_0kaec~c._.js.map +1 -0
  177. package/web/.next/server/chunks/ssr/{_069ybyi._.js → _0m48x1h._.js} +2 -2
  178. package/web/.next/server/chunks/ssr/{_069ybyi._.js.map → _0m48x1h._.js.map} +1 -1
  179. package/web/.next/server/chunks/ssr/{_0kt18~b._.js → _0o.xc6x._.js} +2 -2
  180. package/web/.next/server/chunks/ssr/_0o.xc6x._.js.map +1 -0
  181. package/web/.next/server/chunks/ssr/_0p3~u8u._.js +2 -2
  182. package/web/.next/server/chunks/ssr/_0p3~u8u._.js.map +1 -1
  183. package/web/.next/server/chunks/ssr/_0r.3n~3._.js +1 -1
  184. package/web/.next/server/chunks/ssr/_0r.3n~3._.js.map +1 -1
  185. package/web/.next/server/chunks/ssr/_0t59q8r._.js +1 -1
  186. package/web/.next/server/chunks/ssr/_0t59q8r._.js.map +1 -1
  187. package/web/.next/server/chunks/ssr/_0tcccbb._.js.map +1 -1
  188. package/web/.next/server/chunks/ssr/_0u3d8.n._.js +1 -1
  189. package/web/.next/server/chunks/ssr/_0u3d8.n._.js.map +1 -1
  190. package/web/.next/server/chunks/ssr/_0vyfc4b._.js +1 -1
  191. package/web/.next/server/chunks/ssr/_0vyfc4b._.js.map +1 -1
  192. package/web/.next/server/chunks/ssr/_0w-_hww._.js +1 -1
  193. package/web/.next/server/chunks/ssr/_0w-_hww._.js.map +1 -1
  194. package/web/.next/server/chunks/ssr/_0zk-h5w._.js +1 -1
  195. package/web/.next/server/chunks/ssr/_0zk-h5w._.js.map +1 -1
  196. package/web/.next/server/chunks/ssr/{_0.ra89t._.js → _0zny-z9._.js} +2 -2
  197. package/web/.next/server/chunks/ssr/{_0.ra89t._.js.map → _0zny-z9._.js.map} +1 -1
  198. package/web/.next/server/chunks/ssr/_0~7lwu_._.js +1 -1
  199. package/web/.next/server/chunks/ssr/_0~7lwu_._.js.map +1 -1
  200. package/web/.next/server/chunks/ssr/_10joy2y._.js +1 -1
  201. package/web/.next/server/chunks/ssr/_10joy2y._.js.map +1 -1
  202. package/web/.next/server/chunks/ssr/_1161g9x._.js +1 -1
  203. package/web/.next/server/chunks/ssr/_1161g9x._.js.map +1 -1
  204. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_plugins_page_actions_0rdndum.js +1 -1
  205. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_plugins_page_actions_0rdndum.js.map +1 -1
  206. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js +1 -1
  207. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js.map +1 -1
  208. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js +1 -1
  209. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js.map +1 -1
  210. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_0pjb_re._.js +1 -1
  211. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_0w2wqvu._.js +1 -1
  212. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js +1 -1
  213. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js.map +1 -1
  214. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_0aji.op._.js +1 -1
  215. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_0aji.op._.js.map +1 -1
  216. package/web/.next/server/middleware-build-manifest.js +3 -3
  217. package/web/.next/server/pages/500.html +1 -1
  218. package/web/.next/server/server-reference-manifest.js +1 -1
  219. package/web/.next/server/server-reference-manifest.json +55 -55
  220. package/web/.next/static/chunks/{0e.8n42~fpeqa.js → 0-dctejfh1ezj.js} +1 -1
  221. package/web/.next/static/chunks/0.s8cxri-_s9l.js +1 -0
  222. package/web/.next/static/chunks/{0nkujbu62z1jl.js → 012cnd7koqv6d.js} +1 -1
  223. package/web/.next/static/chunks/{0xzs6jdtkmbic.js → 01g-te343sxtc.js} +1 -1
  224. package/web/.next/static/chunks/{024vi1xxw5ccj.js → 05dq99wvihfwi.js} +1 -1
  225. package/web/.next/static/chunks/{0lwuepa24tqxy.js → 090gtsza1mtrd.js} +1 -1
  226. package/web/.next/static/chunks/{01zrwm.x3kpdo.js → 09h2zlstyosub.js} +1 -1
  227. package/web/.next/static/chunks/0inayq2zzadja.js +1 -0
  228. package/web/.next/static/chunks/0ko94op41qicn.js +1 -0
  229. package/web/.next/static/chunks/{09lcrhxslt-u8.js → 0kpksxtwl63iz.js} +1 -1
  230. package/web/.next/static/chunks/{0~4c6tnw7xnnl.js → 0lyqifogcd.ij.js} +1 -1
  231. package/web/.next/static/chunks/{0rb5cx51f5u8h.js → 0n30.8gk3k2.o.js} +1 -1
  232. package/web/.next/static/chunks/{0xo.hi4px83w2.js → 0nfd9bvcnbcgl.js} +1 -1
  233. package/web/.next/static/chunks/{0vq.b40jzhi7r.js → 0otq6yl_182dz.js} +3 -3
  234. package/web/.next/static/chunks/0ug478hm-8bog.js +5 -0
  235. package/web/.next/static/chunks/{043zp6fpfaz07.js → 0wspznee0_85_.js} +3 -3
  236. package/web/.next/static/chunks/{16jgc8hqxrp.u.js → 0ycq.dtttlbkt.js} +1 -1
  237. package/web/.next/static/chunks/{0dprl~vdhvhk7.js → 0zcsek9321fgg.js} +1 -1
  238. package/web/.next/static/chunks/10rtagfoabp3b.js +1 -0
  239. package/web/.next/static/chunks/182d0llxjxbzx.js +1 -0
  240. package/web/.next/server/chunks/ssr/_0kt18~b._.js.map +0 -1
  241. package/web/.next/server/chunks/ssr/_12uy.45._.js +0 -3
  242. package/web/.next/server/chunks/ssr/_12uy.45._.js.map +0 -1
  243. package/web/.next/static/chunks/0aq9-lg.5r.nk.js +0 -5
  244. package/web/.next/static/chunks/0jt5jzg88skg5.js +0 -1
  245. package/web/.next/static/chunks/0lz-oq74e_ciu.js +0 -1
  246. package/web/.next/static/chunks/0tdbctvrma.oi.js +0 -1
  247. package/web/.next/static/chunks/0wd.i4f822qoa.js +0 -1
  248. package/web/.next/static/chunks/13q1peb_t9vj8.js +0 -1
  249. /package/web/.next/static/{kDUolP-Zj2jCRleGJJGX0 → wv5eRhjSpKv_GUi67gN3a}/_buildManifest.js +0 -0
  250. /package/web/.next/static/{kDUolP-Zj2jCRleGJJGX0 → wv5eRhjSpKv_GUi67gN3a}/_clientMiddlewareManifest.js +0 -0
  251. /package/web/.next/static/{kDUolP-Zj2jCRleGJJGX0 → wv5eRhjSpKv_GUi67gN3a}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/presentation/web/components/ui/badge.tsx","../../../../../../../node_modules/.pnpm/lucide-react%401.7.0_react%4019.2.4/node_modules/lucide-react/src/icons/check.ts","../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-popover%401.1.15_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.14__%40types%2Brea_8b5332f8e883134e9d9ab2856fc4395d/node_modules/%40radix-ui/react-popover/dist/index.mjs","../../../../../../../src/presentation/web/components/ui/popover.tsx","../../../../../../../node_modules/.pnpm/lucide-react%401.7.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-up.ts","../../../../../../../src/presentation/web/components/features/settings/AgentModelPicker/index.tsx","../../../../../../../node_modules/.pnpm/lucide-react%401.7.0_react%4019.2.4/node_modules/lucide-react/src/icons/code.ts"],"sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst badgeVariants = cva(\n 'inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none',\n {\n variants: {\n variant: {\n default: 'border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80',\n secondary:\n 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80',\n outline: 'text-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return <div className={cn(badgeVariants({ variant }), className)} {...props} />;\n}\n\nexport { Badge, badgeVariants };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M20 6 9 17l-5-5', key: '1gmf2c' }]];\n\n/**\n * @component @name Check\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/check\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Check = createLucideIcon('check', __iconNode);\n\nexport default Check;\n","\"use client\";\n\n// src/popover.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover = (props) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: POPOVER_NAME\n });\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n PopoverProvider,\n {\n scope: __scopePopover,\n contentId: useId(),\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n hasCustomAnchor,\n onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n modal,\n children\n }\n ) });\n};\nPopover.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nPopoverAnchor.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME = \"PopoverTrigger\";\nvar PopoverTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });\n }\n);\nPopoverTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"PopoverPortal\";\nvar [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"PopoverContent\";\nvar PopoverContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nPopoverContent.displayName = CONTENT_NAME;\nvar Slot = createSlot(\"PopoverContent.RemoveScroll\");\nvar PopoverContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n ),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nvar PopoverContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar PopoverContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n useFocusGuards();\n return /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n \"data-state\": getState(context.open),\n role: \"dialog\",\n id: context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n )\n }\n );\n }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nPopoverArrow.displayName = ARROW_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Popover;\nvar Anchor2 = PopoverAnchor;\nvar Trigger = PopoverTrigger;\nvar Portal = PopoverPortal;\nvar Content2 = PopoverContent;\nvar Close = PopoverClose;\nvar Arrow2 = PopoverArrow;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n Close,\n Content2 as Content,\n Popover,\n PopoverAnchor,\n PopoverArrow,\n PopoverClose,\n PopoverContent,\n PopoverPortal,\n PopoverTrigger,\n Portal,\n Root2 as Root,\n Trigger,\n createPopoverScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as React from 'react';\nimport { Popover as PopoverPrimitive } from 'radix-ui';\n\nimport { cn } from '@/lib/utils';\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverAnchor = PopoverPrimitive.Anchor;\n\nconst PopoverContent = React.forwardRef<\n React.ComponentRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm18 15-6-6-6 6', key: '153udz' }]];\n\n/**\n * @component @name ChevronUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTggMTUtNi02LTYgNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chevron-up\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronUp = createLucideIcon('chevron-up', __iconNode);\n\nexport default ChevronUp;\n","'use client';\n\nimport * as React from 'react';\nimport { Check, ChevronLeft, ChevronRight } from 'lucide-react';\nimport { useTranslation } from 'react-i18next';\nimport { getAllAgentModels } from '@/app/actions/get-all-agent-models';\nimport type { AgentModelGroup } from '@/app/actions/get-all-agent-models';\nimport { updateAgentAndModel } from '@/app/actions/update-agent-and-model';\nimport { getAgentTypeIcon } from '@/components/common/feature-node/agent-type-icons';\nimport { getModelMeta } from '@/lib/model-metadata';\nimport { Badge } from '@/components/ui/badge';\nimport { Button } from '@/components/ui/button';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\nimport { cn } from '@/lib/utils';\n\nexport interface AgentModelPickerProps {\n initialAgentType: string;\n initialModel: string;\n onAgentModelChange?: (agentType: string, model: string) => void;\n disabled?: boolean;\n className?: string;\n /** 'settings' persists to DB; 'override' only calls onAgentModelChange */\n mode: 'settings' | 'override';\n}\n\nexport function AgentModelPicker({\n initialAgentType,\n initialModel,\n onAgentModelChange,\n disabled,\n className,\n mode,\n}: AgentModelPickerProps) {\n const { t } = useTranslation('web');\n const [open, setOpen] = React.useState(false);\n const [groups, setGroups] = React.useState<AgentModelGroup[]>([]);\n const [loading, setLoading] = React.useState(true);\n const [agentType, setAgentType] = React.useState(initialAgentType);\n const [model, setModel] = React.useState(initialModel);\n const [error, setError] = React.useState<string | null>(null);\n\n // 0 = agent list visible, 1 = model list visible\n const [level, setLevel] = React.useState(0);\n // Which agent's models to show (kept separate from level for animation)\n const [drillAgent, setDrillAgent] = React.useState<string | null>(null);\n\n React.useEffect(() => {\n getAllAgentModels()\n .then(setGroups)\n .finally(() => setLoading(false));\n }, []);\n\n // Reset drill-down when popover closes\n React.useEffect(() => {\n if (!open) {\n const t = setTimeout(() => {\n setLevel(0);\n setDrillAgent(null);\n }, 150);\n return () => clearTimeout(t);\n }\n }, [open]);\n\n const drillInto = (agent: string) => {\n setDrillAgent(agent);\n requestAnimationFrame(() => {\n requestAnimationFrame(() => setLevel(1));\n });\n };\n\n const drillBack = () => {\n setLevel(0);\n setTimeout(() => setDrillAgent(null), 220);\n };\n\n const handleSelect = async (newAgentType: string, newModel: string) => {\n setOpen(false);\n\n if (newAgentType === agentType && newModel === model) return;\n\n if (mode === 'override') {\n setAgentType(newAgentType);\n setModel(newModel);\n onAgentModelChange?.(newAgentType, newModel);\n return;\n }\n\n // mode === 'settings' — optimistically update, then persist\n const prevAgent = agentType;\n const prevModel = model;\n setAgentType(newAgentType);\n setModel(newModel);\n onAgentModelChange?.(newAgentType, newModel);\n\n setError(null);\n try {\n const result = await updateAgentAndModel(newAgentType, newModel || null);\n if (!result.ok) {\n // Revert on failure\n setAgentType(prevAgent);\n setModel(prevModel);\n onAgentModelChange?.(prevAgent, prevModel);\n setError(result.error ?? 'Failed to save');\n }\n } catch {\n setAgentType(prevAgent);\n setModel(prevModel);\n onAgentModelChange?.(prevAgent, prevModel);\n setError('Failed to save');\n }\n };\n\n const isDisabled = (disabled ?? false) || loading;\n\n const AgentIcon = getAgentTypeIcon(agentType);\n const agentLabel = groups.find((g) => g.agentType === agentType)?.label ?? agentType;\n const modelName = model ? getModelMeta(model).displayName || model : null;\n\n const activeGroup = drillAgent ? groups.find((g) => g.agentType === drillAgent) : null;\n\n return (\n <div className={cn('flex flex-col gap-1', className)}>\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n type=\"button\"\n variant=\"outline\"\n role=\"combobox\"\n aria-expanded={open}\n aria-invalid={!!error}\n aria-describedby={error ? 'agent-model-picker-error' : undefined}\n disabled={isDisabled}\n className=\"w-auto cursor-pointer justify-start font-normal hover:border-violet-300 hover:bg-violet-50/50 dark:hover:border-violet-700 dark:hover:bg-violet-950/30\"\n >\n <span className=\"flex items-center gap-2 truncate\">\n <AgentIcon className=\"h-4 w-4 shrink-0\" />\n {loading ? (\n 'Loading…'\n ) : (\n <span className=\"flex items-center gap-1\">\n <span className=\"text-muted-foreground text-xs\">{agentLabel}</span>\n {modelName ? (\n <>\n <span className=\"text-muted-foreground/50 text-xs\">·</span>\n <span className=\"text-xs font-medium\">{modelName}</span>\n </>\n ) : null}\n </span>\n )}\n </span>\n </Button>\n </PopoverTrigger>\n <PopoverContent\n className=\"z-[70] w-(--radix-popover-trigger-width) overflow-hidden p-0\"\n align=\"start\"\n >\n {/* Sliding container — both panels side by side, translateX controlled by level */}\n <div\n className=\"flex transition-transform duration-200 ease-in-out\"\n style={{ transform: `translateX(${level === 1 ? '-50%' : '0%'})`, width: '200%' }}\n >\n {/* ── Level 1: Agent list ── */}\n <div className=\"w-1/2 shrink-0\">\n <div className=\"text-muted-foreground border-b px-3 py-2 text-xs font-medium\">\n Select agent\n </div>\n {groups.map((group) => {\n const GroupIcon = getAgentTypeIcon(group.agentType);\n const isActive = agentType === group.agentType;\n const hasModels = group.models.length > 0;\n\n return (\n <button\n key={group.agentType}\n type=\"button\"\n disabled={!group.installed}\n className={cn(\n 'flex w-full items-center gap-2.5 px-3 py-2 text-xs transition-colors',\n group.installed\n ? 'hover:bg-accent hover:text-accent-foreground cursor-pointer'\n : 'cursor-not-allowed opacity-60',\n isActive && 'bg-accent/50'\n )}\n onClick={() => {\n if (!group.installed) return;\n if (hasModels) {\n drillInto(group.agentType);\n } else {\n handleSelect(group.agentType, '');\n }\n }}\n >\n <GroupIcon className=\"h-4 w-4 shrink-0\" />\n <span className=\"flex-1 text-start\">{group.label}</span>\n <Badge\n variant=\"outline\"\n className={cn(\n 'px-1.5 py-0 text-[10px] leading-4 font-normal',\n group.installed\n ? 'border-emerald-500/30 text-emerald-500'\n : 'border-muted-foreground/30 text-muted-foreground'\n )}\n >\n {group.installed\n ? t('settings.environment.installed')\n : t('settings.environment.notInstalled')}\n </Badge>\n {isActive && !hasModels ? (\n <Check className=\"text-primary h-3.5 w-3.5 shrink-0\" />\n ) : null}\n {hasModels && group.installed ? (\n <ChevronRight className=\"text-muted-foreground h-3.5 w-3.5 shrink-0\" />\n ) : null}\n </button>\n );\n })}\n </div>\n\n {/* ── Level 2: Model list for selected agent ── */}\n <div className=\"w-1/2 shrink-0\">\n {activeGroup ? (\n <>\n {/* Back header */}\n <button\n type=\"button\"\n className=\"text-muted-foreground hover:text-foreground flex w-full cursor-pointer items-center gap-1.5 border-b px-3 py-2 text-xs font-medium transition-colors\"\n onClick={drillBack}\n >\n <ChevronLeft className=\"h-3.5 w-3.5\" />\n {activeGroup.label}\n </button>\n\n {/* Model items */}\n {activeGroup.models.map((m) => {\n const isSelected = agentType === activeGroup.agentType && model === m.id;\n return (\n <button\n key={m.id}\n type=\"button\"\n className={cn(\n 'flex w-full cursor-pointer items-center gap-3 px-3 py-2 text-start transition-colors',\n 'hover:bg-accent hover:text-accent-foreground',\n isSelected && 'bg-accent/50'\n )}\n onClick={() => handleSelect(activeGroup.agentType, m.id)}\n >\n <div className=\"flex min-w-0 flex-1 flex-col\">\n <span className=\"text-xs font-medium\">{m.displayName}</span>\n <span className=\"text-muted-foreground text-xs\">{m.description}</span>\n </div>\n {isSelected ? (\n <Check className=\"text-primary h-3.5 w-3.5 shrink-0\" />\n ) : null}\n </button>\n );\n })}\n </>\n ) : null}\n </div>\n </div>\n </PopoverContent>\n </Popover>\n {Boolean(error) && (\n <p id=\"agent-model-picker-error\" className=\"text-destructive text-sm\" role=\"alert\">\n {error}\n </p>\n )}\n </div>\n );\n}\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'm16 18 6-6-6-6', key: 'eg8j8' }],\n ['path', { d: 'm8 6-6 6 6 6', key: 'ppft3o' }],\n];\n\n/**\n * @component @name Code\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgMTggNi02LTYtNiIgLz4KICA8cGF0aCBkPSJtOCA2LTYgNiA2IDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/code\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Code = createLucideIcon('code', __iconNode);\n\nexport default Code;\n"],"names":["badgeVariants","variants","variant","default","secondary","destructive","outline","defaultVariants","Badge","className","props","POPOVER_NAME","createPopoverContext","createPopoverScope","usePopperScope","PopoverProvider","usePopoverContext","Popover","__scopePopover","children","open","openProp","defaultOpen","onOpenChange","modal","popperScope","triggerRef","hasCustomAnchor","setHasCustomAnchor","setOpen","prop","defaultProp","onChange","caller","scope","contentId","onOpenToggle","prevOpen","onCustomAnchorAdd","onCustomAnchorRemove","displayName","ANCHOR_NAME","PopoverAnchor","forwardedRef","anchorProps","context","ref","TRIGGER_NAME","PopoverTrigger","triggerProps","composedTriggerRef","trigger","button","type","getState","onClick","asChild","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","PopoverPortal","container","present","CONTENT_NAME","PopoverContent","portalContext","contentProps","PopoverContentModal","PopoverContentNonModal","Slot","contentRef","composedRefs","isRightClickOutsideRef","content","current","as","allowPinchZoom","PopoverContentImpl","trapFocus","disableOutsidePointerEvents","onCloseAutoFocus","event","preventDefault","focus","onPointerDownOutside","originalEvent","detail","ctrlLeftClick","ctrlKey","isRightClick","checkForDefaultPrevented","onFocusOutside","hasInteractedOutsideRef","hasPointerDownOutsideRef","defaultPrevented","onInteractOutside","target","targetIsTrigger","contains","onOpenAutoFocus","onEscapeKeyDown","loop","trapped","onMountAutoFocus","onUnmountAutoFocus","onDismiss","role","id","style","CLOSE_NAME","PopoverClose","closeProps","ARROW_NAME","PopoverArrow","arrowProps","Root2","Anchor2","Trigger","Portal","Content2","Close","Arrow2","AgentModelPicker","initialAgentType","initialModel","onAgentModelChange","disabled","mode","t","groups","setGroups","loading","setLoading","agentType","setAgentType","model","setModel","error","setError","level","setLevel","drillAgent","setDrillAgent","then","finally","setTimeout","clearTimeout","drillInto","agent","requestAnimationFrame","drillBack","handleSelect","newAgentType","newModel","prevAgent","prevModel","result","ok","isDisabled","AgentIcon","agentLabel","find","g","label","modelName","activeGroup","undefined","align","transform","width","map","group","GroupIcon","isActive","hasModels","models","length","installed","m","isSelected","description","Boolean"],"mappings":"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","ignoreList":[1,2,4]}
@@ -1,3 +0,0 @@
1
- module.exports=[54233,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"useMergedRef",{enumerable:!0,get:function(){return e}});let d=a.r(11321);function e(a,b){let c=(0,d.useRef)(null),e=(0,d.useRef)(null);return(0,d.useCallback)(d=>{if(null===d){let a=c.current;a&&(c.current=null,a());let b=e.current;b&&(e.current=null,b())}else a&&(c.current=f(a,d)),b&&(e.current=f(b,d))},[a,b])}function f(a,b){if("function"!=typeof a)return a.current=b,()=>{a.current=null};{let c=a(b);return"function"==typeof c?c:()=>a(null)}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},92527,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"warnOnce",{enumerable:!0,get:function(){return d}});let d=a=>{}},99760,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0});var e={getAssetToken:function(){return i},getAssetTokenQuery:function(){return j},getDeploymentId:function(){return g},getDeploymentIdQuery:function(){return h}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});function g(){return d}function h(a=!1){return d?`${a?"&":"?"}dpl=${d}`:""}function i(){return!1}function j(a=!1){return""}d=void 0},57769,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},14703,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},49369,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},51658,a=>{"use strict";let b=(0,a.i(97624).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.s(["default",0,b])},39388,a=>{"use strict";let b=(0,a.i(97624).default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);a.s(["default",0,b])},60382,94059,26190,a=>{"use strict";var b=a.i(59960);a.s(["LoaderCircleIcon",()=>b.default],60382);var c=a.i(51658);a.s(["DownloadIcon",()=>c.default],94059);let d=(0,a.i(97624).default)("sticky-note",[["path",{d:"M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z",key:"1dfntj"}],["path",{d:"M15 3v5a1 1 0 0 0 1 1h5",key:"6s6qgf"}]]);a.s(["StickyNoteIcon",0,d],26190)},79620,a=>{"use strict";var b=a.i(53083),c=a.i(85536);a.s(["Textarea",0,function({className:a,...d}){return(0,b.jsx)("textarea",{"data-slot":"textarea",className:(0,c.cn)("placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...d})}])},42360,75579,a=>{"use strict";var b=a.i(31078);a.s(["VisuallyHidden",0,b],42360);let c=(0,a.i(97624).default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);a.s(["FileIcon",0,c],75579)},55123,a=>{"use strict";let b=(0,a.i(97624).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);a.s(["default",0,b])},307,30931,a=>{"use strict";var b=a.i(53083),c=a.i(83695),d=a.i(60382),e=a.i(94059),f=a.i(26190),g=a.i(85536),h=a.i(45670),i=a.i(79620),j=a.i(82934),k=a.i(42360),l=a.i(75579),m=a.i(55123),m=m;let n=(0,a.i(97624).default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);var o=a.i(14068),o=o;a.i(18948);let p=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]),q=new Set([".ts",".tsx",".js",".jsx",".json",".yaml",".yml",".xml",".html",".css",".md"]);function r(a){if(0===a)return"0 B";let b=Math.floor(Math.log(a)/Math.log(1024));return`${(a/Math.pow(1024,b)).toFixed(+(0!==b))} ${["B","KB","MB","GB"][b]}`}let s=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]);function t(a,b){let c=new URLSearchParams({path:a,mimeType:b});return`/api/attachments/preview?${c.toString()}`}a.s(["AttachmentChip",0,function({name:a,size:u,mimeType:v,path:w,onRemove:x,loading:y=!1,disabled:z=!1,notes:A,onNotesChange:B}){let C,D,E=(C=a.lastIndexOf("."))>=0?a.slice(C).toLowerCase():"",F=p.has(E)?n:".pdf"===E?m.default:q.has(E)?o.default:l.FileIcon,G=".pdf"===E?"bg-red-50 text-red-600":p.has(E)?"bg-blue-50 text-blue-600":q.has(E)?"bg-emerald-50 text-emerald-600":"bg-gray-50 text-gray-600",H=(D=a.lastIndexOf("."))>=0&&s.has(a.slice(D).toLowerCase());if(y)return(0,b.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-md border",children:(0,b.jsx)(d.LoaderCircleIcon,{className:"text-muted-foreground h-5 w-5 animate-spin"})});if(H){let d=(0,b.jsxs)("button",{type:"button",className:"relative block cursor-pointer rounded-md",children:[(0,b.jsx)("img",{src:t(w,v),alt:a,title:a,className:"h-12 w-12 rounded-md border object-cover transition-opacity hover:opacity-80"}),A?(0,b.jsx)("span",{className:"ring-background absolute -right-1 -bottom-1 flex h-4 w-4 items-center justify-center rounded-full bg-amber-500 text-white shadow-sm ring-2",children:(0,b.jsx)(f.StickyNoteIcon,{className:"h-2.5 w-2.5"})}):null]});return(0,b.jsx)(j.TooltipProvider,{delayDuration:200,children:(0,b.jsxs)(h.Dialog,{children:[(0,b.jsxs)(j.Tooltip,{children:[(0,b.jsxs)("div",{className:"group relative",children:[(0,b.jsx)(j.TooltipTrigger,{asChild:!0,children:(0,b.jsx)(h.DialogTrigger,{asChild:!0,children:d})}),!z&&(0,b.jsx)("button",{type:"button",onClick:x,className:"absolute -top-1.5 -right-1.5 hidden h-5 w-5 cursor-pointer items-center justify-center rounded-full bg-black/70 text-white group-hover:flex","aria-label":`Remove ${a}`,children:(0,b.jsx)(c.X,{className:"h-3 w-3"})})]}),A?(0,b.jsx)(j.TooltipContent,{side:"bottom",className:"max-w-[220px] border border-amber-200 bg-amber-50 text-amber-950 dark:border-amber-800 dark:bg-amber-950 dark:text-amber-100",children:(0,b.jsx)("p",{className:"line-clamp-3 text-xs leading-snug",children:A})}):null]}),(0,b.jsxs)(h.DialogContent,{className:"max-w-3xl gap-0 overflow-hidden border-0 p-0 [&>button:last-child]:!cursor-pointer [&>button:last-child]:!rounded-full [&>button:last-child]:!bg-black/70 [&>button:last-child]:!p-1.5 [&>button:last-child]:!text-white [&>button:last-child]:!opacity-100 [&>button:last-child]:!shadow-lg [&>button:last-child]:!backdrop-blur-md [&>button:last-child]:hover:!bg-black/90",children:[(0,b.jsx)(k.VisuallyHidden.Root,{children:(0,b.jsxs)(h.DialogTitle,{children:["Preview: ",a]})}),(0,b.jsx)("div",{className:"relative bg-black/90",children:(0,b.jsx)("img",{src:t(w,v),alt:a,className:"h-auto max-h-[70vh] w-full object-contain"})}),(0,b.jsxs)("div",{className:"bg-background flex flex-col gap-2 px-4 py-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,b.jsx)("span",{className:"truncate text-sm font-medium",children:a}),(0,b.jsx)("span",{className:"text-muted-foreground text-xs",children:r(u)})]}),(0,b.jsx)("a",{href:t(w,v),download:a,className:"text-muted-foreground hover:text-foreground shrink-0 cursor-pointer rounded p-1.5 transition-colors","aria-label":`Download ${a}`,children:(0,b.jsx)(e.DownloadIcon,{className:"h-4 w-4"})})]}),B?(0,b.jsx)(i.Textarea,{placeholder:"Add notes about this image…",value:A??"",onChange:a=>B(a.target.value),rows:2,className:"resize-none text-sm","aria-label":"Image notes"}):A?(0,b.jsx)("p",{className:"text-muted-foreground text-sm",children:A}):null]})]})]})})}return(0,b.jsxs)("div",{className:"group relative flex items-center gap-2 rounded-full border py-1 ps-2 pe-3",children:[(0,b.jsx)("div",{className:(0,g.cn)("flex h-6 w-6 shrink-0 items-center justify-center rounded-full",G),children:(0,b.jsx)(F,{className:"h-3 w-3"})}),(0,b.jsx)("span",{className:"max-w-[120px] truncate text-sm",children:a}),(0,b.jsx)("span",{className:"text-muted-foreground text-xs",children:r(u)}),!z&&(0,b.jsx)("button",{type:"button",onClick:x,className:"absolute -top-1.5 -right-1.5 hidden h-5 w-5 cursor-pointer items-center justify-center rounded-full bg-black/70 text-white group-hover:flex","aria-label":`Remove ${a}`,children:(0,b.jsx)(c.X,{className:"h-3 w-3"})})]})}],30931),a.s([],307)}];
2
-
3
- //# sourceMappingURL=_12uy.45._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../node_modules/.pnpm/next%4016.2.2_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.59.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/client/use-merged-ref.ts","../../../../../../../node_modules/.pnpm/next%4016.2.2_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.59.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/shared/lib/utils/warn-once.ts","../../../../../../../node_modules/.pnpm/next%4016.2.2_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.59.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/shared/lib/deployment-id.ts","../../../../../../../node_modules/.pnpm/next%4016.2.2_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.59.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/shared/lib/segment.ts","../../../../../../../node_modules/.pnpm/next%4016.2.2_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.59.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/shared/lib/invariant-error.ts","../../../../../../../node_modules/.pnpm/next%4016.2.2_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.59.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/shared/lib/promise-with-resolvers.ts","../../../../../../../node_modules/.pnpm/lucide-react%401.7.0_react%4019.2.4/node_modules/lucide-react/src/icons/download.ts","../../../../../../../node_modules/.pnpm/lucide-react%401.7.0_react%4019.2.4/node_modules/lucide-react/src/icons/paperclip.ts","../../../../../../../node_modules/.pnpm/lucide-react%401.7.0_react%4019.2.4/node_modules/lucide-react/src/icons/sticky-note.ts","../../../../../../../src/presentation/web/components/ui/textarea.tsx","../../../../../../../node_modules/.pnpm/lucide-react%401.7.0_react%4019.2.4/node_modules/lucide-react/src/icons/file.ts","../../../../../../../node_modules/.pnpm/lucide-react%401.7.0_react%4019.2.4/node_modules/lucide-react/src/icons/file-text.ts","../../../../../../../src/presentation/web/components/common/attachment-chip/attachment-chip.tsx","../../../../../../../src/presentation/web/components/common/attachment-card/attachment-card.tsx","../../../../../../../node_modules/.pnpm/lucide-react%401.7.0_react%4019.2.4/node_modules/lucide-react/src/icons/image.ts"],"sourcesContent":["import { useCallback, useRef, type Ref } from 'react'\n\n// This is a compatibility hook to support React 18 and 19 refs.\n// In 19, a cleanup function from refs may be returned.\n// In 18, returning a cleanup function creates a warning.\n// Since we take userspace refs, we don't know ahead of time if a cleanup function will be returned.\n// This implements cleanup functions with the old behavior in 18.\n// We know refs are always called alternating with `null` and then `T`.\n// So a call with `null` means we need to call the previous cleanup functions.\nexport function useMergedRef<TElement>(\n refA: Ref<TElement>,\n refB: Ref<TElement>\n): Ref<TElement> {\n const cleanupA = useRef<(() => void) | null>(null)\n const cleanupB = useRef<(() => void) | null>(null)\n\n // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.\n // (this happens often if the user doesn't pass a ref to Link/Form/Image)\n // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),\n // and the user might pass that ref into ref-merging library that doesn't support cleanup refs\n // (because it hasn't been updated for React 19)\n // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.\n // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.\n return useCallback(\n (current: TElement | null): void => {\n if (current === null) {\n const cleanupFnA = cleanupA.current\n if (cleanupFnA) {\n cleanupA.current = null\n cleanupFnA()\n }\n const cleanupFnB = cleanupB.current\n if (cleanupFnB) {\n cleanupB.current = null\n cleanupFnB()\n }\n } else {\n if (refA) {\n cleanupA.current = applyRef(refA, current)\n }\n if (refB) {\n cleanupB.current = applyRef(refB, current)\n }\n }\n },\n [refA, refB]\n )\n}\n\nfunction applyRef<TElement>(\n refA: NonNullable<Ref<TElement>>,\n current: TElement\n) {\n if (typeof refA === 'function') {\n const cleanup = refA(current)\n if (typeof cleanup === 'function') {\n return cleanup\n } else {\n return () => refA(null)\n }\n } else {\n refA.current = current\n return () => {\n refA.current = null\n }\n }\n}\n","let warnOnce = (_: string) => {}\nif (process.env.NODE_ENV !== 'production') {\n const warnings = new Set<string>()\n warnOnce = (msg: string) => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\nexport { warnOnce }\n","let deploymentId: string | undefined\n\nif (typeof window !== 'undefined') {\n deploymentId = document.documentElement.dataset.dplId\n // Immediately remove the attribute to prevent hydration errors (the dplId was inserted into the\n // HTML only), React isn't aware of it at all.\n delete document.documentElement.dataset.dplId\n} else {\n // Client side: replaced with globalThis.NEXT_DEPLOYMENT_ID\n // Server side: left as is or replaced with a string or replaced with false\n deploymentId = process.env.NEXT_DEPLOYMENT_ID || undefined\n}\n\nexport function getDeploymentId(): string | undefined {\n return deploymentId\n}\n\nexport function getDeploymentIdQuery(ampersand = false): string {\n let id = getDeploymentId()\n if (id) {\n return `${ampersand ? '&' : '?'}dpl=${id}`\n }\n return ''\n}\n\nexport function getAssetToken(): string | undefined {\n return (\n process.env.NEXT_IMMUTABLE_ASSET_TOKEN || process.env.NEXT_DEPLOYMENT_ID\n )\n}\n\nexport function getAssetTokenQuery(ampersand = false): string {\n let id = getAssetToken()\n if (id) {\n return `${ampersand ? '&' : '?'}dpl=${id}`\n }\n return ''\n}\n","import type { FlightRouterState, Segment } from './app-router-types'\n\nexport function getSegmentValue(segment: Segment) {\n return Array.isArray(segment) ? segment[1] : segment\n}\n\nexport function isGroupSegment(segment: string) {\n // Use array[0] for performant purpose\n return segment[0] === '(' && segment.endsWith(')')\n}\n\nexport function isParallelRouteSegment(segment: string) {\n return segment.startsWith('@') && segment !== '@children'\n}\n\nexport function addSearchParamsIfPageSegment(\n segment: Segment,\n searchParams: Record<string, string | string[] | undefined>\n) {\n const isPageSegment = segment.includes(PAGE_SEGMENT_KEY)\n\n if (isPageSegment) {\n const stringifiedQuery = JSON.stringify(searchParams)\n return stringifiedQuery !== '{}'\n ? PAGE_SEGMENT_KEY + '?' + stringifiedQuery\n : PAGE_SEGMENT_KEY\n }\n\n return segment\n}\n\nexport function computeSelectedLayoutSegment(\n segments: string[] | null,\n parallelRouteKey: string\n): string | null {\n if (!segments || segments.length === 0) {\n return null\n }\n\n // For 'children', use first segment; for other parallel routes, use last segment\n const rawSegment =\n parallelRouteKey === 'children'\n ? segments[0]\n : segments[segments.length - 1]\n\n // If the default slot is showing, return null since it's not technically \"selected\" (it's a fallback)\n // Returning an internal value like `__DEFAULT__` would be confusing\n return rawSegment === DEFAULT_SEGMENT_KEY ? null : rawSegment\n}\n\n/** Get the canonical parameters from the current level to the leaf node. */\nexport function getSelectedLayoutSegmentPath(\n tree: FlightRouterState,\n parallelRouteKey: string,\n first = true,\n segmentPath: string[] = []\n): string[] {\n let node: FlightRouterState\n if (first) {\n // Use the provided parallel route key on the first parallel route\n node = tree[1][parallelRouteKey]\n } else {\n // After first parallel route prefer children, if there's no children pick the first parallel route.\n const parallelRoutes = tree[1]\n node = parallelRoutes.children ?? Object.values(parallelRoutes)[0]\n }\n\n if (!node) return segmentPath\n const segment = node[0]\n\n let segmentValue = getSegmentValue(segment)\n\n if (!segmentValue || segmentValue.startsWith(PAGE_SEGMENT_KEY)) {\n return segmentPath\n }\n\n segmentPath.push(segmentValue)\n\n return getSelectedLayoutSegmentPath(\n node,\n parallelRouteKey,\n false,\n segmentPath\n )\n}\n\nexport const PAGE_SEGMENT_KEY = '__PAGE__'\nexport const DEFAULT_SEGMENT_KEY = '__DEFAULT__'\nexport const NOT_FOUND_SEGMENT_KEY = '/_not-found'\n","export class InvariantError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(\n `Invariant: ${message.endsWith('.') ? message : message + '.'} This is a bug in Next.js.`,\n options\n )\n this.name = 'InvariantError'\n }\n}\n","export function createPromiseWithResolvers<T>(): PromiseWithResolvers<T> {\n // Shim of Stage 4 Promise.withResolvers proposal\n let resolve: (value: T | PromiseLike<T>) => void\n let reject: (reason: any) => void\n const promise = new Promise<T>((res, rej) => {\n resolve = res\n reject = rej\n })\n return { resolve: resolve!, reject: reject!, promise }\n}\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M12 15V3', key: 'm9g1x1' }],\n ['path', { d: 'M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4', key: 'ih7n3h' }],\n ['path', { d: 'm7 10 5 5 5-5', key: 'brsn70' }],\n];\n\n/**\n * @component @name Download\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTVWMyIgLz4KICA8cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCIgLz4KICA8cGF0aCBkPSJtNyAxMCA1IDUgNS01IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/download\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Download = createLucideIcon('download', __iconNode);\n\nexport default Download;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'm16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551',\n key: '1miecu',\n },\n ],\n];\n\n/**\n * @component @name Paperclip\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgNi04LjQxNCA4LjU4NmEyIDIgMCAwIDAgMi44MjkgMi44MjlsOC40MTQtOC41ODZhNCA0IDAgMSAwLTUuNjU3LTUuNjU3bC04LjM3OSA4LjU1MWE2IDYgMCAxIDAgOC40ODUgOC40ODVsOC4zNzktOC41NTEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/paperclip\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Paperclip = createLucideIcon('paperclip', __iconNode);\n\nexport default Paperclip;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z',\n key: '1dfntj',\n },\n ],\n ['path', { d: 'M15 3v5a1 1 0 0 0 1 1h5', key: '6s6qgf' }],\n];\n\n/**\n * @component @name StickyNote\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgOWEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTUgM0g1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0yeiIgLz4KICA8cGF0aCBkPSJNMTUgM3Y1YTEgMSAwIDAgMCAxIDFoNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/sticky-note\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst StickyNote = createLucideIcon('sticky-note', __iconNode);\n\nexport default StickyNote;\n","import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Textarea({ className, ...props }: React.ComponentProps<'textarea'>) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n 'placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Textarea };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n key: '1oefj6',\n },\n ],\n ['path', { d: 'M14 2v5a1 1 0 0 0 1 1h5', key: 'wfsgrz' }],\n];\n\n/**\n * @component @name File\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst File = createLucideIcon('file', __iconNode);\n\nexport default File;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n key: '1oefj6',\n },\n ],\n ['path', { d: 'M14 2v5a1 1 0 0 0 1 1h5', key: 'wfsgrz' }],\n ['path', { d: 'M10 9H8', key: 'b1mrlr' }],\n ['path', { d: 'M16 13H8', key: 't4e002' }],\n ['path', { d: 'M16 17H8', key: 'z1uh3a' }],\n];\n\n/**\n * @component @name FileText\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNMTAgOUg4IiAvPgogIDxwYXRoIGQ9Ik0xNiAxM0g4IiAvPgogIDxwYXRoIGQ9Ik0xNiAxN0g4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/file-text\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst FileText = createLucideIcon('file-text', __iconNode);\n\nexport default FileText;\n","/* eslint-disable @next/next/no-img-element -- Local file preview requires raw <img>, not next/image */\n'use client';\n\nimport { X, LoaderCircleIcon, DownloadIcon, StickyNoteIcon } from 'lucide-react';\nimport { cn } from '@/lib/utils';\nimport { Dialog, DialogTrigger, DialogContent, DialogTitle } from '@/components/ui/dialog';\nimport { Textarea } from '@/components/ui/textarea';\nimport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from '@/components/ui/tooltip';\nimport { VisuallyHidden } from 'radix-ui';\nimport {\n formatFileSize,\n getFileIcon,\n getFileIconColor,\n} from '@/components/common/attachment-card/attachment-card';\n\nexport interface AttachmentChipProps {\n name: string;\n size: number;\n mimeType: string;\n path: string;\n onRemove: () => void;\n loading?: boolean;\n disabled?: boolean;\n /** Optional notes attached to this image */\n notes?: string;\n /** Callback when user edits notes in the preview modal */\n onNotesChange?: (notes: string) => void;\n}\n\nconst IMAGE_EXTS = new Set(['.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp', '.ico', '.bmp']);\n\nfunction isImage(name: string): boolean {\n const dot = name.lastIndexOf('.');\n return dot >= 0 && IMAGE_EXTS.has(name.slice(dot).toLowerCase());\n}\n\nfunction previewUrl(path: string, mimeType: string): string {\n const params = new URLSearchParams({ path, mimeType });\n return `/api/attachments/preview?${params.toString()}`;\n}\n\nfunction getExtension(filename: string): string {\n const dot = filename.lastIndexOf('.');\n return dot >= 0 ? filename.slice(dot).toLowerCase() : '';\n}\n\nexport function AttachmentChip({\n name,\n size,\n mimeType,\n path,\n onRemove,\n loading = false,\n disabled = false,\n notes,\n onNotesChange,\n}: AttachmentChipProps) {\n const ext = getExtension(name);\n const Icon = getFileIcon(ext);\n const iconColorClass = getFileIconColor(ext);\n const imageFile = isImage(name);\n\n if (loading) {\n return (\n <div className=\"flex h-12 w-12 items-center justify-center rounded-md border\">\n <LoaderCircleIcon className=\"text-muted-foreground h-5 w-5 animate-spin\" />\n </div>\n );\n }\n\n if (imageFile) {\n const thumbnail = (\n <button type=\"button\" className=\"relative block cursor-pointer rounded-md\">\n <img\n src={previewUrl(path, mimeType)}\n alt={name}\n title={name}\n className=\"h-12 w-12 rounded-md border object-cover transition-opacity hover:opacity-80\"\n />\n {notes ? (\n <span className=\"ring-background absolute -right-1 -bottom-1 flex h-4 w-4 items-center justify-center rounded-full bg-amber-500 text-white shadow-sm ring-2\">\n <StickyNoteIcon className=\"h-2.5 w-2.5\" />\n </span>\n ) : null}\n </button>\n );\n\n return (\n <TooltipProvider delayDuration={200}>\n <Dialog>\n <Tooltip>\n <div className=\"group relative\">\n <TooltipTrigger asChild>\n <DialogTrigger asChild>{thumbnail}</DialogTrigger>\n </TooltipTrigger>\n {!disabled && (\n <button\n type=\"button\"\n onClick={onRemove}\n className=\"absolute -top-1.5 -right-1.5 hidden h-5 w-5 cursor-pointer items-center justify-center rounded-full bg-black/70 text-white group-hover:flex\"\n aria-label={`Remove ${name}`}\n >\n <X className=\"h-3 w-3\" />\n </button>\n )}\n </div>\n {notes ? (\n <TooltipContent\n side=\"bottom\"\n className=\"max-w-[220px] border border-amber-200 bg-amber-50 text-amber-950 dark:border-amber-800 dark:bg-amber-950 dark:text-amber-100\"\n >\n <p className=\"line-clamp-3 text-xs leading-snug\">{notes}</p>\n </TooltipContent>\n ) : null}\n </Tooltip>\n <DialogContent className=\"max-w-3xl gap-0 overflow-hidden border-0 p-0 [&>button:last-child]:!cursor-pointer [&>button:last-child]:!rounded-full [&>button:last-child]:!bg-black/70 [&>button:last-child]:!p-1.5 [&>button:last-child]:!text-white [&>button:last-child]:!opacity-100 [&>button:last-child]:!shadow-lg [&>button:last-child]:!backdrop-blur-md [&>button:last-child]:hover:!bg-black/90\">\n <VisuallyHidden.Root>\n <DialogTitle>Preview: {name}</DialogTitle>\n </VisuallyHidden.Root>\n <div className=\"relative bg-black/90\">\n <img\n src={previewUrl(path, mimeType)}\n alt={name}\n className=\"h-auto max-h-[70vh] w-full object-contain\"\n />\n </div>\n <div className=\"bg-background flex flex-col gap-2 px-4 py-3\">\n <div className=\"flex items-center gap-3\">\n <div className=\"flex min-w-0 flex-1 flex-col\">\n <span className=\"truncate text-sm font-medium\">{name}</span>\n <span className=\"text-muted-foreground text-xs\">{formatFileSize(size)}</span>\n </div>\n <a\n href={previewUrl(path, mimeType)}\n download={name}\n className=\"text-muted-foreground hover:text-foreground shrink-0 cursor-pointer rounded p-1.5 transition-colors\"\n aria-label={`Download ${name}`}\n >\n <DownloadIcon className=\"h-4 w-4\" />\n </a>\n </div>\n {onNotesChange ? (\n <Textarea\n placeholder=\"Add notes about this image…\"\n value={notes ?? ''}\n onChange={(e) => onNotesChange(e.target.value)}\n rows={2}\n className=\"resize-none text-sm\"\n aria-label=\"Image notes\"\n />\n ) : notes ? (\n <p className=\"text-muted-foreground text-sm\">{notes}</p>\n ) : null}\n </div>\n </DialogContent>\n </Dialog>\n </TooltipProvider>\n );\n }\n\n return (\n <div className=\"group relative flex items-center gap-2 rounded-full border py-1 ps-2 pe-3\">\n <div\n className={cn(\n 'flex h-6 w-6 shrink-0 items-center justify-center rounded-full',\n iconColorClass\n )}\n >\n <Icon className=\"h-3 w-3\" />\n </div>\n <span className=\"max-w-[120px] truncate text-sm\">{name}</span>\n <span className=\"text-muted-foreground text-xs\">{formatFileSize(size)}</span>\n {!disabled && (\n <button\n type=\"button\"\n onClick={onRemove}\n className=\"absolute -top-1.5 -right-1.5 hidden h-5 w-5 cursor-pointer items-center justify-center rounded-full bg-black/70 text-white group-hover:flex\"\n aria-label={`Remove ${name}`}\n >\n <X className=\"h-3 w-3\" />\n </button>\n )}\n </div>\n );\n}\n","import type { LucideIcon } from 'lucide-react';\nimport {\n FileIcon,\n FileTextIcon,\n ImageIcon,\n CodeIcon,\n Trash2Icon,\n LoaderCircleIcon,\n} from 'lucide-react';\nimport { cn } from '@/lib/utils';\nimport { Button } from '@/components/ui/button';\n\nexport interface AttachmentCardProps {\n name: string;\n size: number;\n mimeType: string;\n onRemove: () => void;\n loading?: boolean;\n disabled?: boolean;\n /** Optional secondary text shown below the filename (e.g. file path). */\n subtitle?: string;\n}\n\nexport function AttachmentCard({\n name,\n size,\n mimeType: _mimeType,\n onRemove,\n loading = false,\n disabled = false,\n subtitle,\n}: AttachmentCardProps) {\n const ext = getExtension(name);\n const Icon = getFileIcon(ext);\n const iconColorClass = getFileIconColor(ext);\n\n return (\n <div className=\"flex items-center gap-3 rounded-md border p-2\">\n <div\n className={cn('flex h-8 w-8 shrink-0 items-center justify-center rounded', iconColorClass)}\n >\n <Icon className=\"h-4 w-4\" />\n </div>\n <div className=\"flex min-w-0 flex-1 flex-col\">\n <span className=\"truncate text-sm font-medium\">{name}</span>\n {subtitle ? (\n <span className=\"text-muted-foreground truncate text-xs\">{subtitle}</span>\n ) : null}\n <span className=\"text-muted-foreground text-xs\">\n {loading ? 'Uploading...' : formatFileSize(size)}\n </span>\n </div>\n {loading ? (\n <LoaderCircleIcon className=\"text-muted-foreground h-4 w-4 animate-spin\" />\n ) : (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-xs\"\n onClick={onRemove}\n disabled={disabled}\n aria-label={`Remove ${name}`}\n >\n <Trash2Icon className=\"h-3 w-3\" />\n </Button>\n )}\n </div>\n );\n}\n\nfunction getExtension(filename: string): string {\n const dot = filename.lastIndexOf('.');\n return dot >= 0 ? filename.slice(dot).toLowerCase() : '';\n}\n\nconst IMAGE_EXTS = new Set(['.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp', '.ico', '.bmp']);\nconst CODE_EXTS = new Set([\n '.ts',\n '.tsx',\n '.js',\n '.jsx',\n '.json',\n '.yaml',\n '.yml',\n '.xml',\n '.html',\n '.css',\n '.md',\n]);\n\nexport function getFileIcon(ext: string): LucideIcon {\n if (IMAGE_EXTS.has(ext)) return ImageIcon;\n if (ext === '.pdf') return FileTextIcon;\n if (CODE_EXTS.has(ext)) return CodeIcon;\n return FileIcon;\n}\n\nexport function getFileIconColor(ext: string): string {\n if (ext === '.pdf') return 'bg-red-50 text-red-600';\n if (IMAGE_EXTS.has(ext)) return 'bg-blue-50 text-blue-600';\n if (CODE_EXTS.has(ext)) return 'bg-emerald-50 text-emerald-600';\n return 'bg-gray-50 text-gray-600';\n}\n\nexport function formatFileSize(bytes: number): string {\n if (bytes === 0) return '0 B';\n const units = ['B', 'KB', 'MB', 'GB'];\n const i = Math.floor(Math.log(bytes) / Math.log(1024));\n return `${(bytes / Math.pow(1024, i)).toFixed(i === 0 ? 0 : 1)} ${units[i]}`;\n}\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['rect', { width: '18', height: '18', x: '3', y: '3', rx: '2', ry: '2', key: '1m3agn' }],\n ['circle', { cx: '9', cy: '9', r: '2', key: 'af1f0g' }],\n ['path', { d: 'm21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21', key: '1xmnt7' }],\n];\n\n/**\n * @component @name Image\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiByeT0iMiIgLz4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iOSIgcj0iMiIgLz4KICA8cGF0aCBkPSJtMjEgMTUtMy4wODYtMy4wODZhMiAyIDAgMCAwLTIuODI4IDBMNiAyMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/image\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Image = createLucideIcon('image', __iconNode);\n\nexport default Image;\n"],"names":["useMergedRef","refA","refB","cleanupA","useRef","cleanupB","useCallback","current","cleanupFnA","cleanupFnB","applyRef","cleanup","warnOnce","_","process","env","NODE_ENV","warnings","Set","msg","has","console","warn","add","getAssetToken","getAssetTokenQuery","getDeploymentId","getDeploymentIdQuery","deploymentId","window","document","documentElement","dataset","dplId","NEXT_DEPLOYMENT_ID","undefined","ampersand","id","NEXT_IMMUTABLE_ASSET_TOKEN","DEFAULT_SEGMENT_KEY","NOT_FOUND_SEGMENT_KEY","PAGE_SEGMENT_KEY","addSearchParamsIfPageSegment","computeSelectedLayoutSegment","getSegmentValue","getSelectedLayoutSegmentPath","isGroupSegment","isParallelRouteSegment","segment","Array","isArray","endsWith","startsWith","searchParams","isPageSegment","includes","stringifiedQuery","JSON","stringify","segments","parallelRouteKey","length","rawSegment","tree","first","segmentPath","node","parallelRoutes","children","Object","values","segmentValue","push","InvariantError","Error","constructor","message","options","name","createPromiseWithResolvers","resolve","reject","promise","Promise","res","rej","Textarea","className","props"],"mappings":"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","ignoreList":[0,1,2,3,4,5,8,10,14]}
@@ -1,5 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,75649,e=>{"use strict";var t=e.i(16539),r=e.i(96871),i=t.createContext(void 0),s=e=>{let{dir:t,children:s}=e;return(0,r.jsx)(i.Provider,{value:t,children:s})};e.s(["DirectionProvider",0,s,"Provider",0,s,"useDirection",0,function(e){let r=t.useContext(i);return e||r||"ltr"}])},87099,e=>{"use strict";var t=e.i(16539),r=e.i(9413),i=e.i(22353),s=e.i(60310),n=e.i(96871),a=new WeakMap;function o(e,t){var r,i;let s,n,a;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let o=(r=e,i=t,s=r.length,(a=(n=l(i))>=0?n:s+n)<0||a>=s?-1:a);return -1===o?void 0:e[o]}function l(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],a.set(this,!0)}set(e,t){return a.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let i,s=this.has(t),n=this.#e.length,a=l(e),o=a>=0?a:n+a,u=o<0||o>=n?-1:o;if(u===this.size||s&&u===this.size-1||-1===u)return this.set(t,r),this;let c=this.size+ +!s;a<0&&o++;let d=[...this.#e],h=!1;for(let e=o;e<c;e++)if(o===e){let n=d[e];d[e]===t&&(n=d[e+1]),s&&this.delete(t),i=this.get(n),this.set(t,r)}else{h||d[e-1]!==t||(h=!0);let r=d[h?e:e-1],s=i;i=this.get(r),this.delete(r),this.set(r,s)}return this}with(t,r,i){let s=new e(this);return s.insert(t,r,i),s}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let i=this.#e.indexOf(e);return -1===i?this:this.insert(i,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let i=this.#e.indexOf(e);return -1===i?this:this.insert(i+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=o(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=o(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return o(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let i=r+t;return i<0&&(i=0),i>=this.size&&(i=this.size-1),this.at(i)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let i=r+t;return i<0&&(i=0),i>=this.size&&(i=this.size-1),this.keyAt(i)}find(e,t){let r=0;for(let i of this){if(Reflect.apply(e,t,[i,r,this]))return i;r++}}findIndex(e,t){let r=0;for(let i of this){if(Reflect.apply(e,t,[i,r,this]))return r;r++}return -1}filter(t,r){let i=[],s=0;for(let e of this)Reflect.apply(t,r,[e,s,this])&&i.push(e),s++;return new e(i)}map(t,r){let i=[],s=0;for(let e of this)i.push([e[0],Reflect.apply(t,r,[e,s,this])]),s++;return new e(i)}reduce(...e){let[t,r]=e,i=0,s=r??this.at(0);for(let r of this)s=0===i&&1===e.length?r:Reflect.apply(t,this,[s,r,i,this]),i++;return s}reduceRight(...e){let[t,r]=e,i=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let s=this.at(r);i=r===this.size-1&&1===e.length?s:Reflect.apply(t,this,[i,s,r,this])}return i}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),i=this.get(r);t.set(r,i)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let i=new e,s=this.size-1;if(void 0===t)return i;t<0&&(t+=this.size),void 0!==r&&r>0&&(s=r-1);for(let e=t;e<=s;e++){let t=this.keyAt(e),r=this.get(t);i.set(t,r)}return i}every(e,t){let r=0;for(let i of this){if(!Reflect.apply(e,t,[i,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let i of this){if(Reflect.apply(e,t,[i,r,this]))return!0;r++}return!1}}),e.s(["createCollection",0,function(e){let a=e+"CollectionProvider",[o,l]=(0,r.createContextScope)(a),[u,c]=o(a,{collectionRef:{current:null},itemMap:new Map}),d=e=>{let{scope:r,children:i}=e,s=t.default.useRef(null),a=t.default.useRef(new Map).current;return(0,n.jsx)(u,{scope:r,itemMap:a,collectionRef:s,children:i})};d.displayName=a;let h=e+"CollectionSlot",f=(0,s.createSlot)(h),p=t.default.forwardRef((e,t)=>{let{scope:r,children:s}=e,a=c(h,r),o=(0,i.useComposedRefs)(t,a.collectionRef);return(0,n.jsx)(f,{ref:o,children:s})});p.displayName=h;let m=e+"CollectionItemSlot",v="data-radix-collection-item",y=(0,s.createSlot)(m),g=t.default.forwardRef((e,r)=>{let{scope:s,children:a,...o}=e,l=t.default.useRef(null),u=(0,i.useComposedRefs)(r,l),d=c(m,s);return t.default.useEffect(()=>(d.itemMap.set(l,{ref:l,...o}),()=>void d.itemMap.delete(l))),(0,n.jsx)(y,{...{[v]:""},ref:u,children:a})});return g.displayName=m,[{Provider:d,Slot:p,ItemSlot:g},function(r){let i=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=i.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${v}]`));return Array.from(i.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[i.collectionRef,i.itemMap])},l]}])},64794,e=>{"use strict";var t=e.i(16539),r=e.i(91967),i=e.i(87099),s=e.i(22353),n=e.i(9413),a=e.i(11207),o=e.i(85565),l=e.i(88248),u=e.i(36567),c=e.i(75649),d=e.i(96871),h="rovingFocusGroup.onEntryFocus",f={bubbles:!1,cancelable:!0},p="RovingFocusGroup",[m,v,y]=(0,i.createCollection)(p),[g,b]=(0,n.createContextScope)(p,[y]),[x,w]=g(p),R=t.forwardRef((e,t)=>(0,d.jsx)(m.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(m.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(C,{...e,ref:t})})}));R.displayName=p;var C=t.forwardRef((e,i)=>{let{__scopeRovingFocusGroup:n,orientation:a,loop:m=!1,dir:y,currentTabStopId:g,defaultCurrentTabStopId:b,onCurrentTabStopIdChange:w,onEntryFocus:R,preventScrollOnEntryFocus:C=!1,...S}=e,j=t.useRef(null),k=(0,s.useComposedRefs)(i,j),D=(0,c.useDirection)(y),[I,O]=(0,u.useControllableState)({prop:g,defaultProp:b??null,onChange:w,caller:p}),[E,F]=t.useState(!1),M=(0,l.useCallbackRef)(R),N=v(n),P=t.useRef(!1),[A,Q]=t.useState(0);return t.useEffect(()=>{let e=j.current;if(e)return e.addEventListener(h,M),()=>e.removeEventListener(h,M)},[M]),(0,d.jsx)(x,{scope:n,orientation:a,dir:D,loop:m,currentTabStopId:I,onItemFocus:t.useCallback(e=>O(e),[O]),onItemShiftTab:t.useCallback(()=>F(!0),[]),onFocusableItemAdd:t.useCallback(()=>Q(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>Q(e=>e-1),[]),children:(0,d.jsx)(o.Primitive.div,{tabIndex:E||0===A?-1:0,"data-orientation":a,...S,ref:k,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{P.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!P.current;if(e.target===e.currentTarget&&t&&!E){let t=new CustomEvent(h,f);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=N().filter(e=>e.focusable);T([e.find(e=>e.active),e.find(e=>e.id===I),...e].filter(Boolean).map(e=>e.ref.current),C)}}P.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>F(!1))})})}),S="RovingFocusGroupItem",j=t.forwardRef((e,i)=>{let{__scopeRovingFocusGroup:s,focusable:n=!0,active:l=!1,tabStopId:u,children:c,...h}=e,f=(0,a.useId)(),p=u||f,y=w(S,s),g=y.currentTabStopId===p,b=v(s),{onFocusableItemAdd:x,onFocusableItemRemove:R,currentTabStopId:C}=y;return t.useEffect(()=>{if(n)return x(),()=>R()},[n,x,R]),(0,d.jsx)(m.ItemSlot,{scope:s,id:p,focusable:n,active:l,children:(0,d.jsx)(o.Primitive.span,{tabIndex:g?0:-1,"data-orientation":y.orientation,...h,ref:i,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{n?y.onItemFocus(p):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>y.onItemFocus(p)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void y.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var i;let s=(i=e.key,"rtl"!==r?i:"ArrowLeft"===i?"ArrowRight":"ArrowRight"===i?"ArrowLeft":i);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(s))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(s)))return k[s]}(e,y.orientation,y.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let s=b().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)s.reverse();else if("prev"===t||"next"===t){var r,i;"prev"===t&&s.reverse();let n=s.indexOf(e.currentTarget);s=y.loop?(r=s,i=n+1,r.map((e,t)=>r[(i+t)%r.length])):s.slice(n+1)}setTimeout(()=>T(s))}}),children:"function"==typeof c?c({isCurrentTabStop:g,hasTabStop:null!=C}):c})})});j.displayName=S;var k={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function T(e,t=!1){let r=document.activeElement;for(let i of e)if(i===r||(i.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",0,j,"Root",0,R,"createRovingFocusGroupScope",0,b])},68304,e=>{"use strict";var t=e.i(96871),r=e.i(16539),i=e.i(91967),s=e.i(9413),n=e.i(64794),a=e.i(90816),o=e.i(85565),l=e.i(75649),u=e.i(36567),c=e.i(11207),d="Tabs",[h,f]=(0,s.createContextScope)(d,[n.createRovingFocusGroupScope]),p=(0,n.createRovingFocusGroupScope)(),[m,v]=h(d),y=r.forwardRef((e,r)=>{let{__scopeTabs:i,value:s,onValueChange:n,defaultValue:a,orientation:h="horizontal",dir:f,activationMode:p="automatic",...v}=e,y=(0,l.useDirection)(f),[g,b]=(0,u.useControllableState)({prop:s,onChange:n,defaultProp:a??"",caller:d});return(0,t.jsx)(m,{scope:i,baseId:(0,c.useId)(),value:g,onValueChange:b,orientation:h,dir:y,activationMode:p,children:(0,t.jsx)(o.Primitive.div,{dir:y,"data-orientation":h,...v,ref:r})})});y.displayName=d;var g="TabsList",b=r.forwardRef((e,r)=>{let{__scopeTabs:i,loop:s=!0,...a}=e,l=v(g,i),u=p(i);return(0,t.jsx)(n.Root,{asChild:!0,...u,orientation:l.orientation,dir:l.dir,loop:s,children:(0,t.jsx)(o.Primitive.div,{role:"tablist","aria-orientation":l.orientation,...a,ref:r})})});b.displayName=g;var x="TabsTrigger",w=r.forwardRef((e,r)=>{let{__scopeTabs:s,value:a,disabled:l=!1,...u}=e,c=v(x,s),d=p(s),h=S(c.baseId,a),f=j(c.baseId,a),m=a===c.value;return(0,t.jsx)(n.Item,{asChild:!0,...d,focusable:!l,active:m,children:(0,t.jsx)(o.Primitive.button,{type:"button",role:"tab","aria-selected":m,"aria-controls":f,"data-state":m?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:h,...u,ref:r,onMouseDown:(0,i.composeEventHandlers)(e.onMouseDown,e=>{l||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(a)}),onKeyDown:(0,i.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(a)}),onFocus:(0,i.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;m||l||!e||c.onValueChange(a)})})})});w.displayName=x;var R="TabsContent",C=r.forwardRef((e,i)=>{let{__scopeTabs:s,value:n,forceMount:l,children:u,...c}=e,d=v(R,s),h=S(d.baseId,n),f=j(d.baseId,n),p=n===d.value,m=r.useRef(p);return r.useEffect(()=>{let e=requestAnimationFrame(()=>m.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(a.Presence,{present:l||p,children:({present:r})=>(0,t.jsx)(o.Primitive.div,{"data-state":p?"active":"inactive","data-orientation":d.orientation,role:"tabpanel","aria-labelledby":h,hidden:!r,id:f,tabIndex:0,...c,ref:i,style:{...e.style,animationDuration:m.current?"0s":void 0},children:r&&u})})});function S(e,t){return`${e}-trigger-${t}`}function j(e,t){return`${e}-content-${t}`}C.displayName=R,e.s(["Content",0,C,"List",0,b,"Root",0,y,"Tabs",0,y,"TabsContent",0,C,"TabsList",0,b,"TabsTrigger",0,w,"Trigger",0,w,"createTabsScope",0,f],66751);var k=e.i(66751),k=k,T=e.i(31777);let D=k.Root,I=r.forwardRef(({className:e,...r},i)=>(0,t.jsx)(k.List,{ref:i,className:(0,T.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...r}));I.displayName=k.List.displayName;let O=r.forwardRef(({className:e,...r},i)=>(0,t.jsx)(k.Trigger,{ref:i,className:(0,T.cn)("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow",e),...r}));O.displayName=k.Trigger.displayName;let E=r.forwardRef(({className:e,...r},i)=>(0,t.jsx)(k.Content,{ref:i,className:(0,T.cn)("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",e),...r}));E.displayName=k.Content.displayName,e.s(["Tabs",0,D,"TabsContent",0,E,"TabsList",0,I,"TabsTrigger",0,O],68304)},51818,e=>{"use strict";let t=(0,e.i(54864).default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);e.s(["Bot",0,t],51818)},25235,e=>{"use strict";var t=e.i(96871),r=e.i(16539),i=e.i(85565),s="horizontal",n=["horizontal","vertical"],a=r.forwardRef((e,r)=>{var a;let{decorative:o,orientation:l=s,...u}=e,c=(a=l,n.includes(a))?l:s;return(0,t.jsx)(i.Primitive.div,{"data-orientation":c,...o?{role:"none"}:{"aria-orientation":"vertical"===c?c:void 0,role:"separator"},...u,ref:r})});a.displayName="Separator",e.s(["Root",0,a,"Separator",0,a],72826);var o=e.i(72826),o=o,l=e.i(31777);e.s(["Separator",0,function({className:e,orientation:r="horizontal",decorative:i=!0,...s}){return(0,t.jsx)(o.Root,{"data-slot":"separator",decorative:i,orientation:r,className:(0,l.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...s})}],25235)},93026,e=>{"use strict";let t=(0,e.i(54864).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["default",0,t])},8558,e=>{"use strict";var t=e.i(93026);e.s(["XIcon",()=>t.default])},94983,e=>{"use strict";var t=e.i(16539),r=e.i(91967),i=e.i(22353),s=e.i(9413),n=e.i(11207),a=e.i(36567),o=e.i(3659),l=e.i(62854),u=e.i(76903),c=e.i(90816),d=e.i(85565),h=e.i(87656),f=e.i(69759),p=e.i(73772),m=e.i(60310),v=e.i(96871),y="Dialog",[g,b]=(0,s.createContextScope)(y),[x,w]=g(y),R=e=>{let{__scopeDialog:r,children:i,open:s,defaultOpen:o,onOpenChange:l,modal:u=!0}=e,c=t.useRef(null),d=t.useRef(null),[h,f]=(0,a.useControllableState)({prop:s,defaultProp:o??!1,onChange:l,caller:y});return(0,v.jsx)(x,{scope:r,triggerRef:c,contentRef:d,contentId:(0,n.useId)(),titleId:(0,n.useId)(),descriptionId:(0,n.useId)(),open:h,onOpenChange:f,onOpenToggle:t.useCallback(()=>f(e=>!e),[f]),modal:u,children:i})};R.displayName=y;var C="DialogTrigger",S=t.forwardRef((e,t)=>{let{__scopeDialog:s,...n}=e,a=w(C,s),o=(0,i.useComposedRefs)(t,a.triggerRef);return(0,v.jsx)(d.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":K(a.open),...n,ref:o,onClick:(0,r.composeEventHandlers)(e.onClick,a.onOpenToggle)})});S.displayName=C;var j="DialogPortal",[k,T]=g(j,{forceMount:void 0}),D=e=>{let{__scopeDialog:r,forceMount:i,children:s,container:n}=e,a=w(j,r);return(0,v.jsx)(k,{scope:r,forceMount:i,children:t.Children.map(s,e=>(0,v.jsx)(c.Presence,{present:i||a.open,children:(0,v.jsx)(u.Portal,{asChild:!0,container:n,children:e})}))})};D.displayName=j;var I="DialogOverlay",O=t.forwardRef((e,t)=>{let r=T(I,e.__scopeDialog),{forceMount:i=r.forceMount,...s}=e,n=w(I,e.__scopeDialog);return n.modal?(0,v.jsx)(c.Presence,{present:i||n.open,children:(0,v.jsx)(F,{...s,ref:t})}):null});O.displayName=I;var E=(0,m.createSlot)("DialogOverlay.RemoveScroll"),F=t.forwardRef((e,t)=>{let{__scopeDialog:r,...i}=e,s=w(I,r);return(0,v.jsx)(f.RemoveScroll,{as:E,allowPinchZoom:!0,shards:[s.contentRef],children:(0,v.jsx)(d.Primitive.div,{"data-state":K(s.open),...i,ref:t,style:{pointerEvents:"auto",...i.style}})})}),M="DialogContent",N=t.forwardRef((e,t)=>{let r=T(M,e.__scopeDialog),{forceMount:i=r.forceMount,...s}=e,n=w(M,e.__scopeDialog);return(0,v.jsx)(c.Presence,{present:i||n.open,children:n.modal?(0,v.jsx)(P,{...s,ref:t}):(0,v.jsx)(A,{...s,ref:t})})});N.displayName=M;var P=t.forwardRef((e,s)=>{let n=w(M,e.__scopeDialog),a=t.useRef(null),o=(0,i.useComposedRefs)(s,n.contentRef,a);return t.useEffect(()=>{let e=a.current;if(e)return(0,p.hideOthers)(e)},[]),(0,v.jsx)(Q,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,r.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:(0,r.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:(0,r.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault())})}),A=t.forwardRef((e,r)=>{let i=w(M,e.__scopeDialog),s=t.useRef(!1),n=t.useRef(!1);return(0,v.jsx)(Q,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(s.current||i.triggerRef.current?.focus(),t.preventDefault()),s.current=!1,n.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(s.current=!0,"pointerdown"===t.detail.originalEvent.type&&(n.current=!0));let r=t.target;i.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&n.current&&t.preventDefault()}})}),Q=t.forwardRef((e,r)=>{let{__scopeDialog:s,trapFocus:n,onOpenAutoFocus:a,onCloseAutoFocus:u,...c}=e,d=w(M,s),f=t.useRef(null),p=(0,i.useComposedRefs)(r,f);return(0,h.useFocusGuards)(),(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(l.FocusScope,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:a,onUnmountAutoFocus:u,children:(0,v.jsx)(o.DismissableLayer,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":K(d.open),...c,ref:p,onDismiss:()=>d.onOpenChange(!1)})}),(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)($,{titleId:d.titleId}),(0,v.jsx)(W,{contentRef:f,descriptionId:d.descriptionId})]})]})}),U="DialogTitle",L=t.forwardRef((e,t)=>{let{__scopeDialog:r,...i}=e,s=w(U,r);return(0,v.jsx)(d.Primitive.h2,{id:s.titleId,...i,ref:t})});L.displayName=U;var q="DialogDescription",_=t.forwardRef((e,t)=>{let{__scopeDialog:r,...i}=e,s=w(q,r);return(0,v.jsx)(d.Primitive.p,{id:s.descriptionId,...i,ref:t})});_.displayName=q;var z="DialogClose",H=t.forwardRef((e,t)=>{let{__scopeDialog:i,...s}=e,n=w(z,i);return(0,v.jsx)(d.Primitive.button,{type:"button",...s,ref:t,onClick:(0,r.composeEventHandlers)(e.onClick,()=>n.onOpenChange(!1))})});function K(e){return e?"open":"closed"}H.displayName=z;var B="DialogTitleWarning",[G,V]=(0,s.createContext)(B,{contentName:M,titleName:U,docsSlug:"dialog"}),$=({titleId:e})=>{let r=V(B),i=`\`${r.contentName}\` requires a \`${r.titleName}\` for the component to be accessible for screen reader users.
2
-
3
- If you want to hide the \`${r.titleName}\`, you can wrap it with our VisuallyHidden component.
4
-
5
- For more information, see https://radix-ui.com/primitives/docs/components/${r.docsSlug}`;return t.useEffect(()=>{e&&(document.getElementById(e)||console.error(i))},[i,e]),null},W=({contentRef:e,descriptionId:r})=>{let i=V("DialogDescriptionWarning"),s=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${i.contentName}}.`;return t.useEffect(()=>{let t=e.current?.getAttribute("aria-describedby");r&&t&&(document.getElementById(r)||console.warn(s))},[s,e,r]),null};e.s(["Close",0,H,"Content",0,N,"Description",0,_,"Dialog",0,R,"DialogClose",0,H,"DialogContent",0,N,"DialogDescription",0,_,"DialogOverlay",0,O,"DialogPortal",0,D,"DialogTitle",0,L,"DialogTrigger",0,S,"Overlay",0,O,"Portal",0,D,"Root",0,R,"Title",0,L,"Trigger",0,S,"WarningProvider",0,G,"createDialogScope",0,b])},64541,e=>{"use strict";var t=e.i(94983);e.s(["Dialog",0,t])},23835,e=>{"use strict";let t=(0,e.i(54864).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["default",0,t])},73423,e=>{"use strict";var t=e.i(23835);e.s(["CircleAlert",()=>t.default])},79561,67299,e=>{"use strict";let t=(0,e.i(54864).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["default",0,t],67299),e.s(["LoaderCircle",0,t],79561)},2287,63352,e=>{"use strict";var t=e.i(96871),r=e.i(16539),i=e.i(64541),s=e.i(93026);e.s(["X",()=>s.default],63352);var s=s,n=e.i(31777);let a=i.Dialog.Root,o=i.Dialog.Trigger,l=i.Dialog.Portal,u=i.Dialog.Close,c=r.forwardRef(({className:e,onClick:r,...s},a)=>(0,t.jsx)(i.Dialog.Overlay,{ref:a,className:(0,n.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",e),onClick:e=>{e.stopPropagation(),r?.(e)},...s}));c.displayName=i.Dialog.Overlay.displayName;let d=r.forwardRef(({className:e,children:r,...a},o)=>(0,t.jsxs)(l,{children:[(0,t.jsx)(c,{}),(0,t.jsxs)(i.Dialog.Content,{ref:o,className:(0,n.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",e),...a,children:[r,(0,t.jsxs)(i.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,t.jsx)(s.default,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));d.displayName=i.Dialog.Content.displayName;let h=({className:e,...r})=>(0,t.jsx)("div",{className:(0,n.cn)("flex flex-col space-y-1.5 text-center sm:text-start",e),...r});h.displayName="DialogHeader";let f=({className:e,...r})=>(0,t.jsx)("div",{className:(0,n.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...r});f.displayName="DialogFooter";let p=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(i.Dialog.Title,{ref:s,className:(0,n.cn)("text-lg leading-none font-semibold tracking-tight",e),...r}));p.displayName=i.Dialog.Title.displayName;let m=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(i.Dialog.Description,{ref:s,className:(0,n.cn)("text-muted-foreground text-sm",e),...r}));m.displayName=i.Dialog.Description.displayName,e.s(["Dialog",0,a,"DialogClose",0,u,"DialogContent",0,d,"DialogDescription",0,m,"DialogFooter",0,f,"DialogHeader",0,h,"DialogTitle",0,p,"DialogTrigger",0,o],2287)},8361,73709,18354,e=>{"use strict";var t=e.i(66305),r=e.i(16539);let i="shipit-ai-sound-enabled",s="shipit-ai:sound-toggle";function n(){let[e,t]=(0,r.useState)(!0);(0,r.useEffect)(()=>{"false"===localStorage.getItem(i)&&t(!1);let e=e=>{t(e.detail)};return window.addEventListener(s,e),()=>window.removeEventListener(s,e)},[]);let n=(0,r.useCallback)(()=>{let r=!e;localStorage.setItem(i,String(r)),t(r),window.dispatchEvent(new CustomEvent(s,{detail:r}))},[e]);return{enabled:e,toggle:n}}e.s(["useSoundEnabled",0,n],73709);let a=new Map,o={navigate:{sound:"tap_01",volume:.2},"menu-item":{sound:"tap_01",volume:.2},select:{sound:"select",volume:.3},"toggle-on":{sound:"toggle_on",volume:.3},"toggle-off":{sound:"toggle_off",volume:.3},click:{sound:"tap_01",volume:.3},cancel:{sound:"transition_down",volume:.3},expand:{sound:"tap_01",volume:.2},collapse:{sound:"tap_01",volume:.2},"menu-open":{sound:"select",volume:.3},copy:{sound:"select",volume:.3},"drawer-open":{sound:"transition_up",volume:.4},"drawer-close":{sound:"transition_down",volume:.4},submit:{sound:"button",volume:.4},approve:{sound:"celebration",volume:.5},reject:{sound:"caution",volume:.5},create:{sound:"transition_up",volume:.5},delete:{sound:"transition_down",volume:.5},"notification-success":{sound:"celebration",volume:.5},"notification-error":{sound:"caution",volume:.5},"notification-warning":{sound:"notification",volume:.5},"notification-info":{sound:"button",volume:.5}};e.s(["useSoundAction",0,function(e){let{sound:t,volume:i}=o[e];return function(e,t={}){let{volume:i=1,loop:s=!1}=t,{enabled:o}=n(),l=(0,r.useRef)(null),u=(0,r.useRef)(!1);return(0,r.useEffect)(()=>{let t,r=((t=a.get(e))||((t=new Audio(`/sounds/${e}.wav`)).preload="auto",a.set(e,t)),t);return r.loop=s,r.volume=Math.max(0,Math.min(1,i)),r.addEventListener("ended",()=>{u.current=!1}),l.current=r,()=>{r.pause(),l.current=null,u.current=!1}},[e,s,i]),{play:(0,r.useCallback)(()=>{if(!o)return;let e=l.current;e&&(e.currentTime=0,e.play()?.catch(e=>{}),u.current=!0)},[o,e]),stop:(0,r.useCallback)(()=>{let e=l.current;e&&(e.pause(),e.currentTime=0,u.current=!1)},[]),isPlaying:u.current}}(t,{volume:i})}],8361);let l=!!t.default.env.NEXT_PUBLIC_DEBUG,u=()=>void 0;e.s(["createLogger",0,function(e){return{info:l?(...t)=>console.info(e,...t):u,debug:l?(...t)=>console.debug(e,...t):u,warn:(...t)=>console.warn(e,...t),error:(...t)=>console.error(e,...t)}}],18354)},75921,e=>{"use strict";var t=e.i(96871),r=e.i(16539);let i=(0,r.createContext)({skills:!1,envDeploy:!0,debug:!1,githubImport:!1,adoptBranch:!1,gitRebaseSync:!1,reactFileManager:!1,plugins:!1});e.s(["FeatureFlagsProvider",0,function({children:e,flags:r}){return(0,t.jsx)(i.Provider,{value:r,children:e})},"useFeatureFlags",0,function(){return(0,r.useContext)(i)}])},85149,15786,e=>{"use strict";let t=(0,e.i(54864).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",0,t],15786),e.s(["Check",0,t],85149)},33109,(e,t,r)=>{t.exports=e.r(42758)},88641,e=>{"use strict";let t=(0,e.i(54864).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["default",0,t])},14771,e=>{"use strict";let t=(0,e.i(54864).default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);e.s(["default",0,t])},87203,5756,69600,e=>{"use strict";var t=e.i(67299);e.s(["LoaderCircleIcon",()=>t.default],87203);var r=e.i(88641);e.s(["DownloadIcon",()=>r.default],5756);let i=(0,e.i(54864).default)("sticky-note",[["path",{d:"M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z",key:"1dfntj"}],["path",{d:"M15 3v5a1 1 0 0 0 1 1h5",key:"6s6qgf"}]]);e.s(["StickyNoteIcon",0,i],69600)},48306,e=>{"use strict";var t=e.i(96871),r=e.i(31777);e.s(["Textarea",0,function({className:e,...i}){return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,r.cn)("placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...i})}])},19807,98875,e=>{"use strict";var t=e.i(87312);e.s(["VisuallyHidden",0,t],19807);let r=(0,e.i(54864).default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);e.s(["FileIcon",0,r],98875)},99706,e=>{"use strict";let t=(0,e.i(54864).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["default",0,t])},50032,86254,e=>{"use strict";var t=e.i(96871),r=e.i(63352),i=e.i(87203),s=e.i(5756),n=e.i(69600),a=e.i(31777),o=e.i(2287),l=e.i(48306),u=e.i(2828),c=e.i(19807),d=e.i(98875),h=e.i(99706),h=h;let f=(0,e.i(54864).default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);var p=e.i(9063),p=p;e.i(35364);let m=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]),v=new Set([".ts",".tsx",".js",".jsx",".json",".yaml",".yml",".xml",".html",".css",".md"]);function y(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024));return`${(e/Math.pow(1024,t)).toFixed(+(0!==t))} ${["B","KB","MB","GB"][t]}`}let g=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]);function b(e,t){let r=new URLSearchParams({path:e,mimeType:t});return`/api/attachments/preview?${r.toString()}`}e.s(["AttachmentChip",0,function({name:e,size:x,mimeType:w,path:R,onRemove:C,loading:S=!1,disabled:j=!1,notes:k,onNotesChange:T}){let D,I,O=(D=e.lastIndexOf("."))>=0?e.slice(D).toLowerCase():"",E=m.has(O)?f:".pdf"===O?h.default:v.has(O)?p.default:d.FileIcon,F=".pdf"===O?"bg-red-50 text-red-600":m.has(O)?"bg-blue-50 text-blue-600":v.has(O)?"bg-emerald-50 text-emerald-600":"bg-gray-50 text-gray-600",M=(I=e.lastIndexOf("."))>=0&&g.has(e.slice(I).toLowerCase());if(S)return(0,t.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-md border",children:(0,t.jsx)(i.LoaderCircleIcon,{className:"text-muted-foreground h-5 w-5 animate-spin"})});if(M){let i=(0,t.jsxs)("button",{type:"button",className:"relative block cursor-pointer rounded-md",children:[(0,t.jsx)("img",{src:b(R,w),alt:e,title:e,className:"h-12 w-12 rounded-md border object-cover transition-opacity hover:opacity-80"}),k?(0,t.jsx)("span",{className:"ring-background absolute -right-1 -bottom-1 flex h-4 w-4 items-center justify-center rounded-full bg-amber-500 text-white shadow-sm ring-2",children:(0,t.jsx)(n.StickyNoteIcon,{className:"h-2.5 w-2.5"})}):null]});return(0,t.jsx)(u.TooltipProvider,{delayDuration:200,children:(0,t.jsxs)(o.Dialog,{children:[(0,t.jsxs)(u.Tooltip,{children:[(0,t.jsxs)("div",{className:"group relative",children:[(0,t.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(o.DialogTrigger,{asChild:!0,children:i})}),!j&&(0,t.jsx)("button",{type:"button",onClick:C,className:"absolute -top-1.5 -right-1.5 hidden h-5 w-5 cursor-pointer items-center justify-center rounded-full bg-black/70 text-white group-hover:flex","aria-label":`Remove ${e}`,children:(0,t.jsx)(r.X,{className:"h-3 w-3"})})]}),k?(0,t.jsx)(u.TooltipContent,{side:"bottom",className:"max-w-[220px] border border-amber-200 bg-amber-50 text-amber-950 dark:border-amber-800 dark:bg-amber-950 dark:text-amber-100",children:(0,t.jsx)("p",{className:"line-clamp-3 text-xs leading-snug",children:k})}):null]}),(0,t.jsxs)(o.DialogContent,{className:"max-w-3xl gap-0 overflow-hidden border-0 p-0 [&>button:last-child]:!cursor-pointer [&>button:last-child]:!rounded-full [&>button:last-child]:!bg-black/70 [&>button:last-child]:!p-1.5 [&>button:last-child]:!text-white [&>button:last-child]:!opacity-100 [&>button:last-child]:!shadow-lg [&>button:last-child]:!backdrop-blur-md [&>button:last-child]:hover:!bg-black/90",children:[(0,t.jsx)(c.VisuallyHidden.Root,{children:(0,t.jsxs)(o.DialogTitle,{children:["Preview: ",e]})}),(0,t.jsx)("div",{className:"relative bg-black/90",children:(0,t.jsx)("img",{src:b(R,w),alt:e,className:"h-auto max-h-[70vh] w-full object-contain"})}),(0,t.jsxs)("div",{className:"bg-background flex flex-col gap-2 px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsx)("span",{className:"truncate text-sm font-medium",children:e}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:y(x)})]}),(0,t.jsx)("a",{href:b(R,w),download:e,className:"text-muted-foreground hover:text-foreground shrink-0 cursor-pointer rounded p-1.5 transition-colors","aria-label":`Download ${e}`,children:(0,t.jsx)(s.DownloadIcon,{className:"h-4 w-4"})})]}),T?(0,t.jsx)(l.Textarea,{placeholder:"Add notes about this image…",value:k??"",onChange:e=>T(e.target.value),rows:2,className:"resize-none text-sm","aria-label":"Image notes"}):k?(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:k}):null]})]})]})})}return(0,t.jsxs)("div",{className:"group relative flex items-center gap-2 rounded-full border py-1 ps-2 pe-3",children:[(0,t.jsx)("div",{className:(0,a.cn)("flex h-6 w-6 shrink-0 items-center justify-center rounded-full",F),children:(0,t.jsx)(E,{className:"h-3 w-3"})}),(0,t.jsx)("span",{className:"max-w-[120px] truncate text-sm",children:e}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:y(x)}),!j&&(0,t.jsx)("button",{type:"button",onClick:C,className:"absolute -top-1.5 -right-1.5 hidden h-5 w-5 cursor-pointer items-center justify-center rounded-full bg-black/70 text-white group-hover:flex","aria-label":`Remove ${e}`,children:(0,t.jsx)(r.X,{className:"h-3 w-3"})})]})}],86254),e.s([],50032)},67088,e=>{"use strict";let t=(0,e.i(54864).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",0,t],67088)},95892,e=>{"use strict";let t=(0,e.i(54864).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",0,t],95892)},34383,e=>{"use strict";let t=(0,e.i(54864).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["User",0,t],34383)},31074,37655,e=>{"use strict";var t=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}};e.s(["Subscribable",0,t],37655);var r=new class extends t{#t;#r;#i;constructor(){super(),this.#i=e=>{if("u">typeof window&&window.addEventListener){let t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#r||this.setEventListener(this.#i)}onUnsubscribe(){this.hasListeners()||(this.#r?.(),this.#r=void 0)}setEventListener(e){this.#i=e,this.#r?.(),this.#r=e(e=>{"boolean"==typeof e?this.setFocused(e):this.onFocus()})}setFocused(e){this.#t!==e&&(this.#t=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return"boolean"==typeof this.#t?this.#t:globalThis.document?.visibilityState!=="hidden"}};e.s(["focusManager",0,r],31074)},86954,64683,e=>{"use strict";e.i(66305);var t={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},r=new class{#s=t;#n=!1;setTimeoutProvider(e){this.#s=e}setTimeout(e,t){return this.#s.setTimeout(e,t)}clearTimeout(e){this.#s.clearTimeout(e)}setInterval(e,t){return this.#s.setInterval(e,t)}clearInterval(e){this.#s.clearInterval(e)}};e.s(["systemSetTimeoutZero",0,function(e){setTimeout(e,0)},"timeoutManager",0,r],64683);var i="u"<typeof window||"Deno"in globalThis;function s(e,t){return(t?.queryKeyHashFn||n)(e)}function n(e){return JSON.stringify(e,(e,t)=>u(t)?Object.keys(t).sort().reduce((e,r)=>(e[r]=t[r],e),{}):t)}function a(e,t){return e===t||typeof e==typeof t&&!!e&&!!t&&"object"==typeof e&&"object"==typeof t&&Object.keys(t).every(r=>a(e[r],t[r]))}var o=Object.prototype.hasOwnProperty;function l(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function u(e){if(!c(e))return!1;let t=e.constructor;if(void 0===t)return!0;let r=t.prototype;return!!c(r)&&!!r.hasOwnProperty("isPrototypeOf")&&Object.getPrototypeOf(e)===Object.prototype}function c(e){return"[object Object]"===Object.prototype.toString.call(e)}var d=Symbol();e.s(["addConsumeAwareSignal",0,function(e,t,r){let i,s=!1;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),s||(s=!0,i.aborted?r():i.addEventListener("abort",r,{once:!0})),i)}),e},"addToEnd",0,function(e,t,r=0){let i=[...e,t];return r&&i.length>r?i.slice(1):i},"addToStart",0,function(e,t,r=0){let i=[t,...e];return r&&i.length>r?i.slice(0,-1):i},"ensureQueryFn",0,function(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:e.queryFn&&e.queryFn!==d?e.queryFn:()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`))},"functionalUpdate",0,function(e,t){return"function"==typeof e?e(t):e},"hashKey",0,n,"hashQueryKeyByOptions",0,s,"isServer",0,i,"isValidTimeout",0,function(e){return"number"==typeof e&&e>=0&&e!==1/0},"matchMutation",0,function(e,t){let{exact:r,status:i,predicate:s,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(r){if(n(t.options.mutationKey)!==n(o))return!1}else if(!a(t.options.mutationKey,o))return!1}return(!i||t.state.status===i)&&(!s||!!s(t))},"matchQuery",0,function(e,t){let{type:r="all",exact:i,fetchStatus:n,predicate:o,queryKey:l,stale:u}=e;if(l){if(i){if(t.queryHash!==s(l,t.options))return!1}else if(!a(t.queryKey,l))return!1}if("all"!==r){let e=t.isActive();if("active"===r&&!e||"inactive"===r&&e)return!1}return("boolean"!=typeof u||t.isStale()===u)&&(!n||n===t.state.fetchStatus)&&(!o||!!o(t))},"noop",0,function(){},"partialMatchKey",0,a,"replaceData",0,function(e,t,r){return"function"==typeof r.structuralSharing?r.structuralSharing(e,t):!1!==r.structuralSharing?function e(t,r,i=0){if(t===r)return t;if(i>500)return r;let s=l(t)&&l(r);if(!s&&!(u(t)&&u(r)))return r;let n=(s?t:Object.keys(t)).length,a=s?r:Object.keys(r),c=a.length,d=s?Array(c):{},h=0;for(let l=0;l<c;l++){let u=s?l:a[l],c=t[u],f=r[u];if(c===f){d[u]=c,(s?l<n:o.call(t,u))&&h++;continue}if(null===c||null===f||"object"!=typeof c||"object"!=typeof f){d[u]=f;continue}let p=e(c,f,i+1);d[u]=p,p===c&&h++}return n===c&&h===n?t:d}(e,t):t},"resolveEnabled",0,function(e,t){return"function"==typeof e?e(t):e},"resolveStaleTime",0,function(e,t){return"function"==typeof e?e(t):e},"shallowEqualObjects",0,function(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e)if(e[r]!==t[r])return!1;return!0},"shouldThrowError",0,function(e,t){return"function"==typeof e?e(...t):!!e},"skipToken",0,d,"sleep",0,function(e){return new Promise(t=>{r.setTimeout(t,e)})},"timeUntilStale",0,function(e,t){return Math.max(e+(t||0)-Date.now(),0)}],86954)},49988,e=>{"use strict";let t;var r=e.i(86954),i=(t=()=>r.isServer,{isServer:()=>t(),setIsServer(e){t=e}});e.s(["environmentManager",0,i])},31541,e=>{"use strict";let t,r,i,s,n,a;var o=e.i(64683).systemSetTimeoutZero,l=(t=[],r=0,i=e=>{e()},s=e=>{e()},n=o,{batch:e=>{let a;r++;try{a=e()}finally{let e;--r||(e=t,t=[],e.length&&n(()=>{s(()=>{e.forEach(e=>{i(e)})})}))}return a},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a=e=>{r?t.push(e):n(()=>{i(e)})},setNotifyFunction:e=>{i=e},setBatchNotifyFunction:e=>{s=e},setScheduler:e=>{n=e}});e.s(["notifyManager",0,l])},27502,44398,e=>{"use strict";var t=e.i(37655),r=new class extends t.Subscribable{#a=!0;#r;#i;constructor(){super(),this.#i=e=>{if("u">typeof window&&window.addEventListener){let t=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#r||this.setEventListener(this.#i)}onUnsubscribe(){this.hasListeners()||(this.#r?.(),this.#r=void 0)}setEventListener(e){this.#i=e,this.#r?.(),this.#r=e(this.setOnline.bind(this))}setOnline(e){this.#a!==e&&(this.#a=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#a}};e.s(["onlineManager",0,r],27502),e.i(86954),e.s(["pendingThenable",0,function(){let e,t,r=new Promise((r,i)=>{e=r,t=i});function i(e){Object.assign(r,e),delete r.resolve,delete r.reject}return r.status="pending",r.catch(()=>{}),r.resolve=t=>{i({status:"fulfilled",value:t}),e(t)},r.reject=e=>{i({status:"rejected",reason:e}),t(e)},r}],44398)},26799,28547,73066,95486,e=>{"use strict";e.i(66305);var t=e.i(86954),r=e.i(31541),i=e.i(31074),s=e.i(27502),n=e.i(44398),a=e.i(49988);function o(e){return Math.min(1e3*2**e,3e4)}function l(e){return(e??"online")!=="online"||s.onlineManager.isOnline()}var u=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function c(e){let r,c=!1,d=0,h=(0,n.pendingThenable)(),f=()=>i.focusManager.isFocused()&&("always"===e.networkMode||s.onlineManager.isOnline())&&e.canRun(),p=()=>l(e.networkMode)&&e.canRun(),m=e=>{"pending"===h.status&&(r?.(),h.resolve(e))},v=e=>{"pending"===h.status&&(r?.(),h.reject(e))},y=()=>new Promise(t=>{r=e=>{("pending"!==h.status||f())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,"pending"===h.status&&e.onContinue?.()}),g=()=>{let r;if("pending"!==h.status)return;let i=0===d?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(m).catch(r=>{if("pending"!==h.status)return;let i=e.retry??3*!a.environmentManager.isServer(),s=e.retryDelay??o,n="function"==typeof s?s(d,r):s,l=!0===i||"number"==typeof i&&d<i||"function"==typeof i&&i(d,r);c||!l?v(r):(d++,e.onFail?.(d,r),(0,t.sleep)(n).then(()=>f()?void 0:y()).then(()=>{c?v(r):g()}))})};return{promise:h,status:()=>h.status,cancel:t=>{if("pending"===h.status){let r=new u(t);v(r),e.onCancel?.(r)}},continue:()=>(r?.(),h),cancelRetry:()=>{c=!0},continueRetry:()=>{c=!1},canStart:p,start:()=>(p()?g():y().then(g),h)}}e.s(["CancelledError",0,u,"canFetch",0,l,"createRetryer",0,c],28547);var d=e.i(64683),h=class{#o;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),(0,t.isValidTimeout)(this.gcTime)&&(this.#o=d.timeoutManager.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(a.environmentManager.isServer()?1/0:3e5))}clearGcTimeout(){this.#o&&(d.timeoutManager.clearTimeout(this.#o),this.#o=void 0)}};e.s(["Removable",0,h],73066);var f=class extends h{#l;#u;#c;#d;#h;#f;#p;constructor(e){super(),this.#p=!1,this.#f=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#d=e.client,this.#c=this.#d.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#l=v(this.options),this.state=e.state??this.#l,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#h?.promise}setOptions(e){if(this.options={...this.#f,...e},this.updateGcTime(this.options.gcTime),this.state&&void 0===this.state.data){let e=v(this.options);void 0!==e.data&&(this.setState(m(e.data,e.dataUpdatedAt)),this.#l=e)}}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||this.#c.remove(this)}setData(e,r){let i=(0,t.replaceData)(this.state.data,e,this.options);return this.#m({data:i,type:"success",dataUpdatedAt:r?.updatedAt,manual:r?.manual}),i}setState(e,t){this.#m({type:"setState",state:e,setStateOptions:t})}cancel(e){let r=this.#h?.promise;return this.#h?.cancel(e),r?r.then(t.noop).catch(t.noop):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#l}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>!1!==(0,t.resolveEnabled)(e.options.enabled,this))}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===t.skipToken||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>"static"===(0,t.resolveStaleTime)(e.options.staleTime,this))}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):void 0===this.state.data||this.state.isInvalidated}isStaleByTime(e=0){return void 0===this.state.data||"static"!==e&&(!!this.state.isInvalidated||!(0,t.timeUntilStale)(this.state.dataUpdatedAt,e))}onFocus(){let e=this.observers.find(e=>e.shouldFetchOnWindowFocus());e?.refetch({cancelRefetch:!1}),this.#h?.continue()}onOnline(){let e=this.observers.find(e=>e.shouldFetchOnReconnect());e?.refetch({cancelRefetch:!1}),this.#h?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#c.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#h&&(this.#p||this.#v()?this.#h.cancel({revert:!0}):this.#h.cancelRetry()),this.scheduleGc()),this.#c.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}#v(){return"paused"===this.state.fetchStatus&&"pending"===this.state.status}invalidate(){this.state.isInvalidated||this.#m({type:"invalidate"})}async fetch(e,r){let i;if("idle"!==this.state.fetchStatus&&this.#h?.status()!=="rejected"){if(void 0!==this.state.data&&r?.cancelRefetch)this.cancel({silent:!0});else if(this.#h)return this.#h.continueRetry(),this.#h.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let s=new AbortController,n=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#p=!0,s.signal)})},a=()=>{let e,i=(0,t.ensureQueryFn)(this.options,r),s=(n(e={client:this.#d,queryKey:this.queryKey,meta:this.meta}),e);return(this.#p=!1,this.options.persister)?this.options.persister(i,s,this):i(s)},o=(n(i={fetchOptions:r,options:this.options,queryKey:this.queryKey,client:this.#d,state:this.state,fetchFn:a}),i);this.options.behavior?.onFetch(o,this),this.#u=this.state,("idle"===this.state.fetchStatus||this.state.fetchMeta!==o.fetchOptions?.meta)&&this.#m({type:"fetch",meta:o.fetchOptions?.meta}),this.#h=c({initialPromise:r?.initialPromise,fn:o.fetchFn,onCancel:e=>{e instanceof u&&e.revert&&this.setState({...this.#u,fetchStatus:"idle"}),s.abort()},onFail:(e,t)=>{this.#m({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#m({type:"pause"})},onContinue:()=>{this.#m({type:"continue"})},retry:o.options.retry,retryDelay:o.options.retryDelay,networkMode:o.options.networkMode,canRun:()=>!0});try{let e=await this.#h.start();if(void 0===e)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#c.config.onSuccess?.(e,this),this.#c.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof u){if(e.silent)return this.#h.promise;else if(e.revert){if(void 0===this.state.data)throw e;return this.state.data}}throw this.#m({type:"error",error:e}),this.#c.config.onError?.(e,this),this.#c.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#m(e){let t=t=>{switch(e.type){case"failed":return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...t,fetchStatus:"paused"};case"continue":return{...t,fetchStatus:"fetching"};case"fetch":return{...t,...p(t.data,this.options),fetchMeta:e.meta??null};case"success":let r={...t,...m(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#u=e.manual?r:void 0,r;case"error":let i=e.error;return{...t,error:i,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...t,isInvalidated:!0};case"setState":return{...t,...e.state}}};this.state=t(this.state),r.notifyManager.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#c.notify({query:this,type:"updated",action:e})})}};function p(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:l(t.networkMode)?"fetching":"paused",...void 0===e&&{error:null,status:"pending"}}}function m(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function v(e){let t="function"==typeof e.initialData?e.initialData():e.initialData,r=void 0!==t,i=r?"function"==typeof e.initialDataUpdatedAt?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?i??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}e.s(["Query",0,f,"fetchState",0,p],26799);var y=e.i(16539),g=e.i(96871),b=y.createContext(void 0);e.s(["QueryClientProvider",0,({client:e,children:t})=>(y.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,g.jsx)(b.Provider,{value:e,children:t})),"useQueryClient",0,e=>{let t=y.useContext(b);if(e)return e;if(!t)throw Error("No QueryClient set, use QueryClientProvider to set one");return t}],95486)},14260,e=>{"use strict";let t;var r=e.i(31074),i=e.i(49988),s=e.i(31541),n=e.i(26799),a=e.i(37655),o=e.i(44398),l=e.i(86954),u=e.i(64683),c=class extends a.Subscribable{constructor(e,t){super(),this.options=t,this.#d=e,this.#y=null,this.#g=(0,o.pendingThenable)(),this.bindMethods(),this.setOptions(t)}#d;#b=void 0;#x=void 0;#w=void 0;#R;#C;#g;#y;#S;#j;#k;#T;#D;#I;#O=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#b.addObserver(this),d(this.#b,this.options)?this.#E():this.updateResult(),this.#F())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return h(this.#b,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return h(this.#b,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#M(),this.#N(),this.#b.removeObserver(this)}setOptions(e){let t=this.options,r=this.#b;if(this.options=this.#d.defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,l.resolveEnabled)(this.options.enabled,this.#b))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#P(),this.#b.setOptions(this.options),t._defaulted&&!(0,l.shallowEqualObjects)(this.options,t)&&this.#d.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#b,observer:this});let i=this.hasListeners();i&&f(this.#b,r,this.options,t)&&this.#E(),this.updateResult(),i&&(this.#b!==r||(0,l.resolveEnabled)(this.options.enabled,this.#b)!==(0,l.resolveEnabled)(t.enabled,this.#b)||(0,l.resolveStaleTime)(this.options.staleTime,this.#b)!==(0,l.resolveStaleTime)(t.staleTime,this.#b))&&this.#A();let s=this.#Q();i&&(this.#b!==r||(0,l.resolveEnabled)(this.options.enabled,this.#b)!==(0,l.resolveEnabled)(t.enabled,this.#b)||s!==this.#I)&&this.#U(s)}getOptimisticResult(e){var t,r;let i=this.#d.getQueryCache().build(this.#d,e),s=this.createResult(i,e);return t=this,r=s,(0,l.shallowEqualObjects)(t.getCurrentResult(),r)||(this.#w=s,this.#C=this.options,this.#R=this.#b.state),s}getCurrentResult(){return this.#w}trackResult(e,t){return new Proxy(e,{get:(e,r)=>(this.trackProp(r),t?.(r),"promise"===r&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#g.status||this.#g.reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(e,r))})}trackProp(e){this.#O.add(e)}getCurrentQuery(){return this.#b}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#d.defaultQueryOptions(e),r=this.#d.getQueryCache().build(this.#d,t);return r.fetch().then(()=>this.createResult(r,t))}fetch(e){return this.#E({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#w))}#E(e){this.#P();let t=this.#b.fetch(this.options,e);return e?.throwOnError||(t=t.catch(l.noop)),t}#A(){this.#M();let e=(0,l.resolveStaleTime)(this.options.staleTime,this.#b);if(i.environmentManager.isServer()||this.#w.isStale||!(0,l.isValidTimeout)(e))return;let t=(0,l.timeUntilStale)(this.#w.dataUpdatedAt,e);this.#T=u.timeoutManager.setTimeout(()=>{this.#w.isStale||this.updateResult()},t+1)}#Q(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#b):this.options.refetchInterval)??!1}#U(e){this.#N(),this.#I=e,!i.environmentManager.isServer()&&!1!==(0,l.resolveEnabled)(this.options.enabled,this.#b)&&(0,l.isValidTimeout)(this.#I)&&0!==this.#I&&(this.#D=u.timeoutManager.setInterval(()=>{(this.options.refetchIntervalInBackground||r.focusManager.isFocused())&&this.#E()},this.#I))}#F(){this.#A(),this.#U(this.#Q())}#M(){this.#T&&(u.timeoutManager.clearTimeout(this.#T),this.#T=void 0)}#N(){this.#D&&(u.timeoutManager.clearInterval(this.#D),this.#D=void 0)}createResult(e,t){let r,i=this.#b,s=this.options,a=this.#w,u=this.#R,c=this.#C,h=e!==i?e.state:this.#x,{state:m}=e,v={...m},y=!1;if(t._optimisticResults){let r=this.hasListeners(),a=!r&&d(e,t),o=r&&f(e,i,t,s);(a||o)&&(v={...v,...(0,n.fetchState)(m.data,e.options)}),"isRestoring"===t._optimisticResults&&(v.fetchStatus="idle")}let{error:g,errorUpdatedAt:b,status:x}=v;r=v.data;let w=!1;if(void 0!==t.placeholderData&&void 0===r&&"pending"===x){let e;a?.isPlaceholderData&&t.placeholderData===c?.placeholderData?(e=a.data,w=!0):e="function"==typeof t.placeholderData?t.placeholderData(this.#k?.state.data,this.#k):t.placeholderData,void 0!==e&&(x="success",r=(0,l.replaceData)(a?.data,e,t),y=!0)}if(t.select&&void 0!==r&&!w)if(a&&r===u?.data&&t.select===this.#S)r=this.#j;else try{this.#S=t.select,r=t.select(r),r=(0,l.replaceData)(a?.data,r,t),this.#j=r,this.#y=null}catch(e){this.#y=e}this.#y&&(g=this.#y,r=this.#j,b=Date.now(),x="error");let R="fetching"===v.fetchStatus,C="pending"===x,S="error"===x,j=C&&R,k=void 0!==r,T={status:x,fetchStatus:v.fetchStatus,isPending:C,isSuccess:"success"===x,isError:S,isInitialLoading:j,isLoading:j,data:r,dataUpdatedAt:v.dataUpdatedAt,error:g,errorUpdatedAt:b,failureCount:v.fetchFailureCount,failureReason:v.fetchFailureReason,errorUpdateCount:v.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:v.dataUpdateCount>h.dataUpdateCount||v.errorUpdateCount>h.errorUpdateCount,isFetching:R,isRefetching:R&&!C,isLoadingError:S&&!k,isPaused:"paused"===v.fetchStatus,isPlaceholderData:y,isRefetchError:S&&k,isStale:p(e,t),refetch:this.refetch,promise:this.#g,isEnabled:!1!==(0,l.resolveEnabled)(t.enabled,e)};if(this.options.experimental_prefetchInRender){let t=void 0!==T.data,r="error"===T.status&&!t,s=e=>{r?e.reject(T.error):t&&e.resolve(T.data)},n=()=>{s(this.#g=T.promise=(0,o.pendingThenable)())},a=this.#g;switch(a.status){case"pending":e.queryHash===i.queryHash&&s(a);break;case"fulfilled":(r||T.data!==a.value)&&n();break;case"rejected":r&&T.error===a.reason||n()}}return T}updateResult(){let e=this.#w,t=this.createResult(this.#b,this.options);if(this.#R=this.#b.state,this.#C=this.options,void 0!==this.#R.data&&(this.#k=this.#b),(0,l.shallowEqualObjects)(t,e))return;this.#w=t;let r=()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,r="function"==typeof t?t():t;if("all"===r||!r&&!this.#O.size)return!0;let i=new Set(r??this.#O);return this.options.throwOnError&&i.add("error"),Object.keys(this.#w).some(t=>this.#w[t]!==e[t]&&i.has(t))};this.#L({listeners:r()})}#P(){let e=this.#d.getQueryCache().build(this.#d,this.options);if(e===this.#b)return;let t=this.#b;this.#b=e,this.#x=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#F()}#L(e){s.notifyManager.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#w)}),this.#d.getQueryCache().notify({query:this.#b,type:"observerResultsUpdated"})})}};function d(e,t){return!1!==(0,l.resolveEnabled)(t.enabled,e)&&void 0===e.state.data&&("error"!==e.state.status||!1!==t.retryOnMount)||void 0!==e.state.data&&h(e,t,t.refetchOnMount)}function h(e,t,r){if(!1!==(0,l.resolveEnabled)(t.enabled,e)&&"static"!==(0,l.resolveStaleTime)(t.staleTime,e)){let i="function"==typeof r?r(e):r;return"always"===i||!1!==i&&p(e,t)}return!1}function f(e,t,r,i){return(e!==t||!1===(0,l.resolveEnabled)(i.enabled,e))&&(!r.suspense||"error"!==e.state.status)&&p(e,r)}function p(e,t){return!1!==(0,l.resolveEnabled)(t.enabled,e)&&e.isStaleByTime((0,l.resolveStaleTime)(t.staleTime,e))}e.i(66305);var m=e.i(16539),v=e.i(95486);e.i(96871);var y=m.createContext((t=!1,{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t})),g=m.createContext(!1);g.Provider;var b=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});e.s(["useQuery",0,function(e,t){return function(e,t,r){let n,a=m.useContext(g),o=m.useContext(y),u=(0,v.useQueryClient)(r),c=u.defaultQueryOptions(e);u.getDefaultOptions().queries?._experimental_beforeQuery?.(c);let d=u.getQueryCache().get(c.queryHash);if(c._optimisticResults=a?"isRestoring":"optimistic",c.suspense){let e=e=>"static"===e?e:Math.max(e??1e3,1e3),t=c.staleTime;c.staleTime="function"==typeof t?(...r)=>e(t(...r)):e(t),"number"==typeof c.gcTime&&(c.gcTime=Math.max(c.gcTime,1e3))}n=d?.state.error&&"function"==typeof c.throwOnError?(0,l.shouldThrowError)(c.throwOnError,[d.state.error,d]):c.throwOnError,(c.suspense||c.experimental_prefetchInRender||n)&&!o.isReset()&&(c.retryOnMount=!1),m.useEffect(()=>{o.clearReset()},[o]);let h=!u.getQueryCache().get(c.queryHash),[f]=m.useState(()=>new t(u,c)),p=f.getOptimisticResult(c),x=!a&&!1!==e.subscribed;if(m.useSyncExternalStore(m.useCallback(e=>{let t=x?f.subscribe(s.notifyManager.batchCalls(e)):l.noop;return f.updateResult(),t},[f,x]),()=>f.getCurrentResult(),()=>f.getCurrentResult()),m.useEffect(()=>{f.setOptions(c)},[c,f]),c?.suspense&&p.isPending)throw b(c,f,o);if((({result:e,errorResetBoundary:t,throwOnError:r,query:i,suspense:s})=>e.isError&&!t.isReset()&&!e.isFetching&&i&&(s&&void 0===e.data||(0,l.shouldThrowError)(r,[e.error,i])))({result:p,errorResetBoundary:o,throwOnError:c.throwOnError,query:d,suspense:c.suspense}))throw p.error;if(u.getDefaultOptions().queries?._experimental_afterQuery?.(c,p),c.experimental_prefetchInRender&&!i.environmentManager.isServer()&&p.isLoading&&p.isFetching&&!a){let e=h?b(c,f,o):d?.promise;e?.catch(l.noop).finally(()=>{f.updateResult()})}return c.notifyOnChangeProps?p:f.trackResult(p)}(e,c,t)}],14260)},85202,e=>{"use strict";let t=(0,e.i(54864).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);e.s(["MessageSquare",0,t],85202)},23325,e=>{"use strict";let t=(0,e.i(54864).default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);e.s(["Globe",0,t],23325)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,54793,7729,e=>{"use strict";var t=e.i(96871),r=e.i(31777);e.s(["EmptyState",0,function({icon:e,title:a,description:l,action:c,className:s,...i}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",s),...i,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:a}),l?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:l}):null,c?(0,t.jsx)("div",{className:"mt-2",children:c}):null]})}],7729),e.s([],54793)},74442,e=>{"use strict";var t=e.i(16539),r=e.i(77941),a=e.i(67149),l=e.i(47922),c=e.i(96976);let s=(0,c.createServerReference)("40bcce76e841141cd8d5df1027db29237885f36a41",c.callServer,void 0,c.findSourceMapURL,"syncRepository");e.s(["useRepositoryActions",0,function(e){let[c,i]=(0,t.useState)(!1),[u,d]=(0,t.useState)(!1),[n,o]=(0,t.useState)(!1),[p,h]=(0,t.useState)(!1),[y,f]=(0,t.useState)(null),[m,k]=(0,t.useState)(null),[v,x]=(0,t.useState)(null),[S,b]=(0,t.useState)(null),M=(0,t.useRef)(null),R=(0,t.useRef)(null),g=(0,t.useRef)(null),C=(0,t.useRef)(null);(0,t.useEffect)(()=>()=>{M.current&&clearTimeout(M.current),R.current&&clearTimeout(R.current),g.current&&clearTimeout(g.current),C.current&&clearTimeout(C.current)},[]);let T=(0,t.useCallback)(async(t,r,a,l,c)=>{if(e&&!c){l.current&&clearTimeout(l.current),r(!0),a(null);try{let e=await t();if(!e.success){let t=e.error??"An unexpected error occurred";a(t),l.current=setTimeout(()=>a(null),5e3)}}catch(e){a(e instanceof Error?e.message:"An unexpected error occurred"),l.current=setTimeout(()=>a(null),5e3)}finally{r(!1)}}},[e]);return{openInIde:(0,t.useCallback)(()=>T(()=>(0,r.openIde)({repositoryPath:e.repositoryPath}),i,f,M,c),[T,c,e]),openInShell:(0,t.useCallback)(()=>T(()=>(0,a.openShell)({repositoryPath:e.repositoryPath}),d,k,R,u),[T,u,e]),openFolder:(0,t.useCallback)(()=>T(()=>(0,l.openFolder)(e.repositoryPath),o,x,g,n),[T,n,e]),syncMain:(0,t.useCallback)(()=>T(()=>s(e.repositoryId??""),h,b,C,p),[T,p,e]),ideLoading:c,shellLoading:u,folderLoading:n,syncLoading:p,ideError:y,shellError:m,folderError:v,syncError:S}}],74442)},84735,e=>{"use strict";let t=(0,e.i(54864).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",0,t],84735)},70727,e=>{"use strict";let t=(0,e.i(54864).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",0,t],70727)},1650,e=>{"use strict";e.i(11495),e.s([])},63524,e=>{"use strict";let t=(0,e.i(54864).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",0,t],63524)},60589,e=>{"use strict";let t=(0,e.i(54864).default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]);e.s(["GitBranch",0,t],60589)},63995,e=>{"use strict";let t=(0,e.i(54864).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["default",0,t])},83764,e=>{"use strict";let t=(0,e.i(54864).default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);e.s(["Archive",0,t],83764)},17759,e=>{"use strict";let t=(0,e.i(54864).default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);e.s(["Code2",0,t],17759)},64778,e=>{"use strict";let t=(0,e.i(54864).default)("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);e.s(["GitCommitHorizontal",0,t],64778)},77941,67149,47922,e=>{"use strict";var t=e.i(96976);let r=(0,t.createServerReference)("403b50818c4c8a3d6d430ae3439eb3037c4ca54755",t.callServer,void 0,t.findSourceMapURL,"openIde");e.s(["openIde",0,r],77941);let a=(0,t.createServerReference)("40792ab294bf027b28044da4c8ef078009d30f6a86",t.callServer,void 0,t.findSourceMapURL,"openShell");e.s(["openShell",0,a],67149);let l=(0,t.createServerReference)("4014a40a31cf611500dd14f1ee4409c3279343d678",t.callServer,void 0,t.findSourceMapURL,"openFolder");e.s(["openFolder",0,l],47922)},60958,e=>{"use strict";var t=e.i(63995);e.s(["TriangleAlert",()=>t.default])},68637,e=>{"use strict";let t=(0,e.i(54864).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],68637)},84812,e=>{"use strict";let t=(0,e.i(54864).default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["default",0,t])},29549,e=>{"use strict";let t=(0,e.i(54864).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",0,t],29549)},91653,e=>{"use strict";var t=e.i(15786);e.s(["CheckIcon",()=>t.default])},27381,e=>{"use strict";let t=(0,e.i(54864).default)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);e.s(["Shield",0,t],27381)},47930,e=>{"use strict";let t=(0,e.i(54864).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["FolderPlus",0,t],47930)},88329,e=>{"use strict";var t=e.i(96976);let r=(0,t.createServerReference)("40561d29661f661688842173586e2787a89109395a",t.callServer,void 0,t.findSourceMapURL,"addRepository");e.s(["addRepository",0,r])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,84735,e=>{"use strict";let t=(0,e.i(54864).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",0,t],84735)},70727,e=>{"use strict";let t=(0,e.i(54864).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",0,t],70727)},1650,e=>{"use strict";e.i(11495),e.s([])},63524,e=>{"use strict";let t=(0,e.i(54864).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",0,t],63524)},956,e=>{"use strict";var t=e.i(96871),l=e.i(16539),s=e.i(31777);let r=l.forwardRef(({className:e,...l},r)=>(0,t.jsx)("div",{ref:r,className:(0,s.cn)("bg-card text-card-foreground editorial-shadow rounded-xl border",e),...l}));r.displayName="Card";let a=l.forwardRef(({className:e,...l},r)=>(0,t.jsx)("div",{ref:r,className:(0,s.cn)("flex flex-col space-y-1.5 p-6",e),...l}));a.displayName="CardHeader";let i=l.forwardRef(({className:e,...l},r)=>(0,t.jsx)("div",{ref:r,className:(0,s.cn)("leading-none font-semibold tracking-tight",e),...l}));i.displayName="CardTitle";let n=l.forwardRef(({className:e,...l},r)=>(0,t.jsx)("div",{ref:r,className:(0,s.cn)("text-muted-foreground text-sm",e),...l}));n.displayName="CardDescription";let o=l.forwardRef(({className:e,...l},r)=>(0,t.jsx)("div",{ref:r,className:(0,s.cn)("p-6 pt-0",e),...l}));o.displayName="CardContent",l.forwardRef(({className:e,...l},r)=>(0,t.jsx)("div",{ref:r,className:(0,s.cn)("flex items-center p-6 pt-0",e),...l})).displayName="CardFooter",e.s(["Card",0,r,"CardContent",0,o,"CardDescription",0,n,"CardHeader",0,a,"CardTitle",0,i])},54793,7729,e=>{"use strict";var t=e.i(96871),l=e.i(31777);e.s(["EmptyState",0,function({icon:e,title:s,description:r,action:a,className:i,...n}){return(0,t.jsxs)("div",{className:(0,l.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",i),...n,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:s}),r?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:r}):null,a?(0,t.jsx)("div",{className:"mt-2",children:a}):null]})}],7729),e.s([],54793)},9443,85871,e=>{"use strict";var t=e.i(96871),l=e.i(31777);e.s(["PageHeader",0,function({title:e,description:s,eyebrow:r,children:a,className:i}){return(0,t.jsxs)("header",{className:(0,l.cn)("flex items-center justify-between gap-4",i),children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[r?(0,t.jsx)("span",{className:"text-[10px] font-bold tracking-[0.2em] text-slate-400 uppercase",children:r}):null,(0,t.jsx)("div",{className:"flex items-baseline gap-3",children:(0,t.jsx)("h1",{className:"text-foreground text-3xl font-black tracking-tight",children:e})}),s?(0,t.jsx)("p",{className:"text-muted-foreground text-sm font-medium",children:s}):null]}),a?(0,t.jsx)("div",{"data-slot":"actions",children:a}):null]})}],85871),e.s([],9443)},38752,e=>{"use strict";var t=e.i(96871),l=e.i(68864),s=e.i(12878);e.i(1650);var r=e.i(11495),a=e.i(45811),i=e.i(81846),n=e.i(25235),o=e.i(2828),d=e.i(63524);let c={h1:({children:e})=>(0,t.jsx)("h1",{className:"text-foreground mt-6 mb-3 text-lg font-bold tracking-tight first:mt-0",children:e}),h2:({children:e})=>(0,t.jsx)("h2",{className:"text-foreground mt-5 mb-2 text-base font-bold tracking-tight",children:e}),h3:({children:e})=>(0,t.jsx)("h3",{className:"text-foreground mt-4 mb-2 text-sm font-bold",children:e}),p:({children:e})=>(0,t.jsx)("p",{className:"text-muted-foreground mb-3 text-sm leading-relaxed last:mb-0",children:e}),strong:({children:e})=>(0,t.jsx)("strong",{className:"text-foreground font-semibold",children:e}),em:({children:e})=>(0,t.jsx)("em",{className:"italic",children:e}),code:({children:e,className:l})=>l?(0,t.jsx)("code",{className:`${l} text-xs`,children:e}):(0,t.jsx)("code",{className:"bg-muted text-foreground rounded-md px-1.5 py-0.5 font-mono text-xs",children:e}),pre:({children:e})=>(0,t.jsx)("pre",{className:"bg-muted my-3 overflow-x-auto rounded-lg border p-3 text-xs",children:e}),ul:({children:e})=>(0,t.jsx)("ul",{className:"text-muted-foreground mb-3 list-disc space-y-1 ps-5 text-sm",children:e}),ol:({children:e})=>(0,t.jsx)("ol",{className:"text-muted-foreground mb-3 list-decimal space-y-1 ps-5 text-sm",children:e}),li:({children:e})=>(0,t.jsx)("li",{className:"leading-relaxed",children:e}),hr:()=>(0,t.jsx)(n.Separator,{className:"my-4"}),a:({href:e,children:l})=>(0,t.jsx)("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:text-primary/80 underline underline-offset-2",children:l}),blockquote:({children:e})=>(0,t.jsx)("blockquote",{className:"border-primary/30 text-muted-foreground my-3 border-l-2 pl-4 italic",children:e})};e.s(["SkillDetailDrawer",0,function({skill:e,onClose:x}){return(0,t.jsx)(r.BaseDrawer,{open:null!==e,onClose:x,size:"sm",modal:!0,"data-testid":"skill-detail-drawer",header:e?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.DrawerTitle,{children:e.displayName}),(0,t.jsx)(a.DrawerDescription,{children:e.name})]}):void 0,children:e?(0,t.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 pb-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,t.jsxs)(o.Tooltip,{children:[(0,t.jsx)(o.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(i.Badge,{variant:"project"===e.source?"secondary":"outline",className:"cursor-default",children:"project"===e.source?"Project":"Global"})}),(0,t.jsx)(o.TooltipContent,{side:"bottom",children:"project"===e.source?"Installed in this project’s .claude/skills/ directory":"Installed globally in your user profile"})]}),(0,t.jsxs)(o.Tooltip,{children:[(0,t.jsx)(o.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(i.Badge,{variant:"outline",className:"cursor-default",children:e.category})}),(0,t.jsx)(o.TooltipContent,{side:"bottom",children:"Skill category \\u2014 used for filtering on the Skills page"})]}),e.context?(0,t.jsxs)(o.Tooltip,{children:[(0,t.jsx)(o.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(i.Badge,{variant:"outline",className:"cursor-default",children:e.context})}),(0,t.jsx)(o.TooltipContent,{side:"bottom",children:"Context restriction \\u2014 this skill only activates in this context"})]}):null]}),e.allowedTools?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,t.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:e.allowedTools})]})]}):null,e.resources.length>0?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,t.jsx)("ul",{className:"mt-2 space-y-1.5",children:e.resources.map(e=>(0,t.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,t.jsx)(d.FolderOpen,{className:"size-3.5 shrink-0"}),(0,t.jsxs)("span",{children:[e.name,"/ — ",e.fileCount," ",1===e.fileCount?"file":"files"]})]},e.name))})]})]}):null,e.body?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.Separator,{className:"my-4"}),(0,t.jsx)("div",{className:"prose-sm",children:(0,t.jsx)(l.default,{remarkPlugins:[s.default],components:c,children:e.body})})]}):null]}):null})}])},16919,e=>{"use strict";var t=e.i(96871),l=e.i(16539),s=e.i(68787),r=e.i(60722),a=e.i(98127),i=e.i(35364);e.i(9443);var n=e.i(85871);e.i(54793);var o=e.i(7729),d=e.i(956),c=e.i(81846),x=e.i(63524);function m({skill:e,onSelect:l}){return(0,t.jsxs)(d.Card,{className:"cursor-pointer p-5 transition-all duration-300 hover:-translate-y-0.5 hover:shadow-md hover:ring-slate-300 dark:hover:ring-slate-600",role:"button",tabIndex:0,onClick:()=>l(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),l(e))},"data-testid":`skill-card-${e.name}`,children:[(0,t.jsx)("h3",{className:"text-foreground text-sm leading-tight font-bold tracking-tight",children:e.displayName}),(0,t.jsx)("p",{className:"text-muted-foreground mt-1 font-mono text-xs",children:e.name}),(0,t.jsx)("p",{className:"text-muted-foreground mt-3 line-clamp-2 text-xs leading-relaxed",children:e.description}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(c.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),e.context?(0,t.jsx)(c.Badge,{variant:"outline",children:e.context}):null,e.allowedTools?(0,t.jsx)(c.Badge,{variant:"outline",children:"Tools"}):null,e.resources.length>0?(0,t.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,t.jsx)(x.FolderOpen,{className:"size-3"}),e.resources.length," ",1===e.resources.length?"resource":"resources"]}):null]})]})}let u=["Workflow","Code Generation","Analysis","Reference"];function h({skills:e,onSkillSelect:l}){let s=function(e){let t=new Map;for(let l of e){let e=t.get(l.category)??[];e.push(l),t.set(l.category,e)}return t}(e);return(0,t.jsx)("div",{className:"space-y-12",children:u.map(e=>{let r=s.get(e);return r&&0!==r.length?(0,t.jsxs)("section",{children:[(0,t.jsxs)("h2",{className:"text-foreground mb-6 text-xl font-bold tracking-tight",children:[e," ",(0,t.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",r.length,")"]})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 gap-6 md:grid-cols-2 xl:grid-cols-3",children:r.map(e=>(0,t.jsx)(m,{skill:e,onSelect:l},e.name))})]},e):null})})}var p=e.i(31777);let f=[{label:"All",value:null},{label:"Workflow",value:"Workflow"},{label:"Code Generation",value:"Code Generation"},{label:"Analysis",value:"Analysis"},{label:"Reference",value:"Reference"}];function g({activeCategory:e,onCategoryChange:l,counts:s}){return(0,t.jsx)("div",{className:"bg-card editorial-shadow inline-flex flex-wrap items-center gap-1 rounded-lg p-1",role:"group","aria-label":"Filter by category",children:f.map(({label:r,value:a})=>{let i=e===a;return(0,t.jsxs)("button",{type:"button",onClick:()=>l(a),className:(0,p.cn)("cursor-pointer rounded-md px-3 py-1.5 text-xs font-bold transition-all",i?"bg-muted text-primary shadow-sm ring-1 ring-slate-200/70 dark:ring-slate-700/50":"text-muted-foreground hover:text-foreground"),children:[r,null!=s&&null!=a?(0,t.jsxs)("span",{className:"ms-1 opacity-70",children:["(",s[a],")"]}):null]},r)})})}var j=e.i(38752);e.s(["SkillsPageClient",0,function({skills:e}){let[d,c]=(0,l.useState)(""),[x,m]=(0,l.useState)(null),[u,p]=(0,l.useState)(null),f=(0,l.useMemo)(()=>(function(e){let t={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let l of e)t[l.category]++;return t})(e),[e]),N=(0,l.useMemo)(()=>{let t=d.toLowerCase();return e.filter(e=>{if(x&&e.category!==x)return!1;if(t){let l=e.name.toLowerCase().includes(t),s=e.description.toLowerCase().includes(t);if(!l&&!s)return!1}return!0})},[e,d,x]);return 0===e.length?(0,t.jsxs)("div",{className:"flex flex-col gap-8 p-8",children:[(0,t.jsx)(n.PageHeader,{eyebrow:"Developer Portal",title:"Skills",description:"Claude Code skills installed in this project"}),(0,t.jsx)(o.EmptyState,{icon:(0,t.jsx)(r.Puzzle,{className:"size-10"}),title:"No skills found",description:"No Claude Code skills are installed. Add skills to .claude/skills/ to get started."})]}):(0,t.jsxs)("div",{className:"flex flex-col gap-8 p-8",children:[(0,t.jsx)(n.PageHeader,{eyebrow:"Developer Portal",title:"Skills",description:"Claude Code skills installed in this project"}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(s.Search,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,t.jsx)(a.Input,{placeholder:"Search skills...",value:d,onChange:e=>c(e.target.value),className:"ps-9"})]}),(0,t.jsx)(g,{activeCategory:x,onCategoryChange:m,counts:f}),N.length>0?(0,t.jsx)(h,{skills:N,onSkillSelect:p}):(0,t.jsx)(o.EmptyState,{icon:(0,t.jsx)(s.Search,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,t.jsx)(i.Button,{variant:"outline",onClick:()=>{c(""),m(null)},children:"Clear filters"})}),(0,t.jsx)(j.SkillDetailDrawer,{skill:u,onClose:()=>p(null)})]})}],16919)}]);