@shipit-ai/cli 1.167.1 → 1.169.0-pr12.6d78faf

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 (560) hide show
  1. package/apis/json-schema/FeatureFlags.yaml +5 -0
  2. package/apis/json-schema/LiteLLMProxyConfig.yaml +14 -0
  3. package/apis/json-schema/Settings.yaml +3 -0
  4. package/dist/packages/core/src/application/ports/output/services/index.d.ts +1 -0
  5. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  6. package/dist/packages/core/src/application/ports/output/services/plugin-marketplace.interface.d.ts +46 -0
  7. package/dist/packages/core/src/application/ports/output/services/plugin-marketplace.interface.d.ts.map +1 -0
  8. package/dist/packages/core/src/application/ports/output/services/plugin-marketplace.interface.js +12 -0
  9. package/dist/packages/core/src/application/use-cases/plugins/add-marketplace.use-case.d.ts +16 -0
  10. package/dist/packages/core/src/application/use-cases/plugins/add-marketplace.use-case.d.ts.map +1 -0
  11. package/dist/packages/core/src/application/use-cases/plugins/add-marketplace.use-case.js +34 -0
  12. package/dist/packages/core/src/application/use-cases/plugins/fetch-plugin-catalog.use-case.d.ts +24 -0
  13. package/dist/packages/core/src/application/use-cases/plugins/fetch-plugin-catalog.use-case.d.ts.map +1 -0
  14. package/dist/packages/core/src/application/use-cases/plugins/fetch-plugin-catalog.use-case.js +52 -0
  15. package/dist/packages/core/src/application/use-cases/plugins/install-plugin.use-case.d.ts +17 -0
  16. package/dist/packages/core/src/application/use-cases/plugins/install-plugin.use-case.d.ts.map +1 -0
  17. package/dist/packages/core/src/application/use-cases/plugins/install-plugin.use-case.js +33 -0
  18. package/dist/packages/core/src/application/use-cases/plugins/toggle-plugin.use-case.d.ts +17 -0
  19. package/dist/packages/core/src/application/use-cases/plugins/toggle-plugin.use-case.d.ts.map +1 -0
  20. package/dist/packages/core/src/application/use-cases/plugins/toggle-plugin.use-case.js +33 -0
  21. package/dist/packages/core/src/application/use-cases/plugins/uninstall-plugin.use-case.d.ts +16 -0
  22. package/dist/packages/core/src/application/use-cases/plugins/uninstall-plugin.use-case.d.ts.map +1 -0
  23. package/dist/packages/core/src/application/use-cases/plugins/uninstall-plugin.use-case.js +33 -0
  24. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  25. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +1 -0
  26. package/dist/packages/core/src/domain/generated/output.d.ts +25 -0
  27. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  28. package/dist/packages/core/src/infrastructure/di/modules/services.module.d.ts.map +1 -1
  29. package/dist/packages/core/src/infrastructure/di/modules/services.module.js +13 -0
  30. package/dist/packages/core/src/infrastructure/di/modules/use-cases.module.d.ts.map +1 -1
  31. package/dist/packages/core/src/infrastructure/di/modules/use-cases.module.js +12 -0
  32. package/dist/packages/core/src/infrastructure/di/modules/web-tokens.module.d.ts.map +1 -1
  33. package/dist/packages/core/src/infrastructure/di/modules/web-tokens.module.js +22 -0
  34. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +4 -0
  35. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  36. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +18 -0
  37. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-add-litellm-proxy.d.ts +14 -0
  38. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-add-litellm-proxy.d.ts.map +1 -0
  39. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-add-litellm-proxy.js +28 -0
  40. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/index.d.ts +4 -0
  41. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/index.d.ts.map +1 -0
  42. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/index.js +3 -0
  43. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/plugin-marketplace.schema.d.ts +78 -0
  44. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/plugin-marketplace.schema.d.ts.map +1 -0
  45. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/plugin-marketplace.schema.js +46 -0
  46. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/plugin-marketplace.service.d.ts +29 -0
  47. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/plugin-marketplace.service.d.ts.map +1 -0
  48. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/plugin-marketplace.service.js +147 -0
  49. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/plugin-marketplace.validators.d.ts +11 -0
  50. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/plugin-marketplace.validators.d.ts.map +1 -0
  51. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/plugin-marketplace.validators.js +47 -0
  52. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/antigravity.json +1 -1
  53. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/bash.json +1 -0
  54. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/cursor-cli.json +1 -1
  55. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/cursor.json +1 -1
  56. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/fish.json +1 -0
  57. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/powershell.json +1 -0
  58. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/zsh.json +1 -0
  59. package/dist/src/presentation/web/app/actions/add-marketplace.d.ts +5 -0
  60. package/dist/src/presentation/web/app/actions/add-marketplace.d.ts.map +1 -0
  61. package/dist/src/presentation/web/app/actions/add-marketplace.js +11 -0
  62. package/dist/src/presentation/web/app/actions/fetch-plugin-catalog.d.ts +5 -0
  63. package/dist/src/presentation/web/app/actions/fetch-plugin-catalog.d.ts.map +1 -0
  64. package/dist/src/presentation/web/app/actions/fetch-plugin-catalog.js +11 -0
  65. package/dist/src/presentation/web/app/actions/install-plugin.d.ts +5 -0
  66. package/dist/src/presentation/web/app/actions/install-plugin.d.ts.map +1 -0
  67. package/dist/src/presentation/web/app/actions/install-plugin.js +11 -0
  68. package/dist/src/presentation/web/app/actions/toggle-plugin.d.ts +5 -0
  69. package/dist/src/presentation/web/app/actions/toggle-plugin.d.ts.map +1 -0
  70. package/dist/src/presentation/web/app/actions/toggle-plugin.js +11 -0
  71. package/dist/src/presentation/web/app/actions/uninstall-plugin.d.ts +5 -0
  72. package/dist/src/presentation/web/app/actions/uninstall-plugin.d.ts.map +1 -0
  73. package/dist/src/presentation/web/app/actions/uninstall-plugin.js +11 -0
  74. package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
  75. package/dist/src/presentation/web/app/layout.js +15 -2
  76. package/dist/src/presentation/web/app/plugins/page.d.ts +2 -0
  77. package/dist/src/presentation/web/app/plugins/page.d.ts.map +1 -0
  78. package/dist/src/presentation/web/app/plugins/page.js +23 -0
  79. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts.map +1 -1
  80. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +4 -1
  81. package/dist/src/presentation/web/components/common/page-header/page-header.d.ts +3 -1
  82. package/dist/src/presentation/web/components/common/page-header/page-header.d.ts.map +1 -1
  83. package/dist/src/presentation/web/components/common/page-header/page-header.js +8 -2
  84. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.d.ts.map +1 -1
  85. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.js +1 -0
  86. package/dist/src/presentation/web/components/common/repository-node/repository-node.d.ts.map +1 -1
  87. package/dist/src/presentation/web/components/common/repository-node/repository-node.js +6 -1
  88. package/dist/src/presentation/web/components/common/shipit-ai-logo/shipit-ai-logo.d.ts +9 -1
  89. package/dist/src/presentation/web/components/common/shipit-ai-logo/shipit-ai-logo.d.ts.map +1 -1
  90. package/dist/src/presentation/web/components/common/shipit-ai-logo/shipit-ai-logo.js +12 -6
  91. package/dist/src/presentation/web/components/common/sidebar-collapse-toggle/sidebar-collapse-toggle.d.ts.map +1 -1
  92. package/dist/src/presentation/web/components/common/sidebar-collapse-toggle/sidebar-collapse-toggle.js +5 -1
  93. package/dist/src/presentation/web/components/common/sidebar-nav-item/sidebar-nav-item.d.ts.map +1 -1
  94. package/dist/src/presentation/web/components/common/sidebar-nav-item/sidebar-nav-item.js +15 -0
  95. package/dist/src/presentation/web/components/features/chat/ChatSheet.d.ts.map +1 -1
  96. package/dist/src/presentation/web/components/features/chat/ChatSheet.js +18 -5
  97. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.d.ts.map +1 -1
  98. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.js +1 -1
  99. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
  100. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +5 -1
  101. package/dist/src/presentation/web/components/features/plugins/plugin-card.d.ts +9 -0
  102. package/dist/src/presentation/web/components/features/plugins/plugin-card.d.ts.map +1 -0
  103. package/dist/src/presentation/web/components/features/plugins/plugin-card.js +15 -0
  104. package/dist/src/presentation/web/components/features/plugins/plugin-card.stories.d.ts +17 -0
  105. package/dist/src/presentation/web/components/features/plugins/plugin-card.stories.d.ts.map +1 -0
  106. package/dist/src/presentation/web/components/features/plugins/plugin-card.stories.js +60 -0
  107. package/dist/src/presentation/web/components/features/plugins/plugin-detail-drawer.d.ts +11 -0
  108. package/dist/src/presentation/web/components/features/plugins/plugin-detail-drawer.d.ts.map +1 -0
  109. package/dist/src/presentation/web/components/features/plugins/plugin-detail-drawer.js +33 -0
  110. package/dist/src/presentation/web/components/features/plugins/plugin-detail-drawer.stories.d.ts +18 -0
  111. package/dist/src/presentation/web/components/features/plugins/plugin-detail-drawer.stories.d.ts.map +1 -0
  112. package/dist/src/presentation/web/components/features/plugins/plugin-detail-drawer.stories.js +51 -0
  113. package/dist/src/presentation/web/components/features/plugins/plugins-page-client.d.ts +6 -0
  114. package/dist/src/presentation/web/components/features/plugins/plugins-page-client.d.ts.map +1 -0
  115. package/dist/src/presentation/web/components/features/plugins/plugins-page-client.js +115 -0
  116. package/dist/src/presentation/web/components/features/plugins/plugins-page-client.stories.d.ts +12 -0
  117. package/dist/src/presentation/web/components/features/plugins/plugins-page-client.stories.d.ts.map +1 -0
  118. package/dist/src/presentation/web/components/features/plugins/plugins-page-client.stories.js +24 -0
  119. package/dist/src/presentation/web/components/features/settings/agent-settings-section.d.ts +3 -3
  120. package/dist/src/presentation/web/components/features/settings/agent-settings-section.d.ts.map +1 -1
  121. package/dist/src/presentation/web/components/features/settings/agent-settings-section.js +23 -102
  122. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts +2 -3
  123. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts.map +1 -1
  124. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.js +18 -22
  125. package/dist/src/presentation/web/components/features/settings/ci-settings-section.d.ts.map +1 -1
  126. package/dist/src/presentation/web/components/features/settings/ci-settings-section.js +14 -5
  127. package/dist/src/presentation/web/components/features/settings/database-settings-section.d.ts.map +1 -1
  128. package/dist/src/presentation/web/components/features/settings/database-settings-section.js +14 -4
  129. package/dist/src/presentation/web/components/features/settings/environment-settings-section.d.ts +9 -3
  130. package/dist/src/presentation/web/components/features/settings/environment-settings-section.d.ts.map +1 -1
  131. package/dist/src/presentation/web/components/features/settings/environment-settings-section.js +75 -65
  132. package/dist/src/presentation/web/components/features/settings/environment-settings-section.stories.d.ts.map +1 -1
  133. package/dist/src/presentation/web/components/features/settings/environment-settings-section.stories.js +20 -18
  134. package/dist/src/presentation/web/components/features/settings/fab-layout-settings-section.d.ts.map +1 -1
  135. package/dist/src/presentation/web/components/features/settings/fab-layout-settings-section.js +1 -1
  136. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.d.ts +3 -3
  137. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.d.ts.map +1 -1
  138. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.js +53 -50
  139. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts.map +1 -1
  140. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.js +27 -25
  141. package/dist/src/presentation/web/components/features/settings/interactive-agent-settings-section.d.ts.map +1 -1
  142. package/dist/src/presentation/web/components/features/settings/interactive-agent-settings-section.js +3 -3
  143. package/dist/src/presentation/web/components/features/settings/litellm-proxy-settings-section.d.ts +6 -0
  144. package/dist/src/presentation/web/components/features/settings/litellm-proxy-settings-section.d.ts.map +1 -0
  145. package/dist/src/presentation/web/components/features/settings/litellm-proxy-settings-section.js +76 -0
  146. package/dist/src/presentation/web/components/features/settings/litellm-proxy-settings-section.stories.d.ts +15 -0
  147. package/dist/src/presentation/web/components/features/settings/litellm-proxy-settings-section.stories.d.ts.map +1 -0
  148. package/dist/src/presentation/web/components/features/settings/litellm-proxy-settings-section.stories.js +29 -0
  149. package/dist/src/presentation/web/components/features/settings/notification-settings-section.d.ts +3 -3
  150. package/dist/src/presentation/web/components/features/settings/notification-settings-section.d.ts.map +1 -1
  151. package/dist/src/presentation/web/components/features/settings/notification-settings-section.js +64 -47
  152. package/dist/src/presentation/web/components/features/settings/notification-settings-section.stories.d.ts.map +1 -1
  153. package/dist/src/presentation/web/components/features/settings/notification-settings-section.stories.js +32 -24
  154. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  155. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +30 -381
  156. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts +2 -0
  157. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts.map +1 -1
  158. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.js +14 -0
  159. package/dist/src/presentation/web/components/features/settings/settings-section-utils.d.ts +13 -10
  160. package/dist/src/presentation/web/components/features/settings/settings-section-utils.d.ts.map +1 -1
  161. package/dist/src/presentation/web/components/features/settings/settings-section-utils.js +10 -10
  162. package/dist/src/presentation/web/components/features/settings/settings-section-utils.stories.d.ts +1 -1
  163. package/dist/src/presentation/web/components/features/settings/settings-section-utils.stories.d.ts.map +1 -1
  164. package/dist/src/presentation/web/components/features/settings/settings-section-utils.stories.js +7 -7
  165. package/dist/src/presentation/web/components/features/settings/stage-timeouts-settings-section.d.ts.map +1 -1
  166. package/dist/src/presentation/web/components/features/settings/stage-timeouts-settings-section.js +1 -1
  167. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.d.ts +3 -3
  168. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.d.ts.map +1 -1
  169. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.js +118 -165
  170. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.d.ts +1 -1
  171. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.d.ts.map +1 -1
  172. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.js +26 -64
  173. package/dist/src/presentation/web/components/features/skills/category-filter.d.ts.map +1 -1
  174. package/dist/src/presentation/web/components/features/skills/category-filter.js +12 -2
  175. package/dist/src/presentation/web/components/features/skills/skill-card.d.ts.map +1 -1
  176. package/dist/src/presentation/web/components/features/skills/skill-card.js +3 -3
  177. package/dist/src/presentation/web/components/features/skills/skill-detail-drawer.d.ts.map +1 -1
  178. package/dist/src/presentation/web/components/features/skills/skill-detail-drawer.js +27 -1
  179. package/dist/src/presentation/web/components/features/skills/skill-list.js +2 -2
  180. package/dist/src/presentation/web/components/features/skills/skills-page-client.d.ts.map +1 -1
  181. package/dist/src/presentation/web/components/features/skills/skills-page-client.js +2 -2
  182. package/dist/src/presentation/web/components/features/tools/tool-card.d.ts.map +1 -1
  183. package/dist/src/presentation/web/components/features/tools/tool-card.js +20 -11
  184. package/dist/src/presentation/web/components/features/tools/tool-detail-drawer.js +1 -1
  185. package/dist/src/presentation/web/components/features/tools/tools-page-client.d.ts.map +1 -1
  186. package/dist/src/presentation/web/components/features/tools/tools-page-client.js +6 -1
  187. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  188. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +40 -44
  189. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
  190. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +1 -0
  191. package/dist/src/presentation/web/components/ui/card.d.ts.map +1 -1
  192. package/dist/src/presentation/web/components/ui/card.js +9 -1
  193. package/dist/src/presentation/web/components/ui/drawer.d.ts.map +1 -1
  194. package/dist/src/presentation/web/components/ui/drawer.js +8 -2
  195. package/dist/src/presentation/web/components/ui/tooltip.d.ts.map +1 -1
  196. package/dist/src/presentation/web/components/ui/tooltip.js +3 -3
  197. package/dist/src/presentation/web/hooks/feature-flags-context.d.ts.map +1 -1
  198. package/dist/src/presentation/web/hooks/feature-flags-context.js +1 -0
  199. package/dist/src/presentation/web/lib/feature-flags.d.ts +2 -0
  200. package/dist/src/presentation/web/lib/feature-flags.d.ts.map +1 -1
  201. package/dist/src/presentation/web/lib/feature-flags.js +6 -0
  202. package/dist/translations/ar/web.json +40 -2
  203. package/dist/translations/de/web.json +40 -2
  204. package/dist/translations/en/web.json +40 -2
  205. package/dist/translations/es/web.json +40 -2
  206. package/dist/translations/fr/web.json +40 -2
  207. package/dist/translations/he/web.json +40 -2
  208. package/dist/translations/pt/web.json +40 -2
  209. package/dist/translations/ru/web.json +40 -2
  210. package/dist/tsconfig.build.tsbuildinfo +1 -1
  211. package/package.json +1 -1
  212. package/web/.next/BUILD_ID +1 -1
  213. package/web/.next/app-path-routes-manifest.json +1 -0
  214. package/web/.next/build-manifest.json +3 -3
  215. package/web/.next/fallback-build-manifest.json +3 -3
  216. package/web/.next/prerender-manifest.json +3 -3
  217. package/web/.next/required-server-files.js +3 -3
  218. package/web/.next/required-server-files.json +3 -3
  219. package/web/.next/routes-manifest.json +6 -0
  220. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/next-font-manifest.json +6 -2
  221. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  222. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +1 -1
  223. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  224. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  225. package/web/.next/server/app/(dashboard)/@drawer/chat/page/next-font-manifest.json +6 -2
  226. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  227. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +1 -1
  228. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  229. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  230. package/web/.next/server/app/(dashboard)/@drawer/create/page/next-font-manifest.json +6 -2
  231. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +31 -31
  232. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  233. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  234. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  235. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/next-font-manifest.json +6 -2
  236. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  237. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +2 -2
  238. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  239. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  240. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/next-font-manifest.json +6 -2
  241. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +37 -37
  242. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +2 -2
  243. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  244. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  245. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/next-font-manifest.json +6 -2
  246. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  247. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +1 -1
  248. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  249. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  250. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/next-font-manifest.json +6 -2
  251. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  252. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
  253. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  254. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  255. package/web/.next/server/app/(dashboard)/chat/page/next-font-manifest.json +6 -2
  256. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  257. package/web/.next/server/app/(dashboard)/chat/page.js +1 -1
  258. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  259. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  260. package/web/.next/server/app/(dashboard)/create/page/next-font-manifest.json +6 -2
  261. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +31 -31
  262. package/web/.next/server/app/(dashboard)/create/page.js +1 -1
  263. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  264. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  265. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/next-font-manifest.json +6 -2
  266. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  267. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +2 -2
  268. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  269. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  270. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/next-font-manifest.json +6 -2
  271. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +37 -37
  272. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +2 -2
  273. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  274. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  275. package/web/.next/server/app/(dashboard)/page/next-font-manifest.json +6 -2
  276. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  277. package/web/.next/server/app/(dashboard)/page.js +1 -1
  278. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  279. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  280. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/next-font-manifest.json +6 -2
  281. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  282. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +1 -1
  283. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  284. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  285. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/next-font-manifest.json +6 -2
  286. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  287. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
  288. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  289. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  290. package/web/.next/server/app/_global-error.html +1 -1
  291. package/web/.next/server/app/_global-error.rsc +1 -1
  292. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  293. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  294. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  295. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  296. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  297. package/web/.next/server/app/_not-found/page/next-font-manifest.json +6 -2
  298. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  299. package/web/.next/server/app/_not-found/page.js +1 -1
  300. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  301. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  302. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  303. package/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  304. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  305. package/web/.next/server/app/api/graph-data/route.js +1 -1
  306. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  307. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js +1 -1
  308. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  309. package/web/.next/server/app/api/sessions-batch/route.js +1 -1
  310. package/web/.next/server/app/api/sessions-batch/route.js.nft.json +1 -1
  311. package/web/.next/server/app/plugins/page/app-paths-manifest.json +3 -0
  312. package/web/.next/server/app/plugins/page/build-manifest.json +18 -0
  313. package/web/.next/server/app/plugins/page/next-font-manifest.json +10 -0
  314. package/web/.next/server/app/plugins/page/react-loadable-manifest.json +8 -0
  315. package/web/.next/server/app/plugins/page/server-reference-manifest.json +185 -0
  316. package/web/.next/server/app/plugins/page.js +17 -0
  317. package/web/.next/server/app/plugins/page.js.map +5 -0
  318. package/web/.next/server/app/plugins/page.js.nft.json +1 -0
  319. package/web/.next/server/app/plugins/page_client-reference-manifest.js +3 -0
  320. package/web/.next/server/app/settings/page/next-font-manifest.json +6 -2
  321. package/web/.next/server/app/settings/page/server-reference-manifest.json +34 -22
  322. package/web/.next/server/app/settings/page.js +2 -2
  323. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  324. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  325. package/web/.next/server/app/skills/page/next-font-manifest.json +6 -2
  326. package/web/.next/server/app/skills/page/server-reference-manifest.json +11 -11
  327. package/web/.next/server/app/skills/page.js +1 -1
  328. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  329. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  330. package/web/.next/server/app/tools/page/next-font-manifest.json +6 -2
  331. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  332. package/web/.next/server/app/tools/page.js +1 -1
  333. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  334. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  335. package/web/.next/server/app/version/page/next-font-manifest.json +6 -2
  336. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  337. package/web/.next/server/app/version/page.js +1 -1
  338. package/web/.next/server/app/version/page.js.nft.json +1 -1
  339. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  340. package/web/.next/server/app-paths-manifest.json +1 -0
  341. package/web/.next/server/chunks/11es_next_dist_esm_build_templates_app-route_067cwst.js.map +1 -1
  342. package/web/.next/server/chunks/{[root-of-the-server]__0zu_byw._.js → [root-of-the-server]__07suer1._.js} +2 -2
  343. package/web/.next/server/chunks/{[root-of-the-server]__0u1jyv9._.js → [root-of-the-server]__0sgzo7y._.js} +2 -2
  344. package/web/.next/server/chunks/[root-of-the-server]__0tb~wwk._.js +1 -1
  345. package/web/.next/server/chunks/{[root-of-the-server]__08cpfre._.js → [root-of-the-server]__0uxlr84._.js} +2 -2
  346. package/web/.next/server/chunks/ssr/08qz_lucide-react_dist_esm_icons_0c0dui7._.js +3 -0
  347. package/web/.next/server/chunks/ssr/08qz_lucide-react_dist_esm_icons_0c0dui7._.js.map +1 -0
  348. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js +1 -1
  349. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js.map +1 -1
  350. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js +2 -2
  351. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js.map +1 -1
  352. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js +1 -1
  353. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js.map +1 -1
  354. package/web/.next/server/chunks/ssr/11es_next_dist_esm_build_templates_app-page_0y6lfp8.js +4 -0
  355. package/web/.next/server/chunks/ssr/11es_next_dist_esm_build_templates_app-page_0y6lfp8.js.map +1 -0
  356. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js +1 -1
  357. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js.map +1 -1
  358. package/web/.next/server/chunks/ssr/{_04s_q5r._.js → 12k._sonner_dist_index_mjs_0-vmpk5._.js} +2 -2
  359. package/web/.next/server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js.map +1 -0
  360. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0rvrr1j._.js → [root-of-the-server]__0.5ojmt._.js} +2 -2
  361. package/web/.next/server/chunks/ssr/[root-of-the-server]__0.5ojmt._.js.map +1 -0
  362. package/web/.next/server/chunks/ssr/[root-of-the-server]__04h~gav._.js +3 -0
  363. package/web/.next/server/chunks/ssr/[root-of-the-server]__04h~gav._.js.map +1 -0
  364. package/web/.next/server/chunks/ssr/[root-of-the-server]__05_qc0n._.js +1 -1
  365. package/web/.next/server/chunks/ssr/[root-of-the-server]__05_qc0n._.js.map +1 -1
  366. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0uy_5rw._.js → [root-of-the-server]__0ge~xny._.js} +2 -2
  367. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0uy_5rw._.js.map → [root-of-the-server]__0ge~xny._.js.map} +1 -1
  368. package/web/.next/server/chunks/ssr/[root-of-the-server]__0jy4nha._.js +3 -0
  369. package/web/.next/server/chunks/ssr/[root-of-the-server]__0jy4nha._.js.map +1 -0
  370. package/web/.next/server/chunks/ssr/{_0e5cv3q._.js → [root-of-the-server]__0n~o-g-._.js} +2 -2
  371. package/web/.next/server/chunks/ssr/[root-of-the-server]__0n~o-g-._.js.map +1 -0
  372. package/web/.next/server/chunks/ssr/{[root-of-the-server]__02.89uf._.js → [root-of-the-server]__0qda~yi._.js} +2 -2
  373. package/web/.next/server/chunks/ssr/{[root-of-the-server]__02.89uf._.js.map → [root-of-the-server]__0qda~yi._.js.map} +1 -1
  374. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rv1gci._.js +1 -1
  375. package/web/.next/server/chunks/ssr/[root-of-the-server]__0tq2syh._.js +1 -1
  376. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0r5zhk.._.js → [root-of-the-server]__0t~u8sd._.js} +2 -2
  377. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0r5zhk.._.js.map → [root-of-the-server]__0t~u8sd._.js.map} +1 -1
  378. package/web/.next/server/chunks/ssr/[root-of-the-server]__0~v1~b9._.js +3 -0
  379. package/web/.next/server/chunks/ssr/[root-of-the-server]__0~v1~b9._.js.map +1 -0
  380. package/web/.next/server/chunks/ssr/{[root-of-the-server]__04rq9lr._.js → [root-of-the-server]__10tll_l._.js} +2 -2
  381. package/web/.next/server/chunks/ssr/{[root-of-the-server]__04rq9lr._.js.map → [root-of-the-server]__10tll_l._.js.map} +1 -1
  382. package/web/.next/server/chunks/ssr/[root-of-the-server]__12j29w-._.js +1 -1
  383. package/web/.next/server/chunks/ssr/[root-of-the-server]__12j29w-._.js.map +1 -1
  384. package/web/.next/server/chunks/ssr/_0-09vq7._.js +1 -1
  385. package/web/.next/server/chunks/ssr/_0-09vq7._.js.map +1 -1
  386. package/web/.next/server/chunks/ssr/_01sesw0._.js +1 -1
  387. package/web/.next/server/chunks/ssr/_01sesw0._.js.map +1 -1
  388. package/web/.next/server/chunks/ssr/{_00u~.41._.js → _03x4h9e._.js} +2 -2
  389. package/web/.next/server/chunks/ssr/_03x4h9e._.js.map +1 -0
  390. package/web/.next/server/chunks/ssr/{_0hwjfpu._.js → _05fk0a4._.js} +2 -2
  391. package/web/.next/server/chunks/ssr/_05fk0a4._.js.map +1 -0
  392. package/web/.next/server/chunks/ssr/_069y.js._.js +2 -2
  393. package/web/.next/server/chunks/ssr/_069y.js._.js.map +1 -1
  394. package/web/.next/server/chunks/ssr/{_0-.ckn5._.js → _07u.4jr._.js} +2 -2
  395. package/web/.next/server/chunks/ssr/{_0-.ckn5._.js.map → _07u.4jr._.js.map} +1 -1
  396. package/web/.next/server/chunks/ssr/_083k45~._.js +3 -0
  397. package/web/.next/server/chunks/ssr/_083k45~._.js.map +1 -0
  398. package/web/.next/server/chunks/ssr/_0__4si~._.js +1 -1
  399. package/web/.next/server/chunks/ssr/_0__4si~._.js.map +1 -1
  400. package/web/.next/server/chunks/ssr/_0_m17kl._.js +1 -1
  401. package/web/.next/server/chunks/ssr/_0_m17kl._.js.map +1 -1
  402. package/web/.next/server/chunks/ssr/_0d4miu.._.js +1 -1
  403. package/web/.next/server/chunks/ssr/_0d4miu.._.js.map +1 -1
  404. package/web/.next/server/chunks/ssr/_0e8ern9._.js +1 -1
  405. package/web/.next/server/chunks/ssr/_0e8ern9._.js.map +1 -1
  406. package/web/.next/server/chunks/ssr/_0i~-084._.js +3 -0
  407. package/web/.next/server/chunks/ssr/_0i~-084._.js.map +1 -0
  408. package/web/.next/server/chunks/ssr/_0kt18~b._.js +3 -0
  409. package/web/.next/server/chunks/ssr/_0kt18~b._.js.map +1 -0
  410. package/web/.next/server/chunks/ssr/{_138qywk._.js → _0mj-tmi._.js} +2 -2
  411. package/web/.next/server/chunks/ssr/{_138qywk._.js.map → _0mj-tmi._.js.map} +1 -1
  412. package/web/.next/server/chunks/ssr/{_0hw~zvl._.js → _0o_oaao._.js} +2 -2
  413. package/web/.next/server/chunks/ssr/_0o_oaao._.js.map +1 -0
  414. package/web/.next/server/chunks/ssr/_0p3~u8u._.js +2 -2
  415. package/web/.next/server/chunks/ssr/_0p3~u8u._.js.map +1 -1
  416. package/web/.next/server/chunks/ssr/_0r.3n~3._.js +1 -1
  417. package/web/.next/server/chunks/ssr/_0r.3n~3._.js.map +1 -1
  418. package/web/.next/server/chunks/ssr/_0rcx2-c._.js +9 -0
  419. package/web/.next/server/chunks/ssr/_0rcx2-c._.js.map +1 -0
  420. package/web/.next/server/chunks/ssr/_0t59q8r._.js +1 -1
  421. package/web/.next/server/chunks/ssr/_0t59q8r._.js.map +1 -1
  422. package/web/.next/server/chunks/ssr/_0tcccbb._.js +1 -1
  423. package/web/.next/server/chunks/ssr/_0tcccbb._.js.map +1 -1
  424. package/web/.next/server/chunks/ssr/_0tfz1v_._.js +3 -0
  425. package/web/.next/server/chunks/ssr/_0tfz1v_._.js.map +1 -0
  426. package/web/.next/server/chunks/ssr/{_00k65h-._.js → _0u3d8.n._.js} +2 -2
  427. package/web/.next/server/chunks/ssr/_0u3d8.n._.js.map +1 -0
  428. package/web/.next/server/chunks/ssr/_0vjw-e_._.js +7 -0
  429. package/web/.next/server/chunks/ssr/_0vjw-e_._.js.map +1 -0
  430. package/web/.next/server/chunks/ssr/_0vyfc4b._.js +1 -1
  431. package/web/.next/server/chunks/ssr/_0vyfc4b._.js.map +1 -1
  432. package/web/.next/server/chunks/ssr/_0w-_hww._.js +1 -1
  433. package/web/.next/server/chunks/ssr/_0w-_hww._.js.map +1 -1
  434. package/web/.next/server/chunks/ssr/_0ygafoy._.js +7 -0
  435. package/web/.next/server/chunks/ssr/_0ygafoy._.js.map +1 -0
  436. package/web/.next/server/chunks/ssr/_0zk-h5w._.js +1 -1
  437. package/web/.next/server/chunks/ssr/_0zk-h5w._.js.map +1 -1
  438. package/web/.next/server/chunks/ssr/_0~7lwu_._.js +1 -1
  439. package/web/.next/server/chunks/ssr/_0~7lwu_._.js.map +1 -1
  440. package/web/.next/server/chunks/ssr/_10joy2y._.js +3 -0
  441. package/web/.next/server/chunks/ssr/_10joy2y._.js.map +1 -0
  442. package/web/.next/server/chunks/ssr/_1161g9x._.js +1 -1
  443. package/web/.next/server/chunks/ssr/_1161g9x._.js.map +1 -1
  444. package/web/.next/server/chunks/ssr/_12uy.45._.js +3 -0
  445. package/web/.next/server/chunks/ssr/_12uy.45._.js.map +1 -0
  446. package/web/.next/server/chunks/ssr/src_presentation_web_0y11iiz._.js +1 -1
  447. package/web/.next/server/chunks/ssr/src_presentation_web_0y11iiz._.js.map +1 -1
  448. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_plugins_page_actions_0rdndum.js +3 -0
  449. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_plugins_page_actions_0rdndum.js.map +1 -0
  450. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js +1 -1
  451. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js.map +1 -1
  452. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js +1 -1
  453. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js.map +1 -1
  454. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_0pjb_re._.js +1 -1
  455. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_0w2wqvu._.js +1 -1
  456. package/web/.next/server/chunks/ssr/src_presentation_web_components_0sk2qdt._.js +1 -1
  457. package/web/.next/server/chunks/ssr/src_presentation_web_components_0sk2qdt._.js.map +1 -1
  458. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js +1 -1
  459. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js.map +1 -1
  460. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_0aji.op._.js +1 -1
  461. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_0aji.op._.js.map +1 -1
  462. package/web/.next/server/middleware-build-manifest.js +3 -3
  463. package/web/.next/server/next-font-manifest.js +1 -1
  464. package/web/.next/server/next-font-manifest.json +63 -2
  465. package/web/.next/server/pages/500.html +1 -1
  466. package/web/.next/server/server-reference-manifest.js +1 -1
  467. package/web/.next/server/server-reference-manifest.json +187 -61
  468. package/web/.next/static/chunks/{0q8ax~44oybo2.js → 01~u_q8i2zgcl.js} +2 -2
  469. package/web/.next/static/chunks/{0-woqr2brccx_.js → 025ml1.quzhqf.js} +1 -1
  470. package/web/.next/static/chunks/{0fg~vc93spa9c.js → 07gal-~-zwagj.js} +1 -1
  471. package/web/.next/static/chunks/07le1mov593z9.js +1 -0
  472. package/web/.next/static/chunks/{0ls0v8h_qbctm.js → 09ungqk9~va40.js} +1 -1
  473. package/web/.next/static/chunks/0ab36sfvo.9ai.js +1 -0
  474. package/web/.next/static/chunks/0aq9-lg.5r.nk.js +5 -0
  475. package/web/.next/static/chunks/{11bi612fz8agh.js → 0b2pi58fg3lt3.js} +1 -1
  476. package/web/.next/static/chunks/{022nrd6snse79.js → 0cvyulutrctst.js} +1 -1
  477. package/web/.next/static/chunks/0eqi_uuiepxhf.js +1 -0
  478. package/web/.next/static/chunks/0inayq2zzadja.js +1 -0
  479. package/web/.next/static/chunks/{0t3xjndx2s1_j.css → 0j.1nx3ly591i.css} +1 -0
  480. package/web/.next/static/chunks/{0v~n9z6b639zm.js → 0jwq.mr-.ltps.js} +1 -1
  481. package/web/.next/static/chunks/0k8m.qcahm63g.js +1 -0
  482. package/web/.next/static/chunks/0lc0x8kcu46ae.js +1 -0
  483. package/web/.next/static/chunks/0lz-oq74e_ciu.js +1 -0
  484. package/web/.next/static/chunks/0nkujbu62z1jl.js +7 -0
  485. package/web/.next/static/chunks/0o4m0k3642219.js +1 -0
  486. package/web/.next/static/chunks/0oadtfnesfdqc.js +1 -0
  487. package/web/.next/static/chunks/0udlnp30o1kjd.js +5 -0
  488. package/web/.next/static/chunks/{0q7ohuqneuur4.js → 0uryz2ek77e2a.js} +1 -1
  489. package/web/.next/static/chunks/0v7r7y~3e~oo6.css +1 -0
  490. package/web/.next/static/chunks/0xo.hi4px83w2.js +1 -0
  491. package/web/.next/static/chunks/{0j.wph28jrce1.js → 0xr0p_ynap2~d.js} +1 -1
  492. package/web/.next/static/chunks/0xtzpbc5mm5z7.js +5 -0
  493. package/web/.next/static/chunks/{02phgt~f2c-2q.js → 0~-kk8o121_13.js} +1 -1
  494. package/web/.next/static/chunks/13q1peb_t9vj8.js +1 -0
  495. package/web/.next/static/chunks/{0ps5sykbi-z5-.js → 16k169s1a_8ru.js} +1 -1
  496. package/web/.next/static/chunks/{0ma7k9iohb3bb.js → 17dp77weos4ao.js} +1 -1
  497. package/web/.next/static/media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2 +0 -0
  498. package/web/.next/static/media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2 +0 -0
  499. package/web/.next/static/media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2 +0 -0
  500. package/web/.next/static/media/5476f68d60460930-s.0wxq9webf.ew4.woff2 +0 -0
  501. package/web/.next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2 +0 -0
  502. package/web/.next/static/media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2 +0 -0
  503. package/web/.next/static/media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2 +0 -0
  504. package/web/package.json +2 -2
  505. package/web/public/favicon.svg +10 -0
  506. package/web/public/icons/tools/antigravity.svg +1 -0
  507. package/web/public/icons/tools/bash.svg +38 -0
  508. package/web/public/icons/tools/cursor-cli.svg +12 -0
  509. package/web/public/icons/tools/cursor.svg +1 -0
  510. package/web/public/icons/tools/fish.svg +153 -0
  511. package/web/public/icons/tools/powershell.svg +29 -0
  512. package/web/public/icons/tools/zsh.svg +1 -0
  513. package/web/.next/server/chunks/ssr/08qz_lucide-react_dist_esm_icons_0zwb4s4._.js +0 -3
  514. package/web/.next/server/chunks/ssr/08qz_lucide-react_dist_esm_icons_0zwb4s4._.js.map +0 -1
  515. package/web/.next/server/chunks/ssr/[root-of-the-server]__0c0xoi_._.js +0 -3
  516. package/web/.next/server/chunks/ssr/[root-of-the-server]__0c0xoi_._.js.map +0 -1
  517. package/web/.next/server/chunks/ssr/[root-of-the-server]__0lslgap._.js +0 -7
  518. package/web/.next/server/chunks/ssr/[root-of-the-server]__0lslgap._.js.map +0 -1
  519. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rvrr1j._.js.map +0 -1
  520. package/web/.next/server/chunks/ssr/_00k65h-._.js.map +0 -1
  521. package/web/.next/server/chunks/ssr/_00u~.41._.js.map +0 -1
  522. package/web/.next/server/chunks/ssr/_04s_q5r._.js.map +0 -1
  523. package/web/.next/server/chunks/ssr/_08i-c2n._.js +0 -3
  524. package/web/.next/server/chunks/ssr/_08i-c2n._.js.map +0 -1
  525. package/web/.next/server/chunks/ssr/_0aaotn-._.js +0 -3
  526. package/web/.next/server/chunks/ssr/_0aaotn-._.js.map +0 -1
  527. package/web/.next/server/chunks/ssr/_0e5cv3q._.js.map +0 -1
  528. package/web/.next/server/chunks/ssr/_0gdghcr._.js +0 -3
  529. package/web/.next/server/chunks/ssr/_0gdghcr._.js.map +0 -1
  530. package/web/.next/server/chunks/ssr/_0hwjfpu._.js.map +0 -1
  531. package/web/.next/server/chunks/ssr/_0hw~zvl._.js.map +0 -1
  532. package/web/.next/server/chunks/ssr/_0n.magx._.js +0 -3
  533. package/web/.next/server/chunks/ssr/_0n.magx._.js.map +0 -1
  534. package/web/.next/server/chunks/ssr/_0phryzt._.js +0 -3
  535. package/web/.next/server/chunks/ssr/_0phryzt._.js.map +0 -1
  536. package/web/.next/server/chunks/ssr/_0y8u4.e._.js +0 -9
  537. package/web/.next/server/chunks/ssr/_0y8u4.e._.js.map +0 -1
  538. package/web/.next/server/chunks/ssr/_12un22l._.js +0 -7
  539. package/web/.next/server/chunks/ssr/_12un22l._.js.map +0 -1
  540. package/web/.next/static/chunks/0-lu0b1ewsb0_.js +0 -1
  541. package/web/.next/static/chunks/01~dudieyb7wl.js +0 -5
  542. package/web/.next/static/chunks/02kpdawdtqcxm.js +0 -1
  543. package/web/.next/static/chunks/03s7z6w1lj0w~.js +0 -1
  544. package/web/.next/static/chunks/04~sw.nhpwy6s.css +0 -1
  545. package/web/.next/static/chunks/05enics63g._-.js +0 -7
  546. package/web/.next/static/chunks/08611baheit.t.js +0 -1
  547. package/web/.next/static/chunks/0_9k2ybutuphq.js +0 -1
  548. package/web/.next/static/chunks/0m5~9kij3s~81.js +0 -1
  549. package/web/.next/static/chunks/0n3kuj7t_-jzp.js +0 -1
  550. package/web/.next/static/chunks/0q~uf2s33.48w.js +0 -1
  551. package/web/.next/static/chunks/15m2wfd5k_7fj.js +0 -1
  552. package/web/.next/static/chunks/15rbgqykl.er8.js +0 -1
  553. package/web/.next/static/chunks/164dnpi666fv_.js +0 -5
  554. package/web/.next/static/chunks/17z2sq7c5z8cr.js +0 -5
  555. /package/web/.next/server/chunks/{[root-of-the-server]__0zu_byw._.js.map → [root-of-the-server]__07suer1._.js.map} +0 -0
  556. /package/web/.next/server/chunks/{[root-of-the-server]__0u1jyv9._.js.map → [root-of-the-server]__0sgzo7y._.js.map} +0 -0
  557. /package/web/.next/server/chunks/{[root-of-the-server]__08cpfre._.js.map → [root-of-the-server]__0uxlr84._.js.map} +0 -0
  558. /package/web/.next/static/{GSG_c1emY-f_AA00vD56y → vD7xT4_iwKDhgj4-rr637}/_buildManifest.js +0 -0
  559. /package/web/.next/static/{GSG_c1emY-f_AA00vD56y → vD7xT4_iwKDhgj4-rr637}/_clientMiddlewareManifest.js +0 -0
  560. /package/web/.next/static/{GSG_c1emY-f_AA00vD56y → vD7xT4_iwKDhgj4-rr637}/_ssgManifest.js +0 -0
@@ -0,0 +1,5 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,29603,e=>{"use strict";let t=(0,e.i(54864).default)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]]);e.s(["Maximize2",0,t],29603)},66162,68158,33274,56852,35340,72394,2830,49707,88979,86136,81153,10231,89339,55419,16018,89813,2047,70338,49600,93181,e=>{"use strict";var t=e.i(66305),r=e.i(96871),s=e.i(16539);function i(e){let t=[];for(let r of e.effectTasks)try{r()}catch(e){t.push(e)}if(t.length>0)if(1===t.length)throw t[0];else{for(let e of t)console.error(e);throw AggregateError(t,"Errors during commit")}}function n(e){let t=[];for(let r of e.cells)if(r?.type==="effect"&&(r.deps=null,r.cleanup))try{r.cleanup?.()}catch(e){t.push(e)}finally{r.cleanup=void 0}if(t.length>0)if(1===t.length)throw t[0];else{for(let e of t)console.error(e);throw AggregateError(t,"Errors during cleanup")}}let o=void 0!==t.default&&!1,a=null;function l(){if(!a)throw Error("No resource fiber available");return a}let u=Symbol("fnSymbol");function c(e,t,r,s=function(e){return o?a?.devStrictMode?a.isFirstRender?"child":"root":e?"root":null:null}(!1)){return{type:e,root:t,markDirty:r,devStrictMode:s,cells:[],currentIndex:0,renderContext:void 0,isFirstRender:!0,isMounted:!1,isNeverMounted:!0}}function h(e){if(!e.isMounted)throw Error("Tried to unmount a fiber that is already unmounted");e.isMounted=!1,n(e)}function d(e,t){let r={effectTasks:[],props:t,output:void 0};e.currentIndex=0;let s=a;a=e;try{if((()=>{e.renderContext=r;try{r.output=function(e,t){let r=e[u];if(!r)throw Error("ResourceElement.type is not a valid Resource");return r(t)}(e.type,t)}finally{e.renderContext=void 0}})(),e.isFirstRender=!1,e.cells.length!==e.currentIndex)throw Error(`Rendered ${e.currentIndex} hooks but expected ${e.cells.length}. Hooks must be called in the exact same order in every render.`)}finally{a=s}return r}function p(e,t){e.isMounted=!0,o&&e.isNeverMounted&&"root"===e.devStrictMode&&(e.isNeverMounted=!1,i(t),n(e)),e.isNeverMounted=!1,i(t)}let m=e=>({version:0,committedVersion:0,dispatchUpdate:e,changelog:[],dirtyCells:[]}),g=e=>{for(let t of e.dirtyCells)t.dirty=!1,t.queue.clear(),t.current=t.workInProgress;e.committedVersion=e.version,e.changelog.length=0,e.dirtyCells.length=0},f=(e,t)=>{let r=e.version>t;if(e.version=t,r){for(let t of e.dirtyCells)t.dirty=!1,t.queue.clear(),t.workInProgress=t.current;if(e.dirtyCells.length=0,t===e.committedVersion)e.changelog.length=0;else{if(e.committedVersion>t)throw Error("Version is less than committed version");for(;e.committedVersion+e.changelog.length>t;)e.changelog.pop();e.changelog.forEach(e=>e()),g(e)}}},b=(e,t)=>{t.dirty||(t.dirty=!0,e.markDirty?.(),e.root.dirtyCells.push(t))};function y(e){let t=(0,s.useMemo)(()=>m(e=>i(e)),[]),[r,i]=(0,s.useReducer)((e,r)=>(f(t,e),e+ +!!r()),0);f(t,r);let n=(()=>{if(!o)return null;let e=(0,s.useRef)(0),t=0===e.current;return((0,s.useState)(()=>e.current++),2!==e.current)?null:t?"child":"root"})(),a=(0,s.useMemo)(()=>(e.key,c(e.type,t,void 0,n)),[e.type,e.key,t,n]),l=d(a,e.props);return(0,s.useLayoutEffect)(()=>()=>h(a),[a]),(0,s.useLayoutEffect)(()=>{g(t),p(a,l)}),l.output}function x(e){let t=e=>({type:t,props:e});return t[u]=e,t}e.s(["useResource",0,y],68158),e.s(["resource",0,x],33274);let v=(e,t)=>{let r=l(),s=r.currentIndex++;if(!r.isFirstRender&&s>=r.cells.length)throw Error("Rendered more hooks than during the previous render. Hooks must be called in the exact same order in every render.");let i=r.cells[s];if(i||(i=t(),r.cells[s]=i),i.type!==e)throw Error("Hook order changed between renders");return i};function _(e,t,r,s){let i=v("reducer",()=>{let t=l(),n=s?s(r):r;return o&&t.devStrictMode&&s&&s(r),{type:"reducer",queue:new Set,dirty:!1,workInProgress:n,current:n,reducer:e,dispatch:r=>{let s={action:r,hasEagerState:!1,eagerState:void 0};if(t.renderContext)throw Error("Resource updated during render");if(t.isNeverMounted)throw Error("Resource updated before mount");t.root.dispatchUpdate(()=>{let n=0===t.root.dirtyCells.length&&!s.hasEagerState&&(s.eagerState=e(i.workInProgress,r),s.hasEagerState=!0,Object.is(i.current,s.eagerState))?null:()=>{b(t,i),i.queue.add(s)};return!!n&&(n(),t.root.changelog.push(n),!0)})}}}),n=l(),a=e===i.reducer;for(let t of(i.reducer=e,i.queue))t.hasEagerState&&a||(t.eagerState=e(i.workInProgress,t.action),t.hasEagerState=!0),o&&n.devStrictMode&&e(i.workInProgress,t.action),i.workInProgress=t.eagerState;if(i.queue.clear(),t){let e=t(i.workInProgress);Object.is(e,i.workInProgress)||(b(n,i),i.workInProgress=e)}return[i.workInProgress,i.dispatch]}let S=(e,t)=>{if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!Object.is(e[r],t[r]))return!1;return!0},w=()=>{throw Error("Memo reducer should not be called")},E=(e,t)=>{let r=l(),[s]=_(w,s=>{if(s&&S(s.deps,t))return s;let i=e();return o&&r.devStrictMode&&e(),{value:i,deps:t}},null,void 0);return s.value};e.s(["tapMemo",0,E],56852);let C=()=>({type:"effect",cleanup:void 0,deps:null});function I(e,t){let r=v("effect",C);if(!(t&&r.deps&&S(r.deps,t))){if(null!==r.deps&&!!t!=!!r.deps)throw Error("tapEffect called with and without dependencies across re-renders");l().renderContext.effectTasks.push(()=>{let s=[];try{r.cleanup?.()}catch(e){s.push(e)}finally{r.cleanup=void 0}try{let t=e();if(void 0!==t&&"function"!=typeof t)throw Error(`An effect function must either return a cleanup function or nothing. Received: ${typeof t}`);r.cleanup=t}catch(e){s.push(e)}if(r.deps=t,s.length>0)if(1===s.length)throw s[0];else{for(let e of s)console.error(e);throw AggregateError(s,"Errors during commit")}})}}e.s(["tapEffect",0,I],35340);let T=(e,t)=>E(()=>e,t),A=(e,t)=>"function"==typeof t?t(e):t,j=e=>"function"==typeof e?e():e;function M(e){return _(A,void 0,e,j)}function R(e,t){let[r]=M(e);return r}function k(e){let[t]=M(()=>({current:e}));return t}function N(e,t){let r=k(0),s=r.current,i=R(l,[]),n=R(()=>()=>{r.current++,i.markDirty?.()},[]),o=R(()=>new Map,[]),a=t?T(e,t):e,u=E(()=>{let e=a(),t=new Set,r=[],s=0;for(let a=0;a<e.length;a++){let l=e[a],u=l.key;if(void 0===u)throw Error(`tapResources did not provide a key for array at index ${a}`);if(t.has(u))throw Error(`Duplicate key ${u} in tapResources`);t.add(u);let h=o.get(u);if(h)if(h.fiber.type!==l.type){let e=c(l.type,i.root,n),t=d(e,l.props);h.next=[e,t],r.push(t.output)}else h.next=d(h.fiber,l.props),r.push(h.next.output);else{let e=c(l.type,i.root,n),t=d(e,l.props);h={fiber:e,next:t},s++,o.set(u,h),r.push(t.output)}}if(o.size>r.length-s)for(let e of o.keys())t.has(e)||(o.get(e).next="delete");return r},[a,s]);return I(()=>()=>{for(let e of o.keys())h(o.get(e).fiber)},[]),I(()=>{for(let[e,t]of o.entries())"delete"===t.next?(t.fiber.isMounted&&h(t.fiber),o.delete(e)):Array.isArray(t.next)?(h(t.fiber),t.fiber=t.next[0],p(t.fiber,t.next[1])):p(t.fiber,t.next)},[u]),u}function B(e){let t=k(e);if(I(()=>{t.current=e}),o){let e=l();return T((...r)=>{if(e.renderContext)throw Error("tapEffectEvent cannot be called during render");return t.current(...r)},[e])}return t.current}function P(e,t){let r=l(),s=k(0),i=E(()=>(e.key,c(e.type,r.root,()=>{s.current++,r.markDirty?.()})),[e.type,e.key,r]),n=t?E(()=>d(i,e.props),[i,...t,s.current]):d(i,e.props);return I(()=>()=>h(i),[i]),I(()=>{p(i,n)},[i,n]),n.output}function D(e,t){return{...t,key:e}}e.s(["tapState",0,M],72394),e.s(["tapRef",0,k],2830),e.s(["tapEffectEvent",0,B],49707);let O={schedulers:new Set([]),isScheduled:!1};class F{_task;_isDirty=!1;constructor(e){this._task=e}get isDirty(){return this._isDirty}markDirty(){this._isDirty=!0,O.schedulers.add(this),L()}runTask(){this._isDirty=!1,this._task()}}let L=()=>{O.isScheduled||(O.isScheduled=!0,V())},U=()=>{try{let e=[],t=0;for(let r of O.schedulers)if(O.schedulers.delete(r),r.isDirty){if(++t>50)throw Error("Maximum update depth exceeded. This can happen when a resource repeatedly calls setState inside tapEffect.");try{r.runTask()}catch(t){e.push(t)}}if(e.length>0)if(1===e.length)throw e[0];else{for(let t of e)console.error(t);throw AggregateError(e,"Errors occurred during flushSync")}}finally{O.schedulers.clear(),O.isScheduled=!1}},V=(()=>{if("u">typeof MessageChannel){let e=new MessageChannel;return e.port1.onmessage=U,()=>e.port2.postMessage(null)}return()=>setTimeout(U,0)})();e.s(["UpdateScheduler",0,F,"flushResourcesSync",0,e=>{let t=O;O={schedulers:new Set([]),isScheduled:!0};try{let t=e();return U(),t}finally{O=t}}],88979);let $=Symbol("tap.Context"),z=e=>({[$]:e}),q=(e,t,r)=>{let s=e[$];e[$]=t;try{return r()}finally{e[$]=s}},H=e=>e[$],G=Symbol("assistant-ui.store.clientIndex"),K=z([]),J=new Set(["$$typeof","nodeType","then"]),Q=(e,t)=>e===Symbol.toStringTag?t:"symbol"==typeof e?void 0:"toJSON"===e?()=>t:!!J.has(e)&&void 0;class W{getOwnPropertyDescriptor(e,t){let r=this.get(e,t);if(void 0!==r)return{value:r,writable:!1,enumerable:!0,configurable:!1}}set(){return!1}setPrototypeOf(){return!1}defineProperty(){return!1}deleteProperty(){return!1}preventExtensions(){return!1}}let Y=e=>{let t=x(e);return e=>{let r=t(e);return void 0===e.key?r:D(e.key,r)}},X=Symbol("assistant-ui.store.getValue"),Z=new Map;class ee extends W{outputRef;index;boundFns;cachedReceiver;constructor(e,t){super(),this.outputRef=e,this.index=t}get(e,t,r){if(t===X)return this.outputRef.current;if(t===G)return this.index;let s=Q(t,"ClientProxy");if(!1!==s)return s;let i=this.outputRef.current[t];if("function"==typeof i){this.cachedReceiver!==r&&(this.boundFns=new Map,this.cachedReceiver=r);let e=this.boundFns.get(t);if(!e){let s;e=(!(s=Z.get(t))&&(s=function(...e){if(!this||"object"!=typeof this)throw Error(`Method "${String(t)}" called without proper context. This may indicate the function was called incorrectly.`);let r=this[X];if(!r)throw Error(`Method "${String(t)}" called on invalid client proxy. Ensure you are calling this method on a valid client instance.`);let s=r[t];if(!s)throw Error(`Method "${String(t)}" is not implemented.`);if("function"!=typeof s)throw Error(`"${String(t)}" is not a function.`);return s(...e)},Z.set(t,s)),s).bind(r),this.boundFns.set(t,e)}return e}return i}ownKeys(){return Object.keys(this.outputRef.current)}has(e,t){return t===X||t===G||t in this.outputRef.current}}let et=Y(e=>{var t;let r,s=k(null),i=H(K).length,n=E(()=>new Proxy({},new ee(s,i)),[i]),o=(t=()=>P(e),r=H(K),q(K,E(()=>[...r,n],[r,n]),t));return s.current||(s.current=o),I(()=>{s.current=o}),{methods:n,state:o.getState?.(),key:e.key}}),er=Symbol("assistant-ui.store.proxiedAssistantState"),es=e=>"on"===e||"subscribe"===e||"symbol"==typeof e,ei=e=>new Proxy({},new class extends W{get(t,r){let s=Q(r,"AssistantState");if(!1!==s)return s;if(!es(r)){let t=e[r]()[X];if(!t)throw Error("Client scope contains a non-client resource. Ensure your Derived get() returns a client created with tapClientResource(), not a plain resource.");return t.getState?.()}}ownKeys(){return Object.keys(e).filter(e=>!es(e))}has(t,r){return!es(r)&&r in e}});e.s(["PROXIED_ASSISTANT_STATE_SYMBOL",0,er,"createProxiedAssistantState",0,ei,"getProxiedAssistantState",0,e=>e[er]],86136);let en=()=>()=>{},eo=e=>{let t=()=>{throw Error(e)};return t.source=null,t.query=null,t},ea=new Proxy({},new class extends W{get(e,t){if("subscribe"===t||"on"===t)return en;if(t===er)return el;let r=Q(t,"DefaultAssistantClient");return!1!==r?r:eo("You are using a component or hook that requires an AuiProvider. Wrap your component in an <AuiProvider> component.")}ownKeys(){return["subscribe","on",er]}has(e,t){return"subscribe"===t||"on"===t||t===er}}),el=ei(ea),eu=()=>new Proxy({},{get(e,t){let r=Q(t,"AssistantClient");return!1!==r?r:eo(`The current scope does not have a "${String(t)}" property.`)}}),ec=(0,s.createContext)(ea),eh=()=>(0,s.useContext)(ec),ed=({value:e,children:t})=>(0,r.jsx)(ec.Provider,{value:e,children:t});e.s(["AuiProvider",0,ed,"DefaultAssistantClient",0,ea,"createRootAssistantClient",0,eu,"useAssistantContextValue",0,eh],81153);let ep=x(e=>null);e.s(["Derived",0,ep],10231);let em=Symbol("assistant-ui.transform-scopes");function eg(e,t){if(e[em])throw Error("transformScopes is already attached to this resource");e[em]=t}let ef=e=>E(()=>e,[...Object.entries(e).flat()]),eb=e=>"string"==typeof e?{scope:e.split(".")[0],event:e}:{scope:e.scope,event:e.event};e.s(["normalizeEventSelector",0,eb],89339);let ey=x(()=>R(()=>{let e=new Map,t=new Set,r=new Set;return{on(r,s){if("*"===r)return t.add(s),()=>t.delete(s);let i=e.get(r);return i||(i=new Set,e.set(r,i)),i.add(s),()=>{i.delete(s),0===i.size&&e.delete(r)}},emit(r,s,i){let n=e.get(r);(n||0!==t.size)&&queueMicrotask(()=>{let e=[];if(n)for(let t of n)try{t(s,i)}catch(t){e.push(t)}if(t.size>0){let n={event:r,payload:s};for(let r of t)try{r(n,i)}catch(t){e.push(t)}}if(e.length>0)if(1===e.length)throw e[0];else{for(let t of e)console.error(t);throw AggregateError(e,"Errors occurred during event emission")}})},subscribe:e=>(r.add(e),()=>r.delete(e)),notifySubscribers(){for(let e of r)try{e()}catch(e){console.error("NotificationManager: subscriber callback error",e)}}}},[])),ex=z(null),ev=()=>{let e=H(ex);if(!e)throw Error("AssistantTapContext is not available");return e},e_=()=>{let{emit:e}=ev(),t=H(K);return B((r,s)=>{e(r,s,t)})},eS=e=>E(()=>e,e),ew=x(({element:e,emit:t,clientRef:r})=>{let{methods:s,state:i}=q(ex,{clientRef:r,emit:t},()=>P(et(e)));return E(()=>({state:i,methods:s}),[s,i])}),eE=x(({element:e,notifications:t,clientRef:r,name:s})=>{var i;let n,a,l,u,b,y,x,v,_,S=(i=ew({element:e,emit:t.emit,clientRef:r}),n=R(()=>new F(()=>_(null)),[]),a=R(()=>[],[]),f((l=E(()=>(i.key,c(i.type,m(e=>{(n.isDirty||e())&&(a.push(e),n.markDirty())}))),[i.type,i.key])).root,l.root.committedVersion),u=d(l,i.props),b=k(!1),y=k(i.props),x=k(u.output),v=R(()=>new Set,[]),_=B(e=>{if(null===e&&(f(l.root,2),f(l.root,1),a.forEach(e=>{o&&l.devStrictMode&&e(),e()}),o&&l.devStrictMode&&d(l,y.current),e=d(l,y.current)),n.isDirty)throw Error("Scheduler is dirty, this should never happen");g(l.root),a.length=0,b.current&&p(l,e),n.isDirty||x.current===e.output||(x.current=e.output,v.forEach(e=>e()))}),I(()=>(b.current=!0,()=>{b.current=!1,h(l)}),[l]),I(()=>{y.current=u.props,g(l.root),p(l,u),n.isDirty||x.current===u.output||(x.current=u.output,v.forEach(e=>e()))}),E(()=>({getValue:()=>x.current,subscribe:e=>(v.add(e),()=>v.delete(e))}),[]));return I(()=>S.subscribe(t.notifySubscribers),[S,t]),E(()=>{let e=()=>S.getValue().methods;return Object.defineProperties(e,{source:{value:"root",writable:!1},query:{value:{},writable:!1},name:{value:s,configurable:!0}}),e},[S,s])}),eC=x(()=>E(()=>({clients:[],subscribe:void 0,on:void 0}),[])),eI=x(({clients:e,clientRef:t})=>{let r=P(ey());I(()=>t.parent.subscribe(r.notifySubscribers),[t,r]);let s=eS(N(()=>Object.keys(e).map(s=>D(s,eE({element:e[s],notifications:r,clientRef:t,name:s}))),[e,r,t]));return E(()=>({clients:s,subscribe:r.subscribe,on:function(e,s){if(!this)throw Error("const { on } = useAui() is not supported. Use aui.on() instead.");let{scope:i,event:n}=eb(e);if("*"!==i&&null===this[i].source)throw Error(`Scope "${i}" is not available. Use { scope: "*", event: "${n}" } to listen globally.`);let o=r.on(n,(e,t)=>{if("*"===i)return void s(e);let r=this[i](),n=r[G];r===t[n]&&s(e)});if("*"!==i&&null===t.parent[i].source)return o;let a=t.parent.on(e,s);return()=>{o(),a()}}}),[s,r,t])}),eT=(e,t,r)=>{if("source"in e&&"query"in e)return e;if(r.dep===e)return r.meta;let s=e.getMeta(t.current);return r.meta=s,r.dep=e,s},eA=x(({element:e,clientRef:t,name:r})=>{let s=B(()=>e.props);return E(()=>{let e=()=>s().get(t.current),i={};return Object.defineProperties(e,{source:{get:()=>eT(s(),t,i).source},query:{get:()=>eT(s(),t,i).query},name:{value:r,configurable:!0}}),e},[t,r])}),ej=x(({clients:e,clientRef:t})=>eS(N(()=>Object.keys(e).map(r=>D(r,eA({element:e[r],clientRef:t,name:r}))),[e,t]))),eM=x(({parent:e,clients:t})=>{let{rootClients:r,derivedClients:s}=((e,t)=>{let{rootClients:r,derivedClients:s}=function(e,t){let r={...e},s=new Set,i=!0;for(;i;)for(let e of(i=!1,Object.values(r))){if(e.type===ep||s.has(e.type))continue;s.add(e.type);let n=e.type[em];if(n){n(r,t),i=!0;break}}let n={},o={};for(let[e,t]of Object.entries(r))t.type===ep?o[e]=t:n[e]=t;return{rootClients:n,derivedClients:o}}(e,t);return{rootClients:ef(r),derivedClients:ef(s)}})(t,e),i=k({parent:e,current:null}).current;I(()=>{i.current=a});let n=P(Object.keys(r).length>0?eI({clients:r,clientRef:i}):eC()),o=P(ej({clients:s,clientRef:i})),a=E(()=>{let t=Object.create(e===ea?eu():e);for(let r of(Object.assign(t,{subscribe:n.subscribe??e.subscribe,on:n.on??e.on,[er]:ei(t)}),n.clients))t[r.name]=r;for(let e of o)t[e.name]=e;return t},[e,n,o]);return null===i.current&&(i.current=a),a});function eR(e,{parent:t}={parent:eh()}){if(e)return y(eM({parent:t??ea,clients:e}));if(null===t)throw Error("received null parent, this usage is not allowed");return t}e.s(["useAui",0,eR],55419);let ek=Y(e=>{if(void 0===e.key)throw Error("tapClientResource: Element has no key");return P(et(e))});function eN(e,t){let r=N(()=>e().map(e=>ek(e)),t),s=E(()=>Object.keys(r),[r]),i=E(()=>r.reduce((e,t,r)=>(e[t.key]=r,e),{}),[r]);return{state:E(()=>r.map(e=>e.state),[r]),get:e=>{if("index"in e){if(e.index<0||e.index>=s.length)throw Error(`tapClientLookup: Index ${e.index} out of bounds (length: ${s.length})`);return r[e.index].methods}let t=i[e.key];if(void 0===t)throw Error(`tapClientLookup: Key "${e.key}" not found`);return r[t].methods}}}let eB=e=>{let[,t]=M(e.getState);return I(()=>(t(e.getState()),e.subscribe(()=>{t(e.getState())})),[e]),e.getState()},eP=x(({runtime:e})=>{let t=eB(e),r=e_();return I(()=>{let t=[];for(let s of["switchedTo","switchedAway"]){let i=e.unstable_on(s,()=>{r(`threadListItem.${s}`,{threadId:e.getState().id})});t.push(i)}return()=>{for(let e of t)e()}},[e,r]),{getState:()=>t,switchTo:e.switchTo,rename:e.rename,archive:e.archive,unarchive:e.unarchive,delete:e.delete,generateTitle:e.generateTitle,initialize:e.initialize,detach:e.detach,__internal_getRuntime:()=>e}}),eD=x(({runtime:e})=>{let t=eB(e);return{getState:()=>t,remove:e.remove,__internal_getRuntime:()=>e}}),eO=x(({runtime:e,index:t})=>P(eD({runtime:E(()=>e.getAttachmentByIndex(t),[e,t])}))),eF=x(({threadIdRef:e,messageIdRef:t,runtime:r})=>{let s=eB(r),i=e_();I(()=>{let s=[];for(let n of["send","attachmentAdd"]){let o=r.unstable_on(n,()=>{i(`composer.${n}`,{threadId:e.current,...t&&{messageId:t.current}})});s.push(o)}return s.push(r.unstable_on("attachmentAddError",()=>{let s=r.getState().attachments.findLast(e=>"incomplete"===e.status.type&&"error"===e.status.reason);i("composer.attachmentAddError",{threadId:e.current,...t&&{messageId:t.current},...s&&{attachmentId:s.id}})})),()=>{for(let e of s)e()}},[r,i,e,t]);let n=eN(()=>s.attachments.map((e,t)=>D(e.id,eO({runtime:r,index:t}))),[s.attachments,r]),o=E(()=>({text:s.text,role:s.role,attachments:n.state,runConfig:s.runConfig,isEditing:s.isEditing,canCancel:s.canCancel,attachmentAccept:s.attachmentAccept,isEmpty:s.isEmpty,type:s.type??"thread",dictation:s.dictation,quote:s.quote,queue:[]}),[s,n.state]);return{getState:()=>o,setText:r.setText,setRole:r.setRole,setRunConfig:r.setRunConfig,addAttachment:r.addAttachment,reset:r.reset,clearAttachments:r.clearAttachments,send:r.send,cancel:r.cancel,beginEdit:r.beginEdit??(()=>{throw Error("beginEdit is not supported in this runtime")}),startDictation:r.startDictation,stopDictation:r.stopDictation,setQuote:r.setQuote,attachment:e=>"id"in e?n.get({key:e.id}):n.get(e),queueItem:()=>{throw Error("Queue is not supported in this runtime")},__internal_getRuntime:()=>r}}),eL=x(({runtime:e})=>{let t=eB(e);return{getState:()=>t,addToolResult:t=>e.addToolResult(t),resumeToolCall:t=>e.resumeToolCall(t),__internal_getRuntime:()=>e}}),eU=x(({runtime:e,index:t})=>P(eD({runtime:E(()=>e.getAttachmentByIndex(t),[e,t])}))),eV=x(({runtime:e,index:t})=>P(eL({runtime:E(()=>e.getMessagePartByIndex(t),[e,t])}))),e$=x(({runtime:e,threadIdRef:t})=>{let r=eB(e),[s,i]=M(!1),[n,o]=M(!1),a=E(()=>({get current(){return e.getState().id}}),[e]),l=P(et(eF({runtime:e.composer,threadIdRef:t,messageIdRef:a}))),u=eN(()=>r.content.map((t,r)=>D("toolCallId"in t&&null!=t.toolCallId?`toolCallId-${t.toolCallId}`:`index-${r}`,eV({runtime:e,index:r}))),[r.content,e]),c=eN(()=>(r.attachments??[]).map((t,r)=>D(t.id,eU({runtime:e,index:r}))),[r.attachments,e]),h=E(()=>({...r,parts:u.state,composer:l.state,isCopied:s,isHovering:n}),[r,u.state,l.state,s,n]);return{getState:()=>h,composer:()=>l.methods,reload:t=>e.reload(t),speak:()=>e.speak(),stopSpeaking:()=>e.stopSpeaking(),submitFeedback:t=>e.submitFeedback(t),switchToBranch:t=>e.switchToBranch(t),getCopyText:()=>e.unstable_getCopyText(),part:e=>"index"in e?u.get({index:e.index}):u.get({key:`toolCallId-${e.toolCallId}`}),attachment:e=>"id"in e?c.get({key:e.id}):c.get(e),setIsCopied:i,setIsHovering:o,__internal_getRuntime:()=>e}}),ez=x(({runtime:e,id:t,threadIdRef:r})=>P(e$({runtime:E(()=>e.getMessageById(t),[e,t]),threadIdRef:r}))),eq=x(({runtime:e})=>{let t=eB(e),r=e_();I(()=>{let t=[];for(let s of["runStart","runEnd","initialize","modelContextUpdate"]){let i=e.unstable_on(s,()=>{r(`thread.${s}`,{threadId:e.getState()?.threadId||"unknown"})});t.push(i)}return()=>{for(let e of t)e()}},[e,r]);let s=E(()=>({get current(){return e.getState().threadId}}),[e]),i=P(et(eF({runtime:e.composer,threadIdRef:s}))),n=eN(()=>t.messages.map(t=>D(t.id,ez({runtime:e,id:t.id,threadIdRef:s}))),[t.messages,e,s]),o=E(()=>({isEmpty:0===n.state.length&&!t.isLoading,isDisabled:t.isDisabled,isLoading:t.isLoading,isRunning:t.isRunning,capabilities:t.capabilities,state:t.state,suggestions:t.suggestions,extras:t.extras,speech:t.speech,voice:t.voice,composer:i.state,messages:n.state}),[t,n,i.state]);return{getState:()=>o,composer:()=>i.methods,append:e.append,startRun:e.startRun,resumeRun:e.resumeRun,unstable_resumeRun:e.resumeRun,cancelRun:e.cancelRun,getModelContext:e.getModelContext,export:e.export,import:e.import,reset:e.reset,stopSpeaking:e.stopSpeaking,connectVoice:e.connectVoice,disconnectVoice:e.disconnectVoice,getVoiceVolume:e.getVoiceVolume,subscribeVoiceVolume:e.subscribeVoiceVolume,muteVoice:e.muteVoice,unmuteVoice:e.unmuteVoice,message:e=>"id"in e?n.get({key:e.id}):n.get(e),__internal_getRuntime:()=>e}}),eH=x(({runtime:e,id:t})=>P(eP({runtime:E(()=>e.getItemById(t),[e,t])}))),eG=x(({runtime:e,__internal_assistantRuntime:t})=>{let r=eB(e),s=P(et(eq({runtime:e.main}))),i=eN(()=>Object.keys(r.threadItems).map(t=>D(t,eH({runtime:e,id:t}))),[r.threadItems,e]),n=E(()=>({mainThreadId:r.mainThreadId,newThreadId:r.newThreadId??null,isLoading:r.isLoading,threadIds:r.threadIds,archivedThreadIds:r.archivedThreadIds,threadItems:i.state,main:s.state}),[r,i.state,s.state]);return{getState:()=>n,thread:()=>s.methods,item:e=>{if("main"===e)return i.get({key:n.mainThreadId});if("id"in e)return i.get({key:e.id});let{index:t,archived:r=!1}=e,s=r?n.archivedThreadIds[t]:n.threadIds[t];return i.get({key:s})},switchToThread:async t=>{await e.switchToThread(t)},switchToNewThread:async()=>{await e.switchToNewThread()},__internal_getAssistantRuntime:()=>t}});class eK{_providers=new Set;getModelContext(){return Array.from(this._providers).map(e=>e.getModelContext()).sort((e,t)=>(t.priority??0)-(e.priority??0)).reduce((e,t)=>{if(t.system&&(e.system?e.system+=`
2
+
3
+ ${t.system}`:e.system=t.system),t.tools)for(let[r,s]of Object.entries(t.tools)){let t=e.tools?.[r];if(t&&t!==s)throw Error(`You tried to define a tool with the name ${r}, but it already exists.`);e.tools||(e.tools={}),e.tools[r]=s}return t.config&&(e.config={...e.config,...t.config}),t.callSettings&&(e.callSettings={...e.callSettings,...t.callSettings}),e},{})}registerModelContextProvider(e){this._providers.add(e);let t=e.subscribe?.(()=>{this.notifySubscribers()});return this.notifySubscribers(),()=>{this._providers.delete(e),t?.(),this.notifySubscribers()}}_subscribers=new Set;notifySubscribers(){for(let e of this._subscribers)e()}subscribe(e){return this._subscribers.add(e),()=>this._subscribers.delete(e)}}e.s(["CompositeContextProvider",0,eK],16018);let eJ=x(()=>{let[e]=M(()=>({version:2})),t=E(()=>new eK,[]);return{getState:()=>e,getModelContext:()=>t.getModelContext(),subscribe:e=>t.subscribe(e),register:e=>t.registerModelContextProvider(e)}}),eQ=x(e=>({getState:()=>e})),eW=x(e=>{let[t]=M(()=>({suggestions:(e??[]).map(e=>"string"==typeof e?{title:e,label:"",prompt:e}:{title:e.title,label:e.label,prompt:e.prompt})})),r=eN(()=>t.suggestions.map((e,t)=>D(t,eQ(e))),[t.suggestions]);return{getState:()=>t,suggestion:({index:e})=>r.get({index:e})}}),eY=x(e=>{let t=ev().clientRef;return I(()=>e.registerModelContextProvider(t.current.modelContext()),[e,t]),P(eG({runtime:e.threads,__internal_assistantRuntime:e}))}),eX=x(()=>{let[e,t]=M(()=>({renderers:{}}));return{getState:()=>e,setDataUI:T((e,r)=>(t(t=>({...t,renderers:{...t.renderers,[e]:[...t.renderers[e]??[],r]}})),()=>{t(t=>({...t,renderers:{...t.renderers,[e]:t.renderers[e]?.filter(e=>e!==r)??[]}}))}),[])}}),eZ=x(({toolkit:e})=>{let[t,r]=M(()=>({tools:{}})),s=ev().clientRef,i=T((e,t)=>(r(r=>({...r,tools:{...r.tools,[e]:[...r.tools[e]??[],t]}})),()=>{r(r=>({...r,tools:{...r.tools,[e]:r.tools[e]?.filter(e=>e!==t)??[]}}))}),[]);return I(()=>{if(!e)return;let t=[];for(let[r,s]of Object.entries(e))s.render&&t.push(i(r,s.render));let r=Object.entries(e).reduce((e,[t,r])=>{let{render:s,...i}=r;return e[t]=i,e},{});return t.push(s.current.modelContext().register({getModelContext:()=>({tools:r})})),()=>{t.forEach(e=>e())}},[e,i,s]),{getState:()=>t,setToolUI:i}});eg(eZ,(e,t)=>{e.modelContext||null!==t.modelContext.source||(e.modelContext=eJ())});let e0=x(e=>P(eY(e)));eg(e0,(e,t)=>{e.thread??=ep({source:"threads",query:{type:"main"},get:e=>e.threads().thread("main")}),e.threadListItem??=ep({source:"threads",query:{type:"main"},get:e=>e.threads().item("main")}),e.composer??=ep({source:"thread",query:{},get:e=>e.threads().thread("main").composer()}),e.modelContext||null!==t.modelContext.source||(e.modelContext=eJ()),e.suggestions||null!==t.suggestions.source||(e.suggestions=eW()),e.tools||null!==t.tools.source||(e.tools=eZ({})),e.dataRenderers||null!==t.dataRenderers.source||(e.dataRenderers=eX())});let e1=(0,s.memo)(({runtime:e,aui:t=null,children:s})=>{let i=eR({threads:e0(e)},{parent:t}),n=e._core?.RenderComponent;return(0,r.jsxs)(ed,{value:i,children:[n&&(0,r.jsx)(n,{}),s]})}),e2=e=>{let t,r=new Set,s=(e,s)=>{let i="function"==typeof e?e(t):e;if(!Object.is(i,t)){let e=t;t=(null!=s?s:"object"!=typeof i||null===i)?i:Object.assign({},t,i),r.forEach(r=>r(t,e))}},i=()=>t,n={setState:s,getState:i,getInitialState:()=>o,subscribe:e=>(r.add(e),()=>r.delete(e))},o=t=e(s,i,n);return n},e5=e=>{let t=e?e2(e):e2,r=e=>(function(e,t=e=>e){let r=s.default.useSyncExternalStore(e.subscribe,s.default.useCallback(()=>t(e.getState()),[e,t]),s.default.useCallback(()=>t(e.getInitialState()),[e,t]));return s.default.useDebugValue(r),r})(t,e);return Object.assign(r,t),r},e3=e=>e?e5(e):e5;e.s(["create",0,e3],89813);let e8=e=>{let t=new Map,r=()=>{let r=0;for(let e of t.values())r+=e;e(r)};return{register:()=>{let e=Symbol();return t.set(e,0),{setHeight:s=>{t.get(e)!==s&&(t.set(e,s),r())},unregister:()=>{t.delete(e),r()}}}}};function e6(e,t){function r(r){let s=e(r);return s?s[t]:null}return{[t]:function(e){let t,s=!1;"function"==typeof e?t=e:e&&"object"==typeof e&&(s=!!e.optional,t=e.selector);let i=r({optional:s});return i?t?i(t):i():null},[`${t}Store`]:r}}e.s(["createContextStoreHook",0,e6],2047);let e4=(0,s.createContext)(null),{useThreadViewport:e7,useThreadViewportStore:e9}=e6(function(e){let t=(0,s.useContext)(e4);if(!e?.optional&&!t)throw Error("This component must be used within ThreadPrimitive.Viewport.");return t},"useThreadViewport");e.s(["ThreadViewportContext",0,e4,"useThreadViewport",0,e7,"useThreadViewportStore",0,e9],70338);let te=e=>e;e.s(["writableStore",0,te],49600);let tt=({children:e,options:t={}})=>{let i=(e=>{let t=e9({optional:!0}),[r]=(0,s.useState)(()=>((e={})=>{let t=new Set,r=e8(e=>{n.setState({height:{...n.getState().height,viewport:e}})}),s=e8(e=>{n.setState({height:{...n.getState().height,inset:e}})}),i=e8(e=>{n.setState({height:{...n.getState().height,userMessage:e}})}),n=e3(()=>({isAtBottom:!0,scrollToBottom:({behavior:e="auto"}={})=>{for(let r of t)r({behavior:e})},onScrollToBottom:e=>(t.add(e),()=>{t.delete(e)}),turnAnchor:e.turnAnchor??"bottom",height:{viewport:0,inset:0,userMessage:0},registerViewport:r.register,registerContentInset:s.register,registerUserMessageHeight:i.register}));return n})(e));return(0,s.useEffect)(()=>t?.getState().onScrollToBottom(()=>{r.getState().scrollToBottom()}),[t,r]),(0,s.useEffect)(()=>{if(t)return r.subscribe(e=>{t.getState().isAtBottom!==e.isAtBottom&&te(t).setState({isAtBottom:e.isAtBottom})})},[r,t]),(0,s.useEffect)(()=>{let t={turnAnchor:e.turnAnchor??"bottom"};r.getState().turnAnchor!==t.turnAnchor&&te(r).setState(t)},[r,e.turnAnchor]),r})(t),[n]=(0,s.useState)(()=>({useThreadViewport:i}));return(0,r.jsx)(e4.Provider,{value:n,children:e})};e.s(["ThreadPrimitiveViewportProvider",0,tt],93181);let tr=()=>{let e=eR();return(0,s.useEffect)(()=>{},[e]),null},ts=(0,s.memo)(({children:e,aui:t,runtime:s})=>(0,r.jsxs)(e1,{runtime:s,aui:t??null,children:[(0,r.jsx)(tr,{}),(0,r.jsx)(tt,{children:e})]}));e.s(["AssistantRuntimeProvider",0,ts],66162)},77823,e=>{"use strict";let t=(0,e.i(54864).default)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);e.s(["Cpu",0,t],77823)},48725,79491,24453,18526,45997,88900,56878,19222,e=>{"use strict";e.s([],97913),e.i(97913);var t,r,s=e.i(96871),i=e.i(16539);e.i(70309);var n=e.i(22353),o=Symbol.for("react.lazy"),a=i[" use ".trim().toString()];function l(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===o&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var u=Symbol("radix.slottable");function c(e){return i.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===u}var h=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{var r,o;let u,h,d,p=(o=r=`Primitive.${t}`,(u=i.forwardRef((e,t)=>{let{children:r,...s}=e;if(l(r)&&"function"==typeof a&&(r=a(r._payload)),i.isValidElement(r)){var o;let e,a,l=(o=r,(a=(e=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.ref:(a=(e=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.props.ref:o.props.ref||o.ref),u=function(e,t){let r={...t};for(let s in t){let i=e[s],n=t[s];/^on[A-Z]/.test(s)?i&&n?r[s]=(...e)=>{let t=n(...e);return i(...e),t}:i&&(r[s]=i):"style"===s?r[s]={...i,...n}:"className"===s&&(r[s]=[i,n].filter(Boolean).join(" "))}return{...e,...r}}(s,r.props);return r.type!==i.Fragment&&(u.ref=t?(0,n.composeRefs)(t,l):l),i.cloneElement(r,u)}return i.Children.count(r)>1?i.Children.only(null):null})).displayName=`${o}.SlotClone`,h=u,(d=i.forwardRef((e,t)=>{let{children:r,...n}=e;l(r)&&"function"==typeof a&&(r=a(r._payload));let o=i.Children.toArray(r),u=o.find(c);if(u){let e=u.props.children,r=o.map(t=>t!==u?t:i.Children.count(e)>1?i.Children.only(null):i.isValidElement(e)?e.props.children:null);return(0,s.jsx)(h,{...n,ref:t,children:i.isValidElement(e)?i.cloneElement(e,void 0,r):null})}return(0,s.jsx)(h,{...n,ref:t,children:r})})).displayName=`${r}.Slot`,d),m=i.forwardRef((e,r)=>{let{asChild:i,...n}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,s.jsx)(i?p:t,{...n,ref:r})});return m.displayName=`Primitive.${t}`,{...e,[t]:m}},{});let d=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let r,n;return e[t]=(r=h[t],(n=(0,i.forwardRef)(({render:e,asChild:t,children:n,...o},a)=>{if(e&&(0,i.isValidElement)(e)){let t=void 0!==n?n:e.props.children;return(0,s.jsx)(r,{asChild:!0,...o,ref:a,children:(0,i.cloneElement)(e,void 0,t)})}return(0,s.jsx)(r,{asChild:t,...o,ref:a,children:n})})).displayName=`Primitive.${t}`,n),e},{});var p=e.i(55419),m=e.i(86136);let g=e=>{let t=(0,p.useAui)(),r=(0,m.getProxiedAssistantState)(t),s=(0,i.useSyncExternalStore)(t.subscribe,()=>e(r),()=>e(r));if(s===r)throw Error("You tried to return the entire AssistantState. This is not supported due to technical limitations.");return(0,i.useDebugValue)(s),s};(t=r||(r={})).Hidden="hidden",t.Floating="floating",t.Normal="normal";let f=(0,i.createContext)(null),b=(0,i.forwardRef)(({hideWhenRunning:e,autohide:t,autohideFloat:n,...o},a)=>{let[l,u]=(0,i.useState)(0),c=(0,i.useCallback)(()=>{let e=!1;return u(e=>e+1),()=>{e||(e=!0,u(e=>Math.max(0,e-1)))}},[]),h=(0,i.useMemo)(()=>({acquireInteractionLock:c}),[c]),p=(({hideWhenRunning:e,autohide:t,autohideFloat:s,forceVisible:i})=>g(n=>{if(e&&n.thread.isRunning)return r.Hidden;let o="always"===t||"not-last"===t&&!n.message.isLast,a=i||n.message.isHovering;return o?a?"always"===s||"single-branch"===s&&n.message.branchCount<=1?r.Floating:r.Normal:r.Hidden:r.Normal}))({hideWhenRunning:e,autohide:t,autohideFloat:n,forceVisible:l>0});return p===r.Hidden?null:(0,s.jsx)(f.Provider,{value:h,children:(0,s.jsx)(d.div,{...p===r.Floating?{"data-floating":"true"}:null,...o,ref:a})})});b.displayName="ActionBarPrimitive.Root";var y=e.i(91967);let x=(0,i.forwardRef)(({copiedDuration:e,onClick:t,disabled:r,...n},o)=>{let a=g(e=>e.message.isCopied),l=(({copiedDuration:e=3e3}={})=>{let{copy:t,disabled:r}=(({copiedDuration:e=3e3,copyToClipboard:t}={})=>{let r=(0,p.useAui)(),s=g(e=>!(("assistant"!==e.message.role||e.message.status?.type!=="running")&&e.message.parts.some(e=>"text"===e.type&&e.text.length>0))),n=g(e=>e.message.isCopied),o=g(e=>e.composer.isEditing),a=g(e=>e.composer.text);return{copy:(0,i.useCallback)(()=>{let s=o?a:r.message().getCopyText();s&&Promise.resolve((t??(()=>{}))(s)).then(()=>{r.message().setIsCopied(!0),setTimeout(()=>r.message().setIsCopied(!1),e)})},[r,o,a,e,t]),disabled:s,isCopied:n}})({copiedDuration:e,copyToClipboard:e=>navigator.clipboard.writeText(e)});return r?null:t})({copiedDuration:e});return(0,s.jsx)(d.button,{type:"button",...a?{"data-copied":"true"}:{},...n,ref:o,disabled:r||!l,onClick:(0,y.composeEventHandlers)(t,()=>{l?.()})})});x.displayName="ActionBarPrimitive.Copy";let v=(e,t,r=[])=>{let n=(0,i.forwardRef)((e,i)=>{let n={},o={};Object.keys(e).forEach(t=>{r.includes(t)?n[t]=e[t]:o[t]=e[t]});let a=t(n)??void 0;return(0,s.jsx)(d.button,{...o,type:"button",ref:i,disabled:o.disabled||!a,onClick:(0,y.composeEventHandlers)(o.onClick,a)})});return n.displayName=e,n},_=v("ActionBarPrimitive.Reload",()=>{let e,t,{disabled:r,reload:s}=(e=(0,p.useAui)(),t=g(e=>e.thread.isRunning||e.thread.isDisabled||"assistant"!==e.message.role),{reload:(0,i.useCallback)(()=>{e.message().reload()},[e]),disabled:t});return r?null:s}),S=v("ActionBarPrimitive.Edit",()=>{let e,t,{disabled:r,edit:s}=(e=(0,p.useAui)(),t=g(e=>e.composer.isEditing),{edit:(0,i.useCallback)(()=>{e.composer().beginEdit()},[e]),disabled:t});return r?null:s}),w=v("ActionBarPrimitive.Speak",()=>{let e,t,{disabled:r,speak:s}=(e=(0,p.useAui)(),t=g(e=>!(("assistant"!==e.message.role||e.message.status?.type!=="running")&&e.message.parts.some(e=>"text"===e.type&&e.text.length>0))),{speak:(0,i.useCallback)(async()=>{e.message().speak()},[e]),disabled:t});return r?null:s});var E=e.i(57800);let C=(0,i.forwardRef)((e,t)=>{let r=(()=>{let e,t,{disabled:r,stopSpeaking:s}=(e=(0,p.useAui)(),t=g(e=>null==e.message.speech),{stopSpeaking:(0,i.useCallback)(()=>{e.message().stopSpeaking()},[e]),disabled:t});return r?null:s})();return(0,E.useEscapeKeydown)(e=>{r&&(e.preventDefault(),r())}),(0,s.jsx)(d.button,{type:"button",disabled:!r,...e,ref:t,onClick:(0,y.composeEventHandlers)(e.onClick,()=>{r?.()})})});C.displayName="ActionBarPrimitive.StopSpeaking";let I=(0,i.forwardRef)(({onClick:e,disabled:t,...r},n)=>{let o=g(e=>e.message.metadata.submittedFeedback?.type==="positive"),a=(()=>{let e,t,{submit:r}=(e=(0,p.useAui)(),t=g(e=>e.message.metadata.submittedFeedback?.type==="positive"),{submit:(0,i.useCallback)(()=>{e.message().submitFeedback({type:"positive"})},[e]),isSubmitted:t});return r})();return(0,s.jsx)(d.button,{type:"button",...o?{"data-submitted":"true"}:{},...r,ref:n,disabled:t||!a,onClick:(0,y.composeEventHandlers)(e,()=>{a?.()})})});I.displayName="ActionBarPrimitive.FeedbackPositive";let T=(0,i.forwardRef)(({onClick:e,disabled:t,...r},n)=>{let o=g(e=>e.message.metadata.submittedFeedback?.type==="negative"),a=(()=>{let e,t,{submit:r}=(e=(0,p.useAui)(),t=g(e=>e.message.metadata.submittedFeedback?.type==="negative"),{submit:(0,i.useCallback)(()=>{e.message().submitFeedback({type:"negative"})},[e]),isSubmitted:t});return r})();return(0,s.jsx)(d.button,{type:"button",...o?{"data-submitted":"true"}:{},...r,ref:n,disabled:t||!a,onClick:(0,y.composeEventHandlers)(e,()=>{a?.()})})});T.displayName="ActionBarPrimitive.FeedbackNegative";let A=(0,i.forwardRef)(({filename:e,onExport:t,onClick:r,disabled:n,...o},a)=>{let l=(({filename:e,onExport:t}={})=>{let r=(0,p.useAui)(),s=g(e=>("assistant"!==e.message.role||e.message.status?.type!=="running")&&e.message.parts.some(e=>"text"===e.type&&e.text.length>0)),n=(0,i.useCallback)(async()=>{let s=r.message().getCopyText();if(!s)return;if(t)return void await t(s);let i=new Blob([s],{type:"text/markdown"}),n=URL.createObjectURL(i),o=document.createElement("a");o.href=n,o.download=e??`message-${Date.now()}.md`,o.click(),URL.revokeObjectURL(n)},[r,e,t]);return s?n:null})({filename:e,onExport:t});return(0,s.jsx)(d.button,{type:"button",...o,ref:a,disabled:n||!l,onClick:(0,y.composeEventHandlers)(r,()=>{l?.()})})});A.displayName="ActionBarPrimitive.ExportMarkdown",e.s(["Copy",0,x,"Edit",0,S,"ExportMarkdown",0,A,"FeedbackNegative",0,T,"FeedbackPositive",0,I,"Reload",0,_,"Root",0,b,"Speak",0,w,"StopSpeaking",0,C],28051);var j=e.i(28051);e.s(["ActionBarPrimitive",0,j],48725),e.s([],696),e.i(696);let M=()=>{let e,t,{disabled:r,send:s}=(e=(0,p.useAui)(),t=g(e=>e.thread.isRunning&&!e.thread.capabilities.queue||!e.composer.isEditing||e.composer.isEmpty),{send:(0,i.useCallback)(t=>{e.composer().send(t)},[e]),disabled:t}),n=(0,i.useCallback)(()=>s(),[s]);return r?null:n},R=v("ComposerPrimitive.Send",M),k=(0,i.forwardRef)(({onSubmit:e,...t},r)=>{let i=M();return(0,s.jsx)(d.form,{...t,ref:r,onSubmit:(0,y.composeEventHandlers)(e,e=>{e.preventDefault(),i&&i()})})});k.displayName="ComposerPrimitive.Root";var N=e.i(74302);function B(){return(B=Object.assign.bind()).apply(null,arguments)}var P=i.useLayoutEffect,D=function(e){var t=i.default.useRef(e);return P(function(){t.current=e}),t},O=function(e,t){"function"==typeof e?e(t):e.current=t},F=function(e,t){var r=i.default.useRef();return i.default.useCallback(function(s){e.current=s,r.current&&O(r.current,null),r.current=t,t&&O(t,s)},[t])},L={"min-height":"0","max-height":"none",height:"0",visibility:"hidden",overflow:"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0",display:"block"},U=function(e){Object.keys(L).forEach(function(t){e.style.setProperty(t,L[t],"important")})},V=null,$=function(e,t){var r=e.scrollHeight;return"border-box"===t.sizingStyle.boxSizing?r+t.borderSize:r-t.paddingSize},z=function(){},q=["borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","boxSizing","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","paddingBottom","paddingLeft","paddingRight","paddingTop","tabSize","textIndent","textRendering","textTransform","width","wordBreak","wordSpacing","scrollbarGutter"],H=!!document.documentElement.currentStyle,G=function(e){var t=window.getComputedStyle(e);if(null===t)return null;var r=q.reduce(function(e,r){return e[r]=t[r],e},{}),s=r.boxSizing;if(""===s)return null;H&&"border-box"===s&&(r.width=parseFloat(r.width)+parseFloat(r.borderRightWidth)+parseFloat(r.borderLeftWidth)+parseFloat(r.paddingRight)+parseFloat(r.paddingLeft)+"px");var i=parseFloat(r.paddingBottom)+parseFloat(r.paddingTop),n=parseFloat(r.borderBottomWidth)+parseFloat(r.borderTopWidth);return{sizingStyle:r,paddingSize:i,borderSize:n}};function K(e,t,r){var s=D(r);i.useLayoutEffect(function(){var r=function(e){return s.current(e)};if(e)return e.addEventListener(t,r),function(){return e.removeEventListener(t,r)}},[])}var J=function(e,t){K(document.body,"reset",function(r){e.current.form===r.target&&t(r)})},Q=function(e){K(window,"resize",e)},W=function(e){K(document.fonts,"loadingdone",e)},Y=["cacheMeasurements","maxRows","minRows","onChange","onHeightChange"],X=i.forwardRef(function(e,t){var r=e.cacheMeasurements,s=e.maxRows,n=e.minRows,o=e.onChange,a=void 0===o?z:o,l=e.onHeightChange,u=void 0===l?z:l,c=function(e,t){if(null==e)return{};var r={};for(var s in e)if(({}).hasOwnProperty.call(e,s)){if(-1!==t.indexOf(s))continue;r[s]=e[s]}return r}(e,Y),h=void 0!==c.value,d=i.useRef(null),p=F(d,t),m=i.useRef(0),g=i.useRef(),f=function(){var e=d.current,t=r&&g.current?g.current:G(e);if(t){g.current=t;var i,o,a,l,c,h,p,f,b,y,x,v=(i=e.value||e.placeholder||"x",void 0===(o=n)&&(o=1),void 0===(a=s)&&(a=1/0),V||((V=document.createElement("textarea")).setAttribute("tabindex","-1"),V.setAttribute("aria-hidden","true"),U(V)),null===V.parentNode&&document.body.appendChild(V),l=t.paddingSize,c=t.borderSize,p=(h=t.sizingStyle).boxSizing,Object.keys(h).forEach(function(e){V.style[e]=h[e]}),U(V),V.value=i,f=$(V,t),V.value=i,f=$(V,t),V.value="x",y=(b=V.scrollHeight-l)*o,"border-box"===p&&(y=y+l+c),f=Math.max(y,f),x=b*a,"border-box"===p&&(x=x+l+c),[f=Math.min(x,f),b]),_=v[0],S=v[1];m.current!==_&&(m.current=_,e.style.setProperty("height",_+"px","important"),u(_,{rowHeight:S}))}};return i.useLayoutEffect(f),J(d,function(){if(!h){var e=d.current.value;requestAnimationFrame(function(){var t=d.current;t&&e!==t.value&&f()})}}),Q(f),W(f),i.createElement("textarea",B({},c,{onChange:function(e){h||f(),a(e)},ref:p}))}),Z=e.i(88248),ee=e.i(70338);let et=e=>{let t=(0,Z.useCallbackRef)(e),r=(0,ee.useThreadViewport)(e=>e.onScrollToBottom);(0,i.useEffect)(()=>r(t),[r,t])};var er=e.i(88979),es=e.i(68158);let ei=/:([\w-]+)\[([^\]]+)\](?:\{name=([^}]+)\})?/g,en={serialize(e){let t=e.id!==e.label?`{name=${e.id}}`:"";return`:${e.type}[${e.label}]${t}`},parse(e){let t,r=[],s=0;for(ei.lastIndex=0;null!==(t=ei.exec(e));){t.index>s&&r.push({kind:"text",text:e.slice(s,t.index)});let i=t[2];r.push({kind:"mention",type:t[1],label:i,id:t[3]??i}),s=ei.lastIndex}return s<e.length&&r.push({kind:"text",text:e.slice(s)}),r}};var eo=e.i(33274),ea=e.i(72394),el=e.i(56852),eu=e.i(49707),ec=e.i(35340),eh=e.i(2830);let ed=/\s/,ep=(0,eo.resource)(({adapter:e,text:t,triggerChar:r,formatter:s,aui:i})=>{let[n,o]=(0,ea.tapState)(t.length),a=(0,el.tapMemo)(()=>{let e=Math.min(n,t.length),s=t.slice(0,e);for(let e=s.length-1;e>=0;e--){let t=s[e];if(ed.test(t))break;if(s.startsWith(r,e)){if(e>0&&!ed.test(s[e-1]))continue;return{query:s.slice(e+r.length),offset:e}}}return null},[n,t,r]),l=null!==a&&void 0!==e,u=a?.query??"",[c,h]=(0,ea.tapState)(null);(0,ec.tapEffect)(()=>{l||h(null)},[l]);let d=(0,el.tapMemo)(()=>l&&e?e.categories():[],[l,e]),p=l?c:null,m=(0,el.tapMemo)(()=>p&&e?e.categoryItems(p):[],[p,e]),g=(0,el.tapMemo)(()=>{if(!l||!e||!u||p)return null;if(e.search)return e.search(u);let t=e.categories(),r=[],s=u.toLowerCase();for(let i of t)for(let t of e.categoryItems(i.id))(t.id.toLowerCase().includes(s)||t.label.toLowerCase().includes(s)||t.description?.toLowerCase().includes(s))&&r.push(t);return r},[l,e,u,p]),f=null!==g,b=(0,el.tapMemo)(()=>{if(f)return[];if(!u)return d;let e=u.toLowerCase();return d.filter(t=>t.label.toLowerCase().includes(e))},[d,u,f]),y=(0,el.tapMemo)(()=>{if(f)return g??[];if(!u)return m;let e=u.toLowerCase();return m.filter(t=>t.id.toLowerCase().includes(e)||t.label.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e))},[m,u,f,g]),[x,v]=(0,ea.tapState)(0),_=(0,el.tapMemo)(()=>f?g??[]:p?y:b,[f,g,p,y,b]);(0,ec.tapEffect)(()=>{v(0)},[_]);let S=(0,eh.tapRef)(null),w=(0,eu.tapEffectEvent)(e=>(S.current=e,()=>{S.current===e&&(S.current=null)})),E=(0,eu.tapEffectEvent)(e=>{h(e),v(0)}),C=(0,eu.tapEffectEvent)(()=>{h(null),v(0)}),I=(0,eu.tapEffectEvent)(e=>{if(!a)return;if(S.current?.(e)){h(null),v(0);return}let t=i.composer().getState().text,n=t.slice(0,a.offset),o=t.slice(a.offset+r.length+a.query.length),l=n+s.serialize(e)+(o.startsWith(" ")?o:` ${o}`);i.composer().setText(l),h(null),v(0)}),T=(0,eu.tapEffectEvent)(()=>{h(null),v(0),a&&o(a.offset)}),A=(0,eu.tapEffectEvent)(e=>{if(!l)return!1;switch(e.key){case"ArrowDown":return e.preventDefault(),v(e=>{let t=_.length;return 0===t?0:e<t-1?e+1:0}),!0;case"ArrowUp":return e.preventDefault(),v(e=>{let t=_.length;return 0===t?0:e>0?e-1:t-1}),!0;case"Enter":{if(e.shiftKey)return!1;e.preventDefault();let t=_[x];if(!t)return!0;return f||p?I(t):E(t.id),!0}case"Escape":return e.preventDefault(),T(),!0;case"Backspace":if(p&&""===u)return e.preventDefault(),C(),!0;return!1;default:return!1}});return{open:l,query:u,activeCategoryId:p,categories:b,items:y,highlightedIndex:x,isSearchMode:f,formatter:s,selectCategory:E,goBack:C,selectItem:I,close:T,handleKeyDown:A,setCursorPosition:o,registerSelectItemOverride:w}}),em=(0,i.createContext)(null),eg=()=>{let e=(0,i.useContext)(em);if(!e)throw Error("useMentionContext must be used within ComposerPrimitive.MentionRoot");return e},ef=()=>(0,i.useContext)(em),eb=(0,i.createContext)(null),ey=({children:e,adapter:t,trigger:r="@",formatter:n})=>{let o=(0,p.useAui)(),a=g(e=>e.composer.text),l=(0,i.useCallback)(()=>{try{let e=o.composer().__internal_getRuntime?.();return e?._core?.getState()?.getMentionAdapter?.()}catch{return}},[o]),[u,c]=(0,i.useState)(l);(0,i.useEffect)(()=>o.subscribe(()=>{c(e=>{let t=l();return e===t?e:t})}),[o,l]);let h=(0,es.useResource)(ep({adapter:t??u,text:a,triggerChar:r,formatter:n??en,aui:o})),d=(0,i.useMemo)(()=>({setCursorPosition:h.setCursorPosition,registerSelectItemOverride:h.registerSelectItemOverride}),[h.setCursorPosition,h.registerSelectItemOverride]);return(0,s.jsx)(em.Provider,{value:h,children:(0,s.jsx)(eb.Provider,{value:d,children:e})})};ey.displayName="ComposerPrimitive.MentionRoot";let ex=(0,i.forwardRef)(({autoFocus:e=!1,asChild:t,render:r,disabled:o,onChange:a,onKeyDown:l,onPaste:u,onSelect:c,submitOnEnter:h,submitMode:d,cancelOnEscape:m=!0,unstable_focusOnRunStart:f=!0,unstable_focusOnScrollToBottom:b=!0,unstable_focusOnThreadSwitched:x=!0,addAttachmentOnPaste:v=!0,..._},S)=>{let w=(0,p.useAui)(),C=ef(),I=(0,i.useContext)(eb),T=d??(!1===h?"none":"enter"),A=g(e=>e.composer.isEditing?e.composer.text:""),j=g(e=>e.thread.isDisabled||e.composer.dictation?.inputDisabled)||o,M=(0,i.useRef)(null),R=(0,n.useComposedRefs)(S,M);(0,E.useEscapeKeydown)(e=>{if(!M.current?.contains(e.target))return;if(C?.open)return void C.handleKeyDown(e);if(!m)return;let t=w.composer();t.getState().canCancel&&(t.cancel(),e.preventDefault())});let k=async e=>{if(!v)return;let t=w.thread().getState().capabilities,r=Array.from(e.clipboardData?.files||[]);if(t.attachments&&r.length>0)try{e.preventDefault(),await Promise.all(r.map(e=>w.composer().addAttachment(e)))}catch(e){console.error("Error adding attachment:",e)}},B=e&&!j,P=(0,i.useCallback)(()=>{let e=M.current;e&&B&&(e.focus({preventScroll:!0}),e.setSelectionRange(e.value.length,e.value.length))},[B]);(0,i.useEffect)(()=>P(),[P]),et(()=>{"thread"===w.composer().getState().type&&b&&P()}),(0,i.useEffect)(()=>{if("thread"===w.composer().getState().type&&f)return w.on("thread.runStart",P)},[f,P,w]),(0,i.useEffect)(()=>{if("thread"===w.composer().getState().type&&x)return w.on("threadListItem.switchedTo",P)},[x,P,w]);let D={name:"input",value:A,..._,ref:R,disabled:j,onChange:(0,y.composeEventHandlers)(a,e=>{w.composer().getState().isEditing&&((0,er.flushResourcesSync)(()=>{w.composer().setText(e.target.value)}),I?.setCursorPosition(e.target.selectionStart??e.target.value.length))}),onKeyDown:(0,y.composeEventHandlers)(l,e=>{if(!j&&!e.nativeEvent.isComposing&&!C?.handleKeyDown(e)&&"Enter"===e.key){let t=w.thread().getState(),r=t.capabilities.queue;if(e.shiftKey&&(e.ctrlKey||e.metaKey)&&r&&"none"!==T&&!w.composer().getState().isEmpty){e.preventDefault(),w.composer().send({steer:!0});return}if(e.shiftKey||t.isRunning&&!r)return;let s=!1;"ctrlEnter"===T?s=e.ctrlKey||e.metaKey:"enter"===T&&(s=!0),s&&(e.preventDefault(),M.current?.closest("form")?.requestSubmit())}}),onSelect:(0,y.composeEventHandlers)(c,e=>{let t=e.target;I?.setCursorPosition(t.selectionStart??t.value.length)}),onPaste:(0,y.composeEventHandlers)(u,k)};if(r&&(0,i.isValidElement)(r)){let e=void 0!==_.children?_.children:r.props.children;return(0,s.jsx)(N.Slot.Root,{...D,children:(0,i.cloneElement)(r,void 0,e)})}let O=t?N.Slot.Root:X;return(0,s.jsx)(O,{...D})});ex.displayName="ComposerPrimitive.Input";let ev=v("ComposerPrimitive.Cancel",()=>{let e,t,{disabled:r,cancel:s}=(e=(0,p.useAui)(),t=g(e=>!e.composer.canCancel),{cancel:(0,i.useCallback)(()=>{e.composer().cancel()},[e]),disabled:t});return r?null:s}),e_=v("ComposerPrimitive.AddAttachment",({multiple:e=!0}={})=>{let t,r,{disabled:s,addAttachment:n}=(t=(0,p.useAui)(),r=g(e=>!e.composer.isEditing),{addAttachment:(0,i.useCallback)(e=>t.composer().addAttachment(e),[t]),disabled:r}),o=(0,p.useAui)(),a=(0,i.useCallback)(()=>{let t=document.createElement("input");t.type="file",t.multiple=e,t.hidden=!0;let r=o.composer().getState().attachmentAccept;"*"!==r&&(t.accept=r),document.body.appendChild(t),t.onchange=e=>{let r=e.target.files;if(r){for(let e of r)n(e);document.body.removeChild(t)}},t.oncancel=()=>{t.files&&0!==t.files.length||document.body.removeChild(t)},t.click()},[o,e,n]);return s?null:a},["multiple"]),eS=Object.freeze({});function ew({getItemState:e,children:t}){let r,s;return eE(t((r=(0,p.useAui)(),s=(0,i.useRef)(void 0),g(()=>(void 0===s.current&&(s.current=e(r)),s.current)),()=>(s.current=void 0,e(r)))))}let eE=e=>{let t="object"==typeof e&&null!=e&&"type"in e?e:null,r=t?.type,s=t?.key,n="object"==typeof t?.props&&null!=t.props&&0===Object.entries(t.props).length?eS:t?.props;return(0,i.useMemo)(()=>t,[r,s,n])??e};var eC=e.i(81153),eI=e.i(10231);let eT=({index:e,children:t})=>{let r=(0,p.useAui)({attachment:(0,eI.Derived)({source:"message",query:{type:"index",index:e},get:t=>t.message().attachment({index:e})})});return(0,s.jsx)(eC.AuiProvider,{value:r,children:t})},eA=({index:e,children:t})=>{let r=(0,p.useAui)({attachment:(0,eI.Derived)({source:"composer",query:{type:"index",index:e},get:t=>t.composer().attachment({index:e})})});return(0,s.jsx)(eC.AuiProvider,{value:r,children:t})},ej=(e,t)=>{switch(t.type){case"image":return e?.Image??e?.Attachment;case"document":return e?.Document??e?.Attachment;case"file":return e?.File??e?.Attachment;default:return e?.Attachment}},eM=({components:e})=>{let t=g(e=>e.attachment);if(!t)return null;let r=ej(e,t);return r?(0,s.jsx)(r,{}):null},eR=(0,i.memo)(({index:e,components:t})=>(0,s.jsx)(eA,{index:e,children:(0,s.jsx)(eM,{components:t})}),(e,t)=>e.index===t.index&&e.components?.Image===t.components?.Image&&e.components?.Document===t.components?.Document&&e.components?.File===t.components?.File&&e.components?.Attachment===t.components?.Attachment);eR.displayName="ComposerPrimitive.AttachmentByIndex";let ek=({children:e})=>{let t=g(e=>e.composer.attachments.length);return(0,i.useMemo)(()=>Array.from({length:t},(t,r)=>(0,s.jsx)(eA,{index:r,children:(0,s.jsx)(ew,{getItemState:e=>e.composer().attachment({index:r}).getState(),children:t=>e({get attachment(){return t()}})})},r)),[t,e])},eN=({components:e,children:t})=>e?(0,s.jsx)(ek,{children:({attachment:t})=>{let r=ej(e,t);return r?(0,s.jsx)(r,{}):null}}):(0,s.jsx)(ek,{children:t});eN.displayName="ComposerPrimitive.Attachments";let eB=(0,i.forwardRef)(({disabled:e,asChild:t=!1,render:r,children:n,...o},a)=>{let[l,u]=(0,i.useState)(!1),c=(0,p.useAui)(),h=(0,i.useCallback)(t=>{e||(t.preventDefault(),u(!0))},[e]),d=(0,i.useCallback)(t=>{!e&&(t.preventDefault(),l||u(!0))},[e,l]),m=(0,i.useCallback)(t=>{if(e)return;t.preventDefault();let r=t.relatedTarget;r&&t.currentTarget.contains(r)||u(!1)},[e]),g=(0,i.useCallback)(async t=>{if(!e)for(let e of(t.preventDefault(),u(!1),t.dataTransfer.files))try{await c.composer().addAttachment(e)}catch(e){console.error("Failed to add attachment:",e)}},[e,c]),f={...l?{"data-dragging":"true"}:null,...o,onDragEnterCapture:(0,y.composeEventHandlers)(o.onDragEnterCapture,h),onDragOverCapture:(0,y.composeEventHandlers)(o.onDragOverCapture,d),onDragLeaveCapture:(0,y.composeEventHandlers)(o.onDragLeaveCapture,m),onDropCapture:(0,y.composeEventHandlers)(o.onDropCapture,g),ref:a};if(r&&(0,i.isValidElement)(r)){let e=void 0!==n?n:r.props.children;return(0,s.jsx)(N.Slot.Root,{...f,children:(0,i.cloneElement)(r,void 0,e)})}let b=t?N.Slot.Root:"div";return(0,s.jsx)(b,{...f,children:n})});eB.displayName="ComposerPrimitive.AttachmentDropzone";let eP=v("ComposerPrimitive.Dictate",()=>{let e,t,{disabled:r,startDictation:s}=(e=(0,p.useAui)(),t=g(e=>null!=e.composer.dictation||!e.thread.capabilities.dictation||!e.composer.isEditing),{startDictation:(0,i.useCallback)(()=>{e.composer().startDictation()},[e]),disabled:t});return r?null:s}),eD=v("ComposerPrimitive.StopDictation",()=>{let e=(0,p.useAui)(),t=g(e=>null!=e.composer.dictation),r=(0,i.useCallback)(()=>{e.composer().stopDictation()},[e]);return t?r:null}),eO=(0,i.forwardRef)(({children:e,...t},r)=>{let i=g(e=>e.composer.dictation?.transcript);return i?(0,s.jsx)(d.span,{...t,ref:r,children:e??i}):null});eO.displayName="ComposerPrimitive.DictationTranscript";let eF=({children:e,...t})=>g(e=>{if(!0===t.editing&&!e.composer.isEditing||!1===t.editing&&e.composer.isEditing)return!1;let r=null!=e.composer.dictation;return(!0!==t.dictation||!!r)&&(!1!==t.dictation||!r)})?e:null;eF.displayName="ComposerPrimitive.If";let eL=(0,i.forwardRef)((e,t)=>g(e=>e.composer.quote)?(0,s.jsx)(d.div,{...e,ref:t}):null);eL.displayName="ComposerPrimitive.Quote";let eU=(0,i.forwardRef)(({children:e,...t},r)=>{let i=g(e=>e.composer.quote?.text);return i?(0,s.jsx)(d.span,{...t,ref:r,children:e??i}):null});eU.displayName="ComposerPrimitive.QuoteText";let eV=(0,i.forwardRef)(({onClick:e,...t},r)=>{let n=(0,p.useAui)(),o=(0,i.useCallback)(()=>{n.composer().setQuote(void 0)},[n]);return(0,s.jsx)(d.button,{type:"button",...t,ref:r,onClick:(0,y.composeEventHandlers)(e,o)})});eV.displayName="ComposerPrimitive.QuoteDismiss";let e$=({index:e,children:t})=>{let r=(0,p.useAui)({queueItem:(0,eI.Derived)({source:"composer",query:{index:e},get:t=>t.composer().queueItem({index:e})})});return(0,s.jsx)(eC.AuiProvider,{value:r,children:t})},ez=(0,i.memo)(({children:e})=>{let t=g(e=>e.composer.queue.length);return(0,i.useMemo)(()=>Array.from({length:t},(t,r)=>(0,s.jsx)(e$,{index:r,children:(0,s.jsx)(ew,{getItemState:e=>e.composer().queueItem({index:r}).getState(),children:t=>e({get queueItem(){return t()}})})},r)),[t,e])});ez.displayName="ComposerPrimitive.Queue";let eq=(0,i.forwardRef)((e,t)=>{let{open:r}=eg();return r?(0,s.jsx)(d.div,{role:"listbox","data-state":"open",...e,ref:t}):null});eq.displayName="ComposerPrimitive.MentionPopover";let eH=(0,i.forwardRef)(({children:e,...t},r)=>{let{categories:i,activeCategoryId:n,isSearchMode:o}=eg();return n||o?null:(0,s.jsx)(d.div,{role:"group",...t,ref:r,children:e(i)})});eH.displayName="ComposerPrimitive.MentionCategories";let eG=(0,i.forwardRef)(({categoryId:e,onClick:t,...r},n)=>{let{selectCategory:o,categories:a,highlightedIndex:l,activeCategoryId:u,isSearchMode:c}=eg(),h=(0,i.useCallback)(()=>{o(e)},[o,e]),p=!u&&!c&&a.findIndex(t=>t.id===e)===l;return(0,s.jsx)(d.button,{type:"button",role:"option","aria-selected":p,"data-highlighted":p?"":void 0,...r,ref:n,onClick:(0,y.composeEventHandlers)(t,h)})});eG.displayName="ComposerPrimitive.MentionCategoryItem";let eK=(0,i.forwardRef)(({children:e,...t},r)=>{let{items:i,activeCategoryId:n,isSearchMode:o}=eg();return n||o?(0,s.jsx)(d.div,{role:"group",...t,ref:r,children:e(i)}):null});eK.displayName="ComposerPrimitive.MentionItems";let eJ=(0,i.forwardRef)(({item:e,index:t,onClick:r,...n},o)=>{let{selectItem:a,items:l,highlightedIndex:u,activeCategoryId:c,isSearchMode:h}=eg(),p=(0,i.useCallback)(()=>{a(e)},[a,e]),m=t??l.findIndex(t=>t.id===e.id),g=(h||null!==c)&&m===u;return(0,s.jsx)(d.button,{type:"button",role:"option","aria-selected":g,"data-highlighted":g?"":void 0,...n,ref:o,onClick:(0,y.composeEventHandlers)(r,p)})});eJ.displayName="ComposerPrimitive.MentionItem";let eQ=(0,i.forwardRef)(({onClick:e,...t},r)=>{let{activeCategoryId:n,isSearchMode:o,goBack:a}=eg(),l=(0,i.useCallback)(()=>{a()},[a]);return!n||o?null:(0,s.jsx)(d.button,{type:"button",...t,ref:r,onClick:(0,y.composeEventHandlers)(e,l)})});eQ.displayName="ComposerPrimitive.MentionBack",e.s(["AddAttachment",0,e_,"AttachmentByIndex",0,eR,"AttachmentDropzone",0,eB,"Attachments",0,eN,"Cancel",0,ev,"Dictate",0,eP,"DictationTranscript",0,eO,"If",0,eF,"Input",0,ex,"Queue",0,ez,"Quote",0,eL,"QuoteDismiss",0,eV,"QuoteText",0,eU,"Root",0,k,"Send",0,R,"StopDictation",0,eD,"Unstable_MentionBack",0,eQ,"Unstable_MentionCategories",0,eH,"Unstable_MentionCategoryItem",0,eG,"Unstable_MentionItem",0,eJ,"Unstable_MentionItems",0,eK,"Unstable_MentionPopover",0,eq,"Unstable_MentionRoot",0,ey,"unstable_useMentionContext",0,eg,"unstable_useMentionContextOptional",0,ef],38038);var eW=e.i(38038);e.s(["ComposerPrimitive",0,eW],79491),e.s([],59258),e.i(59258);let eY=e=>{let t=(0,i.useRef)(void 0);return(0,i.useCallback)(r=>{t.current&&t.current(),r&&(t.current=e(r))},[e])},eX=(e,t)=>eY((0,i.useCallback)(r=>{if(!e)return;let s=e(),i=()=>{let e=t?t(r):r.offsetHeight;s.setHeight(e)},n=new ResizeObserver(i);return n.observe(r),i(),()=>{n.disconnect(),s.unregister()}},[e,t])),eZ=(0,i.createContext)(!1),e0=(e,t)=>{let r=e.match(/^([\d.]+)(em|px|rem)$/);if(!r)return 0;let s=parseFloat(r[1]),i=r[2];return"px"===i?s:"em"===i?s*(parseFloat(getComputedStyle(t).fontSize)||16):"rem"===i?s*(parseFloat(getComputedStyle(document.documentElement).fontSize)||16):0},e1=({children:e,fillClampThreshold:t="10em",fillClampOffset:r="6em"})=>{let n=g(e=>e.message.isLast&&"assistant"===e.message.role&&e.message.index>=1&&e.thread.messages.at(e.message.index-1)?.role==="user"),o=(0,ee.useThreadViewportStore)({optional:!0}),a=(0,i.useContext)(eZ),l=eY((0,i.useCallback)(e=>{if(!o||a)return;let s=()=>{let s=o.getState();if("top"===s.turnAnchor&&n){let{viewport:i,inset:n,userMessage:o}=s.height,a=e0(t,e),l=e0(r,e),u=Math.max(0,i-n-(o<=a?o:l));e.style.minHeight=`${u}px`,e.style.flexShrink="0",e.style.transition="min-height 0s"}else e.style.minHeight="",e.style.flexShrink="",e.style.transition=""};return s(),o.subscribe(s)},[o,n,a,t,r]));return(0,s.jsx)(eZ.Provider,{value:!0,children:(0,s.jsx)(N.Slot.Root,{ref:l,children:e})})};e1.displayName="ThreadPrimitive.ViewportSlack";let e2=(0,i.forwardRef)((e,t)=>{let r,o,a,l,u=(r=(0,p.useAui)(),o=g(()=>r.message()),eY((0,i.useCallback)(e=>{let t=()=>{o.setIsHovering(!0)},r=()=>{o.setIsHovering(!1)};return e.addEventListener("mouseenter",t),e.addEventListener("mouseleave",r),e.matches(":hover")&&queueMicrotask(()=>o.setIsHovering(!0)),()=>{e.removeEventListener("mouseenter",t),e.removeEventListener("mouseleave",r),o.setIsHovering(!1)}},[o]))),c=(a=(0,ee.useThreadViewport)(e=>e.turnAnchor),l=(0,ee.useThreadViewport)(e=>e.registerUserMessageHeight),eX(g(e=>"top"===a&&"user"===e.message.role&&e.message.index===e.thread.messages.length-2&&e.thread.messages.at(-1)?.role==="assistant")?l:null,(0,i.useCallback)(e=>e.offsetHeight,[]))),h=(0,n.useComposedRefs)(t,u,c),m=g(e=>e.message.id);return(0,s.jsx)(e1,{children:(0,s.jsx)(d.div,{...e,ref:h,"data-message-id":m})})});e2.displayName="MessagePrimitive.Root";let e5=({index:e,children:t})=>{let r=(0,p.useAui)({part:(0,eI.Derived)({source:"message",query:{type:"index",index:e},get:t=>t.message().part({index:e})})});return(0,s.jsx)(eC.AuiProvider,{value:r,children:t})},e3=(0,eo.resource)(({text:e,isRunning:t})=>{let r=(0,el.tapMemo)(()=>({type:"text",text:e,status:t?{type:"running"}:{type:"complete"}}),[e,t]);return{getState:()=>r,addToolResult:()=>{throw Error("Not supported")},resumeToolCall:()=>{throw Error("Not supported")}}}),e8=({text:e,isRunning:t=!1,children:r})=>{let i=(0,p.useAui)({part:e3({text:e,isRunning:t})});return(0,s.jsx)(eC.AuiProvider,{value:i,children:r})},e6=Object.freeze({type:"complete"}),e4=(0,eo.resource)(({parts:e,getMessagePart:t})=>{let[r,s]=(0,ea.tapState)(!0),i=(0,el.tapMemo)(()=>{let t=e[e.length-1];return t?.status??e6},[e]),n=(0,el.tapMemo)(()=>({parts:e,collapsed:r,status:i}),[e,r,i]);return{getState:()=>n,setCollapsed:s,part:t}}),e7=({startIndex:e,endIndex:t,children:r})=>{let i=g(e=>e.message.parts).slice(e,t+1),n=(0,p.useAui)(),o=(0,p.useAui)({chainOfThought:e4({parts:i,getMessagePart:({index:t})=>{if(t<0||t>=i.length)throw Error(`ChainOfThought part index ${t} is out of bounds (0..${i.length-1})`);return n.message().part({index:e+t})}})});return(0,s.jsx)(eC.AuiProvider,{value:o,children:r})},e9=e=>{let t=e.message.metadata;if(t&&"object"==typeof t)return t.custom?.quote},te=(e,t)=>{let r=e instanceof Map?e:new Map(e.entries()),s=t instanceof Map?t:new Map(t.entries());if(r.size!==s.size)return!1;for(let[e,t]of r)if(!s.has(e)||!Object.is(t,s.get(e)))return!1;return!0},tt=e=>{let t=-1;return{startGroup:e=>{-1===t&&(t=e)},endGroup:(r,s)=>{-1!==t&&(s.push({type:e,startIndex:t,endIndex:r}),t=-1)},finalize:(r,s)=>{-1!==t&&s.push({type:e,startIndex:t,endIndex:r})}}},tr=({Fallback:e,...t})=>{let r=g(r=>{let s=r.tools.tools[t.toolName]??e;return Array.isArray(s)?s[0]??e:s});return r?(0,s.jsx)(r,{...t}):null},ts=({Fallback:e,...t})=>{let r=g(r=>{let s=r.dataRenderers.renderers[t.name]??e;return Array.isArray(s)?s[0]??e:s});return r?(0,s.jsx)(r,{...t}):null},ti={Text:()=>null,Reasoning:()=>null,Source:()=>null,Image:()=>null,File:()=>null,Unstable_Audio:()=>null,ToolGroup:({children:e})=>e,ReasoningGroup:({children:e})=>e},tn=({components:{Text:e=ti.Text,Reasoning:t=ti.Reasoning,Image:r=ti.Image,Source:i=ti.Source,File:n=ti.File,Unstable_Audio:o=ti.Unstable_Audio,tools:a={},data:l}={}})=>{let u=(0,p.useAui)(),c=g(e=>e.part),h=c.type;if("tool-call"===h){let e=u.part().addToolResult,t=u.part().resumeToolCall;if("Override"in a)return(0,s.jsx)(a.Override,{...c,addResult:e,resume:t});let r=a.by_name?.[c.toolName]??a.Fallback;return(0,s.jsx)(tr,{...c,Fallback:r,addResult:e,resume:t})}if(c.status?.type==="requires-action")throw Error("Encountered unexpected requires-action status");switch(h){case"text":return(0,s.jsx)(e,{...c});case"reasoning":return(0,s.jsx)(t,{...c});case"source":return(0,s.jsx)(i,{...c});case"image":return(0,s.jsx)(r,{...c});case"file":return(0,s.jsx)(n,{...c});case"audio":return(0,s.jsx)(o,{...c});case"data":{let e=l?.by_name?.[c.name]??l?.Fallback;return(0,s.jsx)(ts,{...c,Fallback:e})}default:return console.warn(`Unknown message part type: ${h}`),null}},to=(0,i.memo)(({index:e,components:t})=>(0,s.jsx)(e5,{index:e,children:(0,s.jsx)(tn,{components:t})}),(e,t)=>e.index===t.index&&e.components?.Text===t.components?.Text&&e.components?.Reasoning===t.components?.Reasoning&&e.components?.Source===t.components?.Source&&e.components?.Image===t.components?.Image&&e.components?.File===t.components?.File&&e.components?.Unstable_Audio===t.components?.Unstable_Audio&&e.components?.tools===t.components?.tools&&e.components?.data===t.components?.data&&e.components?.ToolGroup===t.components?.ToolGroup&&e.components?.ReasoningGroup===t.components?.ReasoningGroup);to.displayName="MessagePrimitive.PartByIndex";let ta=({status:e,component:t})=>(0,s.jsx)(e8,{text:"",isRunning:"running"===e.type,children:(0,s.jsx)(t,{type:"text",text:"",status:e})}),tl=Object.freeze({type:"complete"}),tu=(0,i.memo)(({components:e})=>{let t=g(e=>e.message.status??tl);return e?.Empty?(0,s.jsx)(e.Empty,{status:t}):"running"!==t.type?null:(0,s.jsx)(ta,{status:t,component:e?.Text??ti.Text})},(e,t)=>e.components?.Empty===t.components?.Empty&&e.components?.Text===t.components?.Text),tc=(0,i.memo)(({components:e,enabled:t})=>g(e=>{if(!t||0===e.message.parts.length)return!1;let r=e.message.parts[e.message.parts.length-1];return r?.type!=="text"&&r?.type!=="reasoning"})?(0,s.jsx)(tu,{components:e}):null,(e,t)=>e.enabled===t.enabled&&e.components?.Empty===t.components?.Empty&&e.components?.Text===t.components?.Text),th=(0,i.memo)(({Quote:e})=>{let t=g(e9);return t?(0,s.jsx)(e,{text:t.text,messageId:t.messageId}):null}),td=()=>{let e=(0,p.useAui)(),t=g(e=>e.part),r=g(e=>{if("tool-call"!==e.part.type)return null;let t=e.tools.tools[e.part.toolName];return Array.isArray(t)?t[0]??null:t??null});return r&&"tool-call"===t.type?(0,s.jsx)(r,{...t,addResult:e.part().addToolResult,resume:e.part().resumeToolCall}):null},tp=()=>{let e=g(e=>e.part),t=g(e=>{if("data"!==e.part.type)return null;let t=e.dataRenderers.renderers[e.part.name];return Array.isArray(t)?t[0]??null:t??null});return t&&"data"===e.type?(0,s.jsx)(t,{...e}):null},tm=()=>{let e=g(e=>e.part.type);return"tool-call"===e?(0,s.jsx)(td,{}):"data"===e?(0,s.jsx)(tp,{}):null},tg=({children:e})=>{let t=(0,p.useAui)(),r=g(e=>e.message.parts.length);return(0,i.useMemo)(()=>Array.from({length:r},(r,i)=>(0,s.jsx)(e5,{index:i,children:(0,s.jsx)(ew,{getItemState:e=>e.message().part({index:i}).getState(),children:r=>{let n=e({get part(){let e=r();if("tool-call"===e.type){let r=t.tools().getState().tools[e.toolName],n=Array.isArray(r)?!!r[0]:!!r,o=t.message().part({index:i});return{...e,toolUI:n?(0,s.jsx)(td,{}):null,addResult:o.addToolResult,resume:o.resumeToolCall}}if("data"===e.type){let r=t.dataRenderers().getState().renderers[e.name],i=Array.isArray(r)?!!r[0]:!!r;return{...e,dataRendererUI:i?(0,s.jsx)(tp,{}):null}}return e}});return null!==n?n:(0,s.jsx)(tm,{})}})},i)),[r,e])},tf=({components:e,unstable_showEmptyOnNonTextEnd:t=!0,children:r})=>r?(0,s.jsx)(tg,{children:r}):(0,s.jsx)(tb,{components:e,unstable_showEmptyOnNonTextEnd:t});tf.displayName="MessagePrimitive.Parts";let tb=({components:e,unstable_showEmptyOnNonTextEnd:t})=>{var r,n;let o,a,l=g(e=>e.message.parts.length),u=(r=!!e?.ChainOfThought,a=g((n=e=>e.message.parts.map(e=>e.type),o=i.default.useRef(void 0),e=>{let t=n(e);return!function(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;if(Symbol.iterator in e&&Symbol.iterator in t){if("entries"in e&&"entries"in t)return te(e,t);let r=e[Symbol.iterator](),s=t[Symbol.iterator](),i=r.next(),n=s.next();for(;!i.done&&!n.done;){if(!Object.is(i.value,n.value))return!1;i=r.next(),n=s.next()}return!!i.done&&!!n.done}return te({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}(o.current,t)?o.current=t:o.current})),(0,i.useMemo)(()=>0===a.length?[]:((e,t)=>{let r=[];if(t){let t=tt("chainOfThoughtGroup");for(let s=0;s<e.length;s++){let i=e[s];"tool-call"===i||"reasoning"===i?t.startGroup(s):(t.endGroup(s-1,r),r.push({type:"single",index:s}))}t.finalize(e.length-1,r)}else{let t=tt("toolGroup"),s=tt("reasoningGroup");for(let i=0;i<e.length;i++){let n=e[i];"tool-call"===n?(s.endGroup(i-1,r),t.startGroup(i)):"reasoning"===n?(t.endGroup(i-1,r),s.startGroup(i)):(t.endGroup(i-1,r),s.endGroup(i-1,r),r.push({type:"single",index:i}))}t.finalize(e.length-1,r),s.finalize(e.length-1,r)}return r})(a,r),[a,r])),c=(0,i.useMemo)(()=>0===l?(0,s.jsx)(tu,{components:e}):u.map(t=>{if("single"===t.type)return(0,s.jsx)(to,{index:t.index,components:e},t.index);if("chainOfThoughtGroup"===t.type){let r=e?.ChainOfThought;return r?(0,s.jsx)(e7,{startIndex:t.startIndex,endIndex:t.endIndex,children:(0,s.jsx)(r,{})},`chainOfThought-${t.startIndex}`):null}if("toolGroup"===t.type){let r=e?.ToolGroup??ti.ToolGroup;return(0,s.jsx)(r,{startIndex:t.startIndex,endIndex:t.endIndex,children:Array.from({length:t.endIndex-t.startIndex+1},(r,i)=>(0,s.jsx)(to,{index:t.startIndex+i,components:e},i))},`tool-${t.startIndex}`)}{let r=e?.ReasoningGroup??ti.ReasoningGroup;return(0,s.jsx)(r,{startIndex:t.startIndex,endIndex:t.endIndex,children:Array.from({length:t.endIndex-t.startIndex+1},(r,i)=>(0,s.jsx)(to,{index:t.startIndex+i,components:e},i))},`reasoning-${t.startIndex}`)}}),[u,e,l]);return(0,s.jsxs)(s.Fragment,{children:[e?.Quote&&(0,s.jsx)(th,{Quote:e.Quote}),c,(0,s.jsx)(tc,{components:e,enabled:t})]})};e.i(89813);var ty=e.i(2047);let tx=(0,i.createContext)(null),{useSmoothStatus:tv,useSmoothStatusStore:t_}=(0,ty.createContextStoreHook)(function(e){let t=(0,i.useContext)(tx);if(!e?.optional&&!t)throw Error("This component must be used within a SmoothContextProvider.");return t},"useSmoothStatus");var tS=e.i(49600);class tw{currentText;setText;animationFrameId=null;lastUpdateTime=Date.now();targetText="";constructor(e,t){this.currentText=e,this.setText=t}start(){null===this.animationFrameId&&(this.lastUpdateTime=Date.now(),this.animate())}stop(){null!==this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null)}animate=()=>{let e=Date.now(),t=e-this.lastUpdateTime,r=this.targetText.length-this.currentText.length,s=Math.min(5,250/r),i=0;for(;t>=s&&i<r;)i++,t-=s;i!==r?this.animationFrameId=requestAnimationFrame(this.animate):this.animationFrameId=null,0!==i&&(this.currentText=this.targetText.slice(0,this.currentText.length+i),this.lastUpdateTime=e-t,this.setText(this.currentText))}}let tE=Object.freeze({type:"running"}),tC=(0,i.forwardRef)(({smooth:e=!0,component:t="span",...r},n)=>{let{text:o,status:a}=((e,t=!1)=>{let{text:r}=e,s=g(e=>e.message.id),n=(0,i.useRef)(s),[o,a]=(0,i.useState)("running"===e.status.type?"":r),l=t_({optional:!0}),u=(0,Z.useCallbackRef)(t=>{if(a(t),l){let r=o!==t||"running"===e.status.type?tE:e.status;(0,tS.writableStore)(l).setState(r,!0)}});(0,i.useEffect)(()=>{if(l){let s=t&&(o!==r||"running"===e.status.type)?tE:e.status;(0,tS.writableStore)(l).setState(s,!0)}},[l,t,r,o,e.status]);let[c]=(0,i.useState)(new tw(o,u));return(0,i.useEffect)(()=>{if(!t)return void c.stop();if(n.current!==s||!r.startsWith(c.targetText)){n.current=s,"running"===e.status.type?(u(""),c.currentText="",c.targetText=r,c.start()):(u(r),c.currentText=r,c.targetText=r,c.stop());return}c.targetText=r,c.start()},[u,c,s,t,r,e.status.type]),(0,i.useEffect)(()=>()=>{c.stop()},[c]),(0,i.useMemo)(()=>t?{type:"text",text:o,status:r===o?e.status:tE}:e,[t,o,e,r])})(g(e=>{if("text"!==e.part.type&&"reasoning"!==e.part.type)throw Error("MessagePartText can only be used inside text or reasoning message parts.");return e.part}),e);return(0,s.jsx)(t,{"data-status":a.type,...r,ref:n,children:o})});tC.displayName="MessagePartPrimitive.Text";let tI=(0,i.forwardRef)((e,t)=>{let{image:r}=g(e=>{if("image"!==e.part.type)throw Error("MessagePartImage can only be used inside image message parts.");return e.part});return(0,s.jsx)(d.img,{src:r,...e,ref:t})});tI.displayName="MessagePartPrimitive.Image";let tT=({children:e})=>g(e=>"running"===e.part.status.type)?e:null;tT.displayName="MessagePartPrimitive.InProgress";let tA={...ti,Text:()=>(0,s.jsxs)("p",{style:{whiteSpace:"pre-line"},children:[(0,s.jsx)(tC,{}),(0,s.jsx)(tT,{children:(0,s.jsx)("span",{style:{fontFamily:"revert"},children:" ●"})})]}),Image:()=>(0,s.jsx)(tI,{})},tj=e=>{if("children"in e)return(0,s.jsx)(tf,{children:e.children});let{components:t,...r}=e,i=t?{Text:t.Text??tA.Text,Image:t.Image??tA.Image,Reasoning:t.Reasoning??ti.Reasoning,Source:t.Source??ti.Source,File:t.File??ti.File,Unstable_Audio:t.Unstable_Audio??ti.Unstable_Audio,..."ChainOfThought"in t?{ChainOfThought:t.ChainOfThought}:{tools:t.tools,data:t.data,ToolGroup:t.ToolGroup??ti.ToolGroup,ReasoningGroup:t.ReasoningGroup??ti.ReasoningGroup},Empty:t.Empty,Quote:t.Quote}:tA;return(0,s.jsx)(tf,{components:i,...r})};tj.displayName="MessagePrimitive.Parts";let tM=({children:e,...t})=>g(e=>{let{role:r,attachments:s,parts:i,branchCount:n,isLast:o,speech:a,isCopied:l,isHovering:u}=e.message;return!(!0===t.hasBranches&&n<2||t.user&&"user"!==r||t.assistant&&"assistant"!==r||t.system&&"system"!==r||!0===t.lastOrHover&&!u&&!o||void 0!==t.last&&t.last!==o||!0===t.copied&&!l||!1===t.copied&&l||!0===t.speaking&&null==a||!1===t.speaking&&null!=a||!0===t.hasAttachments&&("user"!==r||!s?.length)||!1===t.hasAttachments&&"user"===r&&s?.length)&&(!0!==t.hasContent||0!==i.length)&&(!1!==t.hasContent||!(i.length>0))&&(void 0===t.submittedFeedback||(e.message.metadata.submittedFeedback?.type??null)===t.submittedFeedback)})?e:null;tM.displayName="MessagePrimitive.If";let tR=(e,t)=>{switch(t.type){case"image":return e?.Image??e?.Attachment;case"document":return e?.Document??e?.Attachment;case"file":return e?.File??e?.Attachment;default:return e?.Attachment}},tk=({components:e})=>{let t=g(e=>e.attachment);if(!t)return null;let r=tR(e,t);return r?(0,s.jsx)(r,{}):null},tN=(0,i.memo)(({index:e,components:t})=>(0,s.jsx)(eT,{index:e,children:(0,s.jsx)(tk,{components:t})}),(e,t)=>e.index===t.index&&e.components?.Image===t.components?.Image&&e.components?.Document===t.components?.Document&&e.components?.File===t.components?.File&&e.components?.Attachment===t.components?.Attachment);tN.displayName="MessagePrimitive.AttachmentByIndex";let tB=({children:e})=>{let t=g(e=>"user"!==e.message.role?0:e.message.attachments.length);return(0,i.useMemo)(()=>Array.from({length:t},(t,r)=>(0,s.jsx)(eT,{index:r,children:(0,s.jsx)(ew,{getItemState:e=>e.message().attachment({index:r}).getState(),children:t=>e({get attachment(){return t()}})})},r)),[t,e])},tP=({components:e,children:t})=>e?(0,s.jsx)(tB,{children:({attachment:t})=>{let r=tR(e,t);return r?(0,s.jsx)(r,{}):null}}):(0,s.jsx)(tB,{children:t});tP.displayName="MessagePrimitive.Attachments";let tD=(0,i.memo)(({children:e})=>{let t=g(e9);return t?(0,s.jsx)(s.Fragment,{children:e(t)}):null});tD.displayName="MessagePrimitive.Quote";let tO=({children:e})=>void 0!==g(e=>e.message.status?.type==="incomplete"&&"error"===e.message.status.reason?e.message.status.error??"An error occurred":void 0)?e:null;tO.displayName="MessagePrimitive.Error";let tF=e=>{let t=new Map;for(let r=0;r<e.length;r++){let s=e[r],i=s?.parentId??`__ungrouped_${r}`,n=t.get(i)??[];n.push(r),t.set(i,n)}let r=[];for(let[e,s]of t){let t=e.startsWith("__ungrouped_")?void 0:e;r.push({groupKey:t,indices:s})}return r},tL=({Fallback:e,...t})=>{let r=g(r=>{let s=r.tools.tools[t.toolName]??e;return Array.isArray(s)?s[0]??e:s});return r?(0,s.jsx)(r,{...t}):null},tU=({Fallback:e,...t})=>{let r=g(r=>{let s=r.dataRenderers.renderers[t.name]??e;return Array.isArray(s)?s[0]??e:s});return r?(0,s.jsx)(r,{...t}):null},tV=()=>(0,s.jsxs)("p",{style:{whiteSpace:"pre-line"},children:[(0,s.jsx)(tC,{}),(0,s.jsx)(tT,{children:(0,s.jsx)("span",{style:{fontFamily:"revert"},children:" ●"})})]}),t$=()=>null,tz=()=>null,tq=()=>(0,s.jsx)(tI,{}),tH=()=>null,tG=()=>null,tK=({children:e})=>e,tJ=({components:{Text:e=tV,Reasoning:t=t$,Image:r=tq,Source:i=tz,File:n=tH,Unstable_Audio:o=tG,tools:a={},data:l}={}})=>{let u=(0,p.useAui)(),c=g(e=>e.part),h=c.type;if("tool-call"===h){let e=u.part().addToolResult,t=u.part().resumeToolCall;if("Override"in a)return(0,s.jsx)(a.Override,{...c,addResult:e,resume:t});let r=a.by_name?.[c.toolName]??a.Fallback;return(0,s.jsx)(tL,{...c,Fallback:r,addResult:e,resume:t})}if(c.status?.type==="requires-action")throw Error("Encountered unexpected requires-action status");switch(h){case"text":return(0,s.jsx)(e,{...c});case"reasoning":return(0,s.jsx)(t,{...c});case"source":return(0,s.jsx)(i,{...c});case"image":return(0,s.jsx)(r,{...c});case"file":return(0,s.jsx)(n,{...c});case"audio":return(0,s.jsx)(o,{...c});case"data":{let e=l?.by_name?.[c.name]??l?.Fallback;return(0,s.jsx)(tU,{...c,Fallback:e})}default:return console.warn(`Unknown message part type: ${h}`),null}},tQ=(0,i.memo)(({partIndex:e,components:t})=>(0,s.jsx)(e5,{index:e,children:(0,s.jsx)(tJ,{components:t})}),(e,t)=>e.partIndex===t.partIndex&&e.components?.Text===t.components?.Text&&e.components?.Reasoning===t.components?.Reasoning&&e.components?.Source===t.components?.Source&&e.components?.Image===t.components?.Image&&e.components?.File===t.components?.File&&e.components?.Unstable_Audio===t.components?.Unstable_Audio&&e.components?.tools===t.components?.tools&&e.components?.data===t.components?.data&&e.components?.Group===t.components?.Group),tW=({status:e,component:t})=>(0,s.jsx)(e8,{text:"",isRunning:"running"===e.type,children:(0,s.jsx)(t,{type:"text",text:"",status:e})}),tY=Object.freeze({type:"complete"}),tX=(0,i.memo)(({components:e})=>{let t=g(e=>e.message.status??tY);return e?.Empty?(0,s.jsx)(e.Empty,{status:t}):(0,s.jsx)(tW,{status:t,component:e?.Text??tV})},(e,t)=>e.components?.Empty===t.components?.Empty&&e.components?.Text===t.components?.Text),tZ=({groupingFunction:e,components:t})=>{let r,n=g(e=>e.message.parts.length),o=(r=g(e=>e.message.parts),(0,i.useMemo)(()=>0===r.length?[]:e(r),[r,e])),a=(0,i.useMemo)(()=>0===n?(0,s.jsx)(tX,{components:t}):o.map((e,r)=>{let i=t?.Group??tK;return(0,s.jsx)(i,{groupKey:e.groupKey,indices:e.indices,children:e.indices.map(e=>(0,s.jsx)(tQ,{partIndex:e,components:t},e))},`group-${r}-${e.groupKey??"ungrouped"}`)}),[o,t,n]);return(0,s.jsx)(s.Fragment,{children:a})};tZ.displayName="MessagePrimitive.Unstable_PartsGrouped";let t0=({components:e,...t})=>(0,s.jsx)(tZ,{...t,components:e,groupingFunction:tF});t0.displayName="MessagePrimitive.Unstable_PartsGroupedByParentId",e.s(["AttachmentByIndex",0,tN,"Attachments",0,tP,"Content",0,tj,"Error",0,tO,"If",0,tM,"PartByIndex",0,to,"Parts",0,tj,"Quote",0,tD,"Root",0,e2,"Unstable_PartsGrouped",0,tZ,"Unstable_PartsGroupedByParentId",0,t0],22723);var t1=e.i(22723);e.s(["MessagePrimitive",0,t1],24453),e.s([],19515),e.i(19515);let t2=(0,i.forwardRef)((e,t)=>(0,s.jsx)(d.div,{...e,ref:t}));t2.displayName="ThreadPrimitive.Root";let t5=({children:e})=>g(e=>e.thread.isEmpty)?e:null;t5.displayName="ThreadPrimitive.Empty";let t3=({children:e,...t})=>g(e=>(!0!==t.empty||!!e.thread.isEmpty)&&(!1!==t.empty||!e.thread.isEmpty)&&(!0!==t.running||!!e.thread.isRunning)&&(!1!==t.running||!e.thread.isRunning)&&(!0!==t.disabled||!!e.thread.isDisabled)&&(!1!==t.disabled||!e.thread.isDisabled)&&!0)?e:null;t3.displayName="ThreadPrimitive.If";let t8=i.default.createContext(!0);function t6(){throw Error("A function wrapped in useEffectEvent can't be called during rendering.")}let t4="use"in i.default?()=>{try{return i.default.use(t8)}catch{return!1}}:()=>!1;var t7=e.i(89339);let t9=(e,t)=>{let r,s=(0,p.useAui)(),n=(r=i.default.useRef(t6),i.default.useInsertionEffect(()=>{r.current=t},[t]),(...e)=>(t4()&&t6(),(0,r.current)(...e))),{scope:o,event:a}=(0,t7.normalizeEventSelector)(e);(0,i.useEffect)(()=>s.on({scope:o,event:a},n),[s,o,a,n])};var re=e.i(93181);let rt=(0,i.forwardRef)(({autoScroll:e,scrollToBottomOnRunStart:t,scrollToBottomOnInitialize:r,scrollToBottomOnThreadSwitch:o,children:a,...l},u)=>{let c=(({autoScroll:e,scrollToBottomOnRunStart:t=!0,scrollToBottomOnInitialize:r=!0,scrollToBottomOnThreadSwitch:s=!0})=>{var o;let a,l=(0,i.useRef)(null),u=(0,ee.useThreadViewportStore)();void 0===e&&(e="top"!==u.getState().turnAnchor);let c=(0,i.useRef)(0),h=(0,i.useRef)(null),d=(0,i.useCallback)(e=>{let t=l.current;t&&(h.current=e,t.scrollTo({top:t.scrollHeight,behavior:e}))},[]),p=()=>{let e=l.current;if(!e)return;let t=u.getState().isAtBottom,r=1>Math.abs(e.scrollHeight-e.scrollTop-e.clientHeight)||e.scrollHeight<=e.clientHeight;!r&&c.current<e.scrollTop||(r&&(h.current=null),(r||null===h.current)&&r!==t&&(0,tS.writableStore)(u).setState({isAtBottom:r})),c.current=e.scrollTop},m=(o=()=>{let t=h.current;t?d(t):e&&u.getState().isAtBottom&&d("instant"),p()},a=(0,Z.useCallbackRef)(o),eY((0,i.useCallback)(e=>{let t=new ResizeObserver(()=>{a()}),r=new MutationObserver(e=>{e.some(e=>"attributes"!==e.type||"style"!==e.attributeName)&&a()});return t.observe(e),r.observe(e,{childList:!0,subtree:!0,attributes:!0,characterData:!0}),()=>{t.disconnect(),r.disconnect()}},[a]))),g=eY(e=>(e.addEventListener("scroll",p),()=>{e.removeEventListener("scroll",p)}));return et(({behavior:e})=>{d(e)}),t9("thread.runStart",()=>{t&&(h.current="auto",requestAnimationFrame(()=>{d("auto")}))}),t9("thread.initialize",()=>{r&&(h.current="instant",requestAnimationFrame(()=>{d("instant")}))}),t9("threadListItem.switchedTo",()=>{s&&(h.current="instant",requestAnimationFrame(()=>{d("instant")}))}),(0,n.useComposedRefs)(m,g,l)})({autoScroll:e,scrollToBottomOnRunStart:t,scrollToBottomOnInitialize:r,scrollToBottomOnThreadSwitch:o}),h=eX((0,ee.useThreadViewport)(e=>e.registerViewport),(0,i.useCallback)(e=>e.clientHeight,[])),p=(0,n.useComposedRefs)(u,c,h);return(0,s.jsx)(d.div,{...l,ref:p,children:a})});rt.displayName="ThreadPrimitive.ViewportScrollable";let rr=(0,i.forwardRef)(({turnAnchor:e,...t},r)=>(0,s.jsx)(re.ThreadPrimitiveViewportProvider,{options:{turnAnchor:e},children:(0,s.jsx)(rt,{...t,ref:r})}));rr.displayName="ThreadPrimitive.Viewport";let rs=(0,i.forwardRef)((e,t)=>{let r=eX((0,ee.useThreadViewport)(e=>e.registerContentInset),(0,i.useCallback)(e=>{let t=parseFloat(getComputedStyle(e).marginTop)||0;return e.offsetHeight+t},[])),o=(0,n.useComposedRefs)(t,r);return(0,s.jsx)(d.div,{...e,ref:o})});rs.displayName="ThreadPrimitive.ViewportFooter";let ri=({index:e,children:t})=>{let r=(0,p.useAui)({message:(0,eI.Derived)({source:"thread",query:{type:"index",index:e},get:t=>t.thread().message({index:e})}),composer:(0,eI.Derived)({source:"message",query:{},get:t=>t.thread().message({index:e}).composer()})});return(0,s.jsx)(eC.AuiProvider,{value:r,children:t})},rn=(e,t)=>e.Message===t.Message&&e.EditComposer===t.EditComposer&&e.UserEditComposer===t.UserEditComposer&&e.AssistantEditComposer===t.AssistantEditComposer&&e.SystemEditComposer===t.SystemEditComposer&&e.UserMessage===t.UserMessage&&e.AssistantMessage===t.AssistantMessage&&e.SystemMessage===t.SystemMessage,ro=()=>null,ra=({components:e})=>{let t=((e,t,r)=>{switch(t){case"user":if(r)return e.UserEditComposer??e.EditComposer??e.UserMessage??e.Message;return e.UserMessage??e.Message;case"assistant":if(r)return e.AssistantEditComposer??e.EditComposer??e.AssistantMessage??e.Message;return e.AssistantMessage??e.Message;case"system":if(r)return e.SystemEditComposer??e.EditComposer??e.SystemMessage??e.Message;return e.SystemMessage??e.Message??ro;default:throw Error(`Unknown message role: ${t}`)}})(e,g(e=>e.message.role),g(e=>e.message.composer.isEditing));return(0,s.jsx)(t,{})},rl=(0,i.memo)(({index:e,components:t})=>(0,s.jsx)(ri,{index:e,children:(0,s.jsx)(ra,{components:t})}),(e,t)=>e.index===t.index&&rn(e.components,t.components));rl.displayName="ThreadPrimitive.MessageByIndex";let ru=({children:e})=>{let t=g(e=>e.thread.messages.length);return(0,i.useMemo)(()=>0===t?null:Array.from({length:t},(t,r)=>(0,s.jsx)(ri,{index:r,children:(0,s.jsx)(ew,{getItemState:e=>e.thread().message({index:r}).getState(),children:t=>e({get message(){return t()}})})},r)),[t,e])},rc=({components:e,children:t})=>e?(0,s.jsx)(ru,{children:()=>(0,s.jsx)(ra,{components:e})}):(0,s.jsx)(ru,{children:t});rc.displayName="ThreadPrimitive.Messages";let rh=(0,i.memo)(rc,(e,t)=>e.children||t.children?e.children===t.children:rn(e.components,t.components)),rd=v("ThreadPrimitive.ScrollToBottom",({behavior:e}={})=>{let t=(0,ee.useThreadViewport)(e=>e.isAtBottom),r=(0,ee.useThreadViewportStore)(),s=(0,i.useCallback)(()=>{r.getState().scrollToBottom({behavior:e})},[r,e]);return t?null:s},["behavior"]),rp=v("ThreadPrimitive.Suggestion",({prompt:e,send:t,clearComposer:r,autoSend:s,method:n})=>{let{disabled:o,trigger:a}=(({prompt:e,send:t,clearComposer:r=!0})=>{let s=(0,p.useAui)(),n=g(e=>e.thread.isDisabled),o=t??!1;return{trigger:(0,i.useCallback)(()=>{let t=s.thread().getState().isRunning;if(o&&!t)s.thread().append({content:[{type:"text",text:e}],runConfig:s.composer().getState().runConfig}),r&&s.composer().setText("");else if(r)s.composer().setText(e);else{let t=s.composer().getState().text;s.composer().setText(t.trim()?`${t} ${e}`:e)}},[s,o,r,e]),disabled:n}})({prompt:e,send:t??s??!1,clearComposer:r});return o?null:a},["prompt","send","clearComposer","autoSend","method"]),rm=({index:e,children:t})=>{let r=(0,p.useAui)({suggestion:(0,eI.Derived)({source:"suggestions",query:{index:e},get:t=>t.suggestions().suggestion({index:e})})});return(0,s.jsx)(eC.AuiProvider,{value:r,children:t})},rg=({components:e})=>{let t=e.Suggestion;return(0,s.jsx)(t,{})},rf=(0,i.memo)(({index:e,components:t})=>(0,s.jsx)(rm,{index:e,children:(0,s.jsx)(rg,{components:t})}),(e,t)=>e.index===t.index&&e.components.Suggestion===t.components.Suggestion);rf.displayName="ThreadPrimitive.SuggestionByIndex";let rb=({children:e})=>{let t=g(e=>e.suggestions.suggestions.length);return(0,i.useMemo)(()=>0===t?null:Array.from({length:t},(t,r)=>(0,s.jsx)(rm,{index:r,children:(0,s.jsx)(ew,{getItemState:e=>e.suggestions().suggestion({index:r}).getState(),children:t=>e({get suggestion(){return t()}})})},r)),[t,e])},ry=({components:e,children:t})=>e?(0,s.jsx)(rb,{children:()=>(0,s.jsx)(rg,{components:e})}):(0,s.jsx)(rb,{children:t});ry.displayName="ThreadPrimitive.Suggestions";let rx=(0,i.memo)(ry,(e,t)=>e.children||t.children?e.children===t.children:e.components.Suggestion===t.components.Suggestion);e.s(["Empty",0,t5,"If",0,t3,"MessageByIndex",0,rl,"Messages",0,rh,"Root",0,t2,"ScrollToBottom",0,rd,"Suggestion",0,rp,"SuggestionByIndex",0,rf,"Suggestions",0,rx,"Viewport",0,rr,"ViewportFooter",0,rs,"ViewportProvider",()=>re.ThreadPrimitiveViewportProvider,"ViewportSlack",0,e1],90012);var rv=e.i(90012);e.s(["ThreadPrimitive",0,rv],18526),e.i(66305);function r_(e){return function(t){let r,s=!1;"function"==typeof t?r=t:t&&(s=!!t.optional,r=t.selector);let n=e({optional:s});return n?function(e,t=e=>e){e.__isBound||(e.__internal_bindMethods?.(),e.__isBound=!0);let r=(0,i.useSyncExternalStore)(e.subscribe,()=>t(e.getState()),()=>t(e.getState()));return(0,i.useDebugValue)(r),r}(n,r):null}}function rS(e){let t=(0,p.useAui)(),r=g(()=>t.message.source?t.message().__internal_getRuntime?.()??null:null);if(!r&&!e?.optional)throw Error("MessageRuntime is not available");return r}let rw=r_(rS);r_(e=>rS(e)?.composer??null),e.s(["useMessage",0,rw],45997);var rE=e.i(54864);let rC=(0,rE.default)("send-horizontal",[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]]);e.s(["SendHorizontal",0,rC],88900);let rI=(0,rE.default)("circle-stop",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]]);e.s(["CircleStop",0,rI],56878);var rT=e.i(14771);e.s(["Paperclip",()=>rT.default],19222)},20360,(e,t,r)=>{var s={675:function(e,t){"use strict";t.byteLength=function(e){var t=l(e),r=t[0],s=t[1];return(r+s)*3/4-s},t.toByteArray=function(e){var t,r,n=l(e),o=n[0],a=n[1],u=new i((o+a)*3/4-a),c=0,h=a>0?o-4:o;for(r=0;r<h;r+=4)t=s[e.charCodeAt(r)]<<18|s[e.charCodeAt(r+1)]<<12|s[e.charCodeAt(r+2)]<<6|s[e.charCodeAt(r+3)],u[c++]=t>>16&255,u[c++]=t>>8&255,u[c++]=255&t;return 2===a&&(t=s[e.charCodeAt(r)]<<2|s[e.charCodeAt(r+1)]>>4,u[c++]=255&t),1===a&&(t=s[e.charCodeAt(r)]<<10|s[e.charCodeAt(r+1)]<<4|s[e.charCodeAt(r+2)]>>2,u[c++]=t>>8&255,u[c++]=255&t),u},t.fromByteArray=function(e){for(var t,s=e.length,i=s%3,n=[],o=0,a=s-i;o<a;o+=16383)n.push(function(e,t,s){for(var i,n=[],o=t;o<s;o+=3)i=(e[o]<<16&0xff0000)+(e[o+1]<<8&65280)+(255&e[o+2]),n.push(r[i>>18&63]+r[i>>12&63]+r[i>>6&63]+r[63&i]);return n.join("")}(e,o,o+16383>a?a:o+16383));return 1===i?n.push(r[(t=e[s-1])>>2]+r[t<<4&63]+"=="):2===i&&n.push(r[(t=(e[s-2]<<8)+e[s-1])>>10]+r[t>>4&63]+r[t<<2&63]+"="),n.join("")};for(var r=[],s=[],i="u">typeof Uint8Array?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=n.length;o<a;++o)r[o]=n[o],s[n.charCodeAt(o)]=o;function l(e){var t=e.length;if(t%4>0)throw Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");-1===r&&(r=t);var s=r===t?0:4-r%4;return[r,s]}s[45]=62,s[95]=63},72:function(e,t,r){"use strict";var s=r(675),i=r(783),n="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function o(e){if(e>0x7fffffff)throw RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,a.prototype),t}function a(e,t,r){if("number"==typeof e){if("string"==typeof t)throw TypeError('The "string" argument must be of type string. Received type number');return c(e)}return l(e,t,r)}function l(e,t,r){if("string"==typeof e){var s=e,i=t;if(("string"!=typeof i||""===i)&&(i="utf8"),!a.isEncoding(i))throw TypeError("Unknown encoding: "+i);var n=0|p(s,i),l=o(n),u=l.write(s,i);return u!==n&&(l=l.slice(0,u)),l}if(ArrayBuffer.isView(e))return h(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(j(e,ArrayBuffer)||e&&j(e.buffer,ArrayBuffer)||"u">typeof SharedArrayBuffer&&(j(e,SharedArrayBuffer)||e&&j(e.buffer,SharedArrayBuffer)))return function(e,t,r){var s;if(t<0||e.byteLength<t)throw RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw RangeError('"length" is outside of buffer bounds');return Object.setPrototypeOf(s=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r),a.prototype),s}(e,t,r);if("number"==typeof e)throw TypeError('The "value" argument must not be of type number. Received type number');var c=e.valueOf&&e.valueOf();if(null!=c&&c!==e)return a.from(c,t,r);var m=function(e){if(a.isBuffer(e)){var t=0|d(e.length),r=o(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||function(e){return e!=e}(e.length)?o(0):h(e):"Buffer"===e.type&&Array.isArray(e.data)?h(e.data):void 0}(e);if(m)return m;if("u">typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return a.from(e[Symbol.toPrimitive]("string"),t,r);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw TypeError('"size" argument must be of type number');if(e<0)throw RangeError('The value "'+e+'" is invalid for option "size"')}function c(e){return u(e),o(e<0?0:0|d(e))}function h(e){for(var t=e.length<0?0:0|d(e.length),r=o(t),s=0;s<t;s+=1)r[s]=255&e[s];return r}t.Buffer=a,t.SlowBuffer=function(e){return+e!=e&&(e=0),a.alloc(+e)},t.INSPECT_MAX_BYTES=50,t.kMaxLength=0x7fffffff,a.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}}(),!a.TYPED_ARRAY_SUPPORT&&"u">typeof console&&"function"==typeof console.error&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}}),a.poolSize=8192,a.from=function(e,t,r){return l(e,t,r)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array),a.alloc=function(e,t,r){return(u(e),e<=0)?o(e):void 0!==t?"string"==typeof r?o(e).fill(t,r):o(e).fill(t):o(e)},a.allocUnsafe=function(e){return c(e)},a.allocUnsafeSlow=function(e){return c(e)};function d(e){if(e>=0x7fffffff)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|e}function p(e,t){if(a.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||j(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,s=arguments.length>2&&!0===arguments[2];if(!s&&0===r)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return C(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return T(e).length;default:if(i)return s?-1:C(e).length;t=(""+t).toLowerCase(),i=!0}}function m(e,t,r){var i,n,o,a=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0||(r>>>=0)<=(t>>>=0)))return"";for(e||(e="utf8");;)switch(e){case"hex":return function(e,t,r){var s=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>s)&&(r=s);for(var i="",n=t;n<r;++n)i+=M[e[n]];return i}(this,t,r);case"utf8":case"utf-8":return y(this,t,r);case"ascii":return function(e,t,r){var s="";r=Math.min(e.length,r);for(var i=t;i<r;++i)s+=String.fromCharCode(127&e[i]);return s}(this,t,r);case"latin1":case"binary":return function(e,t,r){var s="";r=Math.min(e.length,r);for(var i=t;i<r;++i)s+=String.fromCharCode(e[i]);return s}(this,t,r);case"base64":return i=this,n=t,o=r,0===n&&o===i.length?s.fromByteArray(i):s.fromByteArray(i.slice(n,o));case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return function(e,t,r){for(var s=e.slice(t,r),i="",n=0;n<s.length;n+=2)i+=String.fromCharCode(s[n]+256*s[n+1]);return i}(this,t,r);default:if(a)throw TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),a=!0}}function g(e,t,r){var s=e[t];e[t]=e[r],e[r]=s}function f(e,t,r,s,i){var n;if(0===e.length)return -1;if("string"==typeof r?(s=r,r=0):r>0x7fffffff?r=0x7fffffff:r<-0x80000000&&(r=-0x80000000),(n=r*=1)!=n&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length)if(i)return -1;else r=e.length-1;else if(r<0)if(!i)return -1;else r=0;if("string"==typeof t&&(t=a.from(t,s)),a.isBuffer(t))return 0===t.length?-1:b(e,t,r,s,i);if("number"==typeof t){if(t&=255,"function"==typeof Uint8Array.prototype.indexOf)if(i)return Uint8Array.prototype.indexOf.call(e,t,r);else return Uint8Array.prototype.lastIndexOf.call(e,t,r);return b(e,[t],r,s,i)}throw TypeError("val must be string, number or Buffer")}function b(e,t,r,s,i){var n,o=1,a=e.length,l=t.length;if(void 0!==s&&("ucs2"===(s=String(s).toLowerCase())||"ucs-2"===s||"utf16le"===s||"utf-16le"===s)){if(e.length<2||t.length<2)return -1;o=2,a/=2,l/=2,r/=2}function u(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var c=-1;for(n=r;n<a;n++)if(u(e,n)===u(t,-1===c?0:n-c)){if(-1===c&&(c=n),n-c+1===l)return c*o}else -1!==c&&(n-=n-c),c=-1}else for(r+l>a&&(r=a-l),n=r;n>=0;n--){for(var h=!0,d=0;d<l;d++)if(u(e,n+d)!==u(t,d)){h=!1;break}if(h)return n}return -1}a.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==a.prototype},a.compare=function(e,t){if(j(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),j(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(e)||!a.isBuffer(t))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,s=t.length,i=0,n=Math.min(r,s);i<n;++i)if(e[i]!==t[i]){r=e[i],s=t[i];break}return r<s?-1:+(s<r)},a.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(e,t){if(!Array.isArray(e))throw TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return a.alloc(0);if(void 0===t)for(r=0,t=0;r<e.length;++r)t+=e[r].length;var r,s=a.allocUnsafe(t),i=0;for(r=0;r<e.length;++r){var n=e[r];if(j(n,Uint8Array)&&(n=a.from(n)),!a.isBuffer(n))throw TypeError('"list" argument must be an Array of Buffers');n.copy(s,i),i+=n.length}return s},a.byteLength=p,a.prototype._isBuffer=!0,a.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)g(this,t,t+1);return this},a.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)g(this,t,t+3),g(this,t+1,t+2);return this},a.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)g(this,t,t+7),g(this,t+1,t+6),g(this,t+2,t+5),g(this,t+3,t+4);return this},a.prototype.toString=function(){var e=this.length;return 0===e?"":0==arguments.length?y(this,0,e):m.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(e){if(!a.isBuffer(e))throw TypeError("Argument must be a Buffer");return this===e||0===a.compare(this,e)},a.prototype.inspect=function(){var e="",r=t.INSPECT_MAX_BYTES;return e=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(e+=" ... "),"<Buffer "+e+">"},n&&(a.prototype[n]=a.prototype.inspect),a.prototype.compare=function(e,t,r,s,i){if(j(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(e))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===s&&(s=0),void 0===i&&(i=this.length),t<0||r>e.length||s<0||i>this.length)throw RangeError("out of range index");if(s>=i&&t>=r)return 0;if(s>=i)return -1;if(t>=r)return 1;if(t>>>=0,r>>>=0,s>>>=0,i>>>=0,this===e)return 0;for(var n=i-s,o=r-t,l=Math.min(n,o),u=this.slice(s,i),c=e.slice(t,r),h=0;h<l;++h)if(u[h]!==c[h]){n=u[h],o=c[h];break}return n<o?-1:+(o<n)},a.prototype.includes=function(e,t,r){return -1!==this.indexOf(e,t,r)},a.prototype.indexOf=function(e,t,r){return f(this,e,t,r,!0)},a.prototype.lastIndexOf=function(e,t,r){return f(this,e,t,r,!1)};function y(e,t,r){r=Math.min(e.length,r);for(var s=[],i=t;i<r;){var n,o,a,l,u=e[i],c=null,h=u>239?4:u>223?3:u>191?2:1;if(i+h<=r)switch(h){case 1:u<128&&(c=u);break;case 2:(192&(n=e[i+1]))==128&&(l=(31&u)<<6|63&n)>127&&(c=l);break;case 3:n=e[i+1],o=e[i+2],(192&n)==128&&(192&o)==128&&(l=(15&u)<<12|(63&n)<<6|63&o)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:n=e[i+1],o=e[i+2],a=e[i+3],(192&n)==128&&(192&o)==128&&(192&a)==128&&(l=(15&u)<<18|(63&n)<<12|(63&o)<<6|63&a)>65535&&l<1114112&&(c=l)}null===c?(c=65533,h=1):c>65535&&(c-=65536,s.push(c>>>10&1023|55296),c=56320|1023&c),s.push(c),i+=h}var d=s,p=d.length;if(p<=4096)return String.fromCharCode.apply(String,d);for(var m="",g=0;g<p;)m+=String.fromCharCode.apply(String,d.slice(g,g+=4096));return m}function x(e,t,r){if(e%1!=0||e<0)throw RangeError("offset is not uint");if(e+t>r)throw RangeError("Trying to access beyond buffer length")}function v(e,t,r,s,i,n){if(!a.isBuffer(e))throw TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<n)throw RangeError('"value" argument is out of bounds');if(r+s>e.length)throw RangeError("Index out of range")}function _(e,t,r,s,i,n){if(r+s>e.length||r<0)throw RangeError("Index out of range")}function S(e,t,r,s,n){return t*=1,r>>>=0,n||_(e,t,r,4,34028234663852886e22,-34028234663852886e22),i.write(e,t,r,s,23,4),r+4}function w(e,t,r,s,n){return t*=1,r>>>=0,n||_(e,t,r,8,17976931348623157e292,-17976931348623157e292),i.write(e,t,r,s,52,8),r+8}a.prototype.write=function(e,t,r,s){if(void 0===t)s="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)s=t,r=this.length,t=0;else if(isFinite(t))t>>>=0,isFinite(r)?(r>>>=0,void 0===s&&(s="utf8")):(s=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var i,n,o,a,l,u,c,h,d=this.length-t;if((void 0===r||r>d)&&(r=d),e.length>0&&(r<0||t<0)||t>this.length)throw RangeError("Attempt to write outside buffer bounds");s||(s="utf8");for(var p=!1;;)switch(s){case"hex":return function(e,t,r,s){r=Number(r)||0;var i=e.length-r;s?(s=Number(s))>i&&(s=i):s=i;var n=t.length;s>n/2&&(s=n/2);for(var o=0;o<s;++o){var a,l=parseInt(t.substr(2*o,2),16);if((a=l)!=a)break;e[r+o]=l}return o}(this,e,t,r);case"utf8":case"utf-8":return i=t,n=r,A(C(e,this.length-i),this,i,n);case"ascii":return o=t,a=r,A(I(e),this,o,a);case"latin1":case"binary":return function(e,t,r,s){return A(I(t),e,r,s)}(this,e,t,r);case"base64":return l=t,u=r,A(T(e),this,l,u);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return c=t,h=r,A(function(e,t){for(var r,s,i=[],n=0;n<e.length&&!((t-=2)<0);++n)s=(r=e.charCodeAt(n))>>8,i.push(r%256),i.push(s);return i}(e,this.length-c),this,c,h);default:if(p)throw TypeError("Unknown encoding: "+s);s=(""+s).toLowerCase(),p=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},a.prototype.slice=function(e,t){var r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e);var s=this.subarray(e,t);return Object.setPrototypeOf(s,a.prototype),s},a.prototype.readUIntLE=function(e,t,r){e>>>=0,t>>>=0,r||x(e,t,this.length);for(var s=this[e],i=1,n=0;++n<t&&(i*=256);)s+=this[e+n]*i;return s},a.prototype.readUIntBE=function(e,t,r){e>>>=0,t>>>=0,r||x(e,t,this.length);for(var s=this[e+--t],i=1;t>0&&(i*=256);)s+=this[e+--t]*i;return s},a.prototype.readUInt8=function(e,t){return e>>>=0,t||x(e,1,this.length),this[e]},a.prototype.readUInt16LE=function(e,t){return e>>>=0,t||x(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUInt16BE=function(e,t){return e>>>=0,t||x(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUInt32LE=function(e,t){return e>>>=0,t||x(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+0x1000000*this[e+3]},a.prototype.readUInt32BE=function(e,t){return e>>>=0,t||x(e,4,this.length),0x1000000*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||x(e,t,this.length);for(var s=this[e],i=1,n=0;++n<t&&(i*=256);)s+=this[e+n]*i;return s>=(i*=128)&&(s-=Math.pow(2,8*t)),s},a.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||x(e,t,this.length);for(var s=t,i=1,n=this[e+--s];s>0&&(i*=256);)n+=this[e+--s]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*t)),n},a.prototype.readInt8=function(e,t){return(e>>>=0,t||x(e,1,this.length),128&this[e])?-((255-this[e]+1)*1):this[e]},a.prototype.readInt16LE=function(e,t){e>>>=0,t||x(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?0xffff0000|r:r},a.prototype.readInt16BE=function(e,t){e>>>=0,t||x(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?0xffff0000|r:r},a.prototype.readInt32LE=function(e,t){return e>>>=0,t||x(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return e>>>=0,t||x(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return e>>>=0,t||x(e,4,this.length),i.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return e>>>=0,t||x(e,4,this.length),i.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return e>>>=0,t||x(e,8,this.length),i.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return e>>>=0,t||x(e,8,this.length),i.read(this,e,!1,52,8)},a.prototype.writeUIntLE=function(e,t,r,s){if(e*=1,t>>>=0,r>>>=0,!s){var i=Math.pow(2,8*r)-1;v(this,e,t,r,i,0)}var n=1,o=0;for(this[t]=255&e;++o<r&&(n*=256);)this[t+o]=e/n&255;return t+r},a.prototype.writeUIntBE=function(e,t,r,s){if(e*=1,t>>>=0,r>>>=0,!s){var i=Math.pow(2,8*r)-1;v(this,e,t,r,i,0)}var n=r-1,o=1;for(this[t+n]=255&e;--n>=0&&(o*=256);)this[t+n]=e/o&255;return t+r},a.prototype.writeUInt8=function(e,t,r){return e*=1,t>>>=0,r||v(this,e,t,1,255,0),this[t]=255&e,t+1},a.prototype.writeUInt16LE=function(e,t,r){return e*=1,t>>>=0,r||v(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},a.prototype.writeUInt16BE=function(e,t,r){return e*=1,t>>>=0,r||v(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},a.prototype.writeUInt32LE=function(e,t,r){return e*=1,t>>>=0,r||v(this,e,t,4,0xffffffff,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},a.prototype.writeUInt32BE=function(e,t,r){return e*=1,t>>>=0,r||v(this,e,t,4,0xffffffff,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},a.prototype.writeIntLE=function(e,t,r,s){if(e*=1,t>>>=0,!s){var i=Math.pow(2,8*r-1);v(this,e,t,r,i-1,-i)}var n=0,o=1,a=0;for(this[t]=255&e;++n<r&&(o*=256);)e<0&&0===a&&0!==this[t+n-1]&&(a=1),this[t+n]=(e/o|0)-a&255;return t+r},a.prototype.writeIntBE=function(e,t,r,s){if(e*=1,t>>>=0,!s){var i=Math.pow(2,8*r-1);v(this,e,t,r,i-1,-i)}var n=r-1,o=1,a=0;for(this[t+n]=255&e;--n>=0&&(o*=256);)e<0&&0===a&&0!==this[t+n+1]&&(a=1),this[t+n]=(e/o|0)-a&255;return t+r},a.prototype.writeInt8=function(e,t,r){return e*=1,t>>>=0,r||v(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,r){return e*=1,t>>>=0,r||v(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},a.prototype.writeInt16BE=function(e,t,r){return e*=1,t>>>=0,r||v(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},a.prototype.writeInt32LE=function(e,t,r){return e*=1,t>>>=0,r||v(this,e,t,4,0x7fffffff,-0x80000000),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},a.prototype.writeInt32BE=function(e,t,r){return e*=1,t>>>=0,r||v(this,e,t,4,0x7fffffff,-0x80000000),e<0&&(e=0xffffffff+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},a.prototype.writeFloatLE=function(e,t,r){return S(this,e,t,!0,r)},a.prototype.writeFloatBE=function(e,t,r){return S(this,e,t,!1,r)},a.prototype.writeDoubleLE=function(e,t,r){return w(this,e,t,!0,r)},a.prototype.writeDoubleBE=function(e,t,r){return w(this,e,t,!1,r)},a.prototype.copy=function(e,t,r,s){if(!a.isBuffer(e))throw TypeError("argument should be a Buffer");if(r||(r=0),s||0===s||(s=this.length),t>=e.length&&(t=e.length),t||(t=0),s>0&&s<r&&(s=r),s===r||0===e.length||0===this.length)return 0;if(t<0)throw RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw RangeError("Index out of range");if(s<0)throw RangeError("sourceEnd out of bounds");s>this.length&&(s=this.length),e.length-t<s-r&&(s=e.length-t+r);var i=s-r;if(this===e&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(t,r,s);else if(this===e&&r<t&&t<s)for(var n=i-1;n>=0;--n)e[n+t]=this[n+r];else Uint8Array.prototype.set.call(e,this.subarray(r,s),t);return i},a.prototype.fill=function(e,t,r,s){if("string"==typeof e){if("string"==typeof t?(s=t,t=0,r=this.length):"string"==typeof r&&(s=r,r=this.length),void 0!==s&&"string"!=typeof s)throw TypeError("encoding must be a string");if("string"==typeof s&&!a.isEncoding(s))throw TypeError("Unknown encoding: "+s);if(1===e.length){var i,n=e.charCodeAt(0);("utf8"===s&&n<128||"latin1"===s)&&(e=n)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(t<0||this.length<t||this.length<r)throw RangeError("Out of range index");if(r<=t)return this;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i<r;++i)this[i]=e;else{var o=a.isBuffer(e)?e:a.from(e,s),l=o.length;if(0===l)throw TypeError('The value "'+e+'" is invalid for argument "value"');for(i=0;i<r-t;++i)this[i+t]=o[i%l]}return this};var E=/[^+/0-9A-Za-z-_]/g;function C(e,t){t=t||1/0;for(var r,s=e.length,i=null,n=[],o=0;o<s;++o){if((r=e.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319||o+1===s){(t-=3)>-1&&n.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&n.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&n.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;n.push(r)}else if(r<2048){if((t-=2)<0)break;n.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;n.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((t-=4)<0)break;n.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return n}function I(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}function T(e){return s.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(E,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function A(e,t,r,s){for(var i=0;i<s&&!(i+r>=t.length)&&!(i>=e.length);++i)t[i+r]=e[i];return i}function j(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}var M=function(){for(var e="0123456789abcdef",t=Array(256),r=0;r<16;++r)for(var s=16*r,i=0;i<16;++i)t[s+i]=e[r]+e[i];return t}()},783:function(e,t){t.read=function(e,t,r,s,i){var n,o,a=8*i-s-1,l=(1<<a)-1,u=l>>1,c=-7,h=r?i-1:0,d=r?-1:1,p=e[t+h];for(h+=d,n=p&(1<<-c)-1,p>>=-c,c+=a;c>0;n=256*n+e[t+h],h+=d,c-=8);for(o=n&(1<<-c)-1,n>>=-c,c+=s;c>0;o=256*o+e[t+h],h+=d,c-=8);if(0===n)n=1-u;else{if(n===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,s),n-=u}return(p?-1:1)*o*Math.pow(2,n-s)},t.write=function(e,t,r,s,i,n){var o,a,l,u=8*n-i-1,c=(1<<u)-1,h=c>>1,d=5960464477539062e-23*(23===i),p=s?0:n-1,m=s?1:-1,g=+(t<0||0===t&&1/t<0);for(isNaN(t=Math.abs(t))||t===1/0?(a=+!!isNaN(t),o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+h>=1?t+=d/l:t+=d*Math.pow(2,1-h),t*l>=2&&(o++,l/=2),o+h>=c?(a=0,o=c):o+h>=1?(a=(t*l-1)*Math.pow(2,i),o+=h):(a=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&a,p+=m,a/=256,i-=8);for(o=o<<i|a,u+=i;u>0;e[r+p]=255&o,p+=m,o/=256,u-=8);e[r+p-m]|=128*g}}},i={};function n(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}},o=!0;try{s[e](r,r.exports,n),o=!1}finally{o&&delete i[e]}return r.exports}n.ab="/ROOT/node_modules/.pnpm/next@16.2.2_@babel+core@7.29.0_@playwright+test@1.59.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/buffer/",t.exports=n(72)},78598,(e,t,r)=>{"use strict";var s=e.i(20360);let i=void 0!==s.Buffer,n=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,o=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function a(e,t,r){null==r&&null!==t&&"object"==typeof t&&(r=t,t=void 0),i&&s.Buffer.isBuffer(e)&&(e=e.toString()),e&&65279===e.charCodeAt(0)&&(e=e.slice(1));let a=JSON.parse(e,t);if(null===a||"object"!=typeof a)return a;let u=r&&r.protoAction||"error",c=r&&r.constructorAction||"error";if("ignore"===u&&"ignore"===c)return a;if("ignore"!==u&&"ignore"!==c){if(!1===n.test(e)&&!1===o.test(e))return a}else if("ignore"!==u&&"ignore"===c){if(!1===n.test(e))return a}else if(!1===o.test(e))return a;return l(a,{protoAction:u,constructorAction:c,safe:r&&r.safe})}function l(e,{protoAction:t="error",constructorAction:r="error",safe:s}={}){let i=[e];for(;i.length;){let e=i;for(let n of(i=[],e)){if("ignore"!==t&&Object.prototype.hasOwnProperty.call(n,"__proto__")){if(!0===s)return null;if("error"===t)throw SyntaxError("Object contains forbidden prototype property");delete n.__proto__}if("ignore"!==r&&Object.prototype.hasOwnProperty.call(n,"constructor")&&null!==n.constructor&&"object"==typeof n.constructor&&Object.prototype.hasOwnProperty.call(n.constructor,"prototype")){if(!0===s)return null;if("error"===r)throw SyntaxError("Object contains forbidden prototype property");delete n.constructor}for(let e in n){let t=n[e];t&&"object"==typeof t&&i.push(t)}}}return e}function u(e,t,r){let{stackTraceLimit:s}=Error;Error.stackTraceLimit=0;try{return a(e,t,r)}finally{Error.stackTraceLimit=s}}t.exports=u,t.exports.default=u,t.exports.parse=u,t.exports.safeParse=function(e,t){let{stackTraceLimit:r}=Error;Error.stackTraceLimit=0;try{return a(e,t,{safe:!0})}catch{return}finally{Error.stackTraceLimit=r}},t.exports.scan=l},39641,e=>{"use strict";var t=e.i(31541),r=e.i(73066),s=e.i(28547),i=class extends r.Removable{#e;#t;#r;#s;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#r=e.mutationCache,this.#t=[],this.state=e.state||n(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#r.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||("pending"===this.state.status?this.scheduleGc():this.#r.remove(this))}continue(){return this.#s?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:"continue"})},r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#s=(0,s.createRetryer)({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(Error("No mutationFn found")),onFail:(e,t)=>{this.#i({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#i({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#r.canRun(this)});let i="pending"===this.state.status,n=!this.#s.canStart();try{if(i)t();else{this.#i({type:"pending",variables:e,isPaused:n}),this.#r.config.onMutate&&await this.#r.config.onMutate(e,this,r);let t=await this.options.onMutate?.(e,r);t!==this.state.context&&this.#i({type:"pending",context:t,variables:e,isPaused:n})}let s=await this.#s.start();return await this.#r.config.onSuccess?.(s,e,this.state.context,this,r),await this.options.onSuccess?.(s,e,this.state.context,r),await this.#r.config.onSettled?.(s,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(s,null,e,this.state.context,r),this.#i({type:"success",data:s}),s}catch(t){try{await this.#r.config.onError?.(t,e,this.state.context,this,r)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,r)}catch(e){Promise.reject(e)}try{await this.#r.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,r)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,r)}catch(e){Promise.reject(e)}throw this.#i({type:"error",error:t}),t}finally{this.#r.runNext(this)}}#i(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),t.notifyManager.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#r.notify({mutation:this,type:"updated",action:e})})}};function n(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}e.s(["Mutation",0,i,"getDefaultState",0,n])},28112,e=>{"use strict";e.i(66305);var t=e.i(96871),r=e.i(16539);e.i(26759);var s=e.i(97164),i=e.i(66162),n=e.i(95892),o=e.i(77823),a=e.i(31777),l=e.i(70309),u=e.i(48725),c=e.i(79491),h=e.i(24453),d=e.i(18526),p=e.i(45997),m=e.i(68864),g=e.i(12878),f=e.i(88900),b=e.i(56878),y=e.i(67088),x=e.i(19222),v=e.i(51818),_=e.i(34383),S=e.i(29603),w=e.i(63352),E=e.i(82479),C=e.i(75767),I=e.i(79561);let T={p:({children:e})=>(0,t.jsx)("p",{className:"mb-2 leading-relaxed last:mb-0",children:e}),strong:({children:e})=>(0,t.jsx)("strong",{className:"font-semibold",children:e}),em:({children:e})=>(0,t.jsx)("em",{className:"italic",children:e}),code:({children:e,className:r})=>r?(0,t.jsx)("code",{className:`${r} text-[11px]`,children:e}):(0,t.jsx)("code",{className:"bg-background/50 rounded-md px-1.5 py-0.5 font-mono text-xs",children:e}),pre:({children:e})=>{let r=e?.props?.className?.replace("language-","")??"",s="string"==typeof e?.props?.children?e.props.children:"";return["html","svg"].includes(r)&&s.length>0?(0,t.jsx)(B,{code:s,language:r}):(0,t.jsx)(N,{language:r,children:e})},ul:({children:e})=>(0,t.jsx)("ul",{className:"mb-2 list-disc ps-4 last:mb-0",children:e}),ol:({children:e})=>(0,t.jsx)("ol",{className:"mb-2 list-decimal ps-4 last:mb-0",children:e}),li:({children:e})=>(0,t.jsx)("li",{className:"mb-0.5",children:e}),h1:({children:e})=>(0,t.jsx)("h1",{className:"mb-1 text-base font-bold",children:e}),h2:({children:e})=>(0,t.jsx)("h2",{className:"mb-1 text-sm font-bold",children:e}),h3:({children:e})=>(0,t.jsx)("h3",{className:"mb-1 text-sm font-semibold",children:e}),a:({children:e,href:r})=>(0,t.jsx)("a",{href:r,className:"text-blue-500 underline",target:"_blank",rel:"noopener noreferrer",children:e}),blockquote:({children:e})=>(0,t.jsx)("blockquote",{className:"border-muted-foreground/30 my-1 border-s-2 ps-3 italic opacity-80",children:e}),table:({children:e})=>(0,t.jsx)("div",{className:"my-2 overflow-x-auto",children:(0,t.jsx)("table",{className:"min-w-full border-collapse text-xs",children:e})}),thead:({children:e})=>(0,t.jsx)("thead",{className:"bg-muted/50 border-b",children:e}),th:({children:e})=>(0,t.jsx)("th",{className:"px-2 py-1 text-start font-semibold",children:e}),td:({children:e})=>(0,t.jsx)("td",{className:"border-muted border-t px-2 py-1",children:e}),tr:({children:e})=>(0,t.jsx)("tr",{children:e}),hr:()=>(0,t.jsx)("hr",{className:"border-border/40 my-3 border-t"})};function A({className:e,statusBar:r,composer:s}){return(0,t.jsxs)(d.ThreadPrimitive.Root,{className:(0,a.cn)("flex h-full flex-col",e),children:[(0,t.jsxs)(d.ThreadPrimitive.Viewport,{className:"flex flex-1 flex-col overflow-y-auto pt-4",children:[(0,t.jsx)(d.ThreadPrimitive.Empty,{children:(0,t.jsx)(j,{})}),(0,t.jsx)(d.ThreadPrimitive.Messages,{components:{UserMessage:M,AssistantMessage:k}})]}),r,s??(0,t.jsx)(z,{})]})}function j(){return(0,t.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-2 p-8 text-center",children:[(0,t.jsx)(v.Bot,{className:"text-muted-foreground/40 h-10 w-10"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"Send a message to start chatting with the agent."})]})}let M=()=>(0,t.jsxs)(h.MessagePrimitive.Root,{className:"group flex w-full items-start gap-2.5 px-4 py-0.5",children:[(0,t.jsx)("div",{className:"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-violet-500/15",children:(0,t.jsx)(_.User,{className:"h-3.5 w-3.5 text-violet-500"})}),(0,t.jsxs)("div",{className:"flex max-w-[85%] min-w-0 flex-col gap-0.5",children:[(0,t.jsx)("div",{className:"text-foreground mt-px overflow-hidden rounded-2xl rounded-tl-sm border border-violet-500/15 bg-violet-500/8 px-4 py-2 text-sm leading-relaxed break-words shadow-sm backdrop-blur-md",children:(0,t.jsx)(h.MessagePrimitive.Content,{components:{Text:R}})}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 opacity-0 transition-opacity group-hover:opacity-100",children:[(0,t.jsx)(V,{}),(0,t.jsx)(u.ActionBarPrimitive.Root,{className:"flex items-center gap-1",children:(0,t.jsx)(u.ActionBarPrimitive.Copy,{asChild:!0,children:(0,t.jsx)($,{tooltip:"Copy",children:(0,t.jsx)(y.Copy,{})})})})]})]})]});function R({text:e}){return(0,t.jsx)("span",{className:"whitespace-pre-wrap",children:e})}let k=()=>(0,t.jsxs)(h.MessagePrimitive.Root,{className:"group flex w-full items-start gap-2.5 px-4 py-0.5",children:[(0,t.jsx)("div",{className:"bg-muted flex h-6 w-6 shrink-0 items-center justify-center rounded-full",children:(0,t.jsx)(v.Bot,{className:"text-muted-foreground h-3.5 w-3.5"})}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[(0,t.jsx)("div",{className:"bg-muted/50 text-foreground mt-px overflow-hidden rounded-2xl rounded-tl-sm border border-white/5 px-4 py-2 text-sm leading-relaxed break-words shadow-sm backdrop-blur-md",children:(0,t.jsx)(h.MessagePrimitive.Content,{components:{Text:D}})}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 opacity-0 transition-opacity group-hover:opacity-100",children:[(0,t.jsx)(V,{}),(0,t.jsx)(u.ActionBarPrimitive.Root,{className:"flex items-center gap-1",children:(0,t.jsx)(u.ActionBarPrimitive.Copy,{asChild:!0,children:(0,t.jsx)($,{tooltip:"Copy",children:(0,t.jsx)(y.Copy,{})})})})]})]})]});function N({children:e,language:i}){let{t:n}=(0,s.useTranslation)("web"),[o,a]=(0,r.useState)(!1),[l,u]=(0,r.useState)(!1),c=(0,r.useRef)(null);return(0,r.useEffect)(()=>{c.current&&c.current.scrollHeight>240&&u(!0)},[e]),(0,t.jsxs)("div",{className:"bg-background/50 relative my-2 overflow-hidden rounded-md",children:[i?(0,t.jsx)("div",{className:"text-muted-foreground/50 border-b border-white/5 px-3 py-1 font-mono text-[10px] uppercase",children:i}):null,(0,t.jsx)("pre",{ref:c,className:"overflow-x-auto p-3 font-mono text-xs leading-relaxed transition-[max-height] duration-300 ease-in-out",style:{maxHeight:o?"min(60vh, 500px)":l?"200px":"min(60vh, 500px)",overflow:o?"auto":void 0},children:e}),l&&!o?(0,t.jsx)("div",{className:"absolute inset-x-0 bottom-0 flex items-end justify-center bg-gradient-to-t from-black/60 via-black/30 to-transparent pt-12 pb-3",children:(0,t.jsxs)("button",{type:"button",onClick:()=>a(!0),className:"inline-flex items-center gap-1 rounded-full border border-white/10 bg-white/10 px-3 py-1 text-[11px] font-medium text-white/80 shadow-lg backdrop-blur-md transition-all hover:bg-white/20 hover:text-white",children:[(0,t.jsx)(E.ChevronDown,{className:"h-3 w-3"}),n("chat.showMore")]})}):null,l&&o?(0,t.jsx)("div",{className:"flex justify-center border-t border-white/5 py-1.5",children:(0,t.jsxs)("button",{type:"button",onClick:()=>a(!1),className:"inline-flex items-center gap-1 rounded-full px-3 py-0.5 text-[11px] text-white/50 transition-colors hover:text-white/80",children:[(0,t.jsx)(C.ChevronUp,{className:"h-3 w-3"}),n("chat.showLess")]})}):null]})}function B({code:e,language:i}){let{t:n}=(0,s.useTranslation)("web"),[o,u]=(0,r.useState)(!1),[c,h]=(0,r.useState)(!1),[d,p]=(0,r.useState)(!1),m=e.split("\n").length,g=e.length;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"bg-background/50 my-2 overflow-hidden rounded-md border",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b px-3 py-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground font-mono text-xs uppercase",children:i}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("button",{type:"button",onClick:()=>u(!1),className:(0,a.cn)("rounded px-2.5 py-0.5 text-xs font-medium transition-colors",o?"text-muted-foreground hover:text-foreground":"bg-muted text-foreground"),children:n("chat.code")}),(0,t.jsx)("button",{type:"button",onClick:()=>u(!0),className:(0,a.cn)("rounded px-2.5 py-0.5 text-xs font-medium transition-colors",o?"bg-muted text-foreground":"text-muted-foreground hover:text-foreground"),children:n("chat.preview")}),(0,t.jsx)("button",{type:"button",onClick:()=>{p(!o),h(!0)},className:"text-muted-foreground hover:text-foreground ms-1 rounded p-0.5 transition-colors",title:n("chat.openFullscreen"),children:(0,t.jsx)(S.Maximize2,{className:"h-3 w-3"})})]})]}),(0,t.jsx)("div",{style:{height:"min(55vh, 450px)"},children:o?(0,t.jsx)("iframe",{srcDoc:e,sandbox:"allow-scripts",className:"h-full w-full border-0 bg-white",title:n("chat.htmlPreview")}):(0,t.jsx)("pre",{className:"h-full overflow-auto p-3 font-mono text-xs leading-relaxed",children:(0,t.jsx)("code",{children:e})})})]}),c&&"u">typeof document?(0,l.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/70 backdrop-blur-sm",onClick:()=>h(!1),children:(0,t.jsxs)("div",{className:"bg-background relative flex h-[95vh] w-[95vw] flex-col overflow-hidden rounded-xl border shadow-2xl",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"bg-muted/80 flex h-12 shrink-0 items-center justify-between border-b px-5",children:[(0,t.jsxs)("div",{className:"bg-muted flex items-center gap-0.5 rounded-lg p-1",children:[(0,t.jsx)("button",{type:"button",onClick:()=>p(!1),className:(0,a.cn)("rounded-md px-4 py-1.5 text-sm font-medium transition-all",d?"text-muted-foreground hover:text-foreground":"bg-background text-foreground shadow-sm"),children:n("chat.preview")}),(0,t.jsx)("button",{type:"button",onClick:()=>p(!0),className:(0,a.cn)("rounded-md px-4 py-1.5 text-sm font-medium transition-all",d?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:n("chat.code")})]}),(0,t.jsxs)("div",{className:"text-muted-foreground/60 flex items-center gap-4 text-xs",children:[(0,t.jsxs)("span",{children:[m," lines"]}),(0,t.jsxs)("span",{children:[g.toLocaleString()," chars"]}),(0,t.jsx)("span",{className:"font-mono uppercase",children:i})]}),(0,t.jsx)("button",{type:"button",onClick:()=>h(!1),className:"text-muted-foreground hover:bg-muted hover:text-foreground rounded-lg p-2 transition-colors",children:(0,t.jsx)(w.X,{className:"h-5 w-5"})})]}),d?(0,t.jsx)("pre",{className:"flex-1 overflow-auto p-4 font-mono text-xs leading-relaxed",children:(0,t.jsx)("code",{children:e})}):(0,t.jsx)("iframe",{srcDoc:e,sandbox:"allow-scripts",className:"flex-1 border-0 bg-white dark:bg-neutral-900",title:n("chat.htmlPreviewFullscreen")})]})}),document.body):null]})}let P=/^\*⏳ (.+)\*$/;function D({text:e}){if("*Thinking...*"===e||"*Agent is waking up...*"===e)return(0,t.jsx)(U,{booting:e.includes("waking")});let r=P.exec(e);return r?(0,t.jsx)(O,{label:r[1]}):(0,t.jsx)(m.default,{remarkPlugins:[g.default],components:T,children:e})}function O({label:e}){return(0,t.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-2 text-sm italic",children:[(0,t.jsx)(I.LoaderCircle,{className:"h-3.5 w-3.5 animate-spin"}),(0,t.jsx)("span",{children:e})]})}let F=["Thinking","Reasoning","Analyzing","Processing","Evaluating","Considering","Reflecting","Pondering"],L=["Waking up","Initializing","Loading tools","Preparing","Connecting"];function U({booting:e}){let s=e?L:F,[i,n]=(0,r.useState)(0),[o,a]=(0,r.useState)(!0);return(0,r.useEffect)(()=>{let e=setInterval(()=>{a(!1),setTimeout(()=>{n(e=>(e+1)%s.length),a(!0)},200)},2e3);return()=>clearInterval(e)},[s]),(0,t.jsxs)("span",{className:"text-muted-foreground inline-flex w-32 items-center gap-1.5 text-sm italic",children:[(0,t.jsx)("span",{className:"inline-block transition-all duration-300 ease-in-out",style:{opacity:+!!o,transform:o?"translateY(0)":"translateY(-4px)"},children:s[i]}),(0,t.jsxs)("span",{className:"inline-flex gap-0.5",children:[(0,t.jsx)("span",{className:"bg-muted-foreground/60 h-1 w-1 animate-bounce rounded-full",style:{animationDelay:"0ms"}}),(0,t.jsx)("span",{className:"bg-muted-foreground/60 h-1 w-1 animate-bounce rounded-full",style:{animationDelay:"150ms"}}),(0,t.jsx)("span",{className:"bg-muted-foreground/60 h-1 w-1 animate-bounce rounded-full",style:{animationDelay:"300ms"}})]})]})}function V(){let e=(0,p.useMessage)(),[s,i]=(0,r.useState)(0);(0,r.useEffect)(()=>{let e=setInterval(()=>i(e=>e+1),3e4);return()=>clearInterval(e)},[]);let n=(0,r.useMemo)(()=>{if(!e?.createdAt)return null;let t=new Date(e.createdAt);return isNaN(t.getTime())?null:{time:t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),relative:function(e){let t=Date.now()-e.getTime();if(t<0||t<5e3)return"just now";let r=Math.floor(t/1e3);if(r<60)return`${r}s ago`;let s=Math.floor(r/60);if(s<60)return`${s}m ago`;let i=Math.floor(s/60);return i<24?`${i}h ago`:e.toLocaleDateString()}(t)}},[e?.createdAt,s]);return n?(0,t.jsx)("span",{className:"text-muted-foreground/60 text-[10px]",title:n.time,children:n.relative}):null}let $=(0,r.forwardRef)(({tooltip:e,children:r,className:s,...i},n)=>(0,t.jsx)("button",{ref:n,type:"button",title:e,className:(0,a.cn)("text-muted-foreground hover:text-foreground hover:bg-muted inline-flex h-7 w-7 items-center justify-center rounded-md transition-colors","[&>svg]:h-3.5 [&>svg]:w-3.5",s),...i,children:r}));function z(){return(0,t.jsxs)(c.ComposerPrimitive.Root,{className:"flex items-end gap-2 border-t p-3",children:[(0,t.jsx)(c.ComposerPrimitive.AddAttachment,{asChild:!0,children:(0,t.jsx)($,{tooltip:"Attach file",className:"mb-0.5",children:(0,t.jsx)(x.Paperclip,{})})}),(0,t.jsx)(c.ComposerPrimitive.Input,{rows:1,autoFocus:!0,placeholder:"Write a message...",className:(0,a.cn)("bg-muted min-h-[40px] flex-1 resize-none rounded-xl border-0 px-4 py-2.5 text-sm","focus:ring-ring/30 focus:ring-2 focus:outline-none","placeholder:text-muted-foreground/60","max-h-40 overflow-y-auto")}),(0,t.jsx)(q,{})]})}function q(){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.ThreadPrimitive.If,{running:!1,children:(0,t.jsx)(c.ComposerPrimitive.Send,{className:(0,a.cn)("bg-primary text-primary-foreground inline-flex h-[40px] w-[40px] shrink-0 items-center justify-center rounded-xl","hover:bg-primary/90 disabled:pointer-events-none disabled:opacity-30","transition-colors"),children:(0,t.jsx)(f.SendHorizontal,{className:"size-4"})})}),(0,t.jsx)(d.ThreadPrimitive.If,{running:!0,children:(0,t.jsx)(c.ComposerPrimitive.Cancel,{className:(0,a.cn)("bg-destructive/10 text-destructive inline-flex h-[40px] w-[40px] shrink-0 items-center justify-center rounded-xl","hover:bg-destructive/20","transition-colors"),children:(0,t.jsx)(b.CircleStop,{className:"size-4"})})})]})}$.displayName="IconButton";let H=new Set(["txt","md","csv","json","yaml","yml","xml","html","css","js","ts","jsx","tsx","py","rb","go","rs","java","kt","c","cpp","h","hpp","cs","swift","sh","bash","zsh","fish","ps1","bat","cmd","sql","graphql","proto","toml","ini","cfg","conf","env","dockerfile","makefile","cmake","gradle","sbt","lock","sum","mod","png","jpg","jpeg","gif","svg","webp","bmp","ico","avif","pdf","doc","docx","xls","xlsx","ppt","pptx","odt","ods","odp","zip","tar","gz","bz2","xz","7z","rar","log","diff","patch"]);var G=e.i(9749),K=e.i(16018);class J{_contextProvider=new K.CompositeContextProvider;registerModelContextProvider(e){return this._contextProvider.registerModelContextProvider(e)}getModelContextProvider(){return this._contextProvider}}let Q=Object.freeze([]),W="DEFAULT_THREAD_ID",Y=Object.freeze([W]),X=Object.freeze({id:W,remoteId:void 0,externalId:void 0,status:"regular"}),Z=Promise.resolve(),ee=Object.freeze({[W]:X});class et{adapter;threadFactory;_mainThreadId=W;_threads=Y;_archivedThreads=Q;_threadData=ee;get isLoading(){return this.adapter.isLoading??!1}get newThreadId(){}get threadIds(){return this._threads}get archivedThreadIds(){return this._archivedThreads}get threadItems(){return this._threadData}getLoadThreadsPromise(){return Z}_mainThread;get mainThreadId(){return this._mainThreadId}constructor(e={},t){this.adapter=e,this.threadFactory=t,this._mainThread=this.threadFactory(),this.__internal_setAdapter(e,!0)}getMainThreadRuntimeCore(){return this._mainThread}getThreadRuntimeCore(){throw Error("Method not implemented.")}getItemById(e){for(let t of this.adapter.threads??[])if(t.id===e)return t;for(let t of this.adapter.archivedThreads??[])if(t.id===e)return t;if(e===W)return X}__internal_setAdapter(e,t=!1){let r=this.adapter;this.adapter=e;let s=e.threadId??W,i=e.threads??Q,n=e.archivedThreads??Q,o=r.threadId??W,a=r.threads??Q,l=r.archivedThreads??Q;(t||o!==s||a!==i||l!==n)&&(this._threadData={...ee,...Object.fromEntries(e.threads?.map(e=>[e.id,{...e,remoteId:e.remoteId,externalId:e.externalId,status:"regular"}])??[]),...Object.fromEntries(e.archivedThreads?.map(e=>[e.id,{...e,remoteId:e.remoteId,externalId:e.externalId,status:"archived"}])??[])},a!==i&&(this._threads=this.adapter.threads?.map(e=>e.id)??Q),l!==n&&(this._archivedThreads=this.adapter.archivedThreads?.map(e=>e.id)??Q),o!==s&&(this._mainThreadId=s,this._mainThread=this.threadFactory()),this._notifySubscribers())}async switchToThread(e){if(this._mainThreadId===e)return;let t=this.adapter.onSwitchToThread;if(!t)throw Error("External store adapter does not support switching to thread");await t(e)}async switchToNewThread(){let e=this.adapter.onSwitchToNewThread;if(!e)throw Error("External store adapter does not support switching to new thread");await e()}async rename(e,t){let r=this.adapter.onRename;if(!r)throw Error("External store adapter does not support renaming");await r(e,t)}async detach(){}async archive(e){let t=this.adapter.onArchive;if(!t)throw Error("External store adapter does not support archiving");await t(e)}async unarchive(e){let t=this.adapter.onUnarchive;if(!t)throw Error("External store adapter does not support unarchiving");await t(e)}async delete(e){let t=this.adapter.onDelete;if(!t)throw Error("External store adapter does not support deleting");await t(e)}initialize(e){return Promise.resolve({remoteId:e,externalId:void 0})}generateTitle(){throw Error("Method not implemented.")}_subscriptions=new Set;subscribe(e){return this._subscriptions.add(e),()=>this._subscriptions.delete(e)}_notifySubscribers(){for(let e of this._subscriptions)e()}}let er=Symbol("innerMessage"),es=Symbol("innerMessages"),ei=[],en=e=>{let t="messages"in e?e.messages:e,r=t[es]||t[er];return r?Array.isArray(r)?r:(t[es]=[r],t[es]):ei};class eo{cache=new WeakMap;convertMessages(e,t){return e.map((e,r)=>{let s=t(this.cache.get(e),e,r);return this.cache.set(e,s),s})}}let ea=Symbol("autoStatus"),el=Object.freeze(Object.assign({type:"running"},{[ea]:!0})),eu=Object.freeze(Object.assign({type:"complete",reason:"unknown"},{[ea]:!0})),ec=Object.freeze(Object.assign({type:"requires-action",reason:"tool-calls"},{[ea]:!0})),eh=Object.freeze(Object.assign({type:"requires-action",reason:"interrupt"},{[ea]:!0})),ed=(e,t,r,s,i)=>e&&i?Object.assign({type:"incomplete",reason:"error",error:i},{[ea]:!0}):e&&t?el:r?eh:s?ec:eu;var ep=e.i(78598);let em=Symbol("aui.parse-partial-json-object.meta"),eg=((e,t=21)=>(r=t)=>{let s="",i=0|r;for(;i--;)s+=e[Math.random()*e.length|0];return s})("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7),ef=()=>`__optimistic__${eg()}`,eb=(e,t)=>{if(e.startsWith("data-"))return{type:"data",name:e.substring(5),data:t}},ey=(e,t,r)=>{let{role:s,id:i,createdAt:n,attachments:o,status:a,metadata:l}=e,u={id:i??t,createdAt:n??new Date},c="string"==typeof e.content?[{type:"text",text:e.content}]:e.content;if("user"!==s&&o?.length)throw Error("attachments are only supported for user messages");if("assistant"!==s&&a)throw Error("status is only supported for assistant messages");if("assistant"!==s&&l?.steps)throw Error("metadata.steps is only supported for assistant messages");switch(s){case"assistant":return{...u,role:s,content:c.map(e=>{let t=e.type;switch(t){case"text":case"reasoning":if(0===e.text.trim().length)return null;return e;case"file":case"source":case"data":return e;case"image":return(({image:e,...t})=>e.match(/^data:image\/(png|jpeg|jpg|gif|webp);base64,(.*)$/)?{...t,image:e}:(console.warn("Invalid image data format detected"),null))(e);case"tool-call":{let{parentId:t,messages:r,...s}=e,i={...s,toolCallId:e.toolCallId??`tool-${eg()}`,...void 0!==t&&{parentId:t},...void 0!==r&&{messages:r}};if(e.args)return{...i,args:e.args,argsText:e.argsText??JSON.stringify(e.args)};return{...i,args:(e=>{if(0===e.length)return{[em]:{state:"partial",partialPath:[]}};try{let t=ep.default.parse(e);if("object"!=typeof t||null===t)throw Error("argsText is expected to be an object");return t[em]={state:"complete",partialPath:[]},t}catch{try{let[t,r]=function(e){let t,r=["ROOT"],s=-1,i=null,n=[];function o(){void 0!==t&&(n.push(JSON.parse(`"${t}"`)),t=void 0)}function a(e,t,n){switch(e){case'"':s=t,r.pop(),r.push(n),r.push("INSIDE_STRING"),o();break;case"f":case"t":case"n":s=t,i=t,r.pop(),r.push(n),r.push("INSIDE_LITERAL");break;case"-":r.pop(),r.push(n),r.push("INSIDE_NUMBER"),o();break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":s=t,r.pop(),r.push(n),r.push("INSIDE_NUMBER"),o();break;case"{":s=t,r.pop(),r.push(n),r.push("INSIDE_OBJECT_START"),o();break;case"[":s=t,r.pop(),r.push(n),r.push("INSIDE_ARRAY_START"),o()}}function l(e,i){switch(e){case",":r.pop(),r.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":s=i,r.pop(),t=n.pop()}}function u(e,i){switch(e){case",":r.pop(),r.push("INSIDE_ARRAY_AFTER_COMMA"),t=(Number(t)+1).toString();break;case"]":s=i,r.pop(),t=n.pop()}}for(let o=0;o<e.length;o++){let c=e[o];switch(r[r.length-1]){case"ROOT":a(c,o,"FINISH");break;case"INSIDE_OBJECT_START":switch(c){case'"':r.pop(),r.push("INSIDE_OBJECT_KEY"),t="";break;case"}":s=o,r.pop(),t=n.pop()}break;case"INSIDE_OBJECT_AFTER_COMMA":'"'===c&&(r.pop(),r.push("INSIDE_OBJECT_KEY"),t="");break;case"INSIDE_OBJECT_KEY":switch(c){case'"':r.pop(),r.push("INSIDE_OBJECT_AFTER_KEY");break;case"\\":r.push("INSIDE_STRING_ESCAPE"),t+=c;break;default:t+=c}break;case"INSIDE_OBJECT_AFTER_KEY":":"===c&&(r.pop(),r.push("INSIDE_OBJECT_BEFORE_VALUE"));break;case"INSIDE_OBJECT_BEFORE_VALUE":a(c,o,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":l(c,o);break;case"INSIDE_STRING":switch(c){case'"':r.pop(),s=o,t=n.pop();break;case"\\":r.push("INSIDE_STRING_ESCAPE");break;default:s=o}break;case"INSIDE_ARRAY_START":"]"===c?(s=o,r.pop(),t=n.pop()):(s=o,t="0",a(c,o,"INSIDE_ARRAY_AFTER_VALUE"));break;case"INSIDE_ARRAY_AFTER_VALUE":switch(c){case",":r.pop(),r.push("INSIDE_ARRAY_AFTER_COMMA"),t=(Number(t)+1).toString();break;case"]":s=o,r.pop(),t=n.pop();break;default:s=o}break;case"INSIDE_ARRAY_AFTER_COMMA":a(c,o,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":r.pop(),"INSIDE_STRING"===r[r.length-1]?s=o:"INSIDE_OBJECT_KEY"===r[r.length-1]&&(t+=c);break;case"INSIDE_NUMBER":switch(c){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":s=o;break;case"e":case"E":case"-":case".":break;case",":r.pop(),t=n.pop(),"INSIDE_ARRAY_AFTER_VALUE"===r[r.length-1]&&u(c,o),"INSIDE_OBJECT_AFTER_VALUE"===r[r.length-1]&&l(c,o);break;case"}":r.pop(),t=n.pop(),"INSIDE_OBJECT_AFTER_VALUE"===r[r.length-1]&&l(c,o);break;case"]":r.pop(),t=n.pop(),"INSIDE_ARRAY_AFTER_VALUE"===r[r.length-1]&&u(c,o);break;default:r.pop(),t=n.pop()}break;case"INSIDE_LITERAL":{let t=e.substring(i,o+1);"false".startsWith(t)||"true".startsWith(t)||"null".startsWith(t)?s=o:(r.pop(),"INSIDE_OBJECT_AFTER_VALUE"===r[r.length-1]?l(c,o):"INSIDE_ARRAY_AFTER_VALUE"===r[r.length-1]&&u(c,o))}}}let c=e.slice(0,s+1);for(let t=r.length-1;t>=0;t--)switch(r[t]){case"INSIDE_STRING":c+='"';break;case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":c+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":c+="]";break;case"INSIDE_LITERAL":{let t=e.substring(i,e.length);"true".startsWith(t)?c+="true".slice(t.length):"false".startsWith(t)?c+="false".slice(t.length):"null".startsWith(t)&&(c+="null".slice(t.length))}}return[c,n]}(e),s=ep.default.parse(t);if("object"!=typeof s||null===s)throw Error("argsText is expected to be an object");return s[em]={state:"partial",partialPath:r},s}catch{return}}})(e.argsText??"")??{},argsText:e.argsText??""}}default:{let r=eb(t,e.data);if(r)return r;throw Error(`Unsupported assistant message part type: ${t}`)}}}).filter(e=>!!e),status:a??r,metadata:{unstable_state:l?.unstable_state??null,unstable_annotations:l?.unstable_annotations??[],unstable_data:l?.unstable_data??[],custom:l?.custom??{},steps:l?.steps??[],...l?.timing&&{timing:l.timing},...l?.submittedFeedback&&{submittedFeedback:l.submittedFeedback}}};case"user":return{...u,role:s,content:c.map(e=>{let t=e.type;switch(t){case"text":case"image":case"audio":case"file":case"data":return e;default:{let r=eb(t,e.data);if(r)return r;throw Error(`Unsupported user message part type: ${t}`)}}}),attachments:(o??[]).map(e=>({...e,content:e.content.map(e=>eb(e.type,e.data)??e)})),metadata:{custom:l?.custom??{}}};case"system":if(1!==c.length||"text"!==c[0].type)throw Error("System messages must have exactly one text message part.");return{...u,role:s,content:c,metadata:{custom:l?.custom??{}}};default:throw Error(`Unknown message role: ${s}`)}},ex=e=>e.content.filter(e=>"text"===e.type).map(e=>e.text).join("\n\n"),ev=e=>{let t=e.map(e=>ey(e,eg(),ed(!1,!1,!1,!1,void 0)));return{messages:t.map((e,r)=>({parentId:r>0?t[r-1].id:null,message:e}))}},e_=e=>e.next?e_(e.next):"current"in e?e:null;class eS{func;_value=null;constructor(e){this.func=e}get value(){return null===this._value&&(this._value=this.func()),this._value}dirty(){this._value=null}}class ew{messages=new Map;head=null;root={children:[],next:null};updateLevels(e,t){for(let r of(e.level=t,e.children)){let e=this.messages.get(r);e&&this.updateLevels(e,t+1)}}performOp(e,t,r){let s=t.prev??this.root,i=e??this.root;if("relink"!==r||s!==i){if("link"!==r&&(s.children=s.children.filter(e=>e!==t.current.id),s.next===t)){let e=s.children.at(-1),t=e?this.messages.get(e):null;if(void 0===t)throw Error("MessageRepository(performOp/cut): Fallback sibling message not found. This is likely an internal bug in assistant-ui.");s.next=t}if("cut"!==r){for(let r=e;r;r=r.prev)if(r.current.id===t.current.id)throw Error("MessageRepository(performOp/link): A message with the same id already exists in the parent tree. This error occurs if the same message id is found multiple times. This is likely an internal bug in assistant-ui.");i.children=[...i.children,t.current.id],(e_(t)===this.head||null===i.next)&&(i.next=t),t.prev=e;let r=e?e.level+1:0;this.updateLevels(t,r)}}}_messages=new eS(()=>{let e=Array((this.head?.level??-1)+1);for(let t=this.head;t;t=t.prev)e[t.level]=t.current;return e});get headId(){return this.head?.current.id??null}getMessages(e){if(void 0===e||e===this.head?.current.id)return this._messages.value;let t=this.messages.get(e);if(!t)throw Error("MessageRepository(getMessages): Head message not found. This is likely an internal bug in assistant-ui.");let r=Array(t.level+1);for(let e=t;e;e=e.prev)r[e.level]=e.current;return r}addOrUpdateMessage(e,t){let r=this.messages.get(t.id),s=e?this.messages.get(e):null;if(void 0===s)throw Error("MessageRepository(addOrUpdateMessage): Parent message not found. This is likely an internal bug in assistant-ui.");if(r){r.current=t,this.performOp(s,r,"relink"),this._messages.dirty();return}let i={prev:s,current:t,next:null,children:[],level:s?s.level+1:0};this.messages.set(t.id,i),this.performOp(s,i,"link"),this.head===s&&(this.head=i),this._messages.dirty()}getMessage(e){let t=this.messages.get(e);if(!t)throw Error("MessageRepository(updateMessage): Message not found. This is likely an internal bug in assistant-ui.");return{parentId:t.prev?.current.id??null,message:t.current,index:t.level}}appendOptimisticMessage(e,t){let r;do r=ef();while(this.messages.has(r))return this.addOrUpdateMessage(e,ey(t,r,{type:"running"})),r}deleteMessage(e,t){let r=this.messages.get(e);if(!r)throw Error("MessageRepository(deleteMessage): Message not found. This is likely an internal bug in assistant-ui.");let s=void 0===t?r.prev:null===t?null:this.messages.get(t);if(void 0===s)throw Error("MessageRepository(deleteMessage): Replacement not found. This is likely an internal bug in assistant-ui.");for(let e of r.children){let t=this.messages.get(e);if(!t)throw Error("MessageRepository(deleteMessage): Child message not found. This is likely an internal bug in assistant-ui.");this.performOp(s,t,"relink")}this.performOp(null,r,"cut"),this.messages.delete(e),this.head===r&&(this.head=e_(s??this.root)),this._messages.dirty()}getBranches(e){let t=this.messages.get(e);if(!t)throw Error("MessageRepository(getBranches): Message not found. This is likely an internal bug in assistant-ui.");let{children:r}=t.prev??this.root;return r}switchToBranch(e){let t=this.messages.get(e);if(!t)throw Error("MessageRepository(switchToBranch): Branch not found. This is likely an internal bug in assistant-ui.");(t.prev??this.root).next=t,this.head=e_(t),this._messages.dirty()}resetHead(e){if(null===e)return void this.clear();let t=this.messages.get(e);if(!t)throw Error("MessageRepository(resetHead): Branch not found. This is likely an internal bug in assistant-ui.");if(t.children.length>0){let e=t=>{for(let r of t.children){let t=this.messages.get(r);t&&(e(t),this.messages.delete(r))}};e(t),t.children=[],t.next=null}this.head=t;for(let e=t;e;e=e.prev)e.prev?e.prev.next=e:this.root.next=e;this._messages.dirty()}clear(){this.messages.clear(),this.head=null,this.root={children:[],next:null},this._messages.dirty()}export(){let e=[];for(let[,t]of this.messages)e.push({message:t.current,parentId:t.prev?.current.id??null});return{headId:this.head?.current.id??null,messages:e}}import({headId:e,messages:t}){for(let{message:e,parentId:r}of t)this.addOrUpdateMessage(r,e);this.resetHead(e??t.at(-1)?.message.id??null)}}let eE=Symbol("skip-update");class eC{_subscribers=new Set;subscribe(e){return this._subscribers.add(e),()=>this._subscribers.delete(e)}waitForUpdate(){return new Promise(e=>{let t=this.subscribe(()=>{t(),e()})})}_notifySubscribers(){let e=[];for(let t of this._subscribers)try{t()}catch(t){e.push(t)}if(e.length>0)if(1===e.length)throw e[0];else{for(let t of e)console.error(t);throw AggregateError(e)}}}class eI{_subscriptions=new Set;_connection;get isConnected(){return!!this._connection}notifySubscribers(){for(let e of this._subscriptions)e()}_updateConnection(){this._subscriptions.size>0?this._connection||(this._connection=this._connect()):(this._connection?.(),this._connection=void 0)}subscribe(e){return this._subscriptions.add(e),this._updateConnection(),()=>{this._subscriptions.delete(e),this._updateConnection()}}}class eT extends eI{binding;get path(){return this.binding.path}constructor(e){super(),this.binding=e;const t=e.getState();if(t===eE)throw Error("Entry not available in the store");this._previousState=t}_previousState;getState=()=>(this.isConnected||this._syncState(),this._previousState);_syncState(){let e=this.binding.getState();return!(e===eE||function(e,t){if(void 0===e&&void 0===t)return!0;if(void 0===e||void 0===t)return!1;for(let r of Object.keys(e))if(!Object.is(e[r],t[r]))return!1;return!0}(e,this._previousState))&&(this._previousState=e,!0)}_connect(){let e=()=>{this._syncState()&&this.notifySubscribers()};return this.binding.subscribe(e)}}class eA extends eI{binding;get path(){return this.binding.path}constructor(e){super(),this.binding=e}_previousStateDirty=!0;_previousState;getState=()=>{if(!this.isConnected||this._previousStateDirty){let e=this.binding.getState();e!==eE&&(this._previousState=e),this._previousStateDirty=!1}if(void 0===this._previousState)throw Error("Entry not available in the store");return this._previousState};_connect(){let e=()=>{this._previousStateDirty=!0,this.notifySubscribers()};return this.binding.subscribe(e)}}class ej extends eI{binding;get path(){return this.binding.path}constructor(e){super(),this.binding=e}getState(){return this.binding.getState()}outerSubscribe(e){return this.binding.subscribe(e)}_connect(){let e=()=>{this.notifySubscribers()},t=this.binding.getState(),r=t?.subscribe(e),s=()=>{let s=this.binding.getState();s!==t&&(t=s,r?.(),r=s?.subscribe(e),e())},i=this.outerSubscribe(s);return()=>{i?.(),r?.()}}}class eM extends eI{config;constructor(e){super(),this.config=e}getState(){return this.config.binding.getState()}outerSubscribe(e){return this.config.binding.subscribe(e)}_connect(){let e=()=>{this.notifySubscribers()},t=this.config.binding.getState(),r=t?.unstable_on(this.config.event,e),s=()=>{let s=this.config.binding.getState();s!==t&&(t=s,r?.(),r=s?.unstable_on(this.config.event,e))},i=this.outerSubscribe(s);return()=>{i?.(),r?.()}}}class eR extends eC{isEditing=!0;get attachmentAccept(){return this.getAttachmentAdapter()?.accept??"*"}_attachments=[];get attachments(){return this._attachments}setAttachments(e){this._attachments=e,this._notifySubscribers()}get isEmpty(){return!this.text.trim()&&!this.attachments.length}_text="";get text(){return this._text}_role="user";get role(){return this._role}_runConfig={};get runConfig(){return this._runConfig}_quote=void 0;get quote(){return this._quote}setQuote(e){this._quote!==e&&(this._quote=e,this._notifySubscribers())}setText(e){if(this._text!==e){if(this._text=e,this._dictation){this._dictationBaseText=e,this._currentInterimText="";let{status:t,inputDisabled:r}=this._dictation;this._dictation=r?{status:t,inputDisabled:r}:{status:t}}this._notifySubscribers()}}setRole(e){this._role!==e&&(this._role=e,this._notifySubscribers())}setRunConfig(e){this._runConfig!==e&&(this._runConfig=e,this._notifySubscribers())}_emptyTextAndAttachments(){this._attachments=[],this._text="",this._notifySubscribers()}async _onClearAttachments(){let e=this.getAttachmentAdapter();if(e){let t=this._attachments.filter(e=>"complete"!==e.status.type);await Promise.all(t.map(t=>e.remove(t)))}}async reset(){if(0===this._attachments.length&&""===this._text&&"user"===this._role&&0===Object.keys(this._runConfig).length&&void 0===this._quote)return;this._role="user",this._runConfig={},this._quote=void 0;let e=this._onClearAttachments();this._emptyTextAndAttachments(),await e}async clearAttachments(){let e=this._onClearAttachments();this.setAttachments([]),await e}async send(){if(this.isEmpty)return;this._dictationSession&&(this._dictationSession.cancel(),this._cleanupDictation());let e=this.getAttachmentAdapter(),t=this.attachments.length>0?Promise.all(this.attachments.map(async t=>{if("complete"===t.status.type)return t;if(!e)throw Error("Attachments are not supported");return await e.send(t)})):[],r=this.text,s=this._quote;this._quote=void 0,this._emptyTextAndAttachments();let i={createdAt:new Date,role:this.role,content:r?[{type:"text",text:r}]:[],attachments:await t,runConfig:this.runConfig,metadata:{custom:{...s?{quote:s}:{}}}};this.handleSend(i),this._notifyEventSubscribers("send")}cancel(){this.handleCancel()}async addAttachment(e){let t;if(!(e instanceof File)){let t={id:e.id??eg(),type:e.type??"document",name:e.name,contentType:e.contentType,content:e.content,status:{type:"complete"}};this._attachments=[...this._attachments,t],this._notifyEventSubscribers("attachmentAdd"),this._notifySubscribers();return}let r=this.getAttachmentAdapter();if(!r)throw Error("Attachments are not supported");if(!function(e,t){if("*"===t)return!0;let r=t.split(",").map(e=>e.trim().toLowerCase()),s=`.${e.name.split(".").pop().toLowerCase()}`,i=e.type.toLowerCase();for(let e of r){if(e.startsWith(".")&&e===s||e.includes("/")&&e===i)return!0;if(e.endsWith("/*")){let t=e.split("/")[0];if(i.startsWith(`${t}/`))return!0}}return!1}({name:e.name,type:e.type},r.accept))throw Error(`File type ${e.type||"unknown"} is not accepted. Accepted types: ${r.accept}`);let s=e=>{let t=this._attachments.findIndex(t=>t.id===e.id);-1!==t?this._attachments=[...this._attachments.slice(0,t),e,...this._attachments.slice(t+1)]:this._attachments=[...this._attachments,e],this._notifySubscribers()};try{let i=r.add({file:e});if(Symbol.asyncIterator in i)for await(let e of i)t=e,s(e);else t=await i,s(t)}catch(e){t&&s({...t,status:{type:"incomplete",reason:"error"}});try{this._notifyEventSubscribers("attachmentAddError")}catch{}throw e}let i=t?.status.type==="incomplete"&&"error"===t.status.reason;this._notifyEventSubscribers(i?"attachmentAddError":"attachmentAdd")}async removeAttachment(e){let t=this._attachments.findIndex(t=>t.id===e);if(-1===t)throw Error("Attachment not found");let r=this._attachments[t];if("complete"!==r.status.type){let e=this.getAttachmentAdapter();if(!e)throw Error("Attachments are not supported");await e.remove(r)}this._attachments=this._attachments.filter(t=>t.id!==e),this._notifySubscribers()}_dictation;_dictationSession;_dictationUnsubscribes=[];_dictationBaseText="";_currentInterimText="";_dictationSessionIdCounter=0;_activeDictationSessionId;_isCleaningDictation=!1;get dictation(){return this._dictation}_isActiveSession(e,t){return this._activeDictationSessionId===e&&this._dictationSession===t}startDictation(){let e=this.getDictationAdapter();if(!e)throw Error("Dictation adapter not configured");if(this._dictationSession){for(let e of this._dictationUnsubscribes)e();this._dictationUnsubscribes=[],this._dictationSession.stop().catch(()=>{}),this._dictationSession=void 0}let t=e.disableInputDuringDictation??!1;this._dictationBaseText=this._text,this._currentInterimText="";let r=e.listen();this._dictationSession=r;let s=++this._dictationSessionIdCounter;this._activeDictationSessionId=s,this._dictation={status:r.status,inputDisabled:t},this._notifySubscribers();let i=r.onSpeech(e=>{if(!this._isActiveSession(s,r))return;let t=!1!==e.isFinal,i=this._dictationBaseText&&!this._dictationBaseText.endsWith(" ")&&e.transcript?" ":"";if(t){if(this._dictationBaseText=this._dictationBaseText+i+e.transcript,this._currentInterimText="",this._text=this._dictationBaseText,this._dictation){let{transcript:e,...t}=this._dictation;this._dictation=t}this._notifySubscribers()}else this._currentInterimText=i+e.transcript,this._text=this._dictationBaseText+this._currentInterimText,this._dictation&&(this._dictation={...this._dictation,transcript:e.transcript}),this._notifySubscribers()});this._dictationUnsubscribes.push(i);let n=r.onSpeechStart(()=>{this._isActiveSession(s,r)&&(this._dictation={status:{type:"running"},inputDisabled:t,...this._dictation?.transcript&&{transcript:this._dictation.transcript}},this._notifySubscribers())});this._dictationUnsubscribes.push(n);let o=r.onSpeechEnd(()=>{this._cleanupDictation({sessionId:s})});this._dictationUnsubscribes.push(o);let a=setInterval(()=>{this._isActiveSession(s,r)&&"ended"===r.status.type&&this._cleanupDictation({sessionId:s})},100);this._dictationUnsubscribes.push(()=>clearInterval(a))}stopDictation(){if(!this._dictationSession)return;let e=this._dictationSession,t=this._activeDictationSessionId;e.stop().finally(()=>{this._cleanupDictation({sessionId:t})})}_cleanupDictation(e){if((e?.sessionId===void 0||e.sessionId===this._activeDictationSessionId)&&!this._isCleaningDictation){this._isCleaningDictation=!0;try{for(let e of this._dictationUnsubscribes)e();this._dictationUnsubscribes=[],this._dictationSession=void 0,this._activeDictationSessionId=void 0,this._dictation=void 0,this._dictationBaseText="",this._currentInterimText="",this._notifySubscribers()}finally{this._isCleaningDictation=!1}}}_eventSubscribers=new Map;_notifyEventSubscribers(e){let t=this._eventSubscribers.get(e);if(t)for(let e of t)e()}unstable_on(e,t){let r=this._eventSubscribers.get(e);return r?r.add(t):this._eventSubscribers.set(e,new Set([t])),()=>{let r=this._eventSubscribers.get(e);r&&r.delete(t)}}}class ek extends eR{runtime;_canCancel=!1;get canCancel(){return this._canCancel}getAttachmentAdapter(){return this.runtime.adapters?.attachments}getDictationAdapter(){return this.runtime.adapters?.dictation}constructor(e){super(),this.runtime=e,this.connect()}connect(){return this.runtime.subscribe(()=>{this.canCancel!==this.runtime.capabilities.cancel&&(this._canCancel=this.runtime.capabilities.cancel,this._notifySubscribers())})}async handleSend(e){this.runtime.append({...e,parentId:this.runtime.messages.at(-1)?.id??null,sourceId:null})}async handleCancel(){this.runtime.cancelRun()}}class eN extends eR{runtime;endEditCallback;get canCancel(){return!0}getAttachmentAdapter(){return this.runtime.adapters?.attachments}getDictationAdapter(){return this.runtime.adapters?.dictation}_nonTextParts;_previousText;_parentId;_sourceId;constructor(e,t,{parentId:r,message:s}){super(),this.runtime=e,this.endEditCallback=t,this._parentId=r,this._sourceId=s.id,this._previousText=ex(s),this.setText(this._previousText),this.setRole(s.role),this.setAttachments(s.attachments??[]),this._nonTextParts=s.content.filter(e=>"text"!==e.type),this.setRunConfig({...e.composer.runConfig})}async handleSend(e){ex(e)!==this._previousText&&this.runtime.append({...e,content:[...e.content,...this._nonTextParts],parentId:this._parentId,sourceId:this._sourceId}),this.handleCancel()}handleCancel(){this.endEditCallback(),this._notifySubscribers()}}class eB{_contextProvider;_subscriptions=new Set;_isInitialized=!1;repository=new ew;_voiceMessages=[];_voiceGeneration=0;_cachedMergedMessages=null;_cachedVoiceGeneration=-1;_cachedMergedBase=null;_markVoiceMessagesDirty(){this._voiceGeneration++,this._cachedMergedMessages=null}_getBaseMessages(){return this.repository.getMessages()}get messages(){if(0===this._voiceMessages.length)return this._getBaseMessages();let e=this._getBaseMessages();return(this._cachedVoiceGeneration!==this._voiceGeneration||this._cachedMergedBase!==e)&&(this._cachedMergedMessages=[...e,...this._voiceMessages],this._cachedVoiceGeneration=this._voiceGeneration,this._cachedMergedBase=e),this._cachedMergedMessages}get state(){let e;for(let t of this.messages)"assistant"===t.role&&(e=t);return e?.metadata.unstable_state??null}composer=new ek(this);constructor(e){this._contextProvider=e}getModelContext(){return this._contextProvider.getModelContext()}_editComposers=new Map;getEditComposer(e){return this._editComposers.get(e)}beginEdit(e){if(this._editComposers.has(e))throw Error("Edit already in progress");this._editComposers.set(e,new eN(this,()=>this._editComposers.delete(e),this.repository.getMessage(e))),this._notifySubscribers()}getMessageById(e){try{return this.repository.getMessage(e)}catch{let t=this.repository.getMessages(),r=this._voiceMessages.findIndex(t=>t.id===e);if(-1!==r)return{parentId:r>0?this._voiceMessages[r-1].id:t.at(-1)?.id??null,message:this._voiceMessages[r],index:t.length+r};return}}getBranches(e){return this._voiceMessages.some(t=>t.id===e)?[]:this.repository.getBranches(e)}switchToBranch(e){this.repository.switchToBranch(e),this._notifySubscribers()}_notifySubscribers(){for(let e of this._subscriptions)e()}_notifyEventSubscribers(e){let t=this._eventSubscribers.get(e);if(t)for(let e of t)e()}subscribe(e){return this._subscriptions.add(e),()=>this._subscriptions.delete(e)}submitFeedback({messageId:e,type:t}){let r=this.adapters?.feedback;if(!r)throw Error("Feedback adapter not configured");let{message:s,parentId:i}=this.repository.getMessage(e);if(r.submit({message:s,type:t}),"assistant"===s.role){let e={...s,metadata:{...s.metadata,submittedFeedback:{type:t}}};this.repository.addOrUpdateMessage(i,e)}this._notifySubscribers()}_stopSpeaking;speech;speak(e){let t=this.adapters?.speech;if(!t)throw Error("Speech adapter not configured");let{message:r}=this.repository.getMessage(e);this._stopSpeaking?.();let s=t.speak(ex(r)),i=s.subscribe(()=>{"ended"===s.status.type?(this._stopSpeaking=void 0,this.speech=void 0):this.speech={messageId:e,status:s.status},this._notifySubscribers()});this.speech={messageId:e,status:s.status},this._notifySubscribers(),this._stopSpeaking=()=>{s.cancel(),i(),this.speech=void 0,this._stopSpeaking=void 0}}stopSpeaking(){if(!this._stopSpeaking)throw Error("No message is being spoken");this._stopSpeaking(),this._notifySubscribers()}_voiceSession;_voiceUnsubs=[];voice;_voiceVolume=0;_voiceVolumeSubscribers=new Set;getVoiceVolume=()=>this._voiceVolume;subscribeVoiceVolume=e=>(this._voiceVolumeSubscribers.add(e),()=>this._voiceVolumeSubscribers.delete(e));connectVoice(){let e=this.adapters?.voice;if(!e)throw Error("Voice adapter not configured");this.disconnectVoice();let t=e.connect({});this._voiceSession=t;let r=[],s="listening";this.voice={status:t.status,isMuted:t.isMuted,mode:s},this._voiceVolume=0,this._notifySubscribers(),r.push(t.onStatusChange(e=>{"ended"===e.type?(this._finishVoiceAssistantMessage(),this._voiceSession=void 0,this.voice=void 0):this.voice={status:e,isMuted:t.isMuted,mode:s},this._notifySubscribers()})),r.push(t.onModeChange(e=>{s=e,this.voice&&(this.voice={...this.voice,mode:e},this._notifySubscribers())})),r.push(t.onVolumeChange(e=>{for(let t of(this._voiceVolume=e,this._voiceVolumeSubscribers))t()})),r.push(t.onTranscript(e=>{this._handleVoiceTranscript(e)})),this._voiceUnsubs=r}_currentAssistantMsg=null;_handleVoiceTranscript(e){if(this.ensureInitialized(),"user"===e.role)this._finishVoiceAssistantMessage(),this._currentAssistantMsg=null,e.isFinal&&(this._voiceMessages.push({id:eg(),role:"user",content:[{type:"text",text:e.text}],metadata:{custom:{}},createdAt:new Date,status:{type:"complete",reason:"unknown"},attachments:[]}),this._markVoiceMessagesDirty(),this._notifySubscribers());else{if(this._currentAssistantMsg){let t=this._voiceMessages.indexOf(this._currentAssistantMsg);if(-1===t)return;let r={...this._currentAssistantMsg,content:[{type:"text",text:e.text}],...e.isFinal?{status:{type:"complete",reason:"stop"}}:{}};this._voiceMessages[t]=r,this._currentAssistantMsg=r}else this._currentAssistantMsg={id:eg(),role:"assistant",content:[{type:"text",text:e.text}],metadata:{unstable_state:this.state,unstable_annotations:[],unstable_data:[],steps:[],custom:{}},status:{type:"running"},createdAt:new Date},this._voiceMessages.push(this._currentAssistantMsg);e.isFinal&&(this._currentAssistantMsg=null),this._markVoiceMessagesDirty(),this._notifySubscribers()}}_finishVoiceAssistantMessage(){let e=this._voiceMessages.at(-1);if(e?.role==="assistant"&&"running"===e.status.type){let t=this._voiceMessages.length-1;this._voiceMessages[t]={...e,status:{type:"complete",reason:"stop"}},this._markVoiceMessagesDirty(),this._notifySubscribers()}}disconnectVoice(){for(let e of(this._finishVoiceAssistantMessage(),this._currentAssistantMsg=null,this._voiceUnsubs))e();for(let e of(this._voiceUnsubs=[],this._voiceSession?.disconnect(),this._voiceSession=void 0,this.voice=void 0,this._voiceVolume=0,this._voiceVolumeSubscribers))e();this._voiceMessages=[],this._markVoiceMessagesDirty(),this._notifySubscribers()}muteVoice(){if(!this._voiceSession)throw Error("No active voice session");this._voiceSession.mute(),this.voice={...this.voice,isMuted:!0},this._notifySubscribers()}unmuteVoice(){if(!this._voiceSession)throw Error("No active voice session");this._voiceSession.unmute(),this.voice={...this.voice,isMuted:!1},this._notifySubscribers()}ensureInitialized(){this._isInitialized||(this._isInitialized=!0,this._notifyEventSubscribers("initialize"))}export(){return this.repository.export()}import(e){this.ensureInitialized(),this.repository.clear(),this.repository.import(e),this._notifySubscribers()}reset(e){this.import(ev(e??[]))}_eventSubscribers=new Map;unstable_on(e,t){if("modelContextUpdate"===e)return this._contextProvider.subscribe?.(t)??(()=>{});let r=this._eventSubscribers.get(e);return r?r.add(t):this._eventSubscribers.set(e,new Set([t])),()=>{this._eventSubscribers.get(e).delete(t)}}}let eP=Object.freeze([]),eD=(e,t)=>{let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let s of r)if(e[s]!==t[s])return!1;return!0};class eO extends eB{_assistantOptimisticId=null;_capabilities={switchToBranch:!1,switchBranchDuringRun:!1,edit:!1,reload:!1,cancel:!1,unstable_copy:!1,speech:!1,dictation:!1,voice:!1,attachments:!1,feedback:!1,queue:!1};get capabilities(){return this._capabilities}_messages;isDisabled;get isLoading(){return this._store.isLoading??!1}_getBaseMessages(){return this._messages}get state(){return this._store.state??super.state}get adapters(){return this._store.adapters}suggestions=[];extras=void 0;_converter=new eo;_store;beginEdit(e){if(!this._store.onEdit)throw Error("Runtime does not support editing.");super.beginEdit(e)}constructor(e,t){super(e),this.__internal_setAdapter(t)}__internal_setAdapter(e){let t,r;if(this._store===e)return;let s=e.isRunning??!1;this.isDisabled=e.isDisabled??!1;let i=this._store;this._store=e,this.extras!==e.extras&&(this.extras=e.extras);let n=e.suggestions??eP;eD(this.suggestions,n)||(this.suggestions=n);let o={switchToBranch:void 0!==this._store.setMessages,switchBranchDuringRun:!1,edit:void 0!==this._store.onEdit,reload:void 0!==this._store.onReload,cancel:void 0!==this._store.onCancel,speech:this._store.adapters?.speech!==void 0,dictation:this._store.adapters?.dictation!==void 0,voice:this._store.adapters?.voice!==void 0,unstable_copy:this._store.unstable_capabilities?.copy!==!1,attachments:!!this._store.adapters?.attachments,feedback:!!this._store.adapters?.feedback,queue:!1};if(eD(this._capabilities,o)||(this._capabilities=o),e.messageRepository){if(i&&i.isRunning===e.isRunning&&i.messageRepository===e.messageRepository)return void this._notifySubscribers();this.repository.clear(),this._assistantOptimisticId=null,this.repository.import(e.messageRepository),t=this.repository.getMessages()}else if(e.messages){if(i){if(i.convertMessage!==e.convertMessage)this._converter=new eo;else if(i.isRunning===e.isRunning&&i.messages===e.messages)return void this._notifySubscribers()}t=e.convertMessage?this._converter.convertMessages(e.messages,(t,r,i)=>{if(!e.convertMessage)return r;let n=ed(i===(e.messages?.length??0)-1,s,!1,!1,void 0);if(t&&("assistant"!==t.role||!0!==t.status[ea]||t.status===n))return t;let o=ey(e.convertMessage(r,i),i.toString(),n);return er in o||(o[er]=r),o}):e.messages;for(let e=0;e<t.length;e++){let r=t[e],s=t[e-1];this.repository.addOrUpdateMessage(s?.id??null,r)}}else throw Error("ExternalStoreAdapter must provide either 'messages' or 'messageRepository'");t.length>0&&this.ensureInitialized(),(i?.isRunning??!1)!==(e.isRunning??!1)&&(e.isRunning?this._notifyEventSubscribers("runStart"):this._notifyEventSubscribers("runEnd")),this._assistantOptimisticId&&(this.repository.deleteMessage(this._assistantOptimisticId),this._assistantOptimisticId=null),r=t,s&&r[r.length-1]?.role!=="assistant"&&(this._assistantOptimisticId=this.repository.appendOptimisticMessage(t.at(-1)?.id??null,{role:"assistant",content:[]})),this.repository.resetHead(this._assistantOptimisticId??t.at(-1)?.id??null),this._messages=this.repository.getMessages(),this._notifySubscribers()}switchToBranch(e){if(!this._store.setMessages)throw Error("Runtime does not support switching branches.");this._store.isRunning||(this.repository.switchToBranch(e),this.updateMessages(this.repository.getMessages()))}async append(e){if(e.parentId!==(this.messages.at(-1)?.id??null)){if(!this._store.onEdit)throw Error("Runtime does not support editing messages.");await this._store.onEdit(e)}else await this._store.onNew(e)}async startRun(e){if(!this._store.onReload)throw Error("Runtime does not support reloading messages.");await this._store.onReload(e.parentId,e)}async resumeRun(e){if(!this._store.onResume)throw Error("Runtime does not support resuming runs.");await this._store.onResume(e)}exportExternalState(){if(!this._store.onExportExternalState)throw Error("Runtime does not support exporting external states.");return this._store.onExportExternalState()}importExternalState(e){if(!this._store.onLoadExternalState)throw Error("Runtime does not support importing external states.");this._store.onLoadExternalState(e)}unstable_loadExternalState(e){this.importExternalState(e)}cancelRun(){if(!this._store.onCancel)throw Error("Runtime does not support cancelling runs.");this._store.onCancel(),this._assistantOptimisticId&&(this.repository.deleteMessage(this._assistantOptimisticId),this._assistantOptimisticId=null);let e=this.repository.getMessages(),t=e[e.length-1];t?.role==="user"&&t.id===e.at(-1)?.id?(this.repository.deleteMessage(t.id),this.composer.text.trim()||this.composer.setText(ex(t)),e=this.repository.getMessages()):this._notifySubscribers(),setTimeout(()=>{this.updateMessages(e)},0)}addToolResult(e){if(!this._store.onAddToolResult&&!this._store.onAddToolResult)throw Error("Runtime does not support tool results.");this._store.onAddToolResult?.(e)}resumeToolCall(e){if(!this._store.onResumeToolCall)throw Error("Runtime does not support resuming tool calls.");this._store.onResumeToolCall(e)}reset(e){let t=new ew;t.import(ev(e??[])),this.updateMessages(t.getMessages())}import(e){this._assistantOptimisticId=null,super.import(e),this._store.onImport&&this._store.onImport(this.repository.getMessages())}updateMessages=e=>{void 0!==this._store.convertMessage?this._store.setMessages?.(e.flatMap(en)):this._store.setMessages?.(e)}}let eF=e=>e.adapters?.threadList??{};class eL extends J{threads;constructor(e){super(),this.threads=new et(eF(e),()=>new eO(this._contextProvider,e))}setAdapter(e){this.threads.__internal_setAdapter(eF(e)),this.threads.getMainThreadRuntimeCore().__internal_setAdapter(e)}}class eU{_core;_threadListBinding;get path(){return this._core.path}constructor(e,t){this._core=e,this._threadListBinding=t,this.__internal_bindMethods()}__internal_bindMethods(){this.switchTo=this.switchTo.bind(this),this.rename=this.rename.bind(this),this.archive=this.archive.bind(this),this.unarchive=this.unarchive.bind(this),this.delete=this.delete.bind(this),this.initialize=this.initialize.bind(this),this.generateTitle=this.generateTitle.bind(this),this.subscribe=this.subscribe.bind(this),this.unstable_on=this.unstable_on.bind(this),this.getState=this.getState.bind(this),this.detach=this.detach.bind(this)}getState(){return this._core.getState()}switchTo(){let e=this._core.getState();return this._threadListBinding.switchToThread(e.id)}rename(e){let t=this._core.getState();return this._threadListBinding.rename(t.id,e)}archive(){let e=this._core.getState();return this._threadListBinding.archive(e.id)}unarchive(){let e=this._core.getState();return this._threadListBinding.unarchive(e.id)}delete(){let e=this._core.getState();return this._threadListBinding.delete(e.id)}initialize(){let e=this._core.getState();return this._threadListBinding.initialize(e.id)}generateTitle(){let e=this._core.getState();return this._threadListBinding.generateTitle(e.id)}unstable_on(e,t){let r=this._core.getState().isMain,s=this._core.getState().id;return this.subscribe(()=>{let i=this._core.getState(),n=i.isMain,o=i.id;r===n&&s===o||(r=n,s=o,"switchedTo"===e&&!n||"switchedAway"===e&&n||t())})}subscribe(e){return this._core.subscribe(e)}detach(){let e=this._core.getState();this._threadListBinding.detach(e.id)}__internal_getRuntime(){return this}}class eV{_core;get path(){return this._core.path}constructor(e){this._core=e,this.__internal_bindMethods()}__internal_bindMethods(){this.getState=this.getState.bind(this),this.remove=this.remove.bind(this),this.subscribe=this.subscribe.bind(this)}getState(){return this._core.getState()}subscribe(e){return this._core.subscribe(e)}}class e$ extends eV{_composerApi;constructor(e,t){super(e),this._composerApi=t}remove(){let e=this._composerApi.getState();if(!e)throw Error("Composer is not available");return e.removeAttachment(this.getState().id)}}class ez extends e${get source(){return"thread-composer"}}class eq extends e${get source(){return"edit-composer"}}class eH extends eV{get source(){return"message"}constructor(e){super(e)}remove(){throw Error("Message attachments cannot be removed")}}let eG=Object.freeze([]),eK=Object.freeze({});class eJ{_core;get path(){return this._core.path}constructor(e){this._core=e}__internal_bindMethods(){this.setText=this.setText.bind(this),this.setRunConfig=this.setRunConfig.bind(this),this.getState=this.getState.bind(this),this.subscribe=this.subscribe.bind(this),this.addAttachment=this.addAttachment.bind(this),this.reset=this.reset.bind(this),this.clearAttachments=this.clearAttachments.bind(this),this.send=this.send.bind(this),this.cancel=this.cancel.bind(this),this.setRole=this.setRole.bind(this),this.getAttachmentByIndex=this.getAttachmentByIndex.bind(this),this.startDictation=this.startDictation.bind(this),this.stopDictation=this.stopDictation.bind(this),this.setQuote=this.setQuote.bind(this),this.unstable_on=this.unstable_on.bind(this)}setText(e){let t=this._core.getState();if(!t)throw Error("Composer is not available");t.setText(e)}setRunConfig(e){let t=this._core.getState();if(!t)throw Error("Composer is not available");t.setRunConfig(e)}addAttachment(e){let t=this._core.getState();if(!t)throw Error("Composer is not available");return t.addAttachment(e)}reset(){let e=this._core.getState();if(!e)throw Error("Composer is not available");return e.reset()}clearAttachments(){let e=this._core.getState();if(!e)throw Error("Composer is not available");return e.clearAttachments()}send(){let e=this._core.getState();if(!e)throw Error("Composer is not available");e.send()}cancel(){let e=this._core.getState();if(!e)throw Error("Composer is not available");e.cancel()}setRole(e){let t=this._core.getState();if(!t)throw Error("Composer is not available");t.setRole(e)}startDictation(){let e=this._core.getState();if(!e)throw Error("Composer is not available");e.startDictation()}stopDictation(){let e=this._core.getState();if(!e)throw Error("Composer is not available");e.stopDictation()}setQuote(e){let t=this._core.getState();if(!t)throw Error("Composer is not available");t.setQuote(e)}subscribe(e){return this._core.subscribe(e)}_eventSubscriptionSubjects=new Map;unstable_on(e,t){let r=this._eventSubscriptionSubjects.get(e);return r||(r=new eM({event:e,binding:this._core}),this._eventSubscriptionSubjects.set(e,r)),r.subscribe(t)}}class eQ extends eJ{get path(){return this._core.path}get type(){return"thread"}_getState;constructor(e){const t=new eA({path:e.path,getState:()=>{let t;return t=e.getState(),Object.freeze({type:"thread",isEditing:t?.isEditing??!1,canCancel:t?.canCancel??!1,isEmpty:t?.isEmpty??!0,attachments:t?.attachments??eG,text:t?.text??"",role:t?.role??"user",runConfig:t?.runConfig??eK,attachmentAccept:t?.attachmentAccept??"",dictation:t?.dictation,quote:t?.quote,value:t?.text??""})},subscribe:t=>e.subscribe(t)});super({path:e.path,getState:()=>e.getState(),subscribe:e=>t.subscribe(e)}),this._getState=t.getState.bind(t),this.__internal_bindMethods()}getState(){return this._getState()}getAttachmentByIndex(e){return new ez(new eT({path:{...this.path,attachmentSource:"thread-composer",attachmentSelector:{type:"index",index:e},ref:`${this.path.ref}.attachments[${e}]`},getState:()=>{let t=this.getState().attachments[e];return t?{...t,source:"thread-composer"}:eE},subscribe:e=>this._core.subscribe(e)}),this._core)}}class eW extends eJ{_beginEdit;get path(){return this._core.path}get type(){return"edit"}_getState;constructor(e,t){const r=new eA({path:e.path,getState:()=>{let t;return t=e.getState(),Object.freeze({type:"edit",isEditing:t?.isEditing??!1,canCancel:t?.canCancel??!1,isEmpty:t?.isEmpty??!0,text:t?.text??"",role:t?.role??"user",attachments:t?.attachments??eG,runConfig:t?.runConfig??eK,attachmentAccept:t?.attachmentAccept??"",dictation:t?.dictation,quote:t?.quote,value:t?.text??""})},subscribe:t=>e.subscribe(t)});super({path:e.path,getState:()=>e.getState(),subscribe:e=>r.subscribe(e)}),this._beginEdit=t,this._getState=r.getState.bind(r),this.__internal_bindMethods()}__internal_bindMethods(){super.__internal_bindMethods(),this.beginEdit=this.beginEdit.bind(this)}getState(){return this._getState()}beginEdit(){this._beginEdit()}getAttachmentByIndex(e){return new eq(new eT({path:{...this.path,attachmentSource:"edit-composer",attachmentSelector:{type:"index",index:e},ref:`${this.path.ref}.attachments[${e}]`},getState:()=>{let t=this.getState().attachments[e];return t?{...t,source:"edit-composer"}:eE},subscribe:e=>this._core.subscribe(e)}),this._core)}}let eY=Symbol.for("aui.tool-response");class eX{get[eY](){return!0}artifact;result;isError;messages;constructor(e){void 0!==e.artifact&&(this.artifact=e.artifact),this.result=e.result,this.isError=e.isError??!1,void 0!==e.messages&&(this.messages=e.messages)}static[Symbol.hasInstance](e){return"object"==typeof e&&null!==e&&eY in e}static toResponse(e){return e instanceof eX?e:new eX({result:void 0===e?"<no result>":e})}}class eZ{contentBinding;messageApi;threadApi;get path(){return this.contentBinding.path}constructor(e,t,r){this.contentBinding=e,this.messageApi=t,this.threadApi=r,this.__internal_bindMethods()}__internal_bindMethods(){this.addToolResult=this.addToolResult.bind(this),this.resumeToolCall=this.resumeToolCall.bind(this),this.getState=this.getState.bind(this),this.subscribe=this.subscribe.bind(this)}getState(){return this.contentBinding.getState()}addToolResult(e){let t=this.contentBinding.getState();if(!t)throw Error("Message part is not available");if("tool-call"!==t.type)throw Error("Tried to add tool result to non-tool message part");if(!this.messageApi)throw Error("Message API is not available. This is likely a bug in assistant-ui.");if(!this.threadApi)throw Error("Thread API is not available");let r=this.messageApi.getState();if(!r)throw Error("Message is not available");let s=t.toolName,i=t.toolCallId,n=eX.toResponse(e);this.threadApi.getState().addToolResult({messageId:r.id,toolName:s,toolCallId:i,result:n.result,artifact:n.artifact,isError:n.isError})}resumeToolCall(e){let t=this.contentBinding.getState();if(!t)throw Error("Message part is not available");if("tool-call"!==t.type)throw Error("Tried to resume tool call on non-tool message part");if(!this.threadApi)throw Error("Thread API is not available");let r=t.toolCallId;this.threadApi.getState().resumeToolCall({toolCallId:r,payload:e})}subscribe(e){return this.contentBinding.subscribe(e)}}let e0=Object.freeze({type:"complete"}),e1=(e,t)=>{let r=e.content[t];if(!r)return eE;let s=((e,t,r)=>{if("assistant"!==e.role)return e0;if("tool-call"===r.type)if(!r.result)return e.status;else return e0;let s=t===Math.max(0,e.content.length-1);return"requires-action"===e.status.type?e0:s?e.status:e0})(e,t,r);return Object.freeze({...r,...{[er]:r[er]},status:s})};class e2{_core;_threadBinding;get path(){return this._core.path}constructor(e,t){this._core=e,this._threadBinding=t,this.composer=new eW(new ej({path:{...this.path,ref:`${this.path.ref}${this.path.ref}.composer`,composerSource:"edit"},getState:this._getEditComposerRuntimeCore,subscribe:e=>this._threadBinding.subscribe(e)}),()=>this._threadBinding.getState().beginEdit(this._core.getState().id)),this.__internal_bindMethods()}__internal_bindMethods(){this.reload=this.reload.bind(this),this.getState=this.getState.bind(this),this.subscribe=this.subscribe.bind(this),this.getMessagePartByIndex=this.getMessagePartByIndex.bind(this),this.getMessagePartByToolCallId=this.getMessagePartByToolCallId.bind(this),this.getAttachmentByIndex=this.getAttachmentByIndex.bind(this),this.unstable_getCopyText=this.unstable_getCopyText.bind(this),this.speak=this.speak.bind(this),this.stopSpeaking=this.stopSpeaking.bind(this),this.submitFeedback=this.submitFeedback.bind(this),this.switchToBranch=this.switchToBranch.bind(this)}composer;_getEditComposerRuntimeCore=()=>this._threadBinding.getState().getEditComposer(this._core.getState().id);getState(){return this._core.getState()}reload(e={}){let t=this._getEditComposerRuntimeCore(),r=t??this._threadBinding.getState().composer,{runConfig:s=(t??r).runConfig}=e,i=this._core.getState();if("assistant"!==i.role)throw Error("Can only reload assistant messages");this._threadBinding.getState().startRun({parentId:i.parentId,sourceId:i.id,runConfig:s})}speak(){let e=this._core.getState();return this._threadBinding.getState().speak(e.id)}stopSpeaking(){let e=this._core.getState(),t=this._threadBinding.getState();if(t.speech?.messageId===e.id)this._threadBinding.getState().stopSpeaking();else throw Error("Message is not being spoken")}submitFeedback({type:e}){let t=this._core.getState();this._threadBinding.getState().submitFeedback({messageId:t.id,type:e})}switchToBranch({position:e,branchId:t}){let r=this._core.getState();if(t&&e)throw Error("May not specify both branchId and position");if(!t&&!e)throw Error("Must specify either branchId or position");let s=this._threadBinding.getState().getBranches(r.id),i=t;if("previous"===e?i=s[r.branchNumber-2]:"next"===e&&(i=s[r.branchNumber]),!i)throw Error("Branch not found");this._threadBinding.getState().switchToBranch(i)}unstable_getCopyText(){return ex(this.getState())}subscribe(e){return this._core.subscribe(e)}getMessagePartByIndex(e){if(e<0)throw Error("Message part index must be >= 0");return new eZ(new eT({path:{...this.path,ref:`${this.path.ref}${this.path.ref}.content[${e}]`,messagePartSelector:{type:"index",index:e}},getState:()=>e1(this.getState(),e),subscribe:e=>this._core.subscribe(e)}),this._core,this._threadBinding)}getMessagePartByToolCallId(e){return new eZ(new eT({path:{...this.path,ref:this.path.ref+`${this.path.ref}.content[toolCallId=${JSON.stringify(e)}]`,messagePartSelector:{type:"toolCallId",toolCallId:e}},getState:()=>{let t=this._core.getState(),r=t.content.findIndex(t=>"tool-call"===t.type&&t.toolCallId===e);return -1===r?eE:e1(t,r)},subscribe:e=>this._core.subscribe(e)}),this._core,this._threadBinding)}getAttachmentByIndex(e){return new eH(new eT({path:{...this.path,ref:`${this.path.ref}${this.path.ref}.attachments[${e}]`,attachmentSource:"message",attachmentSelector:{type:"index",index:e}},getState:()=>{let t=this.getState().attachments,r=t?.[e];return r?{...r,source:"message"}:eE},subscribe:e=>this._core.subscribe(e)}))}}class e5{get path(){return this._threadBinding.path}get __internal_threadBinding(){return this._threadBinding}_threadBinding;constructor(e,t){const r=new eT({path:e.path,getState:()=>{var r,s;let i;return r=e.getState(),s=t.getState(),i=r.messages.at(-1),Object.freeze({threadId:s.id,metadata:s,capabilities:r.capabilities,isDisabled:r.isDisabled,isLoading:r.isLoading,isRunning:i?.role==="assistant"&&"running"===i.status.type,messages:r.messages,state:r.state,suggestions:r.suggestions,extras:r.extras,speech:r.speech,voice:r.voice})},subscribe:r=>{let s=e.subscribe(r),i=t.subscribe(r);return()=>{s(),i()}}});this._threadBinding={path:e.path,getState:()=>e.getState(),getStateState:()=>r.getState(),outerSubscribe:t=>e.outerSubscribe(t),subscribe:t=>e.subscribe(t)},this.composer=new eQ(new ej({path:{...this.path,ref:`${this.path.ref}.composer`,composerSource:"thread"},getState:()=>this._threadBinding.getState().composer,subscribe:e=>this._threadBinding.subscribe(e)})),this.__internal_bindMethods()}__internal_bindMethods(){this.append=this.append.bind(this),this.resumeRun=this.resumeRun.bind(this),this.unstable_resumeRun=this.unstable_resumeRun.bind(this),this.unstable_loadExternalState=this.unstable_loadExternalState.bind(this),this.importExternalState=this.importExternalState.bind(this),this.exportExternalState=this.exportExternalState.bind(this),this.startRun=this.startRun.bind(this),this.cancelRun=this.cancelRun.bind(this),this.stopSpeaking=this.stopSpeaking.bind(this),this.connectVoice=this.connectVoice.bind(this),this.disconnectVoice=this.disconnectVoice.bind(this),this.muteVoice=this.muteVoice.bind(this),this.unmuteVoice=this.unmuteVoice.bind(this),this.getVoiceVolume=this.getVoiceVolume.bind(this),this.subscribeVoiceVolume=this.subscribeVoiceVolume.bind(this),this.export=this.export.bind(this),this.import=this.import.bind(this),this.reset=this.reset.bind(this),this.getMessageByIndex=this.getMessageByIndex.bind(this),this.getMessageById=this.getMessageById.bind(this),this.subscribe=this.subscribe.bind(this),this.unstable_on=this.unstable_on.bind(this),this.getModelContext=this.getModelContext.bind(this),this.getModelConfig=this.getModelConfig.bind(this),this.getState=this.getState.bind(this)}composer;getState(){return this._threadBinding.getStateState()}append(e){var t;this._threadBinding.getState().append((t=this._threadBinding.getState().messages,"string"==typeof e?{createdAt:new Date,parentId:t.at(-1)?.id??null,sourceId:null,runConfig:{},role:"user",content:[{type:"text",text:e}],attachments:[],metadata:{custom:{}}}:{createdAt:e.createdAt??new Date,parentId:e.parentId??t.at(-1)?.id??null,sourceId:e.sourceId??null,role:e.role??"user",content:e.content,attachments:e.attachments??[],metadata:e.metadata??{custom:{}},runConfig:e.runConfig??{},startRun:e.startRun}))}subscribe(e){return this._threadBinding.subscribe(e)}getModelContext(){return this._threadBinding.getState().getModelContext()}getModelConfig(){return this.getModelContext()}startRun(e){let t;return this._threadBinding.getState().startRun({parentId:(t=null===e||"string"==typeof e?{parentId:e}:e).parentId??null,sourceId:t.sourceId??null,runConfig:t.runConfig??{}})}resumeRun(e){return this._threadBinding.getState().resumeRun({parentId:e.parentId??null,sourceId:e.sourceId??null,runConfig:e.runConfig??{},...e.stream?{stream:e.stream}:{}})}unstable_resumeRun(e){return this.resumeRun(e)}exportExternalState(){return this._threadBinding.getState().exportExternalState()}importExternalState(e){this._threadBinding.getState().importExternalState(e)}unstable_loadExternalState(e){this._threadBinding.getState().unstable_loadExternalState(e)}cancelRun(){this._threadBinding.getState().cancelRun()}stopSpeaking(){return this._threadBinding.getState().stopSpeaking()}connectVoice(){this._threadBinding.getState().connectVoice()}disconnectVoice(){this._threadBinding.getState().disconnectVoice()}getVoiceVolume(){return this._threadBinding.getState().getVoiceVolume()}subscribeVoiceVolume(e){return this._threadBinding.getState().subscribeVoiceVolume(e)}muteVoice(){this._threadBinding.getState().muteVoice()}unmuteVoice(){this._threadBinding.getState().unmuteVoice()}export(){return this._threadBinding.getState().export()}import(e){this._threadBinding.getState().import(e)}reset(e){this._threadBinding.getState().reset(e)}getMessageByIndex(e){if(e<0)throw Error("Message index must be >= 0");return this._getMessageRuntime({...this.path,ref:`${this.path.ref}.messages[${e}]`,messageSelector:{type:"index",index:e}},()=>{let t=this._threadBinding.getState().messages,r=t[e];if(r)return{message:r,parentId:t[e-1]?.id??null,index:e}})}getMessageById(e){return this._getMessageRuntime({...this.path,ref:`${this.path.ref}.messages[messageId=${JSON.stringify(e)}]`,messageSelector:{type:"messageId",messageId:e}},()=>this._threadBinding.getState().getMessageById(e))}_getMessageRuntime(e,t){return new e2(new eT({path:e,getState:()=>{let{message:e,parentId:r,index:s}=t()??{},{messages:i,speech:n}=this._threadBinding.getState();if(!e||void 0===r||void 0===s)return eE;let o=this._threadBinding.getState().getBranches(e.id),a=e.metadata.submittedFeedback;return{...e,...{[er]:e[er]},index:s,isLast:i.at(-1)?.id===e.id,parentId:r,branchNumber:o.indexOf(e.id)+1,branchCount:o.length,speech:n?.messageId===e.id?n:void 0,submittedFeedback:a}},subscribe:e=>this._threadBinding.subscribe(e)}),this._threadBinding)}_eventSubscriptionSubjects=new Map;unstable_on(e,t){let r=this._eventSubscriptionSubjects.get(e);return r||(r=new eM({event:e,binding:this._threadBinding}),this._eventSubscriptionSubjects.set(e,r)),r.subscribe(t)}}let e3=(e,t)=>{if(void 0===t)return eE;let r=e.getItemById(t);return r?{id:r.id,remoteId:r.remoteId,externalId:r.externalId,title:r.title,status:r.status,isMain:r.id===e.mainThreadId}:eE};class e8{_core;_runtimeFactory;_getState;constructor(e,t=e5){this._core=e,this._runtimeFactory=t;const r=new eA({path:{},getState:()=>({mainThreadId:e.mainThreadId,newThreadId:e.newThreadId,threadIds:e.threadIds,archivedThreadIds:e.archivedThreadIds,isLoading:e.isLoading,threadItems:e.threadItems}),subscribe:t=>e.subscribe(t)});this._getState=r.getState.bind(r),this._mainThreadListItemRuntime=new eU(new eT({path:{ref:"threadItems[main]",threadSelector:{type:"main"}},getState:()=>e3(this._core,this._core.mainThreadId),subscribe:e=>this._core.subscribe(e)}),this._core),this.main=new t(new ej({path:{ref:"threads.main",threadSelector:{type:"main"}},getState:()=>e.getMainThreadRuntimeCore(),subscribe:t=>e.subscribe(t)}),this._mainThreadListItemRuntime),this.__internal_bindMethods()}__internal_bindMethods(){this.switchToThread=this.switchToThread.bind(this),this.switchToNewThread=this.switchToNewThread.bind(this),this.getState=this.getState.bind(this),this.subscribe=this.subscribe.bind(this),this.getById=this.getById.bind(this),this.getItemById=this.getItemById.bind(this),this.getItemByIndex=this.getItemByIndex.bind(this),this.getArchivedItemByIndex=this.getArchivedItemByIndex.bind(this)}switchToThread(e){return this._core.switchToThread(e)}switchToNewThread(){return this._core.switchToNewThread()}getState(){return this._getState()}subscribe(e){return this._core.subscribe(e)}_mainThreadListItemRuntime;main;get mainItem(){return this._mainThreadListItemRuntime}getById(e){return new this._runtimeFactory(new ej({path:{ref:`threads[threadId=${JSON.stringify(e)}]`,threadSelector:{type:"threadId",threadId:e}},getState:()=>this._core.getThreadRuntimeCore(e),subscribe:e=>this._core.subscribe(e)}),this.mainItem)}getItemByIndex(e){return new eU(new eT({path:{ref:`threadItems[${e}]`,threadSelector:{type:"index",index:e}},getState:()=>e3(this._core,this._core.threadIds[e]),subscribe:e=>this._core.subscribe(e)}),this._core)}getArchivedItemByIndex(e){return new eU(new eT({path:{ref:`archivedThreadItems[${e}]`,threadSelector:{type:"archiveIndex",index:e}},getState:()=>e3(this._core,this._core.archivedThreadIds[e]),subscribe:e=>this._core.subscribe(e)}),this._core)}getItemById(e){return new eU(new eT({path:{ref:`threadItems[threadId=${e}]`,threadSelector:{type:"threadId",threadId:e}},getState:()=>e3(this._core,e),subscribe:e=>this._core.subscribe(e)}),this._core)}}class e6{_core;threads;get threadList(){return this.threads}_thread;constructor(e){this._core=e,this.threads=new e8(e.threads),this._thread=this.threads.main,this.__internal_bindMethods()}__internal_bindMethods(){this.switchToNewThread=this.switchToNewThread.bind(this),this.switchToThread=this.switchToThread.bind(this),this.registerModelContextProvider=this.registerModelContextProvider.bind(this),this.registerModelConfigProvider=this.registerModelConfigProvider.bind(this),this.reset=this.reset.bind(this)}get thread(){return this._thread}switchToNewThread(){return this._core.threads.switchToNewThread()}switchToThread(e){return this._core.threads.switchToThread(e)}registerModelContextProvider(e){return this._core.registerModelContextProvider(e)}registerModelConfigProvider(e){return this.registerModelContextProvider(e)}reset({initialMessages:e}={}){return this._core.threads.getMainThreadRuntimeCore().import(ev(e??[]))}}let e4=(0,r.createContext)(null);var e7=e.i(14260),e9=e.i(39641),te=e.i(31541),tt=e.i(37655),tr=e.i(86954),ts=class extends tt.Subscribable{#e;#n=void 0;#o;#a;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#l()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),(0,tr.shallowEqualObjects)(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#o,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,tr.hashKey)(t.mutationKey)!==(0,tr.hashKey)(this.options.mutationKey)?this.reset():this.#o?.state.status==="pending"&&this.#o.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#o?.removeObserver(this)}onMutationUpdate(e){this.#l(),this.#u(e)}getCurrentResult(){return this.#n}reset(){this.#o?.removeObserver(this),this.#o=void 0,this.#l(),this.#u()}mutate(e,t){return this.#a=t,this.#o?.removeObserver(this),this.#o=this.#e.getMutationCache().build(this.#e,this.options),this.#o.addObserver(this),this.#o.execute(e)}#l(){let e=this.#o?.state??(0,e9.getDefaultState)();this.#n={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#u(e){te.notifyManager.batch(()=>{if(this.#a&&this.hasListeners()){let t=this.#n.variables,r=this.#n.context,s={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#a.onSuccess?.(e.data,t,r,s)}catch(e){Promise.reject(e)}try{this.#a.onSettled?.(e.data,null,t,r,s)}catch(e){Promise.reject(e)}}else if(e?.type==="error"){try{this.#a.onError?.(e.error,t,r,s)}catch(e){Promise.reject(e)}try{this.#a.onSettled?.(void 0,e.error,t,r,s)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#n)})})}},ti=e.i(95486),tn=e.i(17406);async function to(e){let t=await fetch(`/api/interactive/chat/${e}/messages`);if(!t.ok)throw console.error(`[ChatState] fetch failed: ${t.status}`,await t.text().catch(()=>"")),Error(`Failed to fetch chat state: ${t.status}`);return t.json()}async function ta(e,t,r,s,i){let n=await fetch(`/api/interactive/chat/${e}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:t,worktreePath:r,model:s,agentType:i})});if(!n.ok)throw Error(`Failed to send message: ${n.status}`);return(await n.json()).message}function tl(e){return{id:e.id,role:e.role===tn.InteractiveMessageRole.user?"user":"assistant",content:[{type:"text",text:e.content}],createdAt:e.createdAt?new Date(e.createdAt):void 0}}function tu(e){return["chat-messages",e]}var tc=e.i(2828);e.i(50032);var th=e.i(86254);function td({attachments:e,isDragOver:i,uploadError:n,onDragEnter:o,onDragLeave:l,onDragOver:u,onDrop:h,onPaste:d,onRemoveAttachment:p,onNotesChange:m,onPickFiles:g,agentPicker:f}){let{t:b}=(0,s.useTranslation)("web"),[y,v]=(0,r.useState)(!1),_=(0,r.useRef)(null);return(0,t.jsx)(c.ComposerPrimitive.Root,{className:"shrink-0 border-t p-3",children:(0,t.jsx)("div",{onDragEnter:o,onDragLeave:l,onDragOver:u,onDrop:h,className:(0,a.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",i&&"border-primary/50 bg-primary/5"),children:(0,t.jsxs)("div",{ref:_,onFocus:()=>v(!0),onBlur:()=>v(!1),className:(0,a.cn)("border-input flex flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",y&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,t.jsx)(c.ComposerPrimitive.Input,{rows:1,autoFocus:!0,placeholder:b("chat.writeMessage"),onPaste:d,"aria-invalid":!!n,"aria-describedby":n?"chat-upload-error":void 0,className:"max-h-[4.5rem] min-h-0 resize-none rounded-none border-0 px-3 py-2.5 text-sm shadow-none focus:outline-none focus-visible:ring-0"}),e.length>0?(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:e.map(e=>(0,t.jsx)(th.AttachmentChip,{name:e.name,size:e.size,mimeType:e.mimeType,path:e.path,onRemove:()=>p(e.id),loading:e.loading,notes:e.notes,onNotesChange:t=>m(e.id,t)},e.id))}):null,n?(0,t.jsx)("p",{id:"chat-upload-error",className:"text-destructive px-3 pb-2 text-xs",role:"alert",children:n}):null,(0,t.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[f,(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsxs)(tc.Tooltip,{children:[(0,t.jsx)(tc.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:g,"aria-label":b("chat.attachFiles"),className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,t.jsx)(x.Paperclip,{className:"h-4 w-4"})})}),(0,t.jsx)(tc.TooltipContent,{side:"top",children:b("chat.attachFiles")})]}),(0,t.jsx)(tp,{})]})]})})})}function tp(){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.ThreadPrimitive.If,{running:!1,children:(0,t.jsx)(c.ComposerPrimitive.Send,{className:(0,a.cn)("bg-primary text-primary-foreground inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-md","hover:bg-primary/90 disabled:pointer-events-none disabled:opacity-30","transition-colors"),children:(0,t.jsx)(f.SendHorizontal,{className:"size-3.5"})})}),(0,t.jsx)(d.ThreadPrimitive.If,{running:!0,children:(0,t.jsx)(c.ComposerPrimitive.Cancel,{className:(0,a.cn)("bg-destructive/10 text-destructive inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-md","hover:bg-destructive/20","transition-colors"),children:(0,t.jsx)(b.CircleStop,{className:"size-3.5"})})})]})}function tm(){return(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-3 p-4 pt-6",children:[(0,t.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,t.jsx)("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("div",{className:"bg-muted h-4 w-48 animate-pulse rounded-lg"}),(0,t.jsx)("div",{className:"bg-muted h-4 w-72 animate-pulse rounded-lg"}),(0,t.jsx)("div",{className:"bg-muted h-4 w-36 animate-pulse rounded-lg"})]})]}),(0,t.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,t.jsx)("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),(0,t.jsx)("div",{className:"bg-muted h-4 w-32 animate-pulse rounded-lg"})]}),(0,t.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,t.jsx)("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("div",{className:"bg-muted h-4 w-56 animate-pulse rounded-lg"}),(0,t.jsx)("div",{className:"bg-muted h-4 w-64 animate-pulse rounded-lg"})]})]})]})}function tg({sessionInfo:e,isAgentActive:r,onClear:i,debugMode:a,onDebugToggle:l}){let{t:u}=(0,s.useTranslation)("web");return(0,t.jsxs)("div",{className:"flex h-8 shrink-0 items-center border-b px-3",children:[(0,t.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:e?(0,t.jsxs)(t.Fragment,{children:[r?(0,t.jsx)("span",{className:"h-1.5 w-1.5 shrink-0 animate-pulse rounded-full bg-emerald-500"}):(0,t.jsx)(o.Cpu,{className:"text-muted-foreground/40 h-3 w-3 shrink-0"}),(0,t.jsxs)("span",{className:"text-muted-foreground font-mono text-[10px]",children:[e.model??"agent",e.sessionId?` \xb7 ${e.sessionId.slice(0,8)}`:""]})]}):(0,t.jsx)("span",{className:"text-muted-foreground/40 text-[11px]",children:u("chat.noSession")})}),(0,t.jsxs)("div",{className:"flex items-center gap-1 ps-2",children:[l?(0,t.jsxs)("label",{className:"text-muted-foreground/60 flex cursor-pointer items-center gap-1 text-[10px]",children:[(0,t.jsx)("input",{type:"checkbox",checked:a,onChange:e=>l(e.target.checked),className:"h-3 w-3 cursor-pointer rounded"}),"Debug"]}):null,(0,t.jsxs)(tf,{onClick:()=>{i()},title:u("chat.clearChatHistory"),children:[(0,t.jsx)(n.Trash2,{className:"h-2.5 w-2.5"}),(0,t.jsx)("span",{children:u("chat.clear")})]})]})]})}function tf({children:e,onClick:r,title:s,variant:i}){return(0,t.jsx)("button",{type:"button",onClick:r,title:s,className:(0,a.cn)("inline-flex items-center gap-1 rounded-md px-2 py-1 text-xs transition-colors","danger"===i?"text-destructive hover:bg-destructive/10":"text-muted-foreground hover:text-foreground hover:bg-muted"),children:e})}e.s(["ChatTab",0,function({featureId:e,worktreePath:s}){let[n,o]=(0,r.useState)(void 0),[a,l]=(0,r.useState)(void 0),[u,c]=(0,r.useState)(!1),h=function(){let[e,t]=(0,r.useState)([]),[s,i]=(0,r.useState)(null),[n,o]=(0,r.useState)(!1),a=(0,r.useRef)(0),l=(0,r.useRef)(crypto.randomUUID()),u=(0,r.useCallback)(async e=>{for(let t of(i(null),e)){if(t.size>0xa00000)return void i(`"${t.name}" exceeds 10 MB limit`);let e=function(e){let t=e.lastIndexOf(".");return t>0?e.slice(t+1).toLowerCase():null}(t.name);if(e&&!H.has(e))return void i(`File type "${e}" is not allowed`)}for(let r of e){let e=crypto.randomUUID();t(t=>[...t,{id:e,name:r.name,size:r.size,mimeType:r.type||"application/octet-stream",path:"",loading:!0}]);try{let s=new FormData;s.append("file",r),s.append("sessionId",l.current);let n=await fetch("/api/attachments/upload",{method:"POST",body:s});if(!n.ok){let r=await n.json().catch(()=>({error:"Upload failed"}));t(t=>t.filter(t=>t.id!==e)),i(r.error??"Upload failed");return}let o=await n.json();t(t=>t.some(t=>t.id!==e&&t.path===o.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...o,id:e,loading:!1}:t))}catch{t(t=>t.filter(t=>t.id!==e)),i("Upload failed")}}},[]),c=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),a.current+=1,1===a.current&&o(!0)},[]),h=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),a.current-=1,0===a.current&&o(!1)},[]),d=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),p=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),a.current=0,o(!1);let t=Array.from(e.dataTransfer.files);t.length>0&&u(t)},[u]),m=(0,r.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let r=[];for(let e of Array.from(t))if("file"===e.kind){let t=e.getAsFile();t&&r.push(t)}r.length>0&&(e.preventDefault(),u(r))},[u]),g=(0,r.useCallback)(e=>{t(t=>t.filter(t=>t.id!==e))},[]),f=(0,r.useCallback)((e,r)=>{t(t=>t.map(t=>t.id===e?{...t,notes:r}:t))},[]),b=(0,r.useCallback)(e=>{t(t=>t.some(t=>t.path===e.path)?t:[...t,{...e,loading:!1}])},[]),y=(0,r.useCallback)(()=>{t([]),i(null)},[]),x=e.filter(e=>!e.loading);return{attachments:e,completedAttachments:x,uploadError:s,isDragOver:n,handleFiles:u,handleDragEnter:c,handleDragLeave:h,handleDragOver:d,handleDrop:p,handlePaste:m,addAttachment:b,removeAttachment:g,updateNotes:f,clearAttachments:y}}(),{runtime:d,status:p,clearChat:m,sessionInfo:g,isChatLoading:f}=function(e,t,s){let i=(0,ti.useQueryClient)(),n=(0,r.useRef)(s?.model),o=(0,r.useRef)(s?.agentType);n.current=s?.model,o.current=s?.agentType;let a=(0,r.useRef)(s?.debugMode??!1);a.current=s?.debugMode??!1;let[l,u]=(0,r.useState)([]),c=(0,r.useCallback)((e,t)=>{a.current&&u(r=>[...r,{id:`dbg-${Date.now()}-${Math.random()}`,timestamp:new Date,label:e,detail:t}])},[]),{data:h,isLoading:d}=(0,e7.useQuery)({queryKey:tu(e),queryFn:()=>to(e),refetchInterval:3e3});(0,r.useEffect)(()=>{h?.turnStatus==="unread"&&fetch(`/api/interactive/chat/${e}/mark-read`,{method:"POST"})},[h?.turnStatus,e]);let p=(0,r.useMemo)(()=>h?.messages??[],[h?.messages]),m=h?.sessionStatus??null,g=(0,r.useRef)(null);(0,r.useEffect)(()=>{if(m&&m!==g.current){let e=h?.sessionInfo;c(`session_${m}`,e?`model=${e.model??"?"}, sid=${e.sessionId?.slice(0,8)??"?"}`:void 0)}g.current=m},[m,h?.sessionInfo,c]);let f=h?.streamingText??null,b=(0,r.useRef)(null);h?.sessionInfo&&(b.current=h.sessionInfo);let y=h?.sessionInfo??b.current,[x,v]=(0,r.useState)(""),[_,S]=(0,r.useState)(null),[w,E]=(0,r.useState)(!1),C=(0,r.useRef)(null),I=(0,r.useRef)(null),T=(0,r.useCallback)(()=>{C.current&&clearTimeout(C.current),C.current=setTimeout(()=>E(!0),600)},[]),A=(0,r.useCallback)(()=>{C.current&&(clearTimeout(C.current),C.current=null),E(!1)},[]),j=p.length>0?p[p.length-1].role:null;(0,r.useEffect)(()=>{j===tn.InteractiveMessageRole.assistant&&A()},[j,p.length,A]),(0,r.useEffect)(()=>{let t=new EventSource(`/api/interactive/chat/${e}/stream`);return I.current=t,t.addEventListener("delta",e=>{try{let t=JSON.parse(e.data);t.delta&&(A(),v(e=>e+t.delta),S(null))}catch{}}),t.addEventListener("activity",t=>{A();try{let e=JSON.parse(t.data);e.activity&&c(`[${e.activity.kind}] ${e.activity.label}`,e.activity.detail)}catch{}i.invalidateQueries({queryKey:tu(e)})}),t.addEventListener("log",e=>{try{let t=JSON.parse(e.data);t.log&&(A(),S(t.log),c("log",t.log))}catch{}}),t.addEventListener("done",()=>{S(null),A(),c("turn_done"),i.invalidateQueries({queryKey:tu(e)}).then(()=>{v("")})}),t.onerror=()=>{},()=>{t.close(),I.current=null}},[e,i,A,c]);let M=function(e){let t=(0,ti.useQueryClient)(void 0),[s]=r.useState(()=>new ts(t,e));r.useEffect(()=>{s.setOptions(e)},[s,e]);let i=r.useSyncExternalStore(r.useCallback(e=>s.subscribe(te.notifyManager.batchCalls(e)),[s]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),n=r.useCallback((e,t)=>{s.mutate(e,t).catch(tr.noop)},[s]);if(i.error&&(0,tr.shouldThrowError)(s.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:n,mutateAsync:i.mutate}}({mutationFn:r=>ta(e,r,t??"",n.current,o.current),onMutate:async t=>{c("send_message",`model=${n.current??"default"}, agent=${o.current??"default"}, len=${t.length}`),T(),await i.cancelQueries({queryKey:tu(e)});let r=i.getQueryData(tu(e));return i.setQueryData(tu(e),r=>({messages:[...r?.messages??[],{id:`optimistic-${Date.now()}`,featureId:e,role:tn.InteractiveMessageRole.user,content:t,createdAt:new Date,updatedAt:new Date}],sessionStatus:r?.sessionStatus??"booting",streamingText:null,sessionInfo:r?.sessionInfo??null})),{previous:r}},onError:(t,r,s)=>{s?.previous&&i.setQueryData(tu(e),s.previous)},onSettled:()=>{i.invalidateQueries({queryKey:tu(e)})}}),R=w||!!x||!!_||"booting"===m,k=x??f??"",N=(0,r.useMemo)(()=>{let e,t=p.map(tl);if(s?.debugMode&&l.length>0){let r=l.map(e=>({id:e.id,role:"assistant",content:[{type:"text",text:e.detail?`🔧 **${e.label}** — ${e.detail}`:`🔧 **${e.label}**`}],createdAt:e.timestamp}));e=[];let s=0,i=0;for(;s<t.length&&i<r.length;)(t[s].createdAt?new Date(t[s].createdAt).getTime():0)<=(r[i].createdAt?new Date(r[i].createdAt).getTime():0)?e.push(t[s++]):e.push(r[i++]);for(;s<t.length;)e.push(t[s++]);for(;i<r.length;)e.push(r[i++])}else e=t;if(k.trim()){let t=[{type:"text",text:k}];_&&t.push({type:"text",text:`*⏳ ${_}*`}),e.push({id:"streaming",role:"assistant",content:t})}else _?e.push({id:"streaming",role:"assistant",content:[{type:"text",text:`*⏳ ${_}*`}]}):(w||"booting"===m)&&e.push({id:"streaming",role:"assistant",content:[{type:"text",text:"booting"===m?"*Agent is waking up...*":"*Thinking...*"}]});return e},[p,k,w,m,_,s?.debugMode,l]),B=(0,r.useMemo)(()=>R?{isRunning:!0,statusText:_}:{isRunning:!1,statusText:null},[R,_]),P=(0,r.useCallback)(async e=>{let t=e.content.find(e=>"text"===e.type);if(t?.type!=="text"||!t.text.trim())return;let r=s?.contentTransform?s.contentTransform(t.text):t.text;M.mutate(r,{onSuccess:()=>s?.onMessageSent?.()})},[M,s]),D=(0,r.useCallback)(async()=>{let t=await fetch(`/api/interactive/chat/${e}/messages`,{method:"DELETE"});if(!t.ok)throw Error(`Failed to clear chat: ${t.status}`);v(""),u([]),S(null),A(),i.invalidateQueries({queryKey:tu(e)})},[e,i,A]),O=(0,r.useCallback)(async()=>{let t=await fetch(`/api/interactive/chat/${e}/stop`,{method:"POST"});if(!t.ok)throw Error(`Failed to stop agent: ${t.status}`);v(""),S(null),A(),i.invalidateQueries({queryKey:tu(e)})},[e,i,A]);return{runtime:(e=>{let[t]=(0,r.useState)(()=>new eL(e));(0,r.useEffect)(()=>{t.setAdapter(e)});let{modelContext:s}=(0,r.useContext)(e4)??{};return(0,r.useEffect)(()=>{if(s)return t.registerModelContextProvider(s)},[s,t]),(0,r.useMemo)(()=>new e6(t),[t])})({messages:N,convertMessage:(0,r.useCallback)(e=>e,[]),isRunning:R,onNew:P,onCancel:(0,r.useCallback)(async()=>{v(""),S(null),A()},[A])}),status:B,clearChat:D,stopAgent:O,sessionInfo:y,isChatLoading:d}}(e,s,{contentTransform:(0,r.useCallback)(e=>(function(e,t){if(!t||0===t.length)return e;let r=t.map(e=>e.notes?.trim()?`@${e.path} [Note: ${e.notes.trim()}]`:`@${e.path}`).join(" ");return`${e}
4
+
5
+ ${r}`})(e,h.completedAttachments.map(e=>({path:e.path,name:e.name,notes:e.notes}))),[h.completedAttachments]),onMessageSent:h.clearAttachments,model:a,agentType:n,debugMode:u}),b=(0,r.useCallback)(async()=>{try{let t=await fetch("/api/dialog/pick-files");if(!t.ok)return;let r=await t.json();if(!r.paths?.length)return;for(let t of r.paths){let r=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t,sessionId:`chat-${e}`})});if(!r.ok)continue;let s=await r.json();h.addAttachment(s)}}catch{}},[e,h.addAttachment]),y=(0,t.jsx)(td,{attachments:h.attachments,isDragOver:h.isDragOver,uploadError:h.uploadError,onDragEnter:h.handleDragEnter,onDragLeave:h.handleDragLeave,onDragOver:h.handleDragOver,onDrop:h.handleDrop,onPaste:h.handlePaste,onRemoveAttachment:h.removeAttachment,onNotesChange:h.updateNotes,onPickFiles:b,agentPicker:(0,t.jsx)(G.AgentModelPicker,{initialAgentType:n??"claude-code",initialModel:a??"claude-sonnet-4-6",mode:"override",onAgentModelChange:(e,t)=>{o(e),l(t)},className:"w-55"})});return(0,t.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,t.jsx)(tg,{sessionInfo:g,isAgentActive:p.isRunning,onClear:m,debugMode:u,onDebugToggle:void 0}),(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col",children:f?(0,t.jsx)(tm,{}):(0,t.jsx)(i.AssistantRuntimeProvider,{runtime:d,children:(0,t.jsx)(A,{composer:y})})})]})}],28112)}]);