@shepai/cli 1.202.1-pr606.60460ac → 1.202.2

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 (372) hide show
  1. package/package.json +1 -1
  2. package/web/.next/BUILD_ID +1 -1
  3. package/web/.next/build-manifest.json +2 -2
  4. package/web/.next/fallback-build-manifest.json +2 -2
  5. package/web/.next/prerender-manifest.json +3 -3
  6. package/web/.next/required-server-files.js +2 -2
  7. package/web/.next/required-server-files.json +2 -2
  8. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/react-loadable-manifest.json +4 -4
  9. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +37 -37
  10. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  11. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  12. package/web/.next/server/app/(dashboard)/@drawer/chat/page/react-loadable-manifest.json +4 -4
  13. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +35 -35
  14. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  15. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  16. package/web/.next/server/app/(dashboard)/@drawer/create/page/react-loadable-manifest.json +4 -4
  17. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +38 -38
  18. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  19. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  20. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/react-loadable-manifest.json +4 -4
  21. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +47 -47
  22. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  23. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  24. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/react-loadable-manifest.json +4 -4
  25. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +47 -47
  26. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  27. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  28. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +4 -4
  29. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +36 -36
  30. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  31. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  32. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/react-loadable-manifest.json +4 -4
  33. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +36 -36
  34. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  35. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  36. package/web/.next/server/app/(dashboard)/chat/page/react-loadable-manifest.json +4 -4
  37. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +35 -35
  38. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  39. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  40. package/web/.next/server/app/(dashboard)/control-center/page/react-loadable-manifest.json +4 -4
  41. package/web/.next/server/app/(dashboard)/control-center/page/server-reference-manifest.json +35 -35
  42. package/web/.next/server/app/(dashboard)/control-center/page.js.nft.json +1 -1
  43. package/web/.next/server/app/(dashboard)/control-center/page_client-reference-manifest.js +1 -1
  44. package/web/.next/server/app/(dashboard)/create/page/react-loadable-manifest.json +4 -4
  45. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +38 -38
  46. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  47. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  48. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/react-loadable-manifest.json +4 -4
  49. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +47 -47
  50. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  51. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  52. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/react-loadable-manifest.json +4 -4
  53. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +47 -47
  54. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  55. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  56. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +4 -4
  57. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +36 -36
  58. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  59. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  60. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/react-loadable-manifest.json +4 -4
  61. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +36 -36
  62. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  63. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  64. package/web/.next/server/app/_global-error.html +2 -2
  65. package/web/.next/server/app/_global-error.rsc +1 -1
  66. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  67. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  68. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  69. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  70. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  71. package/web/.next/server/app/_not-found/page/react-loadable-manifest.json +4 -4
  72. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +9 -9
  73. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  74. package/web/.next/server/app/agent-questions/page/react-loadable-manifest.json +4 -4
  75. package/web/.next/server/app/agent-questions/page/server-reference-manifest.json +11 -11
  76. package/web/.next/server/app/agent-questions/page_client-reference-manifest.js +1 -1
  77. package/web/.next/server/app/agents/[agentType]/page/react-loadable-manifest.json +4 -4
  78. package/web/.next/server/app/agents/[agentType]/page/server-reference-manifest.json +13 -13
  79. package/web/.next/server/app/agents/[agentType]/page_client-reference-manifest.js +1 -1
  80. package/web/.next/server/app/agents/page/react-loadable-manifest.json +4 -4
  81. package/web/.next/server/app/agents/page/server-reference-manifest.json +10 -10
  82. package/web/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  83. package/web/.next/server/app/application/[id]/page/react-loadable-manifest.json +4 -4
  84. package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +18 -18
  85. package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
  86. package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
  87. package/web/.next/server/app/application/[id]/supervisor/page/react-loadable-manifest.json +4 -4
  88. package/web/.next/server/app/application/[id]/supervisor/page/server-reference-manifest.json +10 -10
  89. package/web/.next/server/app/application/[id]/supervisor/page_client-reference-manifest.js +1 -1
  90. package/web/.next/server/app/applications/page/react-loadable-manifest.json +4 -4
  91. package/web/.next/server/app/applications/page/server-reference-manifest.json +20 -20
  92. package/web/.next/server/app/applications/page.js.nft.json +1 -1
  93. package/web/.next/server/app/applications/page_client-reference-manifest.js +1 -1
  94. package/web/.next/server/app/features/page/react-loadable-manifest.json +4 -4
  95. package/web/.next/server/app/features/page/server-reference-manifest.json +31 -31
  96. package/web/.next/server/app/features/page.js.nft.json +1 -1
  97. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  98. package/web/.next/server/app/onboarding/page/react-loadable-manifest.json +4 -4
  99. package/web/.next/server/app/onboarding/page/server-reference-manifest.json +9 -9
  100. package/web/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  101. package/web/.next/server/app/page/react-loadable-manifest.json +4 -4
  102. package/web/.next/server/app/page/server-reference-manifest.json +9 -9
  103. package/web/.next/server/app/page_client-reference-manifest.js +1 -1
  104. package/web/.next/server/app/projects/[slug]/items/[itemId]/page/react-loadable-manifest.json +4 -4
  105. package/web/.next/server/app/projects/[slug]/items/[itemId]/page/server-reference-manifest.json +16 -16
  106. package/web/.next/server/app/projects/[slug]/items/[itemId]/page_client-reference-manifest.js +1 -1
  107. package/web/.next/server/app/projects/[slug]/page/react-loadable-manifest.json +4 -4
  108. package/web/.next/server/app/projects/[slug]/page/server-reference-manifest.json +28 -28
  109. package/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  110. package/web/.next/server/app/projects/[slug]/pages/page/react-loadable-manifest.json +4 -4
  111. package/web/.next/server/app/projects/[slug]/pages/page/server-reference-manifest.json +12 -12
  112. package/web/.next/server/app/projects/[slug]/pages/page_client-reference-manifest.js +1 -1
  113. package/web/.next/server/app/projects/[slug]/settings/page/react-loadable-manifest.json +4 -4
  114. package/web/.next/server/app/projects/[slug]/settings/page/server-reference-manifest.json +18 -18
  115. package/web/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
  116. package/web/.next/server/app/projects/page/react-loadable-manifest.json +4 -4
  117. package/web/.next/server/app/projects/page/server-reference-manifest.json +10 -10
  118. package/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  119. package/web/.next/server/app/settings/page/react-loadable-manifest.json +4 -4
  120. package/web/.next/server/app/settings/page/server-reference-manifest.json +15 -15
  121. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  122. package/web/.next/server/app/skills/page/react-loadable-manifest.json +4 -4
  123. package/web/.next/server/app/skills/page/server-reference-manifest.json +17 -17
  124. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  125. package/web/.next/server/app/supervisor/feature/[featureId]/page/react-loadable-manifest.json +4 -4
  126. package/web/.next/server/app/supervisor/feature/[featureId]/page/server-reference-manifest.json +10 -10
  127. package/web/.next/server/app/supervisor/feature/[featureId]/page_client-reference-manifest.js +1 -1
  128. package/web/.next/server/app/supervisor/page/react-loadable-manifest.json +4 -4
  129. package/web/.next/server/app/supervisor/page/server-reference-manifest.json +10 -10
  130. package/web/.next/server/app/supervisor/page_client-reference-manifest.js +1 -1
  131. package/web/.next/server/app/supervisor/repo/[repositoryId]/page/react-loadable-manifest.json +4 -4
  132. package/web/.next/server/app/supervisor/repo/[repositoryId]/page/server-reference-manifest.json +10 -10
  133. package/web/.next/server/app/supervisor/repo/[repositoryId]/page_client-reference-manifest.js +1 -1
  134. package/web/.next/server/app/tools/page/react-loadable-manifest.json +4 -4
  135. package/web/.next/server/app/tools/page/server-reference-manifest.json +15 -15
  136. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  137. package/web/.next/server/app/version/page/react-loadable-manifest.json +4 -4
  138. package/web/.next/server/app/version/page/server-reference-manifest.json +9 -9
  139. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  140. package/web/.next/server/chunks/[root-of-the-server]__10e976f3._.js +1 -1
  141. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agent-questions_page_actions_4b694f8d.js +1 -1
  142. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agent-questions_page_actions_4b694f8d.js.map +1 -1
  143. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agents_[agentType]_page_actions_103679a6.js +1 -1
  144. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agents_[agentType]_page_actions_103679a6.js.map +1 -1
  145. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_projects_[slug]_pages_page_actions_19d50f6c.js +1 -1
  146. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_projects_[slug]_pages_page_actions_19d50f6c.js.map +1 -1
  147. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js +1 -1
  148. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js.map +1 -1
  149. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.js +1 -1
  150. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.js.map +1 -1
  151. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  152. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  153. package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js +1 -1
  154. package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js.map +1 -1
  155. package/web/.next/server/chunks/ssr/[root-of-the-server]__0af8610a._.js +3 -3
  156. package/web/.next/server/chunks/ssr/[root-of-the-server]__0af8610a._.js.map +1 -1
  157. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b652a2f._.js +1 -1
  158. package/web/.next/server/chunks/ssr/{[root-of-the-server]__8b73253b._.js → [root-of-the-server]__2e388ba3._.js} +2 -2
  159. package/web/.next/server/chunks/ssr/{[root-of-the-server]__8b73253b._.js.map → [root-of-the-server]__2e388ba3._.js.map} +1 -1
  160. package/web/.next/server/chunks/ssr/[root-of-the-server]__56cf47e7._.js +1 -1
  161. package/web/.next/server/chunks/ssr/[root-of-the-server]__56cf47e7._.js.map +1 -1
  162. package/web/.next/server/chunks/ssr/[root-of-the-server]__648730d4._.js +1 -1
  163. package/web/.next/server/chunks/ssr/[root-of-the-server]__68df6415._.js +1 -1
  164. package/web/.next/server/chunks/ssr/[root-of-the-server]__68df6415._.js.map +1 -1
  165. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bc6bf96._.js +1 -1
  166. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bc6bf96._.js.map +1 -1
  167. package/web/.next/server/chunks/ssr/[root-of-the-server]__9852cb08._.js +2 -2
  168. package/web/.next/server/chunks/ssr/[root-of-the-server]__9852cb08._.js.map +1 -1
  169. package/web/.next/server/chunks/ssr/[root-of-the-server]__a1167cec._.js +1 -1
  170. package/web/.next/server/chunks/ssr/[root-of-the-server]__a1167cec._.js.map +1 -1
  171. package/web/.next/server/chunks/ssr/[root-of-the-server]__a12d0ad7._.js +3 -0
  172. package/web/.next/server/chunks/ssr/{[root-of-the-server]__52ca7f88._.js.map → [root-of-the-server]__a12d0ad7._.js.map} +1 -1
  173. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba699bec._.js +1 -1
  174. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba699bec._.js.map +1 -1
  175. package/web/.next/server/chunks/ssr/[root-of-the-server]__e0741ee1._.js +1 -1
  176. package/web/.next/server/chunks/ssr/[root-of-the-server]__e0fa59e6._.js +1 -1
  177. package/web/.next/server/chunks/ssr/[root-of-the-server]__e0fa59e6._.js.map +1 -1
  178. package/web/.next/server/chunks/ssr/[root-of-the-server]__ea26ff90._.js +3 -3
  179. package/web/.next/server/chunks/ssr/[root-of-the-server]__ff0095e3._.js +1 -1
  180. package/web/.next/server/chunks/ssr/_07036593._.js +1 -1
  181. package/web/.next/server/chunks/ssr/_07036593._.js.map +1 -1
  182. package/web/.next/server/chunks/ssr/_0d2a7595._.js +1 -1
  183. package/web/.next/server/chunks/ssr/_0d2a7595._.js.map +1 -1
  184. package/web/.next/server/chunks/ssr/_101de7c3._.js +1 -1
  185. package/web/.next/server/chunks/ssr/_101de7c3._.js.map +1 -1
  186. package/web/.next/server/chunks/ssr/{_db111d21._.js → _10f54ace._.js} +2 -2
  187. package/web/.next/server/chunks/ssr/{_db111d21._.js.map → _10f54ace._.js.map} +1 -1
  188. package/web/.next/server/chunks/ssr/_24fca3cf._.js +1 -1
  189. package/web/.next/server/chunks/ssr/_24fca3cf._.js.map +1 -1
  190. package/web/.next/server/chunks/ssr/{_6ff832ad._.js → _2759af76._.js} +2 -2
  191. package/web/.next/server/chunks/ssr/{_6ff832ad._.js.map → _2759af76._.js.map} +1 -1
  192. package/web/.next/server/chunks/ssr/_2bc48f3d._.js +1 -1
  193. package/web/.next/server/chunks/ssr/_2bc48f3d._.js.map +1 -1
  194. package/web/.next/server/chunks/ssr/{_fb539286._.js → _2bef1982._.js} +2 -2
  195. package/web/.next/server/chunks/ssr/{_fb539286._.js.map → _2bef1982._.js.map} +1 -1
  196. package/web/.next/server/chunks/ssr/_32f66845._.js +1 -1
  197. package/web/.next/server/chunks/ssr/_408848e6._.js +1 -1
  198. package/web/.next/server/chunks/ssr/_408848e6._.js.map +1 -1
  199. package/web/.next/server/chunks/ssr/_40e02782._.js +1 -1
  200. package/web/.next/server/chunks/ssr/_40e02782._.js.map +1 -1
  201. package/web/.next/server/chunks/ssr/_486d45d6._.js +1 -1
  202. package/web/.next/server/chunks/ssr/_486d45d6._.js.map +1 -1
  203. package/web/.next/server/chunks/ssr/{_824d5772._.js → _498cba11._.js} +2 -2
  204. package/web/.next/server/chunks/ssr/{_824d5772._.js.map → _498cba11._.js.map} +1 -1
  205. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  206. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  207. package/web/.next/server/chunks/ssr/_5cbb0e22._.js +1 -1
  208. package/web/.next/server/chunks/ssr/_5cbb0e22._.js.map +1 -1
  209. package/web/.next/server/chunks/ssr/{_5a3edc88._.js → _673be4f1._.js} +2 -2
  210. package/web/.next/server/chunks/ssr/{_5a3edc88._.js.map → _673be4f1._.js.map} +1 -1
  211. package/web/.next/server/chunks/ssr/_7ba67729._.js +1 -1
  212. package/web/.next/server/chunks/ssr/_7ba67729._.js.map +1 -1
  213. package/web/.next/server/chunks/ssr/_805ae1aa._.js +1 -1
  214. package/web/.next/server/chunks/ssr/_805ae1aa._.js.map +1 -1
  215. package/web/.next/server/chunks/ssr/_87cf18c3._.js +1 -1
  216. package/web/.next/server/chunks/ssr/_87cf18c3._.js.map +1 -1
  217. package/web/.next/server/chunks/ssr/_8a700ff4._.js +1 -1
  218. package/web/.next/server/chunks/ssr/_8a700ff4._.js.map +1 -1
  219. package/web/.next/server/chunks/ssr/_95b97274._.js +1 -1
  220. package/web/.next/server/chunks/ssr/_95b97274._.js.map +1 -1
  221. package/web/.next/server/chunks/ssr/{_fbcfaf3a._.js → _9d18d1b1._.js} +2 -2
  222. package/web/.next/server/chunks/ssr/{_fbcfaf3a._.js.map → _9d18d1b1._.js.map} +1 -1
  223. package/web/.next/server/chunks/ssr/{_70ff64a1._.js → _a93687e6._.js} +2 -2
  224. package/web/.next/server/chunks/ssr/{_70ff64a1._.js.map → _a93687e6._.js.map} +1 -1
  225. package/web/.next/server/chunks/ssr/_c2e196ee._.js +1 -1
  226. package/web/.next/server/chunks/ssr/_c2e196ee._.js.map +1 -1
  227. package/web/.next/server/chunks/ssr/_ca3b7bf7._.js +1 -1
  228. package/web/.next/server/chunks/ssr/_ca3b7bf7._.js.map +1 -1
  229. package/web/.next/server/chunks/ssr/_d53224a9._.js +1 -1
  230. package/web/.next/server/chunks/ssr/_d53224a9._.js.map +1 -1
  231. package/web/.next/server/chunks/ssr/_d573dcc2._.js +1 -1
  232. package/web/.next/server/chunks/ssr/_e2671e14._.js +1 -1
  233. package/web/.next/server/chunks/ssr/_e2671e14._.js.map +1 -1
  234. package/web/.next/server/chunks/ssr/_ecd45b17._.js +1 -1
  235. package/web/.next/server/chunks/ssr/_ecd45b17._.js.map +1 -1
  236. package/web/.next/server/chunks/ssr/{_f0d45e47._.js → _f46d2018._.js} +2 -2
  237. package/web/.next/server/chunks/ssr/{_f0d45e47._.js.map → _f46d2018._.js.map} +1 -1
  238. package/web/.next/server/chunks/ssr/_f602cc9f._.js +1 -1
  239. package/web/.next/server/chunks/ssr/_f602cc9f._.js.map +1 -1
  240. package/web/.next/server/chunks/ssr/{_20a56008._.js → _f71954a5._.js} +2 -2
  241. package/web/.next/server/chunks/ssr/{_20a56008._.js.map → _f71954a5._.js.map} +1 -1
  242. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  243. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  244. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  245. package/web/.next/server/chunks/ssr/src_presentation_web_0e291f0b._.js +1 -1
  246. package/web/.next/server/chunks/ssr/src_presentation_web_0e291f0b._.js.map +1 -1
  247. package/web/.next/server/chunks/ssr/{src_presentation_web_40673f0c._.js → src_presentation_web_16c83ab4._.js} +2 -2
  248. package/web/.next/server/chunks/ssr/{src_presentation_web_40673f0c._.js.map → src_presentation_web_16c83ab4._.js.map} +1 -1
  249. package/web/.next/server/chunks/ssr/src_presentation_web_1d8d177f._.js +1 -1
  250. package/web/.next/server/chunks/ssr/src_presentation_web_1d8d177f._.js.map +1 -1
  251. package/web/.next/server/chunks/ssr/src_presentation_web_450b58fc._.js +1 -1
  252. package/web/.next/server/chunks/ssr/src_presentation_web_450b58fc._.js.map +1 -1
  253. package/web/.next/server/chunks/ssr/src_presentation_web_47727150._.js +1 -1
  254. package/web/.next/server/chunks/ssr/src_presentation_web_47727150._.js.map +1 -1
  255. package/web/.next/server/chunks/ssr/src_presentation_web_64fcfc84._.js +1 -1
  256. package/web/.next/server/chunks/ssr/src_presentation_web_64fcfc84._.js.map +1 -1
  257. package/web/.next/server/chunks/ssr/src_presentation_web_74b7bdb2._.js +1 -1
  258. package/web/.next/server/chunks/ssr/src_presentation_web_74b7bdb2._.js.map +1 -1
  259. package/web/.next/server/chunks/ssr/src_presentation_web_82aeca34._.js +1 -1
  260. package/web/.next/server/chunks/ssr/src_presentation_web_82aeca34._.js.map +1 -1
  261. package/web/.next/server/chunks/ssr/src_presentation_web_8a564d47._.js +1 -1
  262. package/web/.next/server/chunks/ssr/src_presentation_web_8a564d47._.js.map +1 -1
  263. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +1 -1
  264. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +1 -1
  265. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_f4f3fad9.js +1 -1
  266. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_f4f3fad9.js.map +1 -1
  267. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_agents_page_actions_d4bd4711.js +1 -1
  268. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_agents_page_actions_d4bd4711.js.map +1 -1
  269. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_onboarding_page_actions_bb695e8d.js +1 -1
  270. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_onboarding_page_actions_bb695e8d.js.map +1 -1
  271. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_page_actions_ac47e420.js +1 -1
  272. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_page_actions_ac47e420.js.map +1 -1
  273. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_projects_page_actions_c91a23a8.js +1 -1
  274. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_projects_page_actions_c91a23a8.js.map +1 -1
  275. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_63c2d912.js +1 -1
  276. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_63c2d912.js.map +1 -1
  277. package/web/.next/server/chunks/ssr/src_presentation_web_a53a3da6._.js +1 -1
  278. package/web/.next/server/chunks/ssr/src_presentation_web_a53a3da6._.js.map +1 -1
  279. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_246617fe._.js +3 -3
  280. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js +1 -1
  281. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js.map +1 -1
  282. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_9453ce8b._.js +1 -1
  283. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js +1 -1
  284. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js.map +1 -1
  285. package/web/.next/server/chunks/ssr/src_presentation_web_app_features_feature-tree-page-client_tsx_34c5cbbf._.js +1 -1
  286. package/web/.next/server/chunks/ssr/src_presentation_web_b1b3c26c._.js +1 -1
  287. package/web/.next/server/chunks/ssr/src_presentation_web_b1b3c26c._.js.map +1 -1
  288. package/web/.next/server/chunks/ssr/src_presentation_web_b98a4353._.js +1 -1
  289. package/web/.next/server/chunks/ssr/src_presentation_web_b98a4353._.js.map +1 -1
  290. package/web/.next/server/chunks/ssr/src_presentation_web_c96ca051._.js +1 -1
  291. package/web/.next/server/chunks/ssr/src_presentation_web_c96ca051._.js.map +1 -1
  292. package/web/.next/server/chunks/ssr/{src_presentation_web_e812a69b._.js → src_presentation_web_cb0d2c28._.js} +2 -2
  293. package/web/.next/server/chunks/ssr/{src_presentation_web_e812a69b._.js.map → src_presentation_web_cb0d2c28._.js.map} +1 -1
  294. package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js +1 -1
  295. package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js.map +1 -1
  296. package/web/.next/server/chunks/ssr/src_presentation_web_components_agent-editor_agent-editor-tabs_tsx_d5a954b4._.js +1 -1
  297. package/web/.next/server/chunks/ssr/src_presentation_web_components_agent-editor_agent-editor-tabs_tsx_d5a954b4._.js.map +1 -1
  298. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  299. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  300. package/web/.next/server/chunks/ssr/src_presentation_web_d3858f16._.js +1 -1
  301. package/web/.next/server/chunks/ssr/src_presentation_web_d3858f16._.js.map +1 -1
  302. package/web/.next/server/chunks/ssr/src_presentation_web_d7f8130c._.js +1 -1
  303. package/web/.next/server/chunks/ssr/src_presentation_web_d7f8130c._.js.map +1 -1
  304. package/web/.next/server/chunks/ssr/src_presentation_web_dddd8ccd._.js +1 -1
  305. package/web/.next/server/chunks/ssr/src_presentation_web_dddd8ccd._.js.map +1 -1
  306. package/web/.next/server/chunks/ssr/src_presentation_web_e13d58b0._.js +1 -1
  307. package/web/.next/server/chunks/ssr/src_presentation_web_e13d58b0._.js.map +1 -1
  308. package/web/.next/server/chunks/ssr/src_presentation_web_ee94a9aa._.js +1 -1
  309. package/web/.next/server/chunks/ssr/src_presentation_web_ee94a9aa._.js.map +1 -1
  310. package/web/.next/server/chunks/ssr/src_presentation_web_f0fcfdff._.js +1 -1
  311. package/web/.next/server/chunks/ssr/src_presentation_web_f0fcfdff._.js.map +1 -1
  312. package/web/.next/server/chunks/ssr/src_presentation_web_f17e8516._.js +1 -1
  313. package/web/.next/server/chunks/ssr/src_presentation_web_f17e8516._.js.map +1 -1
  314. package/web/.next/server/chunks/ssr/src_presentation_web_f7180fec._.js +1 -1
  315. package/web/.next/server/chunks/ssr/src_presentation_web_f7180fec._.js.map +1 -1
  316. package/web/.next/server/pages/500.html +2 -2
  317. package/web/.next/server/server-reference-manifest.js +1 -1
  318. package/web/.next/server/server-reference-manifest.json +111 -111
  319. package/web/.next/static/chunks/{5faa828877b1e669.js → 03dda23205877d8b.js} +1 -1
  320. package/web/.next/static/chunks/{4bf4f333302e24a4.js → 054e3a5f5ff4db71.js} +1 -1
  321. package/web/.next/static/chunks/{a868014dbe1b4e42.js → 06e58041911c290b.js} +1 -1
  322. package/web/.next/static/chunks/{b5ff852fee23795d.js → 089ef5b749d79ebd.js} +1 -1
  323. package/web/.next/static/chunks/{1a093b13a9d6952e.js → 0d106010c498c198.js} +2 -2
  324. package/web/.next/static/chunks/193e5a0540757f5e.js +1 -0
  325. package/web/.next/static/chunks/{9abc3e68af98e636.js → 25111a2f2597f500.js} +1 -1
  326. package/web/.next/static/chunks/285e724d07901ef6.js +1 -0
  327. package/web/.next/static/chunks/{3c396f63ebefe875.js → 2b2bfc0465b18a7d.js} +1 -1
  328. package/web/.next/static/chunks/{6af99a08ccacdbce.js → 2b436562e69d2827.js} +1 -1
  329. package/web/.next/static/chunks/{8c96a835b3b0dc44.js → 2e3844d0ac487ac7.js} +1 -1
  330. package/web/.next/static/chunks/325859b8a9482427.js +1 -0
  331. package/web/.next/static/chunks/{2773e7b2587bc9cc.js → 44ab458ceb89d85d.js} +1 -1
  332. package/web/.next/static/chunks/4fdf36904f5421a6.js +1 -0
  333. package/web/.next/static/chunks/59004c65d552581c.js +1 -0
  334. package/web/.next/static/chunks/{0edcdc8a2dd06b7a.js → 5c4837e88a3431b8.js} +1 -1
  335. package/web/.next/static/chunks/{a131f868af7f1f7c.js → 74cdd562eb663f72.js} +1 -1
  336. package/web/.next/static/chunks/{0315591c972888a6.js → 7670d76d4ee743e6.js} +1 -1
  337. package/web/.next/static/chunks/{02d88da9fd656fcd.js → 83fc784ce05a701e.js} +1 -1
  338. package/web/.next/static/chunks/{460cedaa85c821e7.js → 8dd4fdd20b103a66.js} +1 -1
  339. package/web/.next/static/chunks/9336bdc7fc319282.js +1 -0
  340. package/web/.next/static/chunks/9d285565922b2de7.js +1 -0
  341. package/web/.next/static/chunks/{45eeca36eabbed23.js → 9f7f2a11937d87eb.js} +1 -1
  342. package/web/.next/static/chunks/{c3931fdbae836be6.js → a7c7bcfb6f7696a3.js} +1 -1
  343. package/web/.next/static/chunks/{9f7985e2a73929a2.js → a8f57d2a12849f32.js} +1 -1
  344. package/web/.next/static/chunks/{0e1c933065a1100a.js → abe98954ccdf29db.js} +1 -1
  345. package/web/.next/static/chunks/{4378715fa2b5e7de.js → b05808da85e8b34c.js} +1 -1
  346. package/web/.next/static/chunks/{b5dc7979d66caa38.js → b5f83e5e1dad23d5.js} +1 -1
  347. package/web/.next/static/chunks/{6d2074fa3453d333.js → b8293a56f257e5a2.js} +1 -1
  348. package/web/.next/static/chunks/{bc5b87e4068ba11d.js → c61c5e97c76dc733.js} +1 -1
  349. package/web/.next/static/chunks/c6b411bf31744ca7.js +1 -0
  350. package/web/.next/static/chunks/{bdaa907bf3d1d932.js → c732d6cc4c5e4343.js} +1 -1
  351. package/web/.next/static/chunks/{25a200f055ae5cba.js → d214d6a670f48d79.js} +1 -1
  352. package/web/.next/static/chunks/{6901861cb53ab483.js → d7b17a93a26e97c8.js} +1 -1
  353. package/web/.next/static/chunks/{a0325f77bbccc63d.js → d8f14fac959a6bd0.js} +1 -1
  354. package/web/.next/static/chunks/{24ea54516dc249c0.js → d98912f5b6cf4938.js} +1 -1
  355. package/web/.next/static/chunks/{21500b3fe3754296.js → df79667c16344317.js} +1 -1
  356. package/web/.next/static/chunks/{05e8df10619fb980.js → ec8f19328ad1ecd4.js} +1 -1
  357. package/web/.next/static/chunks/{e6e6ba783b2e4d14.js → f0157331838ac962.js} +1 -1
  358. package/web/.next/static/chunks/{c687ed21b9518d73.js → f757d865fae71faf.js} +1 -1
  359. package/web/.next/static/chunks/fb3cbb7f575a7128.js +1 -0
  360. package/web/.next/server/chunks/ssr/[root-of-the-server]__52ca7f88._.js +0 -3
  361. package/web/.next/static/chunks/03d7b81c2554d52f.js +0 -1
  362. package/web/.next/static/chunks/15acdaaea57bb459.js +0 -1
  363. package/web/.next/static/chunks/39fe1c1397d5483b.js +0 -1
  364. package/web/.next/static/chunks/495883829026f13f.js +0 -1
  365. package/web/.next/static/chunks/4b3a4f416a6eb1ac.js +0 -1
  366. package/web/.next/static/chunks/4b4160f36cf2a3d6.js +0 -1
  367. package/web/.next/static/chunks/7269537b2188650d.js +0 -1
  368. package/web/.next/static/chunks/b1534b2f3d814fef.js +0 -1
  369. package/web/.next/static/chunks/f6dc1ba364203bb2.js +0 -1
  370. /package/web/.next/static/{My4IQDygZ4BFTXkkKanja → 9zd-B2rWybTaAgE74IKiK}/_buildManifest.js +0 -0
  371. /package/web/.next/static/{My4IQDygZ4BFTXkkKanja → 9zd-B2rWybTaAgE74IKiK}/_clientMiddlewareManifest.json +0 -0
  372. /package/web/.next/static/{My4IQDygZ4BFTXkkKanja → 9zd-B2rWybTaAgE74IKiK}/_ssgManifest.js +0 -0
@@ -2,6 +2,6 @@ module.exports=[665355,a=>{"use strict";let b=(0,a.i(225700).default)("cpu",[["p
2
2
 
3
3
  ${b.system}`:a.system=b.system),b.tools)for(let[c,d]of Object.entries(b.tools)){let b=a.tools?.[c];if(b&&b!==d)throw Error(`You tried to define a tool with the name ${c}, but it already exists.`);a.tools||(a.tools={}),a.tools[c]=d}return b.config&&(a.config={...a.config,...b.config}),b.callSettings&&(a.callSettings={...a.callSettings,...b.callSettings}),a},{})}registerModelContextProvider(a){this._providers.add(a);let b=a.subscribe?.(()=>{this.notifySubscribers()});return this.notifySubscribers(),()=>{this._providers.delete(a),b?.(),this.notifySubscribers()}}_subscribers=new Set;notifySubscribers(){for(let a of this._subscribers)a()}subscribe(a){return this._subscribers.add(a),()=>this._subscribers.delete(a)}}a.s(["CompositeContextProvider",()=>aT],601504);let aU=r(()=>{let[a]=C(()=>({version:2})),b=w(()=>new aT,[]);return{getState:()=>a,getModelContext:()=>b.getModelContext(),subscribe:a=>b.subscribe(a),register:a=>b.registerModelContextProvider(a)}}),aV=r(a=>({getState:()=>a})),aW=r(a=>{let[b]=C(()=>({suggestions:(a??[]).map(a=>"string"==typeof a?{title:a,label:"",prompt:a}:{title:a.title,label:a.label,prompt:a.prompt})})),c=aF(()=>b.suggestions.map((a,b)=>I(b,aV(a))),[b.suggestions]);return{getState:()=>b,suggestion:({index:a})=>c.get({index:a})}}),aX=r(a=>{let b=as().clientRef;return y(()=>a.registerModelContextProvider(b.current.modelContext()),[a,b]),H(aS({runtime:a.threads,__internal_assistantRuntime:a}))}),aY=r(()=>{let[a,b]=C(()=>({renderers:{}}));return{getState:()=>a,setDataUI:z((a,c)=>(b(b=>({...b,renderers:{...b.renderers,[a]:[...b.renderers[a]??[],c]}})),()=>{b(b=>({...b,renderers:{...b.renderers,[a]:b.renderers[a]?.filter(a=>a!==c)??[]}}))}),[])}}),aZ=r(({toolkit:a})=>{let[b,c]=C(()=>({tools:{}})),d=as().clientRef,e=z((a,b)=>(c(c=>({...c,tools:{...c.tools,[a]:[...c.tools[a]??[],b]}})),()=>{c(c=>({...c,tools:{...c.tools,[a]:c.tools[a]?.filter(a=>a!==b)??[]}}))}),[]);return y(()=>{if(!a)return;let b=[];for(let[c,d]of Object.entries(a))d.render&&b.push(e(c,d.render));let c=Object.entries(a).reduce((a,[b,c])=>{let{render:d,...e}=c;return a[b]=e,a},{});return b.push(d.current.modelContext().register({getModelContext:()=>({tools:c})})),()=>{b.forEach(a=>a())}},[a,e,d]),{getState:()=>b,setToolUI:e}});an(aZ,(a,b)=>({...a,...a.modelContext||null!==b.modelContext.source?{}:{modelContext:aU()}}));let a$=r(a=>H(aX(a)));an(a$,(a,b)=>{let c,d=((c={...a,thread:a.thread??al({source:"threads",query:{type:"main"},get:a=>a.threads().thread("main")}),threadListItem:a.threadListItem??al({source:"threads",query:{type:"main"},get:a=>a.threads().item("main")}),composer:a.composer??al({source:"thread",query:{},get:a=>a.threads().thread("main").composer()})}).modelContext||null!==b.modelContext.source||(c.modelContext=aU()),c.suggestions||null!==b.suggestions.source||(c.suggestions=aW()),c);return d.tools||null!==b.tools.source||(d.tools=aZ({})),d.dataRenderers||null!==b.dataRenderers.source||(d.dataRenderers=aY()),d});let a_=(0,c.memo)(({runtime:a,aui:c=null,children:d})=>{let e=aD({threads:a$(a)},{parent:c}),f=a._core?.RenderComponent;return(0,b.jsxs)(ak,{value:e,children:[f&&(0,b.jsx)(f,{}),d]})}),a0=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},a1=a=>{let b=a?a0(a):a0,d=a=>(function(a,b=a=>a){let d=c.default.useSyncExternalStore(a.subscribe,c.default.useCallback(()=>b(a.getState()),[a,b]),c.default.useCallback(()=>b(a.getInitialState()),[a,b]));return c.default.useDebugValue(d),d})(b,a);return Object.assign(d,b),d},a2=a=>a?a1(a):a1;a.s(["create",()=>a2],230657);let a3=a=>{let b=new Map,c=()=>{let c=0;for(let a of b.values())c+=a;a(c)};return{register:()=>{let a=Symbol();return b.set(a,0),{setHeight:d=>{b.get(a)!==d&&(b.set(a,d),c())},unregister:()=>{b.delete(a),c()}}}}};function a4(a,b){function c(c){let d=a(c);return d?d[b]:null}return{[b]:function(a){let b,d=!1;"function"==typeof a?b=a:a&&"object"==typeof a&&(d=!!a.optional,b=a.selector);let e=c({optional:d});return e?b?e(b):e():null},[`${b}Store`]:c}}a.s(["createContextStoreHook",()=>a4],403132);let a5=(0,c.createContext)(null),{useThreadViewport:a6,useThreadViewportStore:a7}=a4(function(a){let b=(0,c.useContext)(a5);if(!a?.optional&&!b)throw Error("This component must be used within ThreadPrimitive.Viewport.");return b},"useThreadViewport");a.s(["ThreadViewportContext",0,a5,"useThreadViewport",0,a6,"useThreadViewportStore",0,a7],351839);let a8=a=>a;a.s(["writableStore",0,a8],674302);let a9=({children:a,options:d={}})=>{let e=(a=>{let b=a7({optional:!0}),[d]=(0,c.useState)(()=>((a={})=>{let b=new Set,c=a3(a=>{f.setState({height:{...f.getState().height,viewport:a}})}),d=a3(a=>{f.setState({height:{...f.getState().height,inset:a}})}),e=a3(a=>{f.setState({height:{...f.getState().height,userMessage:a}})}),f=a2(()=>({isAtBottom:!0,scrollToBottom:({behavior:a="auto"}={})=>{for(let c of b)c({behavior:a})},onScrollToBottom:a=>(b.add(a),()=>{b.delete(a)}),turnAnchor:a.turnAnchor??"bottom",height:{viewport:0,inset:0,userMessage:0},registerViewport:c.register,registerContentInset:d.register,registerUserMessageHeight:e.register}));return f})(a));return(0,c.useEffect)(()=>b?.getState().onScrollToBottom(()=>{d.getState().scrollToBottom()}),[b,d]),(0,c.useEffect)(()=>{if(b)return d.subscribe(a=>{b.getState().isAtBottom!==a.isAtBottom&&a8(b).setState({isAtBottom:a.isAtBottom})})},[d,b]),(0,c.useEffect)(()=>{let b={turnAnchor:a.turnAnchor??"bottom"};d.getState().turnAnchor!==b.turnAnchor&&a8(d).setState(b)},[d,a.turnAnchor]),d})(d),[f]=(0,c.useState)(()=>({useThreadViewport:e}));return(0,b.jsx)(a5.Provider,{value:f,children:a})};a.s(["ThreadPrimitiveViewportProvider",0,a9],538010);let ba=()=>{let a=aD();return(0,c.useEffect)(()=>{},[a]),null},bb=(0,c.memo)(({children:a,aui:c,runtime:d})=>(0,b.jsxs)(a_,{runtime:d,aui:c??null,children:[(0,b.jsx)(ba,{}),(0,b.jsx)(a9,{children:a})]}));a.s(["AssistantRuntimeProvider",0,bb],611051)},547038,385047,795866,715015,178147,a=>{"use strict";a.s([],752646),a.i(752646);var b,c,d=a.i(556365),e=a.i(944592);a.i(845207);var f=a.i(406175),g=Symbol.for("react.lazy"),h=e[" use ".trim().toString()];function i(a){var b;return null!=a&&"object"==typeof a&&"$$typeof"in a&&a.$$typeof===g&&"_payload"in a&&"object"==typeof(b=a._payload)&&null!==b&&"then"in b}var j=Symbol("radix.slottable");function k(a){return e.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===j}var l=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,b)=>{var c,g;let j,l,m,n=(g=c=`Primitive.${b}`,(j=e.forwardRef((a,b)=>{let{children:c,...d}=a;if(i(c)&&"function"==typeof h&&(c=h(c._payload)),e.isValidElement(c)){var g;let a,h,i=(g=c,(h=(a=Object.getOwnPropertyDescriptor(g.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?g.ref:(h=(a=Object.getOwnPropertyDescriptor(g,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?g.props.ref:g.props.ref||g.ref),j=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(d,c.props);return c.type!==e.Fragment&&(j.ref=b?(0,f.composeRefs)(b,i):i),e.cloneElement(c,j)}return e.Children.count(c)>1?e.Children.only(null):null})).displayName=`${g}.SlotClone`,l=j,(m=e.forwardRef((a,b)=>{let{children:c,...f}=a;i(c)&&"function"==typeof h&&(c=h(c._payload));let g=e.Children.toArray(c),j=g.find(k);if(j){let a=j.props.children,c=g.map(b=>b!==j?b:e.Children.count(a)>1?e.Children.only(null):e.isValidElement(a)?a.props.children:null);return(0,d.jsx)(l,{...f,ref:b,children:e.isValidElement(a)?e.cloneElement(a,void 0,c):null})}return(0,d.jsx)(l,{...f,ref:b,children:c})})).displayName=`${c}.Slot`,m),o=e.forwardRef((a,c)=>{let{asChild:e,...f}=a;return(0,d.jsx)(e?n:b,{...f,ref:c})});return o.displayName=`Primitive.${b}`,{...a,[b]:o}},{}),m=a.i(523923),n=a.i(586830);let o=a=>{let b=(0,m.useAui)(),c=(0,n.getProxiedAssistantState)(b),d=(0,e.useSyncExternalStore)(b.subscribe,()=>a(c),()=>a(c));if(d===c)throw Error("You tried to return the entire AssistantState. This is not supported due to technical limitations.");return(0,e.useDebugValue)(d),d};(b=c||(c={})).Hidden="hidden",b.Floating="floating",b.Normal="normal";let p=(0,e.createContext)(null),q=(0,e.forwardRef)(({hideWhenRunning:a,autohide:b,autohideFloat:f,...g},h)=>{let[i,j]=(0,e.useState)(0),k=(0,e.useCallback)(()=>{let a=!1;return j(a=>a+1),()=>{a||(a=!0,j(a=>Math.max(0,a-1)))}},[]),m=(0,e.useMemo)(()=>({acquireInteractionLock:k}),[k]),n=(({hideWhenRunning:a,autohide:b,autohideFloat:d,forceVisible:e})=>o(f=>{if(a&&f.thread.isRunning)return c.Hidden;let g="always"===b||"not-last"===b&&!f.message.isLast,h=e||f.message.isHovering;return g?h?"always"===d||"single-branch"===d&&f.message.branchCount<=1?c.Floating:c.Normal:c.Hidden:c.Normal}))({hideWhenRunning:a,autohide:b,autohideFloat:f,forceVisible:i>0});return n===c.Hidden?null:(0,d.jsx)(p.Provider,{value:m,children:(0,d.jsx)(l.div,{...n===c.Floating?{"data-floating":"true"}:null,...g,ref:h})})});q.displayName="ActionBarPrimitive.Root";var r=a.i(559653);let s=(0,e.forwardRef)(({copiedDuration:a,onClick:b,disabled:c,...f},g)=>{let h=o(a=>a.message.isCopied),i=(({copiedDuration:a=3e3}={})=>{let{copy:b,disabled:c}=(({copiedDuration:a=3e3,copyToClipboard:b}={})=>{let c=(0,m.useAui)(),d=o(a=>!(("assistant"!==a.message.role||a.message.status?.type!=="running")&&a.message.parts.some(a=>"text"===a.type&&a.text.length>0))),f=o(a=>a.message.isCopied),g=o(a=>a.composer.isEditing),h=o(a=>a.composer.text);return{copy:(0,e.useCallback)(()=>{let d=g?h:c.message().getCopyText();d&&Promise.resolve((b??(()=>{}))(d)).then(()=>{c.message().setIsCopied(!0),setTimeout(()=>c.message().setIsCopied(!1),a)})},[c,g,h,a,b]),disabled:d,isCopied:f}})({copiedDuration:a,copyToClipboard:a=>navigator.clipboard.writeText(a)});return c?null:b})({copiedDuration:a});return(0,d.jsx)(l.button,{type:"button",...h?{"data-copied":"true"}:{},...f,ref:g,disabled:c||!i,onClick:(0,r.composeEventHandlers)(b,()=>{i?.()})})});s.displayName="ActionBarPrimitive.Copy";let t=(a,b,c=[])=>{let f=(0,e.forwardRef)((a,e)=>{let f={},g={};Object.keys(a).forEach(b=>{c.includes(b)?f[b]=a[b]:g[b]=a[b]});let h=b(f)??void 0;return(0,d.jsx)(l.button,{...g,type:"button",ref:e,disabled:g.disabled||!h,onClick:(0,r.composeEventHandlers)(g.onClick,h)})});return f.displayName=a,f},u=t("ActionBarPrimitive.Reload",()=>{let a,b,{disabled:c,reload:d}=(a=(0,m.useAui)(),b=o(a=>a.thread.isRunning||a.thread.isDisabled||"assistant"!==a.message.role),{reload:(0,e.useCallback)(()=>{a.message().reload()},[a]),disabled:b});return c?null:d}),v=t("ActionBarPrimitive.Edit",()=>{let a,b,{disabled:c,edit:d}=(a=(0,m.useAui)(),b=o(a=>a.composer.isEditing),{edit:(0,e.useCallback)(()=>{a.composer().beginEdit()},[a]),disabled:b});return c?null:d}),w=t("ActionBarPrimitive.Speak",()=>{let a,b,{disabled:c,speak:d}=(a=(0,m.useAui)(),b=o(a=>!(("assistant"!==a.message.role||a.message.status?.type!=="running")&&a.message.parts.some(a=>"text"===a.type&&a.text.length>0))),{speak:(0,e.useCallback)(async()=>{a.message().speak()},[a]),disabled:b});return c?null:d});var x=a.i(461791);let y=(0,e.forwardRef)((a,b)=>{let c=(()=>{let a,b,{disabled:c,stopSpeaking:d}=(a=(0,m.useAui)(),b=o(a=>null==a.message.speech),{stopSpeaking:(0,e.useCallback)(()=>{a.message().stopSpeaking()},[a]),disabled:b});return c?null:d})();return(0,x.useEscapeKeydown)(a=>{c&&(a.preventDefault(),c())}),(0,d.jsx)(l.button,{type:"button",disabled:!c,...a,ref:b,onClick:(0,r.composeEventHandlers)(a.onClick,()=>{c?.()})})});y.displayName="ActionBarPrimitive.StopSpeaking";let z=(0,e.forwardRef)(({onClick:a,disabled:b,...c},f)=>{let g=o(a=>a.message.metadata.submittedFeedback?.type==="positive"),h=(()=>{let a,b,{submit:c}=(a=(0,m.useAui)(),b=o(a=>a.message.metadata.submittedFeedback?.type==="positive"),{submit:(0,e.useCallback)(()=>{a.message().submitFeedback({type:"positive"})},[a]),isSubmitted:b});return c})();return(0,d.jsx)(l.button,{type:"button",...g?{"data-submitted":"true"}:{},...c,ref:f,disabled:b||!h,onClick:(0,r.composeEventHandlers)(a,()=>{h?.()})})});z.displayName="ActionBarPrimitive.FeedbackPositive";let A=(0,e.forwardRef)(({onClick:a,disabled:b,...c},f)=>{let g=o(a=>a.message.metadata.submittedFeedback?.type==="negative"),h=(()=>{let a,b,{submit:c}=(a=(0,m.useAui)(),b=o(a=>a.message.metadata.submittedFeedback?.type==="negative"),{submit:(0,e.useCallback)(()=>{a.message().submitFeedback({type:"negative"})},[a]),isSubmitted:b});return c})();return(0,d.jsx)(l.button,{type:"button",...g?{"data-submitted":"true"}:{},...c,ref:f,disabled:b||!h,onClick:(0,r.composeEventHandlers)(a,()=>{h?.()})})});A.displayName="ActionBarPrimitive.FeedbackNegative";let B=(0,e.forwardRef)(({filename:a,onExport:b,onClick:c,disabled:f,...g},h)=>{let i=(({filename:a,onExport:b}={})=>{let c=(0,m.useAui)(),d=o(a=>("assistant"!==a.message.role||a.message.status?.type!=="running")&&a.message.parts.some(a=>"text"===a.type&&a.text.length>0)),f=(0,e.useCallback)(async()=>{let d=c.message().getCopyText();if(!d)return;if(b)return void await b(d);let e=new Blob([d],{type:"text/markdown"}),f=URL.createObjectURL(e),g=document.createElement("a");g.href=f,g.download=a??`message-${Date.now()}.md`,g.click(),URL.revokeObjectURL(f)},[c,a,b]);return d?f:null})({filename:a,onExport:b});return(0,d.jsx)(l.button,{type:"button",...g,ref:h,disabled:f||!i,onClick:(0,r.composeEventHandlers)(c,()=>{i?.()})})});B.displayName="ActionBarPrimitive.ExportMarkdown",a.s(["Copy",0,s,"Edit",0,v,"ExportMarkdown",0,B,"FeedbackNegative",0,A,"FeedbackPositive",0,z,"Reload",0,u,"Root",0,q,"Speak",0,w,"StopSpeaking",0,y],506520);var C=a.i(506520);a.s(["ActionBarPrimitive",0,C],547038),a.s([],861177),a.i(861177);let D=()=>{let a,b,{disabled:c,send:d}=(a=(0,m.useAui)(),b=o(a=>a.thread.isRunning||!a.composer.isEditing||a.composer.isEmpty),{send:(0,e.useCallback)(()=>{a.composer().send()},[a]),disabled:b});return c?null:d},E=t("ComposerPrimitive.Send",D),F=(0,e.forwardRef)(({onSubmit:a,...b},c)=>{let e=D();return(0,d.jsx)(l.form,{...b,ref:c,onSubmit:(0,r.composeEventHandlers)(a,a=>{a.preventDefault(),e&&e()})})});F.displayName="ComposerPrimitive.Root";var G=a.i(320098);function H(){return(H=Object.assign.bind()).apply(null,arguments)}var I="u">typeof document?e.useLayoutEffect:function(){},J=function(a){var b=e.default.useRef(a);return I(function(){b.current=a}),b},K=function(a,b){"function"==typeof a?a(b):a.current=b},L=function(a,b){var c=e.default.useRef();return e.default.useCallback(function(d){a.current=d,c.current&&K(c.current,null),c.current=b,b&&K(b,d)},[b])},M="u">typeof document,N={"min-height":"0","max-height":"none",height:"0",visibility:"hidden",overflow:"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0",display:"block"},O=function(a){Object.keys(N).forEach(function(b){a.style.setProperty(b,N[b],"important")})},P=null,Q=function(a,b){var c=a.scrollHeight;return"border-box"===b.sizingStyle.boxSizing?c+b.borderSize:c-b.paddingSize},R=function(){},S=["borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","boxSizing","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","paddingBottom","paddingLeft","paddingRight","paddingTop","tabSize","textIndent","textRendering","textTransform","width","wordBreak","wordSpacing","scrollbarGutter"],T=!!M&&!!document.documentElement.currentStyle,U=function(a){var b=window.getComputedStyle(a);if(null===b)return null;var c=S.reduce(function(a,c){return a[c]=b[c],a},{}),d=c.boxSizing;if(""===d)return null;T&&"border-box"===d&&(c.width=parseFloat(c.width)+parseFloat(c.borderRightWidth)+parseFloat(c.borderLeftWidth)+parseFloat(c.paddingRight)+parseFloat(c.paddingLeft)+"px");var e=parseFloat(c.paddingBottom)+parseFloat(c.paddingTop),f=parseFloat(c.borderBottomWidth)+parseFloat(c.borderTopWidth);return{sizingStyle:c,paddingSize:e,borderSize:f}};function V(a,b,c){var d=J(c);e.useLayoutEffect(function(){var c=function(a){return d.current(a)};if(a)return a.addEventListener(b,c),function(){return a.removeEventListener(b,c)}},[])}var W=function(a,b){V(document.body,"reset",function(c){a.current.form===c.target&&b(c)})},X=function(a){V(window,"resize",a)},Y=function(a){V(document.fonts,"loadingdone",a)},Z=["cacheMeasurements","maxRows","minRows","onChange","onHeightChange"],$=e.forwardRef(function(a,b){var c=a.cacheMeasurements,d=a.maxRows,f=a.minRows,g=a.onChange,h=void 0===g?R:g,i=a.onHeightChange,j=void 0===i?R:i,k=function(a,b){if(null==a)return{};var c={};for(var d in a)if(({}).hasOwnProperty.call(a,d)){if(-1!==b.indexOf(d))continue;c[d]=a[d]}return c}(a,Z),l=void 0!==k.value,m=e.useRef(null),n=L(m,b),o=e.useRef(0),p=e.useRef(),q=function(){var a=m.current,b=c&&p.current?p.current:U(a);if(b){p.current=b;var e,g,h,i,k,l,n,q,r,s,t,u=(e=a.value||a.placeholder||"x",void 0===(g=f)&&(g=1),void 0===(h=d)&&(h=1/0),P||((P=document.createElement("textarea")).setAttribute("tabindex","-1"),P.setAttribute("aria-hidden","true"),O(P)),null===P.parentNode&&document.body.appendChild(P),i=b.paddingSize,k=b.borderSize,n=(l=b.sizingStyle).boxSizing,Object.keys(l).forEach(function(a){P.style[a]=l[a]}),O(P),P.value=e,q=Q(P,b),P.value=e,q=Q(P,b),P.value="x",s=(r=P.scrollHeight-i)*g,"border-box"===n&&(s=s+i+k),q=Math.max(s,q),t=r*h,"border-box"===n&&(t=t+i+k),[q=Math.min(t,q),r]),v=u[0],w=u[1];o.current!==v&&(o.current=v,a.style.setProperty("height",v+"px","important"),j(v,{rowHeight:w}))}};return M?(e.useLayoutEffect(q),W(m,function(){if(!l){var a=m.current.value;requestAnimationFrame(function(){var b=m.current;b&&a!==b.value&&q()})}}),X(q),Y(q),e.createElement("textarea",H({},k,{onChange:function(a){l||q(),h(a)},ref:n}))):e.createElement("textarea",H({},k,{onChange:h,ref:n}))}),_=a.i(779406),aa=a.i(351839);let ab=a=>{let b=(0,_.useCallbackRef)(a),c=(0,aa.useThreadViewport)(a=>a.onScrollToBottom);(0,e.useEffect)(()=>c(b),[c,b])};var ac=a.i(627132);let ad=(0,e.forwardRef)(({autoFocus:a=!1,asChild:b,disabled:c,onChange:g,onKeyDown:h,onPaste:i,submitOnEnter:j,submitMode:k,cancelOnEscape:l=!0,unstable_focusOnRunStart:n=!0,unstable_focusOnScrollToBottom:p=!0,unstable_focusOnThreadSwitched:q=!0,addAttachmentOnPaste:s=!0,...t},u)=>{let v=(0,m.useAui)(),w=k??(!1===j?"none":"enter"),y=o(a=>a.composer.isEditing?a.composer.text:""),z=b?G.Slot.Root:$,A=o(a=>a.thread.isDisabled||a.composer.dictation?.inputDisabled)||c,B=(0,e.useRef)(null),C=(0,f.useComposedRefs)(u,B);(0,x.useEscapeKeydown)(a=>{if(!l||!B.current?.contains(a.target))return;let b=v.composer();b.getState().canCancel&&(b.cancel(),a.preventDefault())});let D=async a=>{if(!s)return;let b=v.thread().getState().capabilities,c=Array.from(a.clipboardData?.files||[]);if(b.attachments&&c.length>0)try{a.preventDefault(),await Promise.all(c.map(a=>v.composer().addAttachment(a)))}catch(a){console.error("Error adding attachment:",a)}},E=a&&!A,F=(0,e.useCallback)(()=>{let a=B.current;a&&E&&(a.focus({preventScroll:!0}),a.setSelectionRange(a.value.length,a.value.length))},[E]);return(0,e.useEffect)(()=>F(),[F]),ab(()=>{"thread"===v.composer().getState().type&&p&&F()}),(0,e.useEffect)(()=>{if("thread"===v.composer().getState().type&&n)return v.on("thread.runStart",F)},[n,F,v]),(0,e.useEffect)(()=>{if("thread"===v.composer().getState().type&&q)return v.on("threadListItem.switchedTo",F)},[q,F,v]),(0,d.jsx)(z,{name:"input",value:y,...t,ref:C,disabled:A,onChange:(0,r.composeEventHandlers)(g,a=>{v.composer().getState().isEditing&&(0,ac.flushResourcesSync)(()=>{v.composer().setText(a.target.value)})}),onKeyDown:(0,r.composeEventHandlers)(h,a=>{if(!A&&!a.nativeEvent.isComposing&&"Enter"===a.key&&!a.shiftKey){if(v.thread().getState().isRunning)return;let b=!1;"ctrlEnter"===w?b=a.ctrlKey||a.metaKey:"enter"===w&&(b=!0),b&&(a.preventDefault(),B.current?.closest("form")?.requestSubmit())}}),onPaste:(0,r.composeEventHandlers)(i,D)})});ad.displayName="ComposerPrimitive.Input";let ae=t("ComposerPrimitive.Cancel",()=>{let a,b,{disabled:c,cancel:d}=(a=(0,m.useAui)(),b=o(a=>!a.composer.canCancel),{cancel:(0,e.useCallback)(()=>{a.composer().cancel()},[a]),disabled:b});return c?null:d}),af=t("ComposerPrimitive.AddAttachment",({multiple:a=!0}={})=>{let b,c,{disabled:d,addAttachment:f}=(b=(0,m.useAui)(),c=o(a=>!a.composer.isEditing),{addAttachment:(0,e.useCallback)(a=>b.composer().addAttachment(a),[b]),disabled:c}),g=(0,m.useAui)(),h=(0,e.useCallback)(()=>{let b=document.createElement("input");b.type="file",b.multiple=a,b.hidden=!0;let c=g.composer().getState().attachmentAccept;"*"!==c&&(b.accept=c),document.body.appendChild(b),b.onchange=a=>{let c=a.target.files;if(c){for(let a of c)f(a);document.body.removeChild(b)}},b.oncancel=()=>{b.files&&0!==b.files.length||document.body.removeChild(b)},b.click()},[g,a,f]);return d?null:h},["multiple"]),ag=Object.freeze({});function ah({getItemState:a,children:b}){let c,d;return ai(b((c=(0,m.useAui)(),d=(0,e.useRef)(void 0),o(()=>(void 0===d.current&&(d.current=a(c)),d.current)),()=>(d.current=void 0,a(c)))))}let ai=a=>{let b="object"==typeof a&&null!=a&&"type"in a?a:null,c=b?.type,d=b?.key,f="object"==typeof b?.props&&null!=b.props&&0===Object.entries(b.props).length?ag:b?.props;return(0,e.useMemo)(()=>b,[c,d,f])??a};var aj=a.i(320191),ak=a.i(180772);let al=({index:a,children:b})=>{let c=(0,m.useAui)({attachment:(0,ak.Derived)({source:"message",query:{type:"index",index:a},get:b=>b.message().attachment({index:a})})});return(0,d.jsx)(aj.AuiProvider,{value:c,children:b})},am=({index:a,children:b})=>{let c=(0,m.useAui)({attachment:(0,ak.Derived)({source:"composer",query:{type:"index",index:a},get:b=>b.composer().attachment({index:a})})});return(0,d.jsx)(aj.AuiProvider,{value:c,children:b})},an=(a,b)=>{switch(b.type){case"image":return a?.Image??a?.Attachment;case"document":return a?.Document??a?.Attachment;case"file":return a?.File??a?.Attachment;default:return a?.Attachment}},ao=({components:a})=>{let b=o(a=>a.attachment);if(!b)return null;let c=an(a,b);return c?(0,d.jsx)(c,{}):null},ap=(0,e.memo)(({index:a,components:b})=>(0,d.jsx)(am,{index:a,children:(0,d.jsx)(ao,{components:b})}),(a,b)=>a.index===b.index&&a.components?.Image===b.components?.Image&&a.components?.Document===b.components?.Document&&a.components?.File===b.components?.File&&a.components?.Attachment===b.components?.Attachment);ap.displayName="ComposerPrimitive.AttachmentByIndex";let aq=({children:a})=>{let b=o(a=>a.composer.attachments.length);return(0,e.useMemo)(()=>Array.from({length:b},(b,c)=>(0,d.jsx)(am,{index:c,children:(0,d.jsx)(ah,{getItemState:a=>a.composer().attachment({index:c}).getState(),children:b=>a({get attachment(){return b()}})})},c)),[b,a])},ar=({components:a,children:b})=>a?(0,d.jsx)(aq,{children:({attachment:b})=>{let c=an(a,b);return c?(0,d.jsx)(c,{}):null}}):(0,d.jsx)(aq,{children:b});ar.displayName="ComposerPrimitive.Attachments";let as=(0,e.forwardRef)(({disabled:a,asChild:b=!1,children:c,...f},g)=>{let[h,i]=(0,e.useState)(!1),j=(0,m.useAui)(),k=(0,e.useCallback)(b=>{a||(b.preventDefault(),i(!0))},[a]),l=(0,e.useCallback)(b=>{!a&&(b.preventDefault(),h||i(!0))},[a,h]),n=(0,e.useCallback)(b=>{if(a)return;b.preventDefault();let c=b.relatedTarget;c&&b.currentTarget.contains(c)||i(!1)},[a]),o=(0,e.useCallback)(async b=>{if(!a)for(let a of(b.preventDefault(),i(!1),b.dataTransfer.files))try{await j.composer().addAttachment(a)}catch(a){console.error("Failed to add attachment:",a)}},[a,j]),p=b?G.Slot.Root:"div";return(0,d.jsx)(p,{...h?{"data-dragging":"true"}:null,ref:g,onDragEnterCapture:k,onDragOverCapture:l,onDragLeaveCapture:n,onDropCapture:o,...f,children:c})});as.displayName="ComposerPrimitive.AttachmentDropzone";let at=t("ComposerPrimitive.Dictate",()=>{let a,b,{disabled:c,startDictation:d}=(a=(0,m.useAui)(),b=o(a=>null!=a.composer.dictation||!a.thread.capabilities.dictation||!a.composer.isEditing),{startDictation:(0,e.useCallback)(()=>{a.composer().startDictation()},[a]),disabled:b});return c?null:d}),au=t("ComposerPrimitive.StopDictation",()=>{let a=(0,m.useAui)(),b=o(a=>null!=a.composer.dictation),c=(0,e.useCallback)(()=>{a.composer().stopDictation()},[a]);return b?c:null}),av=(0,e.forwardRef)(({children:a,...b},c)=>{let e=o(a=>a.composer.dictation?.transcript);return e?(0,d.jsx)(l.span,{...b,ref:c,children:a??e}):null});av.displayName="ComposerPrimitive.DictationTranscript";let aw=({children:a,...b})=>o(a=>{if(!0===b.editing&&!a.composer.isEditing||!1===b.editing&&a.composer.isEditing)return!1;let c=null!=a.composer.dictation;return(!0!==b.dictation||!!c)&&(!1!==b.dictation||!c)})?a:null;aw.displayName="ComposerPrimitive.If";let ax=(0,e.forwardRef)((a,b)=>o(a=>a.composer.quote)?(0,d.jsx)(l.div,{...a,ref:b}):null);ax.displayName="ComposerPrimitive.Quote";let ay=(0,e.forwardRef)(({children:a,...b},c)=>{let e=o(a=>a.composer.quote?.text);return e?(0,d.jsx)(l.span,{...b,ref:c,children:a??e}):null});ay.displayName="ComposerPrimitive.QuoteText";let az=(0,e.forwardRef)(({onClick:a,...b},c)=>{let f=(0,m.useAui)(),g=(0,e.useCallback)(()=>{f.composer().setQuote(void 0)},[f]);return(0,d.jsx)(l.button,{type:"button",...b,ref:c,onClick:(0,r.composeEventHandlers)(a,g)})});az.displayName="ComposerPrimitive.QuoteDismiss",a.s(["AddAttachment",0,af,"AttachmentByIndex",0,ap,"AttachmentDropzone",0,as,"Attachments",0,ar,"Cancel",0,ae,"Dictate",0,at,"DictationTranscript",0,av,"If",0,aw,"Input",0,ad,"Quote",0,ax,"QuoteDismiss",0,az,"QuoteText",0,ay,"Root",0,F,"Send",0,E,"StopDictation",0,au],920267);var aA=a.i(920267);a.s(["ComposerPrimitive",0,aA],385047),a.s([],528331),a.i(528331);let aB=a=>{let b=(0,e.useRef)(void 0);return(0,e.useCallback)(c=>{b.current&&b.current(),c&&(b.current=a(c))},[a])},aC=(a,b)=>aB((0,e.useCallback)(c=>{if(!a)return;let d=a(),e=()=>{let a=b?b(c):c.offsetHeight;d.setHeight(a)},f=new ResizeObserver(e);return f.observe(c),e(),()=>{f.disconnect(),d.unregister()}},[a,b])),aD=(0,e.createContext)(!1),aE=(a,b)=>{let c=a.match(/^([\d.]+)(em|px|rem)$/);if(!c)return 0;let d=parseFloat(c[1]),e=c[2];return"px"===e?d:"em"===e?d*(parseFloat(getComputedStyle(b).fontSize)||16):"rem"===e?d*(parseFloat(getComputedStyle(document.documentElement).fontSize)||16):0},aF=({children:a,fillClampThreshold:b="10em",fillClampOffset:c="6em"})=>{let f=o(a=>a.message.isLast&&"assistant"===a.message.role&&a.message.index>=1&&a.thread.messages.at(a.message.index-1)?.role==="user"),g=(0,aa.useThreadViewportStore)({optional:!0}),h=(0,e.useContext)(aD),i=aB((0,e.useCallback)(a=>{if(!g||h)return;let d=()=>{let d=g.getState();if("top"===d.turnAnchor&&f){let{viewport:e,inset:f,userMessage:g}=d.height,h=aE(b,a),i=aE(c,a),j=Math.max(0,e-f-(g<=h?g:i));a.style.minHeight=`${j}px`,a.style.flexShrink="0",a.style.transition="min-height 0s"}else a.style.minHeight="",a.style.flexShrink="",a.style.transition=""};return d(),g.subscribe(d)},[g,f,h,b,c]));return(0,d.jsx)(aD.Provider,{value:!0,children:(0,d.jsx)(G.Slot.Root,{ref:i,children:a})})};aF.displayName="ThreadPrimitive.ViewportSlack";let aG=(0,e.forwardRef)((a,b)=>{let c,g,h,i,j=(c=(0,m.useAui)(),g=o(()=>c.message()),aB((0,e.useCallback)(a=>{let b=()=>{g.setIsHovering(!0)},c=()=>{g.setIsHovering(!1)};return a.addEventListener("mouseenter",b),a.addEventListener("mouseleave",c),a.matches(":hover")&&queueMicrotask(()=>g.setIsHovering(!0)),()=>{a.removeEventListener("mouseenter",b),a.removeEventListener("mouseleave",c),g.setIsHovering(!1)}},[g]))),k=(h=(0,aa.useThreadViewport)(a=>a.turnAnchor),i=(0,aa.useThreadViewport)(a=>a.registerUserMessageHeight),aC(o(a=>"top"===h&&"user"===a.message.role&&a.message.index===a.thread.messages.length-2&&a.thread.messages.at(-1)?.role==="assistant")?i:null,(0,e.useCallback)(a=>a.offsetHeight,[]))),n=(0,f.useComposedRefs)(b,j,k),p=o(a=>a.message.id);return(0,d.jsx)(aF,{children:(0,d.jsx)(l.div,{...a,ref:n,"data-message-id":p})})});aG.displayName="MessagePrimitive.Root";let aH=({index:a,children:b})=>{let c=(0,m.useAui)({part:(0,ak.Derived)({source:"message",query:{type:"index",index:a},get:b=>b.message().part({index:a})})});return(0,d.jsx)(aj.AuiProvider,{value:c,children:b})};var aI=a.i(643361),aJ=a.i(611959);let aK=(0,aI.resource)(({text:a,isRunning:b})=>{let c=(0,aJ.tapMemo)(()=>({type:"text",text:a,status:b?{type:"running"}:{type:"complete"}}),[a,b]);return{getState:()=>c,addToolResult:()=>{throw Error("Not supported")},resumeToolCall:()=>{throw Error("Not supported")}}}),aL=({text:a,isRunning:b=!1,children:c})=>{let e=(0,m.useAui)({part:aK({text:a,isRunning:b})});return(0,d.jsx)(aj.AuiProvider,{value:e,children:c})};var aM=a.i(602906);let aN=Object.freeze({type:"complete"}),aO=(0,aI.resource)(({parts:a,getMessagePart:b})=>{let[c,d]=(0,aM.tapState)(!0),e=(0,aJ.tapMemo)(()=>{let b=a[a.length-1];return b?.status??aN},[a]),f=(0,aJ.tapMemo)(()=>({parts:a,collapsed:c,status:e}),[a,c,e]);return{getState:()=>f,setCollapsed:d,part:b}}),aP=({startIndex:a,endIndex:b,children:c})=>{let e=o(a=>a.message.parts).slice(a,b+1),f=(0,m.useAui)(),g=(0,m.useAui)({chainOfThought:aO({parts:e,getMessagePart:({index:b})=>{if(b<0||b>=e.length)throw Error(`ChainOfThought part index ${b} is out of bounds (0..${e.length-1})`);return f.message().part({index:a+b})}})});return(0,d.jsx)(aj.AuiProvider,{value:g,children:c})},aQ=a=>{let b=a.message.metadata;if(b&&"object"==typeof b)return b.custom?.quote},aR=(a,b)=>{let c=a instanceof Map?a:new Map(a.entries()),d=b instanceof Map?b:new Map(b.entries());if(c.size!==d.size)return!1;for(let[a,b]of c)if(!d.has(a)||!Object.is(b,d.get(a)))return!1;return!0},aS=a=>{let b=-1;return{startGroup:a=>{-1===b&&(b=a)},endGroup:(c,d)=>{-1!==b&&(d.push({type:a,startIndex:b,endIndex:c}),b=-1)},finalize:(c,d)=>{-1!==b&&d.push({type:a,startIndex:b,endIndex:c})}}},aT=({Fallback:a,...b})=>{let c=o(c=>{let d=c.tools.tools[b.toolName]??a;return Array.isArray(d)?d[0]??a:d});return c?(0,d.jsx)(c,{...b}):null},aU=({Fallback:a,...b})=>{let c=o(c=>{let d=c.dataRenderers.renderers[b.name]??a;return Array.isArray(d)?d[0]??a:d});return c?(0,d.jsx)(c,{...b}):null},aV={Text:()=>null,Reasoning:()=>null,Source:()=>null,Image:()=>null,File:()=>null,Unstable_Audio:()=>null,ToolGroup:({children:a})=>a,ReasoningGroup:({children:a})=>a},aW=({components:{Text:a=aV.Text,Reasoning:b=aV.Reasoning,Image:c=aV.Image,Source:e=aV.Source,File:f=aV.File,Unstable_Audio:g=aV.Unstable_Audio,tools:h={},data:i}={}})=>{let j=(0,m.useAui)(),k=o(a=>a.part),l=k.type;if("tool-call"===l){let a=j.part().addToolResult,b=j.part().resumeToolCall;if("Override"in h)return(0,d.jsx)(h.Override,{...k,addResult:a,resume:b});let c=h.by_name?.[k.toolName]??h.Fallback;return(0,d.jsx)(aT,{...k,Fallback:c,addResult:a,resume:b})}if(k.status?.type==="requires-action")throw Error("Encountered unexpected requires-action status");switch(l){case"text":return(0,d.jsx)(a,{...k});case"reasoning":return(0,d.jsx)(b,{...k});case"source":return(0,d.jsx)(e,{...k});case"image":return(0,d.jsx)(c,{...k});case"file":return(0,d.jsx)(f,{...k});case"audio":return(0,d.jsx)(g,{...k});case"data":{let a=i?.by_name?.[k.name]??i?.Fallback;return(0,d.jsx)(aU,{...k,Fallback:a})}default:return console.warn(`Unknown message part type: ${l}`),null}},aX=(0,e.memo)(({index:a,components:b})=>(0,d.jsx)(aH,{index:a,children:(0,d.jsx)(aW,{components:b})}),(a,b)=>a.index===b.index&&a.components?.Text===b.components?.Text&&a.components?.Reasoning===b.components?.Reasoning&&a.components?.Source===b.components?.Source&&a.components?.Image===b.components?.Image&&a.components?.File===b.components?.File&&a.components?.Unstable_Audio===b.components?.Unstable_Audio&&a.components?.tools===b.components?.tools&&a.components?.data===b.components?.data&&a.components?.ToolGroup===b.components?.ToolGroup&&a.components?.ReasoningGroup===b.components?.ReasoningGroup);aX.displayName="MessagePrimitive.PartByIndex";let aY=({status:a,component:b})=>(0,d.jsx)(aL,{text:"",isRunning:"running"===a.type,children:(0,d.jsx)(b,{type:"text",text:"",status:a})}),aZ=Object.freeze({type:"complete"}),a$=(0,e.memo)(({components:a})=>{let b=o(a=>a.message.status??aZ);return a?.Empty?(0,d.jsx)(a.Empty,{status:b}):(0,d.jsx)(aY,{status:b,component:a?.Text??aV.Text})},(a,b)=>a.components?.Empty===b.components?.Empty&&a.components?.Text===b.components?.Text),a_=(0,e.memo)(({components:a,enabled:b})=>o(a=>{if(!b||0===a.message.parts.length)return!1;let c=a.message.parts[a.message.parts.length-1];return c?.type!=="text"&&c?.type!=="reasoning"})?(0,d.jsx)(a$,{components:a}):null,(a,b)=>a.enabled===b.enabled&&a.components?.Empty===b.components?.Empty&&a.components?.Text===b.components?.Text),a0=(0,e.memo)(({Quote:a})=>{let b=o(aQ);return b?(0,d.jsx)(a,{text:b.text,messageId:b.messageId}):null}),a1=()=>{let a=(0,m.useAui)(),b=o(a=>a.part),c=o(a=>{if("tool-call"!==a.part.type)return null;let b=a.tools.tools[a.part.toolName];return Array.isArray(b)?b[0]??null:b??null});return c&&"tool-call"===b.type?(0,d.jsx)(c,{...b,addResult:a.part().addToolResult,resume:a.part().resumeToolCall}):null},a2=()=>{let a=o(a=>a.part),b=o(a=>{if("data"!==a.part.type)return null;let b=a.dataRenderers.renderers[a.part.name];return Array.isArray(b)?b[0]??null:b??null});return b&&"data"===a.type?(0,d.jsx)(b,{...a}):null},a3=()=>{let a=o(a=>a.part.type);return"tool-call"===a?(0,d.jsx)(a1,{}):"data"===a?(0,d.jsx)(a2,{}):null},a4=({children:a})=>{let b=(0,m.useAui)(),c=o(a=>a.message.parts.length);return(0,e.useMemo)(()=>Array.from({length:c},(c,e)=>(0,d.jsx)(aH,{index:e,children:(0,d.jsx)(ah,{getItemState:a=>a.message().part({index:e}).getState(),children:c=>{let f=a({get part(){let a=c();if("tool-call"===a.type){let c=b.tools().getState().tools[a.toolName],f=Array.isArray(c)?!!c[0]:!!c,g=b.message().part({index:e});return{...a,toolUI:f?(0,d.jsx)(a1,{}):null,addResult:g.addToolResult,resume:g.resumeToolCall}}if("data"===a.type){let c=b.dataRenderers().getState().renderers[a.name],e=Array.isArray(c)?!!c[0]:!!c;return{...a,dataRendererUI:e?(0,d.jsx)(a2,{}):null}}return a}});return null!==f?f:(0,d.jsx)(a3,{})}})},e)),[c,a])},a5=({components:a,unstable_showEmptyOnNonTextEnd:b=!0,children:c})=>c?(0,d.jsx)(a4,{children:c}):(0,d.jsx)(a6,{components:a,unstable_showEmptyOnNonTextEnd:b});a5.displayName="MessagePrimitive.Parts";let a6=({components:a,unstable_showEmptyOnNonTextEnd:b})=>{var c,f;let g,h,i=o(a=>a.message.parts.length),j=(c=!!a?.ChainOfThought,h=o((f=a=>a.message.parts.map(a=>a.type),g=e.default.useRef(void 0),a=>{let b=f(a);return!function(a,b){if(Object.is(a,b))return!0;if("object"!=typeof a||null===a||"object"!=typeof b||null===b||Object.getPrototypeOf(a)!==Object.getPrototypeOf(b))return!1;if(Symbol.iterator in a&&Symbol.iterator in b){if("entries"in a&&"entries"in b)return aR(a,b);let c=a[Symbol.iterator](),d=b[Symbol.iterator](),e=c.next(),f=d.next();for(;!e.done&&!f.done;){if(!Object.is(e.value,f.value))return!1;e=c.next(),f=d.next()}return!!e.done&&!!f.done}return aR({entries:()=>Object.entries(a)},{entries:()=>Object.entries(b)})}(g.current,b)?g.current=b:g.current})),(0,e.useMemo)(()=>0===h.length?[]:((a,b)=>{let c=[];if(b){let b=aS("chainOfThoughtGroup");for(let d=0;d<a.length;d++){let e=a[d];"tool-call"===e||"reasoning"===e?b.startGroup(d):(b.endGroup(d-1,c),c.push({type:"single",index:d}))}b.finalize(a.length-1,c)}else{let b=aS("toolGroup"),d=aS("reasoningGroup");for(let e=0;e<a.length;e++){let f=a[e];"tool-call"===f?(d.endGroup(e-1,c),b.startGroup(e)):"reasoning"===f?(b.endGroup(e-1,c),d.startGroup(e)):(b.endGroup(e-1,c),d.endGroup(e-1,c),c.push({type:"single",index:e}))}b.finalize(a.length-1,c),d.finalize(a.length-1,c)}return c})(h,c),[h,c])),k=(0,e.useMemo)(()=>0===i?(0,d.jsx)(a$,{components:a}):j.map(b=>{if("single"===b.type)return(0,d.jsx)(aX,{index:b.index,components:a},b.index);if("chainOfThoughtGroup"===b.type){let c=a?.ChainOfThought;return c?(0,d.jsx)(aP,{startIndex:b.startIndex,endIndex:b.endIndex,children:(0,d.jsx)(c,{})},`chainOfThought-${b.startIndex}`):null}if("toolGroup"===b.type){let c=a?.ToolGroup??aV.ToolGroup;return(0,d.jsx)(c,{startIndex:b.startIndex,endIndex:b.endIndex,children:Array.from({length:b.endIndex-b.startIndex+1},(c,e)=>(0,d.jsx)(aX,{index:b.startIndex+e,components:a},e))},`tool-${b.startIndex}`)}{let c=a?.ReasoningGroup??aV.ReasoningGroup;return(0,d.jsx)(c,{startIndex:b.startIndex,endIndex:b.endIndex,children:Array.from({length:b.endIndex-b.startIndex+1},(c,e)=>(0,d.jsx)(aX,{index:b.startIndex+e,components:a},e))},`reasoning-${b.startIndex}`)}}),[j,a,i]);return(0,d.jsxs)(d.Fragment,{children:[a?.Quote&&(0,d.jsx)(a0,{Quote:a.Quote}),k,(0,d.jsx)(a_,{components:a,enabled:b})]})};a.i(230657);var a7=a.i(403132);let a8=(0,e.createContext)(null),{useSmoothStatus:a9,useSmoothStatusStore:ba}=(0,a7.createContextStoreHook)(function(a){let b=(0,e.useContext)(a8);if(!a?.optional&&!b)throw Error("This component must be used within a SmoothContextProvider.");return b},"useSmoothStatus");var bb=a.i(674302);class bc{currentText;setText;animationFrameId=null;lastUpdateTime=Date.now();targetText="";constructor(a,b){this.currentText=a,this.setText=b}start(){null===this.animationFrameId&&(this.lastUpdateTime=Date.now(),this.animate())}stop(){null!==this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null)}animate=()=>{let a=Date.now(),b=a-this.lastUpdateTime,c=this.targetText.length-this.currentText.length,d=Math.min(5,250/c),e=0;for(;b>=d&&e<c;)e++,b-=d;e!==c?this.animationFrameId=requestAnimationFrame(this.animate):this.animationFrameId=null,0!==e&&(this.currentText=this.targetText.slice(0,this.currentText.length+e),this.lastUpdateTime=a-b,this.setText(this.currentText))}}let bd=Object.freeze({type:"running"}),be=(0,e.forwardRef)(({smooth:a=!0,component:b="span",...c},f)=>{let{text:g,status:h}=((a,b=!1)=>{let{text:c}=a,d=o(a=>a.message.id),f=(0,e.useRef)(d),[g,h]=(0,e.useState)("running"===a.status.type?"":c),i=ba({optional:!0}),j=(0,_.useCallbackRef)(b=>{if(h(b),i){let c=g!==b||"running"===a.status.type?bd:a.status;(0,bb.writableStore)(i).setState(c,!0)}});(0,e.useEffect)(()=>{if(i){let d=b&&(g!==c||"running"===a.status.type)?bd:a.status;(0,bb.writableStore)(i).setState(d,!0)}},[i,b,c,g,a.status]);let[k]=(0,e.useState)(new bc(g,j));return(0,e.useEffect)(()=>{if(!b)return void k.stop();if(f.current!==d||!c.startsWith(k.targetText)){f.current=d,"running"===a.status.type?(j(""),k.currentText="",k.targetText=c,k.start()):(j(c),k.currentText=c,k.targetText=c,k.stop());return}k.targetText=c,k.start()},[j,k,d,b,c,a.status.type]),(0,e.useEffect)(()=>()=>{k.stop()},[k]),(0,e.useMemo)(()=>b?{type:"text",text:g,status:c===g?a.status:bd}:a,[b,g,a,c])})(o(a=>{if("text"!==a.part.type&&"reasoning"!==a.part.type)throw Error("MessagePartText can only be used inside text or reasoning message parts.");return a.part}),a);return(0,d.jsx)(b,{"data-status":h.type,...c,ref:f,children:g})});be.displayName="MessagePartPrimitive.Text";let bf=(0,e.forwardRef)((a,b)=>{let{image:c}=o(a=>{if("image"!==a.part.type)throw Error("MessagePartImage can only be used inside image message parts.");return a.part});return(0,d.jsx)(l.img,{src:c,...a,ref:b})});bf.displayName="MessagePartPrimitive.Image";let bg=({children:a})=>o(a=>"running"===a.part.status.type)?a:null;bg.displayName="MessagePartPrimitive.InProgress";let bh={...aV,Text:()=>(0,d.jsxs)("p",{style:{whiteSpace:"pre-line"},children:[(0,d.jsx)(be,{}),(0,d.jsx)(bg,{children:(0,d.jsx)("span",{style:{fontFamily:"revert"},children:" ●"})})]}),Image:()=>(0,d.jsx)(bf,{})},bi=a=>{if("children"in a)return(0,d.jsx)(a5,{children:a.children});let{components:b,...c}=a,e=b?{Text:b.Text??bh.Text,Image:b.Image??bh.Image,Reasoning:b.Reasoning??aV.Reasoning,Source:b.Source??aV.Source,File:b.File??aV.File,Unstable_Audio:b.Unstable_Audio??aV.Unstable_Audio,..."ChainOfThought"in b?{ChainOfThought:b.ChainOfThought}:{tools:b.tools,data:b.data,ToolGroup:b.ToolGroup??aV.ToolGroup,ReasoningGroup:b.ReasoningGroup??aV.ReasoningGroup},Empty:b.Empty,Quote:b.Quote}:bh;return(0,d.jsx)(a5,{components:e,...c})};bi.displayName="MessagePrimitive.Parts";let bj=({children:a,...b})=>o(a=>{let{role:c,attachments:d,parts:e,branchCount:f,isLast:g,speech:h,isCopied:i,isHovering:j}=a.message;return!(!0===b.hasBranches&&f<2||b.user&&"user"!==c||b.assistant&&"assistant"!==c||b.system&&"system"!==c||!0===b.lastOrHover&&!j&&!g||void 0!==b.last&&b.last!==g||!0===b.copied&&!i||!1===b.copied&&i||!0===b.speaking&&null==h||!1===b.speaking&&null!=h||!0===b.hasAttachments&&("user"!==c||!d?.length)||!1===b.hasAttachments&&"user"===c&&d?.length)&&(!0!==b.hasContent||0!==e.length)&&(!1!==b.hasContent||!(e.length>0))&&(void 0===b.submittedFeedback||(a.message.metadata.submittedFeedback?.type??null)===b.submittedFeedback)})?a:null;bj.displayName="MessagePrimitive.If";let bk=(a,b)=>{switch(b.type){case"image":return a?.Image??a?.Attachment;case"document":return a?.Document??a?.Attachment;case"file":return a?.File??a?.Attachment;default:return a?.Attachment}},bl=({components:a})=>{let b=o(a=>a.attachment);if(!b)return null;let c=bk(a,b);return c?(0,d.jsx)(c,{}):null},bm=(0,e.memo)(({index:a,components:b})=>(0,d.jsx)(al,{index:a,children:(0,d.jsx)(bl,{components:b})}),(a,b)=>a.index===b.index&&a.components?.Image===b.components?.Image&&a.components?.Document===b.components?.Document&&a.components?.File===b.components?.File&&a.components?.Attachment===b.components?.Attachment);bm.displayName="MessagePrimitive.AttachmentByIndex";let bn=({children:a})=>{let b=o(a=>"user"!==a.message.role?0:a.message.attachments.length);return(0,e.useMemo)(()=>Array.from({length:b},(b,c)=>(0,d.jsx)(al,{index:c,children:(0,d.jsx)(ah,{getItemState:a=>a.message().attachment({index:c}).getState(),children:b=>a({get attachment(){return b()}})})},c)),[b,a])},bo=({components:a,children:b})=>a?(0,d.jsx)(bn,{children:({attachment:b})=>{let c=bk(a,b);return c?(0,d.jsx)(c,{}):null}}):(0,d.jsx)(bn,{children:b});bo.displayName="MessagePrimitive.Attachments";let bp=(0,e.memo)(({children:a})=>{let b=o(aQ);return b?(0,d.jsx)(d.Fragment,{children:a(b)}):null});bp.displayName="MessagePrimitive.Quote";let bq=({children:a})=>void 0!==o(a=>a.message.status?.type==="incomplete"&&"error"===a.message.status.reason?a.message.status.error??"An error occurred":void 0)?a:null;bq.displayName="MessagePrimitive.Error";let br=a=>{let b=new Map;for(let c=0;c<a.length;c++){let d=a[c],e=d?.parentId??`__ungrouped_${c}`,f=b.get(e)??[];f.push(c),b.set(e,f)}let c=[];for(let[a,d]of b){let b=a.startsWith("__ungrouped_")?void 0:a;c.push({groupKey:b,indices:d})}return c},bs=({Fallback:a,...b})=>{let c=o(c=>{let d=c.tools.tools[b.toolName]??a;return Array.isArray(d)?d[0]??a:d});return c?(0,d.jsx)(c,{...b}):null},bt=({Fallback:a,...b})=>{let c=o(c=>{let d=c.dataRenderers.renderers[b.name]??a;return Array.isArray(d)?d[0]??a:d});return c?(0,d.jsx)(c,{...b}):null},bu=()=>(0,d.jsxs)("p",{style:{whiteSpace:"pre-line"},children:[(0,d.jsx)(be,{}),(0,d.jsx)(bg,{children:(0,d.jsx)("span",{style:{fontFamily:"revert"},children:" ●"})})]}),bv=()=>null,bw=()=>null,bx=()=>(0,d.jsx)(bf,{}),by=()=>null,bz=()=>null,bA=({children:a})=>a,bB=({components:{Text:a=bu,Reasoning:b=bv,Image:c=bx,Source:e=bw,File:f=by,Unstable_Audio:g=bz,tools:h={},data:i}={}})=>{let j=(0,m.useAui)(),k=o(a=>a.part),l=k.type;if("tool-call"===l){let a=j.part().addToolResult,b=j.part().resumeToolCall;if("Override"in h)return(0,d.jsx)(h.Override,{...k,addResult:a,resume:b});let c=h.by_name?.[k.toolName]??h.Fallback;return(0,d.jsx)(bs,{...k,Fallback:c,addResult:a,resume:b})}if(k.status?.type==="requires-action")throw Error("Encountered unexpected requires-action status");switch(l){case"text":return(0,d.jsx)(a,{...k});case"reasoning":return(0,d.jsx)(b,{...k});case"source":return(0,d.jsx)(e,{...k});case"image":return(0,d.jsx)(c,{...k});case"file":return(0,d.jsx)(f,{...k});case"audio":return(0,d.jsx)(g,{...k});case"data":{let a=i?.by_name?.[k.name]??i?.Fallback;return(0,d.jsx)(bt,{...k,Fallback:a})}default:return console.warn(`Unknown message part type: ${l}`),null}},bC=(0,e.memo)(({partIndex:a,components:b})=>(0,d.jsx)(aH,{index:a,children:(0,d.jsx)(bB,{components:b})}),(a,b)=>a.partIndex===b.partIndex&&a.components?.Text===b.components?.Text&&a.components?.Reasoning===b.components?.Reasoning&&a.components?.Source===b.components?.Source&&a.components?.Image===b.components?.Image&&a.components?.File===b.components?.File&&a.components?.Unstable_Audio===b.components?.Unstable_Audio&&a.components?.tools===b.components?.tools&&a.components?.data===b.components?.data&&a.components?.Group===b.components?.Group),bD=({status:a,component:b})=>(0,d.jsx)(aL,{text:"",isRunning:"running"===a.type,children:(0,d.jsx)(b,{type:"text",text:"",status:a})}),bE=Object.freeze({type:"complete"}),bF=(0,e.memo)(({components:a})=>{let b=o(a=>a.message.status??bE);return a?.Empty?(0,d.jsx)(a.Empty,{status:b}):(0,d.jsx)(bD,{status:b,component:a?.Text??bu})},(a,b)=>a.components?.Empty===b.components?.Empty&&a.components?.Text===b.components?.Text),bG=({groupingFunction:a,components:b})=>{let c,f=o(a=>a.message.parts.length),g=(c=o(a=>a.message.parts),(0,e.useMemo)(()=>0===c.length?[]:a(c),[c,a])),h=(0,e.useMemo)(()=>0===f?(0,d.jsx)(bF,{components:b}):g.map((a,c)=>{let e=b?.Group??bA;return(0,d.jsx)(e,{groupKey:a.groupKey,indices:a.indices,children:a.indices.map(a=>(0,d.jsx)(bC,{partIndex:a,components:b},a))},`group-${c}-${a.groupKey??"ungrouped"}`)}),[g,b,f]);return(0,d.jsx)(d.Fragment,{children:h})};bG.displayName="MessagePrimitive.Unstable_PartsGrouped";let bH=({components:a,...b})=>(0,d.jsx)(bG,{...b,components:a,groupingFunction:br});bH.displayName="MessagePrimitive.Unstable_PartsGroupedByParentId",a.s(["AttachmentByIndex",0,bm,"Attachments",0,bo,"Content",0,bi,"Error",0,bq,"If",0,bj,"PartByIndex",0,aX,"Parts",0,bi,"Quote",0,bp,"Root",0,aG,"Unstable_PartsGrouped",0,bG,"Unstable_PartsGroupedByParentId",0,bH],78965);var bI=a.i(78965);a.s(["MessagePrimitive",0,bI],795866),a.s([],373460),a.i(373460);let bJ=(0,e.forwardRef)((a,b)=>(0,d.jsx)(l.div,{...a,ref:b}));bJ.displayName="ThreadPrimitive.Root";let bK=({children:a})=>o(a=>a.thread.isEmpty)?a:null;bK.displayName="ThreadPrimitive.Empty";let bL=({children:a,...b})=>o(a=>(!0!==b.empty||!!a.thread.isEmpty)&&(!1!==b.empty||!a.thread.isEmpty)&&(!0!==b.running||!!a.thread.isRunning)&&(!1!==b.running||!a.thread.isRunning)&&(!0!==b.disabled||!!a.thread.isDisabled)&&(!1!==b.disabled||!a.thread.isDisabled)&&!0)?a:null;bL.displayName="ThreadPrimitive.If";let bM=e.default.createContext(!0);function bN(){throw Error("A function wrapped in useEffectEvent can't be called during rendering.")}let bO="use"in e.default?()=>{try{return e.default.use(bM)}catch{return!1}}:()=>!1;var bP=a.i(535035);let bQ=(a,b)=>{let c,d=(0,m.useAui)(),f=(c=e.default.useRef(bN),e.default.useInsertionEffect(()=>{c.current=b},[b]),(...a)=>(bO()&&bN(),(0,c.current)(...a))),{scope:g,event:h}=(0,bP.normalizeEventSelector)(a);(0,e.useEffect)(()=>d.on({scope:g,event:h},f),[d,g,h,f])};var bR=a.i(538010);let bS=(0,e.forwardRef)(({autoScroll:a,scrollToBottomOnRunStart:b,scrollToBottomOnInitialize:c,scrollToBottomOnThreadSwitch:g,children:h,...i},j)=>{let k=(({autoScroll:a,scrollToBottomOnRunStart:b=!0,scrollToBottomOnInitialize:c=!0,scrollToBottomOnThreadSwitch:d=!0})=>{var g;let h,i=(0,e.useRef)(null),j=(0,aa.useThreadViewportStore)();void 0===a&&(a="top"!==j.getState().turnAnchor);let k=(0,e.useRef)(0),l=(0,e.useRef)(null),m=(0,e.useCallback)(a=>{let b=i.current;b&&(l.current=a,b.scrollTo({top:b.scrollHeight,behavior:a}))},[]),n=()=>{let a=i.current;if(!a)return;let b=j.getState().isAtBottom,c=1>Math.abs(a.scrollHeight-a.scrollTop-a.clientHeight)||a.scrollHeight<=a.clientHeight;!c&&k.current<a.scrollTop||(c&&(l.current=null),(c||null===l.current)&&c!==b&&(0,bb.writableStore)(j).setState({isAtBottom:c})),k.current=a.scrollTop},o=(g=()=>{let b=l.current;b?m(b):a&&j.getState().isAtBottom&&m("instant"),n()},h=(0,_.useCallbackRef)(g),aB((0,e.useCallback)(a=>{let b=new ResizeObserver(()=>{h()}),c=new MutationObserver(a=>{a.some(a=>"attributes"!==a.type||"style"!==a.attributeName)&&h()});return b.observe(a),c.observe(a,{childList:!0,subtree:!0,attributes:!0,characterData:!0}),()=>{b.disconnect(),c.disconnect()}},[h]))),p=aB(a=>(a.addEventListener("scroll",n),()=>{a.removeEventListener("scroll",n)}));return ab(({behavior:a})=>{m(a)}),bQ("thread.runStart",()=>{b&&(l.current="auto",requestAnimationFrame(()=>{m("auto")}))}),bQ("thread.initialize",()=>{c&&(l.current="instant",requestAnimationFrame(()=>{m("instant")}))}),bQ("threadListItem.switchedTo",()=>{d&&(l.current="instant",requestAnimationFrame(()=>{m("instant")}))}),(0,f.useComposedRefs)(o,p,i)})({autoScroll:a,scrollToBottomOnRunStart:b,scrollToBottomOnInitialize:c,scrollToBottomOnThreadSwitch:g}),m=aC((0,aa.useThreadViewport)(a=>a.registerViewport),(0,e.useCallback)(a=>a.clientHeight,[])),n=(0,f.useComposedRefs)(j,k,m);return(0,d.jsx)(l.div,{...i,ref:n,children:h})});bS.displayName="ThreadPrimitive.ViewportScrollable";let bT=(0,e.forwardRef)(({turnAnchor:a,...b},c)=>(0,d.jsx)(bR.ThreadPrimitiveViewportProvider,{options:{turnAnchor:a},children:(0,d.jsx)(bS,{...b,ref:c})}));bT.displayName="ThreadPrimitive.Viewport";let bU=(0,e.forwardRef)((a,b)=>{let c=aC((0,aa.useThreadViewport)(a=>a.registerContentInset),(0,e.useCallback)(a=>{let b=parseFloat(getComputedStyle(a).marginTop)||0;return a.offsetHeight+b},[])),g=(0,f.useComposedRefs)(b,c);return(0,d.jsx)(l.div,{...a,ref:g})});bU.displayName="ThreadPrimitive.ViewportFooter";let bV=({index:a,children:b})=>{let c=(0,m.useAui)({message:(0,ak.Derived)({source:"thread",query:{type:"index",index:a},get:b=>b.thread().message({index:a})}),composer:(0,ak.Derived)({source:"message",query:{},get:b=>b.thread().message({index:a}).composer()})});return(0,d.jsx)(aj.AuiProvider,{value:c,children:b})},bW=(a,b)=>a.Message===b.Message&&a.EditComposer===b.EditComposer&&a.UserEditComposer===b.UserEditComposer&&a.AssistantEditComposer===b.AssistantEditComposer&&a.SystemEditComposer===b.SystemEditComposer&&a.UserMessage===b.UserMessage&&a.AssistantMessage===b.AssistantMessage&&a.SystemMessage===b.SystemMessage,bX=()=>null,bY=({components:a})=>{let b=((a,b,c)=>{switch(b){case"user":if(c)return a.UserEditComposer??a.EditComposer??a.UserMessage??a.Message;return a.UserMessage??a.Message;case"assistant":if(c)return a.AssistantEditComposer??a.EditComposer??a.AssistantMessage??a.Message;return a.AssistantMessage??a.Message;case"system":if(c)return a.SystemEditComposer??a.EditComposer??a.SystemMessage??a.Message;return a.SystemMessage??a.Message??bX;default:throw Error(`Unknown message role: ${b}`)}})(a,o(a=>a.message.role),o(a=>a.message.composer.isEditing));return(0,d.jsx)(b,{})},bZ=(0,e.memo)(({index:a,components:b})=>(0,d.jsx)(bV,{index:a,children:(0,d.jsx)(bY,{components:b})}),(a,b)=>a.index===b.index&&bW(a.components,b.components));bZ.displayName="ThreadPrimitive.MessageByIndex";let b$=({children:a})=>{let b=o(a=>a.thread.messages.length);return(0,e.useMemo)(()=>0===b?null:Array.from({length:b},(b,c)=>(0,d.jsx)(bV,{index:c,children:(0,d.jsx)(ah,{getItemState:a=>a.thread().message({index:c}).getState(),children:b=>a({get message(){return b()}})})},c)),[b,a])},b_=({components:a,children:b})=>a?(0,d.jsx)(b$,{children:()=>(0,d.jsx)(bY,{components:a})}):(0,d.jsx)(b$,{children:b});b_.displayName="ThreadPrimitive.Messages";let b0=(0,e.memo)(b_,(a,b)=>a.children||b.children?a.children===b.children:bW(a.components,b.components)),b1=t("ThreadPrimitive.ScrollToBottom",({behavior:a}={})=>{let b=(0,aa.useThreadViewport)(a=>a.isAtBottom),c=(0,aa.useThreadViewportStore)(),d=(0,e.useCallback)(()=>{c.getState().scrollToBottom({behavior:a})},[c,a]);return b?null:d},["behavior"]),b2=t("ThreadPrimitive.Suggestion",({prompt:a,send:b,clearComposer:c,autoSend:d,method:f})=>{let{disabled:g,trigger:h}=(({prompt:a,send:b,clearComposer:c=!0})=>{let d=(0,m.useAui)(),f=o(a=>a.thread.isDisabled),g=b??!1;return{trigger:(0,e.useCallback)(()=>{let b=d.thread().getState().isRunning;if(g&&!b)d.thread().append({content:[{type:"text",text:a}],runConfig:d.composer().getState().runConfig}),c&&d.composer().setText("");else if(c)d.composer().setText(a);else{let b=d.composer().getState().text;d.composer().setText(b.trim()?`${b} ${a}`:a)}},[d,g,c,a]),disabled:f}})({prompt:a,send:b??d??!1,clearComposer:c});return g?null:h},["prompt","send","clearComposer","autoSend","method"]),b3=({index:a,children:b})=>{let c=(0,m.useAui)({suggestion:(0,ak.Derived)({source:"suggestions",query:{index:a},get:b=>b.suggestions().suggestion({index:a})})});return(0,d.jsx)(aj.AuiProvider,{value:c,children:b})},b4=({components:a})=>{let b=a.Suggestion;return(0,d.jsx)(b,{})},b5=(0,e.memo)(({index:a,components:b})=>(0,d.jsx)(b3,{index:a,children:(0,d.jsx)(b4,{components:b})}),(a,b)=>a.index===b.index&&a.components.Suggestion===b.components.Suggestion);b5.displayName="ThreadPrimitive.SuggestionByIndex";let b6=({children:a})=>{let b=o(a=>a.suggestions.suggestions.length);return(0,e.useMemo)(()=>0===b?null:Array.from({length:b},(b,c)=>(0,d.jsx)(b3,{index:c,children:(0,d.jsx)(ah,{getItemState:a=>a.suggestions().suggestion({index:c}).getState(),children:b=>a({get suggestion(){return b()}})})},c)),[b,a])},b7=({components:a,children:b})=>a?(0,d.jsx)(b6,{children:()=>(0,d.jsx)(b4,{components:a})}):(0,d.jsx)(b6,{children:b});b7.displayName="ThreadPrimitive.Suggestions";let b8=(0,e.memo)(b7,(a,b)=>a.children||b.children?a.children===b.children:a.components.Suggestion===b.components.Suggestion);a.s(["Empty",0,bK,"If",0,bL,"MessageByIndex",0,bZ,"Messages",0,b0,"Root",0,bJ,"ScrollToBottom",0,b1,"Suggestion",0,b2,"SuggestionByIndex",0,b5,"Suggestions",0,b8,"Viewport",0,bT,"ViewportFooter",0,bU,"ViewportProvider",()=>bR.ThreadPrimitiveViewportProvider,"ViewportSlack",0,aF],280443);var b9=a.i(280443);a.s(["ThreadPrimitive",0,b9],715015);function ca(a){return function(b){let c,d=!1;"function"==typeof b?c=b:b&&(d=!!b.optional,c=b.selector);let f=a({optional:d});return f?function(a,b=a=>a){a.__isBound||(a.__internal_bindMethods?.(),a.__isBound=!0);let c=(0,e.useSyncExternalStore)(a.subscribe,()=>b(a.getState()),()=>b(a.getState()));return(0,e.useDebugValue)(c),c}(f,c):null}}function cb(a){let b=(0,m.useAui)(),c=o(()=>b.message.source?b.message().__internal_getRuntime?.()??null:null);if(!c&&!a?.optional)throw Error("MessageRuntime is not available");return c}let cc=ca(cb);ca(a=>cb(a)?.composer??null),a.s(["useMessage",0,cc],178147)},252569,(a,b,c)=>{"use strict";let d="u">typeof Buffer,e=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,f=/"(?: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 g(a,b,c){null==c&&null!==b&&"object"==typeof b&&(c=b,b=void 0),d&&Buffer.isBuffer(a)&&(a=a.toString()),a&&65279===a.charCodeAt(0)&&(a=a.slice(1));let g=JSON.parse(a,b);if(null===g||"object"!=typeof g)return g;let i=c&&c.protoAction||"error",j=c&&c.constructorAction||"error";if("ignore"===i&&"ignore"===j)return g;if("ignore"!==i&&"ignore"!==j){if(!1===e.test(a)&&!1===f.test(a))return g}else if("ignore"!==i&&"ignore"===j){if(!1===e.test(a))return g}else if(!1===f.test(a))return g;return h(g,{protoAction:i,constructorAction:j,safe:c&&c.safe})}function h(a,{protoAction:b="error",constructorAction:c="error",safe:d}={}){let e=[a];for(;e.length;){let a=e;for(let f of(e=[],a)){if("ignore"!==b&&Object.prototype.hasOwnProperty.call(f,"__proto__")){if(!0===d)return null;if("error"===b)throw SyntaxError("Object contains forbidden prototype property");delete f.__proto__}if("ignore"!==c&&Object.prototype.hasOwnProperty.call(f,"constructor")&&null!==f.constructor&&"object"==typeof f.constructor&&Object.prototype.hasOwnProperty.call(f.constructor,"prototype")){if(!0===d)return null;if("error"===c)throw SyntaxError("Object contains forbidden prototype property");delete f.constructor}for(let a in f){let b=f[a];b&&"object"==typeof b&&e.push(b)}}}return a}function i(a,b,c){let{stackTraceLimit:d}=Error;Error.stackTraceLimit=0;try{return g(a,b,c)}finally{Error.stackTraceLimit=d}}b.exports=i,b.exports.default=i,b.exports.parse=i,b.exports.safeParse=function(a,b){let{stackTraceLimit:c}=Error;Error.stackTraceLimit=0;try{return g(a,b,{safe:!0})}catch{return}finally{Error.stackTraceLimit=c}},b.exports.scan=h},116579,316828,973068,446511,340095,135496,417518,834877,537444,871346,888730,a=>{"use strict";var b=a.i(556365),c=a.i(845207),d=a.i(547038),e=a.i(385047),f=a.i(795866),g=a.i(715015),h=a.i(178147),i=a.i(577610);function j(a,b){let c=String(a);if("string"!=typeof b)throw TypeError("Expected character");let d=0,e=c.indexOf(b);for(;-1!==e;)d++,e=c.indexOf(b,e+b.length);return d}var k=a.i(451949),l=a.i(89926),m=a.i(793295),n=a.i(472230);let o="phrasing",p=["autolink","link","image","label"];function q(a){this.enter({type:"link",title:null,url:"",children:[]},a)}function r(a){this.config.enter.autolinkProtocol.call(this,a)}function s(a){this.config.exit.autolinkProtocol.call(this,a)}function t(a){this.config.exit.data.call(this,a);let b=this.stack[this.stack.length-1];(0,k.ok)("link"===b.type),b.url="http://"+this.sliceSerialize(a)}function u(a){this.config.exit.autolinkEmail.call(this,a)}function v(a){this.exit(a)}function w(a){!function(a,b,c){let d=(0,n.convert)((c||{}).ignore||[]),e=function(a){let b=[];if(!Array.isArray(a))throw TypeError("Expected find and replace tuple or list of tuples");let c=!a[0]||Array.isArray(a[0])?a:[a],d=-1;for(;++d<c.length;){var e;let a=c[d];b.push(["string"==typeof(e=a[0])?RegExp(function(a){if("string"!=typeof a)throw TypeError("Expected a string");return a.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}(e),"g"):e,function(a){return"function"==typeof a?a:function(){return a}}(a[1])])}return b}(b),f=-1;for(;++f<e.length;)(0,m.visitParents)(a,"text",g);function g(a,b){let c,g=-1;for(;++g<b.length;){let a=b[g],e=c?c.children:void 0;if(d(a,e?e.indexOf(a):void 0,c))return;c=a}if(c)return function(a,b){let c=b[b.length-1],d=e[f][0],g=e[f][1],h=0,i=c.children.indexOf(a),j=!1,k=[];d.lastIndex=0;let l=d.exec(a.value);for(;l;){let c=l.index,e={index:l.index,input:l.input,stack:[...b,a]},f=g(...l,e);if("string"==typeof f&&(f=f.length>0?{type:"text",value:f}:void 0),!1===f?d.lastIndex=c+1:(h!==c&&k.push({type:"text",value:a.value.slice(h,c)}),Array.isArray(f)?k.push(...f):f&&k.push(f),h=c+l[0].length,j=!0),!d.global)break;l=d.exec(a.value)}return j?(h<a.value.length&&k.push({type:"text",value:a.value.slice(h)}),c.children.splice(i,1,...k)):k=[a],i+k.length}(a,b)}}(a,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,x],[/(?<=^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu,y]],{ignore:["link","linkReference"]})}function x(a,b,c,d,e){let f,g="";if(!z(e))return!1;if(/^w/i.test(b)&&(c=b+c,b="",g="http://"),(f=c.split(".")).length<2||f[f.length-1]&&(/_/.test(f[f.length-1])||!/[a-zA-Z\d]/.test(f[f.length-1]))||f[f.length-2]&&(/_/.test(f[f.length-2])||!/[a-zA-Z\d]/.test(f[f.length-2])))return!1;let h=function(a){let b=/[!"&'),.:;<>?\]}]+$/.exec(a);if(!b)return[a,void 0];a=a.slice(0,b.index);let c=b[0],d=c.indexOf(")"),e=j(a,"("),f=j(a,")");for(;-1!==d&&e>f;)a+=c.slice(0,d+1),d=(c=c.slice(d+1)).indexOf(")"),f++;return[a,c]}(c+d);if(!h[0])return!1;let i={type:"link",title:null,url:g+b+h[0],children:[{type:"text",value:b+h[0]}]};return h[1]?[i,{type:"text",value:h[1]}]:i}function y(a,b,c,d){return!(!z(d,!0)||/[-\d_]$/.test(c))&&{type:"link",title:null,url:"mailto:"+b+"@"+c,children:[{type:"text",value:b+"@"+c}]}}function z(a,b){let c=a.input.charCodeAt(a.index-1);return(0===a.index||(0,l.unicodeWhitespace)(c)||(0,l.unicodePunctuation)(c))&&(!b||47!==c)}var A=a.i(827810);function B(){this.buffer()}function C(a){this.enter({type:"footnoteReference",identifier:"",label:""},a)}function D(){this.buffer()}function E(a){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},a)}function F(a){let b=this.resume(),c=this.stack[this.stack.length-1];(0,k.ok)("footnoteReference"===c.type),c.identifier=(0,A.normalizeIdentifier)(this.sliceSerialize(a)).toLowerCase(),c.label=b}function G(a){this.exit(a)}function H(a){let b=this.resume(),c=this.stack[this.stack.length-1];(0,k.ok)("footnoteDefinition"===c.type),c.identifier=(0,A.normalizeIdentifier)(this.sliceSerialize(a)).toLowerCase(),c.label=b}function I(a){this.exit(a)}function J(a,b,c,d){let e=c.createTracker(d),f=e.move("[^"),g=c.enter("footnoteReference"),h=c.enter("reference");return f+=e.move(c.safe(c.associationId(a),{after:"]",before:f})),h(),g(),f+=e.move("]")}function K(a,b,c){return 0===b?a:L(a,b,c)}function L(a,b,c){return(c?"":" ")+a}J.peek=function(){return"["};let M=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];function N(a){this.enter({type:"delete",children:[]},a)}function O(a){this.exit(a)}function P(a,b,c,d){let e=c.createTracker(d),f=c.enter("strikethrough"),g=e.move("~~");return g+=c.containerPhrasing(a,{...e.current(),before:g,after:"~"}),g+=e.move("~~"),f(),g}function Q(a){return a.length}function R(a){let b="string"==typeof a?a.codePointAt(0):0;return 67===b||99===b?99:76===b||108===b?108:114*(82===b||114===b)}P.peek=function(){return"~"};var S=a.i(91426);a.i(131558);a.i(187054);function T(a,b,c){let d=a.value||"",e="`",f=-1;for(;RegExp("(^|[^`])"+e+"([^`]|$)").test(d);)e+="`";for(/[^ \r\n]/.test(d)&&(/^[ \r\n]/.test(d)&&/[ \r\n]$/.test(d)||/^`|`$/.test(d))&&(d=" "+d+" ");++f<c.unsafe.length;){let a,b=c.unsafe[f],e=c.compilePattern(b);if(b.atBreak)for(;a=e.exec(d);){let b=a.index;10===d.charCodeAt(b)&&13===d.charCodeAt(b-1)&&b--,d=d.slice(0,b)+" "+d.slice(a.index+1)}}return e+d+e}T.peek=function(){return"`"};(0,n.convert)(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);let U=function(a,b,c,d){let e=function(a){let b=a.options.listItemIndent||"one";if("tab"!==b&&"one"!==b&&"mixed"!==b)throw Error("Cannot serialize items with `"+b+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return b}(c),f=c.bulletCurrent||function(a){let b=a.options.bullet||"*";if("*"!==b&&"+"!==b&&"-"!==b)throw Error("Cannot serialize items with `"+b+"` for `options.bullet`, expected `*`, `+`, or `-`");return b}(c);b&&"list"===b.type&&b.ordered&&(f=("number"==typeof b.start&&b.start>-1?b.start:1)+(!1===c.options.incrementListMarker?0:b.children.indexOf(a))+f);let g=f.length+1;("tab"===e||"mixed"===e&&(b&&"list"===b.type&&b.spread||a.spread))&&(g=4*Math.ceil(g/4));let h=c.createTracker(d);h.move(f+" ".repeat(g-f.length)),h.shift(g);let i=c.enter("listItem"),j=c.indentLines(c.containerFlow(a,h.current()),function(a,b,c){return b?(c?"":" ".repeat(g))+a:(c?f:f+" ".repeat(g-f.length))+a});return i(),j};function V(a){let b=a._align;(0,k.ok)(b,"expected `_align` on table"),this.enter({type:"table",align:b.map(function(a){return"none"===a?null:a}),children:[]},a),this.data.inTable=!0}function W(a){this.exit(a),this.data.inTable=void 0}function X(a){this.enter({type:"tableRow",children:[]},a)}function Y(a){this.exit(a)}function Z(a){this.enter({type:"tableCell",children:[]},a)}function $(a){let b=this.resume();this.data.inTable&&(b=b.replace(/\\([\\|])/g,_));let c=this.stack[this.stack.length-1];(0,k.ok)("inlineCode"===c.type),c.value=b,this.exit(a)}function _(a,b){return"|"===b?b:a}function aa(a){let b=this.stack[this.stack.length-2];(0,k.ok)("listItem"===b.type),b.checked="taskListCheckValueChecked"===a.type}function ab(a){let b=this.stack[this.stack.length-2];if(b&&"listItem"===b.type&&"boolean"==typeof b.checked){let a=this.stack[this.stack.length-1];(0,k.ok)("paragraph"===a.type);let c=a.children[0];if(c&&"text"===c.type){let d,e=b.children,f=-1;for(;++f<e.length;){let a=e[f];if("paragraph"===a.type){d=a;break}}d===a&&(c.value=c.value.slice(1),0===c.value.length?a.children.shift():a.position&&c.position&&"number"==typeof c.position.start.offset&&(c.position.start.column++,c.position.start.offset++,a.position.start=Object.assign({},c.position.start)))}}this.exit(a)}function ac(a,b,c,d){let e=a.children[0],f="boolean"==typeof a.checked&&e&&"paragraph"===e.type,g="["+(a.checked?"x":" ")+"] ",h=c.createTracker(d);f&&h.move(g);let i=U(a,b,c,{...d,...h.current()});return f&&(i=i.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,function(a){return a+g})),i}var ad=a.i(465006);let ae={tokenize:function(a,b,c){let d=0;return function b(f){return(87===f||119===f)&&d<3?(d++,a.consume(f),b):46===f&&3===d?(a.consume(f),e):c(f)};function e(a){return null===a?c(a):b(a)}},partial:!0},af={tokenize:function(a,b,c){let d,e,f;return g;function g(b){return 46===b||95===b?a.check(ah,i,h)(b):null===b||(0,l.markdownLineEndingOrSpace)(b)||(0,l.unicodeWhitespace)(b)||45!==b&&(0,l.unicodePunctuation)(b)?i(b):(f=!0,a.consume(b),g)}function h(b){return 95===b?d=!0:(e=d,d=void 0),a.consume(b),g}function i(a){return e||d||!f?c(a):b(a)}},partial:!0},ag={tokenize:function(a,b){let c=0,d=0;return e;function e(g){return 40===g?(c++,a.consume(g),e):41===g&&d<c?f(g):33===g||34===g||38===g||39===g||41===g||42===g||44===g||46===g||58===g||59===g||60===g||63===g||93===g||95===g||126===g?a.check(ah,b,f)(g):null===g||(0,l.markdownLineEndingOrSpace)(g)||(0,l.unicodeWhitespace)(g)?b(g):(a.consume(g),e)}function f(b){return 41===b&&d++,a.consume(b),e}},partial:!0},ah={tokenize:function(a,b,c){return d;function d(g){return 33===g||34===g||39===g||41===g||42===g||44===g||46===g||58===g||59===g||63===g||95===g||126===g?(a.consume(g),d):38===g?(a.consume(g),f):93===g?(a.consume(g),e):60===g||null===g||(0,l.markdownLineEndingOrSpace)(g)||(0,l.unicodeWhitespace)(g)?b(g):c(g)}function e(a){return null===a||40===a||91===a||(0,l.markdownLineEndingOrSpace)(a)||(0,l.unicodeWhitespace)(a)?b(a):d(a)}function f(b){return(0,l.asciiAlpha)(b)?function b(e){return 59===e?(a.consume(e),d):(0,l.asciiAlpha)(e)?(a.consume(e),b):c(e)}(b):c(b)}},partial:!0},ai={tokenize:function(a,b,c){return function(b){return a.consume(b),d};function d(a){return(0,l.asciiAlphanumeric)(a)?c(a):b(a)}},partial:!0},aj={name:"wwwAutolink",tokenize:function(a,b,c){let d=this;return function(b){return 87!==b&&119!==b||!ao.call(d,d.previous)||as(d.events)?c(b):(a.enter("literalAutolink"),a.enter("literalAutolinkWww"),a.check(ae,a.attempt(af,a.attempt(ag,e),c),c)(b))};function e(c){return a.exit("literalAutolinkWww"),a.exit("literalAutolink"),b(c)}},previous:ao},ak={name:"protocolAutolink",tokenize:function(a,b,c){let d=this,e="",f=!1;return function(b){return(72===b||104===b)&&ap.call(d,d.previous)&&!as(d.events)?(a.enter("literalAutolink"),a.enter("literalAutolinkHttp"),e+=String.fromCodePoint(b),a.consume(b),g):c(b)};function g(b){if((0,l.asciiAlpha)(b)&&e.length<5)return e+=String.fromCodePoint(b),a.consume(b),g;if(58===b){let c=e.toLowerCase();if("http"===c||"https"===c)return a.consume(b),h}return c(b)}function h(b){return 47===b?(a.consume(b),f)?i:(f=!0,h):c(b)}function i(b){return null===b||(0,l.asciiControl)(b)||(0,l.markdownLineEndingOrSpace)(b)||(0,l.unicodeWhitespace)(b)||(0,l.unicodePunctuation)(b)?c(b):a.attempt(af,a.attempt(ag,j),c)(b)}function j(c){return a.exit("literalAutolinkHttp"),a.exit("literalAutolink"),b(c)}},previous:ap},al={name:"emailAutolink",tokenize:function(a,b,c){let d,e,f=this;return function(b){return!ar(b)||!aq.call(f,f.previous)||as(f.events)?c(b):(a.enter("literalAutolink"),a.enter("literalAutolinkEmail"),function b(d){return ar(d)?(a.consume(d),b):64===d?(a.consume(d),g):c(d)}(b))};function g(b){return 46===b?a.check(ai,i,h)(b):45===b||95===b||(0,l.asciiAlphanumeric)(b)?(e=!0,a.consume(b),g):i(b)}function h(b){return a.consume(b),d=!0,g}function i(g){return e&&d&&(0,l.asciiAlpha)(f.previous)?(a.exit("literalAutolinkEmail"),a.exit("literalAutolink"),b(g)):c(g)}},previous:aq},am={},an=48;for(;an<123;)am[an]=al,58==++an?an=65:91===an&&(an=97);function ao(a){return null===a||40===a||42===a||95===a||91===a||93===a||126===a||(0,l.markdownLineEndingOrSpace)(a)}function ap(a){return!(0,l.asciiAlpha)(a)}function aq(a){return!(47===a||ar(a))}function ar(a){return 43===a||45===a||46===a||95===a||(0,l.asciiAlphanumeric)(a)}function as(a){let b=a.length,c=!1;for(;b--;){let d=a[b][1];if(("labelLink"===d.type||"labelImage"===d.type)&&!d._balanced){c=!0;break}if(d._gfmAutolinkLiteralWalkedInto){c=!1;break}}return a.length>0&&!c&&(a[a.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),c}am[43]=al,am[45]=al,am[46]=al,am[95]=al,am[72]=[al,ak],am[104]=[al,ak],am[87]=[al,aj],am[119]=[al,aj];var at=a.i(829608),au=a.i(947917);let av={tokenize:function(a,b,c){let d=this;return(0,au.factorySpace)(a,function(a){let e=d.events[d.events.length-1];return e&&"gfmFootnoteDefinitionIndent"===e[1].type&&4===e[2].sliceSerialize(e[1],!0).length?b(a):c(a)},"gfmFootnoteDefinitionIndent",5)},partial:!0};function aw(a,b,c){let d,e=this,f=e.events.length,g=e.parser.gfmFootnotes||(e.parser.gfmFootnotes=[]);for(;f--;){let a=e.events[f][1];if("labelImage"===a.type){d=a;break}if("gfmFootnoteCall"===a.type||"labelLink"===a.type||"label"===a.type||"image"===a.type||"link"===a.type)break}return function(f){if(!d||!d._balanced)return c(f);let h=(0,A.normalizeIdentifier)(e.sliceSerialize({start:d.end,end:e.now()}));return 94===h.codePointAt(0)&&g.includes(h.slice(1))?(a.enter("gfmFootnoteCallLabelMarker"),a.consume(f),a.exit("gfmFootnoteCallLabelMarker"),b(f)):c(f)}}function ax(a,b){let c=a.length;for(;c--;)if("labelImage"===a[c][1].type&&"enter"===a[c][0]){a[c][1];break}a[c+1][1].type="data",a[c+3][1].type="gfmFootnoteCallLabelMarker";let d={type:"gfmFootnoteCall",start:Object.assign({},a[c+3][1].start),end:Object.assign({},a[a.length-1][1].end)},e={type:"gfmFootnoteCallMarker",start:Object.assign({},a[c+3][1].end),end:Object.assign({},a[c+3][1].end)};e.end.column++,e.end.offset++,e.end._bufferIndex++;let f={type:"gfmFootnoteCallString",start:Object.assign({},e.end),end:Object.assign({},a[a.length-1][1].start)},g={type:"chunkString",contentType:"string",start:Object.assign({},f.start),end:Object.assign({},f.end)},h=[a[c+1],a[c+2],["enter",d,b],a[c+3],a[c+4],["enter",e,b],["exit",e,b],["enter",f,b],["enter",g,b],["exit",g,b],["exit",f,b],a[a.length-2],a[a.length-1],["exit",d,b]];return a.splice(c,a.length-c+1,...h),a}function ay(a,b,c){let d,e=this,f=e.parser.gfmFootnotes||(e.parser.gfmFootnotes=[]),g=0;return function(b){return a.enter("gfmFootnoteCall"),a.enter("gfmFootnoteCallLabelMarker"),a.consume(b),a.exit("gfmFootnoteCallLabelMarker"),h};function h(b){return 94!==b?c(b):(a.enter("gfmFootnoteCallMarker"),a.consume(b),a.exit("gfmFootnoteCallMarker"),a.enter("gfmFootnoteCallString"),a.enter("chunkString").contentType="string",i)}function i(h){if(g>999||93===h&&!d||null===h||91===h||(0,l.markdownLineEndingOrSpace)(h))return c(h);if(93===h){a.exit("chunkString");let d=a.exit("gfmFootnoteCallString");return f.includes((0,A.normalizeIdentifier)(e.sliceSerialize(d)))?(a.enter("gfmFootnoteCallLabelMarker"),a.consume(h),a.exit("gfmFootnoteCallLabelMarker"),a.exit("gfmFootnoteCall"),b):c(h)}return(0,l.markdownLineEndingOrSpace)(h)||(d=!0),g++,a.consume(h),92===h?j:i}function j(b){return 91===b||92===b||93===b?(a.consume(b),g++,i):i(b)}}function az(a,b,c){let d,e,f=this,g=f.parser.gfmFootnotes||(f.parser.gfmFootnotes=[]),h=0;return function(b){return a.enter("gfmFootnoteDefinition")._container=!0,a.enter("gfmFootnoteDefinitionLabel"),a.enter("gfmFootnoteDefinitionLabelMarker"),a.consume(b),a.exit("gfmFootnoteDefinitionLabelMarker"),i};function i(b){return 94===b?(a.enter("gfmFootnoteDefinitionMarker"),a.consume(b),a.exit("gfmFootnoteDefinitionMarker"),a.enter("gfmFootnoteDefinitionLabelString"),a.enter("chunkString").contentType="string",j):c(b)}function j(b){if(h>999||93===b&&!e||null===b||91===b||(0,l.markdownLineEndingOrSpace)(b))return c(b);if(93===b){a.exit("chunkString");let c=a.exit("gfmFootnoteDefinitionLabelString");return d=(0,A.normalizeIdentifier)(f.sliceSerialize(c)),a.enter("gfmFootnoteDefinitionLabelMarker"),a.consume(b),a.exit("gfmFootnoteDefinitionLabelMarker"),a.exit("gfmFootnoteDefinitionLabel"),m}return(0,l.markdownLineEndingOrSpace)(b)||(e=!0),h++,a.consume(b),92===b?k:j}function k(b){return 91===b||92===b||93===b?(a.consume(b),h++,j):j(b)}function m(b){return 58===b?(a.enter("definitionMarker"),a.consume(b),a.exit("definitionMarker"),g.includes(d)||g.push(d),(0,au.factorySpace)(a,n,"gfmFootnoteDefinitionWhitespace")):c(b)}function n(a){return b(a)}}function aA(a,b,c){return a.check(at.blankLine,b,a.attempt(av,b,c))}function aB(a){a.exit("gfmFootnoteDefinition")}var aC=a.i(483343),aD=a.i(292051);class aE{constructor(){this.map=[]}add(a,b,c){!function(a,b,c,d){let e=0;if(0!==c||0!==d.length){for(;e<a.map.length;){if(a.map[e][0]===b){a.map[e][1]+=c,a.map[e][2].push(...d);return}e+=1}a.map.push([b,c,d])}}(this,a,b,c)}consume(a){if(this.map.sort(function(a,b){return a[0]-b[0]}),0===this.map.length)return;let b=this.map.length,c=[];for(;b>0;)b-=1,c.push(a.slice(this.map[b][0]+this.map[b][1]),this.map[b][2]),a.length=this.map[b][0];c.push(a.slice()),a.length=0;let d=c.pop();for(;d;){for(let b of d)a.push(b);d=c.pop()}this.map.length=0}}function aF(a,b,c){let d,e=this,f=0,g=0;return function(a){let b=e.events.length-1;for(;b>-1;){let a=e.events[b][1].type;if("lineEnding"===a||"linePrefix"===a)b--;else break}let d=b>-1?e.events[b][1].type:null,f="tableHead"===d||"tableRow"===d?t:h;return f===t&&e.parser.lazy[e.now().line]?c(a):f(a)};function h(b){var c;return a.enter("tableHead"),a.enter("tableRow"),124===(c=b)||(d=!0,g+=1),i(c)}function i(b){return null===b?c(b):(0,l.markdownLineEnding)(b)?g>1?(g=0,e.interrupt=!0,a.exit("tableRow"),a.enter("lineEnding"),a.consume(b),a.exit("lineEnding"),m):c(b):(0,l.markdownSpace)(b)?(0,au.factorySpace)(a,i,"whitespace")(b):(g+=1,d&&(d=!1,f+=1),124===b)?(a.enter("tableCellDivider"),a.consume(b),a.exit("tableCellDivider"),d=!0,i):(a.enter("data"),j(b))}function j(b){return null===b||124===b||(0,l.markdownLineEndingOrSpace)(b)?(a.exit("data"),i(b)):(a.consume(b),92===b?k:j)}function k(b){return 92===b||124===b?(a.consume(b),j):j(b)}function m(b){return(e.interrupt=!1,e.parser.lazy[e.now().line])?c(b):(a.enter("tableDelimiterRow"),d=!1,(0,l.markdownSpace)(b))?(0,au.factorySpace)(a,n,"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(b):n(b)}function n(b){return 45===b||58===b?p(b):124===b?(d=!0,a.enter("tableCellDivider"),a.consume(b),a.exit("tableCellDivider"),o):c(b)}function o(b){return(0,l.markdownSpace)(b)?(0,au.factorySpace)(a,p,"whitespace")(b):p(b)}function p(b){return 58===b?(g+=1,d=!0,a.enter("tableDelimiterMarker"),a.consume(b),a.exit("tableDelimiterMarker"),q):45===b?(g+=1,q(b)):null===b||(0,l.markdownLineEnding)(b)?s(b):c(b)}function q(b){return 45===b?(a.enter("tableDelimiterFiller"),function b(c){return 45===c?(a.consume(c),b):58===c?(d=!0,a.exit("tableDelimiterFiller"),a.enter("tableDelimiterMarker"),a.consume(c),a.exit("tableDelimiterMarker"),r):(a.exit("tableDelimiterFiller"),r(c))}(b)):c(b)}function r(b){return(0,l.markdownSpace)(b)?(0,au.factorySpace)(a,s,"whitespace")(b):s(b)}function s(e){if(124===e)return n(e);if(null===e||(0,l.markdownLineEnding)(e))return d&&f===g?(a.exit("tableDelimiterRow"),a.exit("tableHead"),b(e)):c(e);return c(e)}function t(b){return a.enter("tableRow"),u(b)}function u(c){return 124===c?(a.enter("tableCellDivider"),a.consume(c),a.exit("tableCellDivider"),u):null===c||(0,l.markdownLineEnding)(c)?(a.exit("tableRow"),b(c)):(0,l.markdownSpace)(c)?(0,au.factorySpace)(a,u,"whitespace")(c):(a.enter("data"),v(c))}function v(b){return null===b||124===b||(0,l.markdownLineEndingOrSpace)(b)?(a.exit("data"),u(b)):(a.consume(b),92===b?w:v)}function w(b){return 92===b||124===b?(a.consume(b),v):v(b)}}function aG(a,b){let c,d,e,f=-1,g=!0,h=0,i=[0,0,0,0],j=[0,0,0,0],k=!1,l=0,m=new aE;for(;++f<a.length;){let n=a[f],o=n[1];"enter"===n[0]?"tableHead"===o.type?(k=!1,0!==l&&(aI(m,b,l,c,d),d=void 0,l=0),c={type:"table",start:Object.assign({},o.start),end:Object.assign({},o.end)},m.add(f,0,[["enter",c,b]])):"tableRow"===o.type||"tableDelimiterRow"===o.type?(g=!0,e=void 0,i=[0,0,0,0],j=[0,f+1,0,0],k&&(k=!1,d={type:"tableBody",start:Object.assign({},o.start),end:Object.assign({},o.end)},m.add(f,0,[["enter",d,b]])),h="tableDelimiterRow"===o.type?2:d?3:1):h&&("data"===o.type||"tableDelimiterMarker"===o.type||"tableDelimiterFiller"===o.type)?(g=!1,0===j[2]&&(0!==i[1]&&(j[0]=j[1],e=aH(m,b,i,h,void 0,e),i=[0,0,0,0]),j[2]=f)):"tableCellDivider"===o.type&&(g?g=!1:(0!==i[1]&&(j[0]=j[1],e=aH(m,b,i,h,void 0,e)),j=[(i=j)[1],f,0,0])):"tableHead"===o.type?(k=!0,l=f):"tableRow"===o.type||"tableDelimiterRow"===o.type?(l=f,0!==i[1]?(j[0]=j[1],e=aH(m,b,i,h,f,e)):0!==j[1]&&(e=aH(m,b,j,h,f,e)),h=0):h&&("data"===o.type||"tableDelimiterMarker"===o.type||"tableDelimiterFiller"===o.type)&&(j[3]=f)}for(0!==l&&aI(m,b,l,c,d),m.consume(b.events),f=-1;++f<b.events.length;){let a=b.events[f];"enter"===a[0]&&"table"===a[1].type&&(a[1]._align=function(a,b){let c=!1,d=[];for(;b<a.length;){let e=a[b];if(c){if("enter"===e[0])"tableContent"===e[1].type&&d.push("tableDelimiterMarker"===a[b+1][1].type?"left":"none");else if("tableContent"===e[1].type){if("tableDelimiterMarker"===a[b-1][1].type){let a=d.length-1;d[a]="left"===d[a]?"center":"right"}}else if("tableDelimiterRow"===e[1].type)break}else"enter"===e[0]&&"tableDelimiterRow"===e[1].type&&(c=!0);b+=1}return d}(b.events,f))}return a}function aH(a,b,c,d,e,f){0!==c[0]&&(f.end=Object.assign({},aJ(b.events,c[0])),a.add(c[0],0,[["exit",f,b]]));let g=aJ(b.events,c[1]);if(f={type:1===d?"tableHeader":2===d?"tableDelimiter":"tableData",start:Object.assign({},g),end:Object.assign({},g)},a.add(c[1],0,[["enter",f,b]]),0!==c[2]){let e=aJ(b.events,c[2]),f=aJ(b.events,c[3]),g={type:"tableContent",start:Object.assign({},e),end:Object.assign({},f)};if(a.add(c[2],0,[["enter",g,b]]),2!==d){let d=b.events[c[2]],e=b.events[c[3]];if(d[1].end=Object.assign({},e[1].end),d[1].type="chunkText",d[1].contentType="text",c[3]>c[2]+1){let b=c[2]+1,d=c[3]-c[2]-1;a.add(b,d,[])}}a.add(c[3]+1,0,[["exit",g,b]])}return void 0!==e&&(f.end=Object.assign({},aJ(b.events,e)),a.add(e,0,[["exit",f,b]]),f=void 0),f}function aI(a,b,c,d,e){let f=[],g=aJ(b.events,c);e&&(e.end=Object.assign({},g),f.push(["exit",e,b])),d.end=Object.assign({},g),f.push(["exit",d,b]),a.add(c+1,0,f)}function aJ(a,b){let c=a[b],d="enter"===c[0]?"start":"end";return c[1][d]}let aK={name:"tasklistCheck",tokenize:function(a,b,c){let d=this;return function(b){return null===d.previous&&d._gfmTasklistFirstContentOfListItem?(a.enter("taskListCheck"),a.enter("taskListCheckMarker"),a.consume(b),a.exit("taskListCheckMarker"),e):c(b)};function e(b){return(0,l.markdownLineEndingOrSpace)(b)?(a.enter("taskListCheckValueUnchecked"),a.consume(b),a.exit("taskListCheckValueUnchecked"),f):88===b||120===b?(a.enter("taskListCheckValueChecked"),a.consume(b),a.exit("taskListCheckValueChecked"),f):c(b)}function f(b){return 93===b?(a.enter("taskListCheckMarker"),a.consume(b),a.exit("taskListCheckMarker"),a.exit("taskListCheck"),g):c(b)}function g(d){return(0,l.markdownLineEnding)(d)?b(d):(0,l.markdownSpace)(d)?a.check({tokenize:aL},b,c)(d):c(d)}}};function aL(a,b,c){return(0,au.factorySpace)(a,function(a){return null===a?c(a):b(a)},"whitespace")}let aM={};function aN(a){var b;let c,d,e,f=a||aM,g=this.data(),h=g.micromarkExtensions||(g.micromarkExtensions=[]),i=g.fromMarkdownExtensions||(g.fromMarkdownExtensions=[]),j=g.toMarkdownExtensions||(g.toMarkdownExtensions=[]);h.push((b=f,(0,ad.combineExtensions)([{text:am},{document:{91:{name:"gfmFootnoteDefinition",tokenize:az,continuation:{tokenize:aA},exit:aB}},text:{91:{name:"gfmFootnoteCall",tokenize:ay},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:aw,resolveTo:ax}}},(c=(b||{}).singleTilde,d={name:"strikethrough",tokenize:function(a,b,d){let e=this.previous,f=this.events,g=0;return function(h){return 126===e&&"characterEscape"!==f[f.length-1][1].type?d(h):(a.enter("strikethroughSequenceTemporary"),function f(h){let i=(0,S.classifyCharacter)(e);if(126===h)return g>1?d(h):(a.consume(h),g++,f);if(g<2&&!c)return d(h);let j=a.exit("strikethroughSequenceTemporary"),k=(0,S.classifyCharacter)(h);return j._open=!k||2===k&&!!i,j._close=!i||2===i&&!!k,b(h)}(h))}},resolveAll:function(a,b){let c=-1;for(;++c<a.length;)if("enter"===a[c][0]&&"strikethroughSequenceTemporary"===a[c][1].type&&a[c][1]._close){let d=c;for(;d--;)if("exit"===a[d][0]&&"strikethroughSequenceTemporary"===a[d][1].type&&a[d][1]._open&&a[c][1].end.offset-a[c][1].start.offset==a[d][1].end.offset-a[d][1].start.offset){a[c][1].type="strikethroughSequence",a[d][1].type="strikethroughSequence";let e={type:"strikethrough",start:Object.assign({},a[d][1].start),end:Object.assign({},a[c][1].end)},f={type:"strikethroughText",start:Object.assign({},a[d][1].end),end:Object.assign({},a[c][1].start)},g=[["enter",e,b],["enter",a[d][1],b],["exit",a[d][1],b],["enter",f,b]],h=b.parser.constructs.insideSpan.null;h&&(0,aC.splice)(g,g.length,0,(0,aD.resolveAll)(h,a.slice(d+1,c),b)),(0,aC.splice)(g,g.length,0,[["exit",f,b],["enter",a[c][1],b],["exit",a[c][1],b],["exit",e,b]]),(0,aC.splice)(a,d-1,c-d+3,g),c=d+g.length-2;break}}for(c=-1;++c<a.length;)"strikethroughSequenceTemporary"===a[c][1].type&&(a[c][1].type="data");return a}},null==c&&(c=!0),{text:{126:d},insideSpan:{null:[d]},attentionMarkers:{null:[126]}}),{flow:{null:{name:"table",tokenize:aF,resolveAll:aG}}},{text:{91:aK}}]))),i.push([{transforms:[w],enter:{literalAutolink:q,literalAutolinkEmail:r,literalAutolinkHttp:r,literalAutolinkWww:r},exit:{literalAutolink:v,literalAutolinkEmail:u,literalAutolinkHttp:s,literalAutolinkWww:t}},{enter:{gfmFootnoteCallString:B,gfmFootnoteCall:C,gfmFootnoteDefinitionLabelString:D,gfmFootnoteDefinition:E},exit:{gfmFootnoteCallString:F,gfmFootnoteCall:G,gfmFootnoteDefinitionLabelString:H,gfmFootnoteDefinition:I}},{canContainEols:["delete"],enter:{strikethrough:N},exit:{strikethrough:O}},{enter:{table:V,tableData:Z,tableHeader:Z,tableRow:X},exit:{codeText:$,table:W,tableData:Y,tableHeader:Y,tableRow:Y}},{exit:{taskListCheckValueChecked:aa,taskListCheckValueUnchecked:aa,paragraph:ab}}]),j.push({extensions:[{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:o,notInConstruct:p},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:o,notInConstruct:p},{character:":",before:"[ps]",after:"\\/",inConstruct:o,notInConstruct:p}]},(e=!1,f&&f.firstLineBlank&&(e=!0),{handlers:{footnoteDefinition:function(a,b,c,d){let f=c.createTracker(d),g=f.move("[^"),h=c.enter("footnoteDefinition"),i=c.enter("label");return g+=f.move(c.safe(c.associationId(a),{before:g,after:"]"})),i(),g+=f.move("]:"),a.children&&a.children.length>0&&(f.shift(4),g+=f.move((e?"\n":" ")+c.indentLines(c.containerFlow(a,f.current()),e?L:K))),h(),g},footnoteReference:J},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]}),{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:M}],handlers:{delete:P}},function(a){let b=a||{},c=b.tableCellPadding,d=b.tablePipeAlign,e=b.stringLength,f=c?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:"\n",inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:function(a,b,c){let d=T(a,b,c);return c.stack.includes("tableCell")&&(d=d.replace(/\|/g,"\\$&")),d},table:function(a,b,c,d){return h(function(a,b,c){let d=a.children,e=-1,f=[],g=b.enter("table");for(;++e<d.length;)f[e]=i(d[e],b,c);return g(),f}(a,c,d),a.align)},tableCell:g,tableRow:function(a,b,c,d){let e=h([i(a,c,d)]);return e.slice(0,e.indexOf("\n"))}}};function g(a,b,c,d){let e=c.enter("tableCell"),g=c.enter("phrasing"),h=c.containerPhrasing(a,{...d,before:f,after:f});return g(),e(),h}function h(a,b){return function(a,b){let c=b||{},d=(c.align||[]).concat(),e=c.stringLength||Q,f=[],g=[],h=[],i=[],j=0,k=-1;for(;++k<a.length;){let b=[],d=[],f=-1;for(a[k].length>j&&(j=a[k].length);++f<a[k].length;){var l;let g=null==(l=a[k][f])?"":String(l);if(!1!==c.alignDelimiters){let a=e(g);d[f]=a,(void 0===i[f]||a>i[f])&&(i[f]=a)}b.push(g)}g[k]=b,h[k]=d}let m=-1;if("object"==typeof d&&"length"in d)for(;++m<j;)f[m]=R(d[m]);else{let a=R(d);for(;++m<j;)f[m]=a}m=-1;let n=[],o=[];for(;++m<j;){let a=f[m],b="",d="";99===a?(b=":",d=":"):108===a?b=":":114===a&&(d=":");let e=!1===c.alignDelimiters?1:Math.max(1,i[m]-b.length-d.length),g=b+"-".repeat(e)+d;!1!==c.alignDelimiters&&((e=b.length+e+d.length)>i[m]&&(i[m]=e),o[m]=e),n[m]=g}g.splice(1,0,n),h.splice(1,0,o),k=-1;let p=[];for(;++k<g.length;){let a=g[k],b=h[k];m=-1;let d=[];for(;++m<j;){let e=a[m]||"",g="",h="";if(!1!==c.alignDelimiters){let a=i[m]-(b[m]||0),c=f[m];114===c?g=" ".repeat(a):99===c?a%2?(g=" ".repeat(a/2+.5),h=" ".repeat(a/2-.5)):h=g=" ".repeat(a/2):h=" ".repeat(a)}!1===c.delimiterStart||m||d.push("|"),!1!==c.padding&&(!1!==c.alignDelimiters||""!==e)&&(!1!==c.delimiterStart||m)&&d.push(" "),!1!==c.alignDelimiters&&d.push(g),d.push(e),!1!==c.alignDelimiters&&d.push(h),!1!==c.padding&&d.push(" "),(!1!==c.delimiterEnd||m!==j-1)&&d.push("|")}p.push(!1===c.delimiterEnd?d.join("").replace(/ +$/,""):d.join(""))}return p.join("\n")}(a,{align:b,alignDelimiters:d,padding:c,stringLength:e})}function i(a,b,c){let d=a.children,e=-1,f=[],h=b.enter("tableRow");for(;++e<d.length;)f[e]=g(d[e],a,b,c);return h(),f}}(f),{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:ac}}]})}a.s(["default",()=>aN],316828),a.i(490370);var aO=a.i(224640),aP=a.i(385536);let aQ=/^\*\*(.+?)\*\*\s+`([\s\S]+)`\s*$/,aR=/^\*\*(.+?)\*\*\s*$/;function aS(a){let b=a.trim(),c=b.match(aQ);if(c){let[,a,b]=c,d=null;try{let a=JSON.parse(b);a&&"object"==typeof a&&!Array.isArray(a)&&(d=a)}catch{}return{kind:"tool",name:a.trim(),detail:b,parsed:d}}let d=b.match(aR);return d?{kind:"label-only",name:d[1].trim()}:null}function aT(a,b){return a.length<=b?a:`${a.slice(0,b-1)}…`}var aU=a.i(944592),aV=a.i(771716),aW=a.i(503410),aX=a.i(417300);let aY={default:"bg-muted/40 hover:bg-muted/70",green:"bg-emerald-500/8 hover:bg-emerald-500/15 border-emerald-500/20",blue:"bg-sky-500/8 hover:bg-sky-500/15 border-sky-500/20"};function aZ({name:a,summary:c,expanded:d,onToggle:e,icon:f,tint:g="default"}){return(0,b.jsxs)("button",{type:"button",onClick:e,className:(0,aP.cn)("border-border/60 text-foreground/90 group inline-flex max-w-full items-center gap-1.5 rounded-md border px-2 py-0.5 font-mono text-[11px] transition-colors",aY[g],d&&"rounded-b-none border-b-0"),children:[d?(0,b.jsx)(aV.ChevronDown,{className:"h-3 w-3 shrink-0 opacity-60"}):(0,b.jsx)(aW.ChevronRight,{className:"h-3 w-3 shrink-0 opacity-60"}),f??(0,b.jsx)(aX.Wrench,{className:"h-3 w-3 shrink-0 opacity-60"}),(0,b.jsx)("span",{className:"shrink-0 font-medium",children:a}),c?(0,b.jsx)("span",{className:"text-muted-foreground/70 max-w-[360px] truncate",children:c}):null]})}function a$({name:a,detail:c,parsed:d,outputBody:e}){let[f,g]=(0,aU.useState)(!1),h=function(a,b,c=80){if(a)for(let b of["command","file_path","path","pattern","query","url"]){let d=a[b];if("string"==typeof d&&d.length>0)return aT(d,c)}return aT(b.replace(/\s+/g," ").trim(),c)}(d,c),i=d?JSON.stringify(d,null,2):c,j="string"==typeof e&&e.length>0;return(0,b.jsxs)("div",{className:"inline-flex max-w-full flex-col",children:[(0,b.jsx)(aZ,{name:a,summary:f?null:h,expanded:f,onToggle:()=>g(a=>!a)}),f?(0,b.jsxs)("div",{className:"border-border/60 bg-background/40 divide-border/40 flex max-w-full flex-col divide-y overflow-hidden rounded-md rounded-tl-none border",children:[i?(0,b.jsxs)("section",{className:"flex flex-col",children:[j?(0,b.jsx)("span",{className:"text-muted-foreground/70 bg-muted/40 px-3 py-0.5 text-[9px] font-semibold tracking-wide uppercase",children:"Input"}):null,(0,b.jsx)("pre",{className:"text-foreground/70 max-w-full overflow-hidden px-3 py-2 font-mono text-[10px] leading-relaxed break-words whitespace-pre-wrap",children:i})]}):null,j?(0,b.jsxs)("section",{className:"flex flex-col",children:[(0,b.jsx)("span",{className:"text-muted-foreground/70 bg-muted/40 px-3 py-0.5 text-[9px] font-semibold tracking-wide uppercase",children:"Output"}),(0,b.jsx)("pre",{className:"text-foreground/70 max-w-full overflow-hidden px-3 py-2 font-mono text-[10px] leading-relaxed break-words whitespace-pre-wrap",children:e})]}):null]}):null]})}var a_=a.i(394132),a0=a.i(162147),a1=a.i(225700);let a2=(0,a1.default)("pencil-line",[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]);function a3({toolName:a,filePath:c,content:d}){let[e,f]=(0,aU.useState)(!1),g=c.split(/[\\/]/).pop()??c,h=d?d.split("\n").length:0,i=a.toLowerCase(),j=/edit/i.test(a);return e?(0,b.jsxs)("div",{className:"border-border/60 bg-background/50 flex max-w-full flex-col overflow-hidden rounded-lg border",children:[(0,b.jsxs)("div",{className:"bg-muted/60 border-border/60 flex items-center justify-between gap-2 border-b px-3 py-1.5",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[j?(0,b.jsx)(a2,{className:"h-3.5 w-3.5 shrink-0 text-sky-500"}):(0,b.jsx)(a0.FileText,{className:"h-3.5 w-3.5 shrink-0 text-emerald-500"}),(0,b.jsx)("span",{className:"truncate font-mono text-[11px] font-medium",title:c,children:g}),(0,b.jsx)("span",{className:"text-muted-foreground/60 shrink-0 font-mono text-[9px] tracking-wide uppercase",children:i})]}),(0,b.jsxs)("button",{type:"button",onClick:()=>f(!1),className:"text-muted-foreground hover:text-foreground inline-flex shrink-0 items-center gap-1 rounded px-1.5 py-0.5 text-[10px] transition-colors","aria-label":"Collapse file preview",children:[(0,b.jsx)(a_.ChevronLeft,{className:"h-3 w-3"}),"Back"]})]}),(0,b.jsx)("pre",{className:"max-h-[420px] overflow-auto px-3 py-2 font-mono text-[10px] leading-relaxed",children:d??"(no content available)"}),(0,b.jsx)("div",{className:"text-muted-foreground/60 border-border/60 border-t px-3 py-1 font-mono text-[9px]",children:c})]}):(0,b.jsxs)("button",{type:"button",onClick:()=>f(!0),title:c,className:(0,aP.cn)("group inline-flex max-w-full items-center gap-2 rounded-lg border px-3 py-1.5 text-xs transition-all",j?"border-sky-500/25 bg-sky-500/10 hover:border-sky-500/40 hover:bg-sky-500/15":"border-emerald-500/25 bg-emerald-500/10 hover:border-emerald-500/40 hover:bg-emerald-500/15"),children:[(0,b.jsx)("div",{className:(0,aP.cn)("flex h-6 w-6 shrink-0 items-center justify-center rounded",j?"bg-sky-500/15 text-sky-500":"bg-emerald-500/15 text-emerald-500"),children:j?(0,b.jsx)(a2,{className:"h-3.5 w-3.5"}):(0,b.jsx)(a0.FileText,{className:"h-3.5 w-3.5"})}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-col items-start",children:[(0,b.jsx)("span",{className:"truncate font-mono text-[11px] font-medium",children:g}),(0,b.jsxs)("span",{className:"text-muted-foreground/70 font-mono text-[9px] tracking-wide uppercase",children:[i,h?` \xb7 ${h} line${1===h?"":"s"}`:""]})]})]})}function a4({text:a,outputText:c}){var d;let e=aS(a);if(!e)return null;let f=function(a){if(!a)return null;let b=aS(a);return b?.kind==="tool"&&"Output"===b.name?b.detail:a}(c);if("label-only"===e.kind)return(0,b.jsx)(a$,{name:e.name,detail:"",parsed:null,outputBody:f});if(d=e.name,/^(Write|Edit|MultiEdit|Update)$/i.test(d)){let a=function(a){if(!a)return null;for(let b of[a.file_path,a.path,a.filePath,a.filepath])if("string"==typeof b&&b.length>0)return b;return null}(e.parsed);if(a)return(0,b.jsx)(a3,{toolName:e.name,filePath:a,content:function(a){if(!a)return null;for(let b of[a.content,a.new_string,a.newString,a.new_content,a.text])if("string"==typeof b)return b;return null}(e.parsed)})}return(0,b.jsx)(a$,{name:e.name,detail:e.detail,parsed:e.parsed,outputBody:f})}var a5=a.i(193967);let a6=(0,a1.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"}]]);var a7=a.i(598410),a8=a.i(232791),a9=a.i(134644),ba=a.i(781781);let bb=(0,a1.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"}]]);a.s(["Maximize2",()=>bb],973068);var bc=a.i(302807),bd=a.i(219880),be=a.i(488064),bf=a.i(872016);let bg={p:({children:a})=>(0,b.jsx)("p",{className:"mb-2 leading-relaxed last:mb-0",children:a}),strong:({children:a})=>(0,b.jsx)("strong",{className:"font-semibold",children:a}),em:({children:a})=>(0,b.jsx)("em",{className:"italic",children:a}),code:({children:a,className:c})=>c?(0,b.jsx)("code",{className:`${c} text-[11px]`,children:a}):(0,b.jsx)("code",{className:"bg-background/50 rounded-md px-1.5 py-0.5 font-mono text-xs",children:a}),pre:({children:a})=>{let c=a?.props?.className?.replace("language-","")??"",d="string"==typeof a?.props?.children?a.props.children:"";return["html","svg"].includes(c)&&d.length>0?(0,b.jsx)(bp,{code:d,language:c}):(0,b.jsx)(bo,{language:c,children:a})},ul:({children:a})=>(0,b.jsx)("ul",{className:"mb-2 list-disc ps-4 last:mb-0",children:a}),ol:({children:a})=>(0,b.jsx)("ol",{className:"mb-2 list-decimal ps-4 last:mb-0",children:a}),li:({children:a})=>(0,b.jsx)("li",{className:"mb-0.5",children:a}),h1:({children:a})=>(0,b.jsx)("h1",{className:"mb-1 text-base font-bold",children:a}),h2:({children:a})=>(0,b.jsx)("h2",{className:"mb-1 text-sm font-bold",children:a}),h3:({children:a})=>(0,b.jsx)("h3",{className:"mb-1 text-sm font-semibold",children:a}),a:({children:a,href:c})=>(0,b.jsx)("a",{href:c,className:"text-blue-500 underline",target:"_blank",rel:"noopener noreferrer",children:a}),blockquote:({children:a})=>(0,b.jsx)("blockquote",{className:"border-muted-foreground/30 my-1 border-s-2 ps-3 italic opacity-80",children:a}),table:({children:a})=>(0,b.jsx)("div",{className:"my-2 overflow-x-auto",children:(0,b.jsx)("table",{className:"min-w-full border-collapse text-xs",children:a})}),thead:({children:a})=>(0,b.jsx)("thead",{className:"bg-muted/50 border-b",children:a}),th:({children:a})=>(0,b.jsx)("th",{className:"px-2 py-1 text-start font-semibold",children:a}),td:({children:a})=>(0,b.jsx)("td",{className:"border-muted border-t px-2 py-1",children:a}),tr:({children:a})=>(0,b.jsx)("tr",{children:a}),hr:()=>(0,b.jsx)("hr",{className:"border-border/40 my-3 border-t"})};function bh({className:a,beforeMessages:c,afterMessages:d,composer:e,hideEmpty:f,hideMessages:h}){return(0,b.jsxs)(g.ThreadPrimitive.Root,{className:(0,aP.cn)("flex h-full flex-col",a),children:[(0,b.jsxs)(g.ThreadPrimitive.Viewport,{className:"flex flex-1 flex-col overflow-y-auto pt-4",children:[f?null:(0,b.jsx)(g.ThreadPrimitive.Empty,{children:(0,b.jsx)(bi,{})}),c,h?null:(0,b.jsx)(g.ThreadPrimitive.Messages,{components:{UserMessage:bk,AssistantMessage:bn}}),d]}),e??(0,b.jsx)(by,{})]})}function bi(){return(0,b.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-2 p-8 text-center",children:[(0,b.jsx)(a9.Bot,{className:"text-muted-foreground/40 h-10 w-10"}),(0,b.jsx)("p",{className:"text-muted-foreground text-sm",children:"Send a message to start chatting with the agent."})]})}let bj="{{interaction}}",bk=()=>{let a=(0,h.useMessage)(),c=a?.content?.[0],e=c&&"text"in c?c.text:"";return e.startsWith(bj)?(0,b.jsx)(bl,{text:e}):(0,b.jsxs)(f.MessagePrimitive.Root,{className:"group animate-in fade-in-0 slide-in-from-bottom-1 flex w-full items-start gap-2.5 px-4 py-0.5 duration-300 ease-out",children:[(0,b.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,b.jsx)(ba.User,{className:"h-3.5 w-3.5 text-violet-500"})}),(0,b.jsxs)("div",{className:"flex max-w-[85%] min-w-0 flex-col gap-0.5",children:[(0,b.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 dark:bg-violet-500/15",children:(0,b.jsx)(f.MessagePrimitive.Content,{components:{Text:bm}})}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 opacity-0 transition-opacity group-hover:opacity-100",children:[(0,b.jsx)(bw,{}),(0,b.jsx)(d.ActionBarPrimitive.Root,{className:"flex items-center gap-1",children:(0,b.jsx)(d.ActionBarPrimitive.Copy,{asChild:!0,children:(0,b.jsx)(bx,{tooltip:"Copy",children:(0,b.jsx)(a7.Copy,{})})})})]})]})]})};function bl({text:a}){let c=(0,aU.useMemo)(()=>{try{let b=a.slice(bj.length);return JSON.parse(b)}catch{return null}},[a]);return c?(0,b.jsxs)(f.MessagePrimitive.Root,{className:"group animate-in fade-in-0 slide-in-from-bottom-1 flex w-full items-start gap-2.5 px-4 py-0.5 duration-300 ease-out",children:[(0,b.jsx)("div",{className:"bg-muted flex h-6 w-6 shrink-0 items-center justify-center rounded-full",children:(0,b.jsx)(bf.Check,{className:"h-3.5 w-3.5 text-emerald-600 dark:text-emerald-400"})}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[(0,b.jsx)("div",{className:"text-foreground mt-px flex flex-wrap items-center gap-x-4 gap-y-1 rounded-2xl rounded-tl-sm border border-emerald-600/20 bg-emerald-50/50 px-4 py-2 text-sm shadow-sm dark:border-emerald-500/20 dark:bg-emerald-950/20",children:c.questions.map(a=>(0,b.jsxs)("span",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"inline-flex shrink-0 items-center rounded-full bg-emerald-100 px-2 py-0.5 text-[10px] font-semibold tracking-wider text-emerald-700 uppercase dark:bg-emerald-900/50 dark:text-emerald-400",children:a.header}),(0,b.jsx)("span",{className:"text-muted-foreground text-xs",children:c.answers[a.question]||"No answer"})]},a.question))}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 opacity-0 transition-opacity group-hover:opacity-100",children:[(0,b.jsx)(bw,{}),(0,b.jsx)(d.ActionBarPrimitive.Root,{className:"flex items-center gap-1",children:(0,b.jsx)(d.ActionBarPrimitive.Copy,{asChild:!0,children:(0,b.jsx)(bx,{tooltip:"Copy",children:(0,b.jsx)(a7.Copy,{})})})})]})]})]}):null}function bm({text:a}){return(0,b.jsx)("span",{className:"whitespace-pre-wrap",children:a})}let bn=()=>{let a=(0,h.useMessage)(),c=a?.content?.[0],e=c&&"text"in c?c.text:"";return(e?aS(e):null)?(0,b.jsxs)(f.MessagePrimitive.Root,{className:"group animate-in fade-in-0 slide-in-from-bottom-1 flex w-full items-start gap-2.5 px-4 py-0.5 duration-300 ease-out",children:[(0,b.jsx)("div",{className:"text-muted-foreground/40 mt-1 flex h-6 w-6 shrink-0 items-center justify-center",children:(0,b.jsx)(a9.Bot,{className:"h-3 w-3"})}),(0,b.jsx)("div",{className:"flex min-w-0 flex-1 items-center py-0.5",children:(0,b.jsx)(a4,{text:e})})]}):(0,b.jsxs)(f.MessagePrimitive.Root,{className:"group animate-in fade-in-0 slide-in-from-bottom-1 flex w-full items-start gap-2.5 px-4 py-0.5 duration-300 ease-out",children:[(0,b.jsx)("div",{className:"bg-muted flex h-6 w-6 shrink-0 items-center justify-center rounded-full",children:(0,b.jsx)(a9.Bot,{className:"text-muted-foreground h-3.5 w-3.5"})}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[(0,b.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 dark:bg-neutral-800/60",children:(0,b.jsx)(f.MessagePrimitive.Content,{components:{Text:br}})}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 opacity-0 transition-opacity group-hover:opacity-100",children:[(0,b.jsx)(bw,{}),(0,b.jsx)(d.ActionBarPrimitive.Root,{className:"flex items-center gap-1",children:(0,b.jsx)(d.ActionBarPrimitive.Copy,{asChild:!0,children:(0,b.jsx)(bx,{tooltip:"Copy",children:(0,b.jsx)(a7.Copy,{})})})})]})]})]})};function bo({children:a,language:c}){let{t:d}=(0,aO.useTranslation)("web"),[e,f]=(0,aU.useState)(!1),[g,h]=(0,aU.useState)(!1),i=(0,aU.useRef)(null);return(0,aU.useEffect)(()=>{i.current&&i.current.scrollHeight>240&&h(!0)},[a]),(0,b.jsxs)("div",{className:"bg-background/50 relative my-2 overflow-hidden rounded-md",children:[c?(0,b.jsx)("div",{className:"text-muted-foreground/50 border-b border-white/5 px-3 py-1 font-mono text-[10px] uppercase",children:c}):null,(0,b.jsx)("pre",{ref:i,className:"overflow-x-auto p-3 font-mono text-xs leading-relaxed transition-[max-height] duration-300 ease-in-out",style:{maxHeight:e?"min(60vh, 500px)":g?"200px":"min(60vh, 500px)",overflow:e?"auto":void 0},children:a}),g&&!e?(0,b.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,b.jsxs)("button",{type:"button",onClick:()=>f(!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,b.jsx)(aV.ChevronDown,{className:"h-3 w-3"}),d("chat.showMore")]})}):null,g&&e?(0,b.jsx)("div",{className:"flex justify-center border-t border-white/5 py-1.5",children:(0,b.jsxs)("button",{type:"button",onClick:()=>f(!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,b.jsx)(bd.ChevronUp,{className:"h-3 w-3"}),d("chat.showLess")]})}):null]})}function bp({code:a,language:d}){let{t:e}=(0,aO.useTranslation)("web"),[f,g]=(0,aU.useState)(!1),[h,i]=(0,aU.useState)(!1),[j,k]=(0,aU.useState)(!1),l=a.split("\n").length,m=a.length;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"bg-background/50 my-2 overflow-hidden rounded-md border",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b px-3 py-1",children:[(0,b.jsx)("span",{className:"text-muted-foreground font-mono text-xs uppercase",children:d}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("button",{type:"button",onClick:()=>g(!1),className:(0,aP.cn)("rounded px-2.5 py-0.5 text-xs font-medium transition-colors",f?"text-muted-foreground hover:text-foreground":"bg-muted text-foreground"),children:e("chat.code")}),(0,b.jsx)("button",{type:"button",onClick:()=>g(!0),className:(0,aP.cn)("rounded px-2.5 py-0.5 text-xs font-medium transition-colors",f?"bg-muted text-foreground":"text-muted-foreground hover:text-foreground"),children:e("chat.preview")}),(0,b.jsx)("button",{type:"button",onClick:()=>{k(!f),i(!0)},className:"text-muted-foreground hover:text-foreground ms-1 rounded p-0.5 transition-colors",title:e("chat.openFullscreen"),children:(0,b.jsx)(bb,{className:"h-3 w-3"})})]})]}),(0,b.jsx)("div",{style:{height:"min(55vh, 450px)"},children:f?(0,b.jsx)("iframe",{srcDoc:a,sandbox:"allow-scripts",className:"h-full w-full border-0 bg-white",title:e("chat.htmlPreview")}):(0,b.jsx)("pre",{className:"h-full overflow-auto p-3 font-mono text-xs leading-relaxed",children:(0,b.jsx)("code",{children:a})})})]}),h&&"u">typeof document?(0,c.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/70 backdrop-blur-sm",onClick:()=>i(!1),children:(0,b.jsxs)("div",{className:"bg-background relative flex h-[95vh] w-[95vw] flex-col overflow-hidden rounded-xl border shadow-2xl",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"bg-muted/80 flex h-12 shrink-0 items-center justify-between border-b px-5",children:[(0,b.jsxs)("div",{className:"bg-muted flex items-center gap-0.5 rounded-lg p-1",children:[(0,b.jsx)("button",{type:"button",onClick:()=>k(!1),className:(0,aP.cn)("rounded-md px-4 py-1.5 text-sm font-medium transition-all",j?"text-muted-foreground hover:text-foreground":"bg-background text-foreground shadow-sm"),children:e("chat.preview")}),(0,b.jsx)("button",{type:"button",onClick:()=>k(!0),className:(0,aP.cn)("rounded-md px-4 py-1.5 text-sm font-medium transition-all",j?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:e("chat.code")})]}),(0,b.jsxs)("div",{className:"text-muted-foreground/60 flex items-center gap-4 text-xs",children:[(0,b.jsxs)("span",{children:[l," lines"]}),(0,b.jsxs)("span",{children:[m.toLocaleString()," chars"]}),(0,b.jsx)("span",{className:"font-mono uppercase",children:d})]}),(0,b.jsx)("button",{type:"button",onClick:()=>i(!1),className:"text-muted-foreground hover:bg-muted hover:text-foreground rounded-lg p-2 transition-colors",children:(0,b.jsx)(bc.X,{className:"h-5 w-5"})})]}),j?(0,b.jsx)("pre",{className:"flex-1 overflow-auto p-4 font-mono text-xs leading-relaxed",children:(0,b.jsx)("code",{children:a})}):(0,b.jsx)("iframe",{srcDoc:a,sandbox:"allow-scripts",className:"flex-1 border-0 bg-white dark:bg-neutral-900",title:e("chat.htmlPreviewFullscreen")})]})}),document.body):null]})}let bq=/^\*⏳ (.+)\*$/;function br({text:a}){if("*Thinking...*"===a||"*Agent is waking up...*"===a)return(0,b.jsx)(bv,{booting:a.includes("waking")});let c=bq.exec(a);return c?(0,b.jsx)(bs,{label:c[1]}):(0,b.jsx)(i.default,{remarkPlugins:[aN],components:bg,children:a})}function bs({label:a}){return(0,b.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-2 text-sm italic",children:[(0,b.jsx)(be.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),(0,b.jsx)("span",{children:a})]})}let bt=["Thinking","Reasoning","Analyzing","Processing","Evaluating","Considering","Reflecting","Pondering"],bu=["Waking up","Initializing","Loading tools","Preparing","Connecting"];function bv({booting:a}){let c=a?bu:bt,[d,e]=(0,aU.useState)(0),[f,g]=(0,aU.useState)(!0);return(0,aU.useEffect)(()=>{let a=setInterval(()=>{g(!1),setTimeout(()=>{e(a=>(a+1)%c.length),g(!0)},200)},2e3);return()=>clearInterval(a)},[c]),(0,b.jsxs)("span",{className:"text-muted-foreground inline-flex w-32 items-center gap-1.5 text-sm italic",children:[(0,b.jsx)("span",{className:"inline-block transition-all duration-300 ease-in-out",style:{opacity:+!!f,transform:f?"translateY(0)":"translateY(-4px)"},children:c[d]}),(0,b.jsxs)("span",{className:"inline-flex gap-0.5",children:[(0,b.jsx)("span",{className:"bg-muted-foreground/60 h-1 w-1 animate-bounce rounded-full",style:{animationDelay:"0ms"}}),(0,b.jsx)("span",{className:"bg-muted-foreground/60 h-1 w-1 animate-bounce rounded-full",style:{animationDelay:"150ms"}}),(0,b.jsx)("span",{className:"bg-muted-foreground/60 h-1 w-1 animate-bounce rounded-full",style:{animationDelay:"300ms"}})]})]})}function bw(){let a=(0,h.useMessage)(),[c,d]=(0,aU.useState)(0);(0,aU.useEffect)(()=>{let a=setInterval(()=>d(a=>a+1),3e4);return()=>clearInterval(a)},[]);let e=(0,aU.useMemo)(()=>{if(!a?.createdAt)return null;let b=new Date(a.createdAt);return isNaN(b.getTime())?null:{time:b.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),relative:function(a){let b=Date.now()-a.getTime();if(b<0||b<5e3)return"just now";let c=Math.floor(b/1e3);if(c<60)return`${c}s ago`;let d=Math.floor(c/60);if(d<60)return`${d}m ago`;let e=Math.floor(d/60);return e<24?`${e}h ago`:a.toLocaleDateString()}(b)}},[a?.createdAt,c]);return e?(0,b.jsx)("span",{className:"text-muted-foreground/60 text-[10px]",title:e.time,children:e.relative}):null}let bx=(0,aU.forwardRef)(({tooltip:a,children:c,className:d,...e},f)=>(0,b.jsx)("button",{ref:f,type:"button",title:a,className:(0,aP.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",d),...e,children:c}));function by(){return(0,b.jsxs)(e.ComposerPrimitive.Root,{className:"flex items-end gap-2 border-t p-3",children:[(0,b.jsx)(e.ComposerPrimitive.AddAttachment,{asChild:!0,children:(0,b.jsx)(bx,{tooltip:"Attach file",className:"mb-0.5",children:(0,b.jsx)(a8.Paperclip,{})})}),(0,b.jsx)(e.ComposerPrimitive.Input,{rows:1,autoFocus:!0,placeholder:"Write a message...",className:(0,aP.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,b.jsx)(bz,{})]})}function bz(){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.ThreadPrimitive.If,{running:!1,children:(0,b.jsx)(e.ComposerPrimitive.Send,{className:(0,aP.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,b.jsx)(a5.SendHorizontal,{className:"size-4"})})}),(0,b.jsx)(g.ThreadPrimitive.If,{running:!0,children:(0,b.jsx)(e.ComposerPrimitive.Cancel,{className:(0,aP.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,b.jsx)(a6,{className:"size-4"})})})]})}function bA(a,b){if(!b||0===b.length)return a;let c=b.map(a=>a.notes?.trim()?`@${a.path} [Note: ${a.notes.trim()}]`:`@${a.path}`).join(" ");return`${a}
4
4
 
5
- ${c}`}bx.displayName="IconButton",a.s(["Thread",()=>bh],116579),a.s(["composeUserInput",()=>bA],446511);var bB=a.i(601504);class bC{_contextProvider=new bB.CompositeContextProvider;registerModelContextProvider(a){return this._contextProvider.registerModelContextProvider(a)}getModelContextProvider(){return this._contextProvider}}let bD=Object.freeze([]),bE="DEFAULT_THREAD_ID",bF=Object.freeze([bE]),bG=Object.freeze({id:bE,remoteId:void 0,externalId:void 0,status:"regular"}),bH=Promise.resolve(),bI=Object.freeze({[bE]:bG});class bJ{adapter;threadFactory;_mainThreadId=bE;_threads=bF;_archivedThreads=bD;_threadData=bI;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 bH}_mainThread;get mainThreadId(){return this._mainThreadId}constructor(a={},b){this.adapter=a,this.threadFactory=b,this._mainThread=this.threadFactory(),this.__internal_setAdapter(a,!0)}getMainThreadRuntimeCore(){return this._mainThread}getThreadRuntimeCore(){throw Error("Method not implemented.")}getItemById(a){for(let b of this.adapter.threads??[])if(b.id===a)return b;for(let b of this.adapter.archivedThreads??[])if(b.id===a)return b;if(a===bE)return bG}__internal_setAdapter(a,b=!1){let c=this.adapter;this.adapter=a;let d=a.threadId??bE,e=a.threads??bD,f=a.archivedThreads??bD,g=c.threadId??bE,h=c.threads??bD,i=c.archivedThreads??bD;(b||g!==d||h!==e||i!==f)&&(this._threadData={...bI,...Object.fromEntries(a.threads?.map(a=>[a.id,{...a,remoteId:a.remoteId,externalId:a.externalId,status:"regular"}])??[]),...Object.fromEntries(a.archivedThreads?.map(a=>[a.id,{...a,remoteId:a.remoteId,externalId:a.externalId,status:"archived"}])??[])},h!==e&&(this._threads=this.adapter.threads?.map(a=>a.id)??bD),i!==f&&(this._archivedThreads=this.adapter.archivedThreads?.map(a=>a.id)??bD),g!==d&&(this._mainThreadId=d,this._mainThread=this.threadFactory()),this._notifySubscribers())}async switchToThread(a){if(this._mainThreadId===a)return;let b=this.adapter.onSwitchToThread;if(!b)throw Error("External store adapter does not support switching to thread");await b(a)}async switchToNewThread(){let a=this.adapter.onSwitchToNewThread;if(!a)throw Error("External store adapter does not support switching to new thread");await a()}async rename(a,b){let c=this.adapter.onRename;if(!c)throw Error("External store adapter does not support renaming");await c(a,b)}async detach(){}async archive(a){let b=this.adapter.onArchive;if(!b)throw Error("External store adapter does not support archiving");await b(a)}async unarchive(a){let b=this.adapter.onUnarchive;if(!b)throw Error("External store adapter does not support unarchiving");await b(a)}async delete(a){let b=this.adapter.onDelete;if(!b)throw Error("External store adapter does not support deleting");await b(a)}initialize(a){return Promise.resolve({remoteId:a,externalId:void 0})}generateTitle(){throw Error("Method not implemented.")}_subscriptions=new Set;subscribe(a){return this._subscriptions.add(a),()=>this._subscriptions.delete(a)}_notifySubscribers(){for(let a of this._subscriptions)a()}}let bK=Symbol("innerMessage"),bL=Symbol("innerMessages"),bM=[],bN=a=>{let b="messages"in a?a.messages:a,c=b[bL]||b[bK];return c?Array.isArray(c)?c:(b[bL]=[c],b[bL]):bM};class bO{cache=new WeakMap;convertMessages(a,b){return a.map((a,c)=>{let d=b(this.cache.get(a),a,c);return this.cache.set(a,d),d})}}let bP=Symbol("autoStatus"),bQ=Object.freeze(Object.assign({type:"running"},{[bP]:!0})),bR=Object.freeze(Object.assign({type:"complete",reason:"unknown"},{[bP]:!0})),bS=Object.freeze(Object.assign({type:"requires-action",reason:"tool-calls"},{[bP]:!0})),bT=Object.freeze(Object.assign({type:"requires-action",reason:"interrupt"},{[bP]:!0})),bU=(a,b,c,d,e)=>a&&e?Object.assign({type:"incomplete",reason:"error",error:e},{[bP]:!0}):a&&b?bQ:c?bT:d?bS:bR;var bV=a.i(252569);let bW=Symbol("aui.parse-partial-json-object.meta"),bX=((a,b=21)=>(c=b)=>{let d="",e=0|c;for(;e--;)d+=a[Math.random()*a.length|0];return d})("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7),bY=()=>`__optimistic__${bX()}`,bZ=(a,b)=>{if(a.startsWith("data-"))return{type:"data",name:a.substring(5),data:b}},b$=(a,b,c)=>{let{role:d,id:e,createdAt:f,attachments:g,status:h,metadata:i}=a,j={id:e??b,createdAt:f??new Date},k="string"==typeof a.content?[{type:"text",text:a.content}]:a.content;if("user"!==d&&g?.length)throw Error("attachments are only supported for user messages");if("assistant"!==d&&h)throw Error("status is only supported for assistant messages");if("assistant"!==d&&i?.steps)throw Error("metadata.steps is only supported for assistant messages");switch(d){case"assistant":return{...j,role:d,content:k.map(a=>{let b=a.type;switch(b){case"text":case"reasoning":if(0===a.text.trim().length)return null;return a;case"file":case"source":case"data":return a;case"image":return(({image:a,...b})=>a.match(/^data:image\/(png|jpeg|jpg|gif|webp);base64,(.*)$/)?{...b,image:a}:(console.warn("Invalid image data format detected"),null))(a);case"tool-call":{let{parentId:b,messages:c,...d}=a,e={...d,toolCallId:a.toolCallId??`tool-${bX()}`,...void 0!==b&&{parentId:b},...void 0!==c&&{messages:c}};if(a.args)return{...e,args:a.args,argsText:a.argsText??JSON.stringify(a.args)};return{...e,args:(a=>{if(0===a.length)return{[bW]:{state:"partial",partialPath:[]}};try{let b=bV.default.parse(a);if("object"!=typeof b||null===b)throw Error("argsText is expected to be an object");return b[bW]={state:"complete",partialPath:[]},b}catch{try{let[b,c]=function(a){let b,c=["ROOT"],d=-1,e=null,f=[];function g(){void 0!==b&&(f.push(JSON.parse(`"${b}"`)),b=void 0)}function h(a,b,f){switch(a){case'"':d=b,c.pop(),c.push(f),c.push("INSIDE_STRING"),g();break;case"f":case"t":case"n":d=b,e=b,c.pop(),c.push(f),c.push("INSIDE_LITERAL");break;case"-":c.pop(),c.push(f),c.push("INSIDE_NUMBER"),g();break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":d=b,c.pop(),c.push(f),c.push("INSIDE_NUMBER"),g();break;case"{":d=b,c.pop(),c.push(f),c.push("INSIDE_OBJECT_START"),g();break;case"[":d=b,c.pop(),c.push(f),c.push("INSIDE_ARRAY_START"),g()}}function i(a,e){switch(a){case",":c.pop(),c.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":d=e,c.pop(),b=f.pop()}}function j(a,e){switch(a){case",":c.pop(),c.push("INSIDE_ARRAY_AFTER_COMMA"),b=(Number(b)+1).toString();break;case"]":d=e,c.pop(),b=f.pop()}}for(let g=0;g<a.length;g++){let k=a[g];switch(c[c.length-1]){case"ROOT":h(k,g,"FINISH");break;case"INSIDE_OBJECT_START":switch(k){case'"':c.pop(),c.push("INSIDE_OBJECT_KEY"),b="";break;case"}":d=g,c.pop(),b=f.pop()}break;case"INSIDE_OBJECT_AFTER_COMMA":'"'===k&&(c.pop(),c.push("INSIDE_OBJECT_KEY"),b="");break;case"INSIDE_OBJECT_KEY":switch(k){case'"':c.pop(),c.push("INSIDE_OBJECT_AFTER_KEY");break;case"\\":c.push("INSIDE_STRING_ESCAPE"),b+=k;break;default:b+=k}break;case"INSIDE_OBJECT_AFTER_KEY":":"===k&&(c.pop(),c.push("INSIDE_OBJECT_BEFORE_VALUE"));break;case"INSIDE_OBJECT_BEFORE_VALUE":h(k,g,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":i(k,g);break;case"INSIDE_STRING":switch(k){case'"':c.pop(),d=g,b=f.pop();break;case"\\":c.push("INSIDE_STRING_ESCAPE");break;default:d=g}break;case"INSIDE_ARRAY_START":"]"===k?(d=g,c.pop(),b=f.pop()):(d=g,b="0",h(k,g,"INSIDE_ARRAY_AFTER_VALUE"));break;case"INSIDE_ARRAY_AFTER_VALUE":switch(k){case",":c.pop(),c.push("INSIDE_ARRAY_AFTER_COMMA"),b=(Number(b)+1).toString();break;case"]":d=g,c.pop(),b=f.pop();break;default:d=g}break;case"INSIDE_ARRAY_AFTER_COMMA":h(k,g,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":c.pop(),"INSIDE_STRING"===c[c.length-1]?d=g:"INSIDE_OBJECT_KEY"===c[c.length-1]&&(b+=k);break;case"INSIDE_NUMBER":switch(k){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":d=g;break;case"e":case"E":case"-":case".":break;case",":c.pop(),b=f.pop(),"INSIDE_ARRAY_AFTER_VALUE"===c[c.length-1]&&j(k,g),"INSIDE_OBJECT_AFTER_VALUE"===c[c.length-1]&&i(k,g);break;case"}":c.pop(),b=f.pop(),"INSIDE_OBJECT_AFTER_VALUE"===c[c.length-1]&&i(k,g);break;case"]":c.pop(),b=f.pop(),"INSIDE_ARRAY_AFTER_VALUE"===c[c.length-1]&&j(k,g);break;default:c.pop(),b=f.pop()}break;case"INSIDE_LITERAL":{let b=a.substring(e,g+1);"false".startsWith(b)||"true".startsWith(b)||"null".startsWith(b)?d=g:(c.pop(),"INSIDE_OBJECT_AFTER_VALUE"===c[c.length-1]?i(k,g):"INSIDE_ARRAY_AFTER_VALUE"===c[c.length-1]&&j(k,g))}}}let k=a.slice(0,d+1);for(let b=c.length-1;b>=0;b--)switch(c[b]){case"INSIDE_STRING":k+='"';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":k+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":k+="]";break;case"INSIDE_LITERAL":{let b=a.substring(e,a.length);"true".startsWith(b)?k+="true".slice(b.length):"false".startsWith(b)?k+="false".slice(b.length):"null".startsWith(b)&&(k+="null".slice(b.length))}}return[k,f]}(a),d=bV.default.parse(b);if("object"!=typeof d||null===d)throw Error("argsText is expected to be an object");return d[bW]={state:"partial",partialPath:c},d}catch{return}}})(a.argsText??"")??{},argsText:a.argsText??""}}default:{let c=bZ(b,a.data);if(c)return c;throw Error(`Unsupported assistant message part type: ${b}`)}}}).filter(a=>!!a),status:h??c,metadata:{unstable_state:i?.unstable_state??null,unstable_annotations:i?.unstable_annotations??[],unstable_data:i?.unstable_data??[],custom:i?.custom??{},steps:i?.steps??[],...i?.timing&&{timing:i.timing},...i?.submittedFeedback&&{submittedFeedback:i.submittedFeedback}}};case"user":return{...j,role:d,content:k.map(a=>{let b=a.type;switch(b){case"text":case"image":case"audio":case"file":case"data":return a;default:{let c=bZ(b,a.data);if(c)return c;throw Error(`Unsupported user message part type: ${b}`)}}}),attachments:(g??[]).map(a=>({...a,content:a.content.map(a=>bZ(a.type,a.data)??a)})),metadata:{custom:i?.custom??{}}};case"system":if(1!==k.length||"text"!==k[0].type)throw Error("System messages must have exactly one text message part.");return{...j,role:d,content:k,metadata:{custom:i?.custom??{}}};default:throw Error(`Unknown message role: ${d}`)}},b_=a=>a.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n\n"),b0=a=>{let b=a.map(a=>b$(a,bX(),bU(!1,!1,!1,!1,void 0)));return{messages:b.map((a,c)=>({parentId:c>0?b[c-1].id:null,message:a}))}},b1=a=>a.next?b1(a.next):"current"in a?a:null;class b2{func;_value=null;constructor(a){this.func=a}get value(){return null===this._value&&(this._value=this.func()),this._value}dirty(){this._value=null}}class b3{messages=new Map;head=null;root={children:[],next:null};updateLevels(a,b){for(let c of(a.level=b,a.children)){let a=this.messages.get(c);a&&this.updateLevels(a,b+1)}}performOp(a,b,c){let d=b.prev??this.root,e=a??this.root;if("relink"!==c||d!==e){if("link"!==c&&(d.children=d.children.filter(a=>a!==b.current.id),d.next===b)){let a=d.children.at(-1),b=a?this.messages.get(a):null;if(void 0===b)throw Error("MessageRepository(performOp/cut): Fallback sibling message not found. This is likely an internal bug in assistant-ui.");d.next=b}if("cut"!==c){for(let c=a;c;c=c.prev)if(c.current.id===b.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.");e.children=[...e.children,b.current.id],(b1(b)===this.head||null===e.next)&&(e.next=b),b.prev=a;let c=a?a.level+1:0;this.updateLevels(b,c)}}}_messages=new b2(()=>{let a=Array((this.head?.level??-1)+1);for(let b=this.head;b;b=b.prev)a[b.level]=b.current;return a});get headId(){return this.head?.current.id??null}getMessages(a){if(void 0===a||a===this.head?.current.id)return this._messages.value;let b=this.messages.get(a);if(!b)throw Error("MessageRepository(getMessages): Head message not found. This is likely an internal bug in assistant-ui.");let c=Array(b.level+1);for(let a=b;a;a=a.prev)c[a.level]=a.current;return c}addOrUpdateMessage(a,b){let c=this.messages.get(b.id),d=a?this.messages.get(a):null;if(void 0===d)throw Error("MessageRepository(addOrUpdateMessage): Parent message not found. This is likely an internal bug in assistant-ui.");if(c){c.current=b,this.performOp(d,c,"relink"),this._messages.dirty();return}let e={prev:d,current:b,next:null,children:[],level:d?d.level+1:0};this.messages.set(b.id,e),this.performOp(d,e,"link"),this.head===d&&(this.head=e),this._messages.dirty()}getMessage(a){let b=this.messages.get(a);if(!b)throw Error("MessageRepository(updateMessage): Message not found. This is likely an internal bug in assistant-ui.");return{parentId:b.prev?.current.id??null,message:b.current,index:b.level}}appendOptimisticMessage(a,b){let c;do c=bY();while(this.messages.has(c))return this.addOrUpdateMessage(a,b$(b,c,{type:"running"})),c}deleteMessage(a,b){let c=this.messages.get(a);if(!c)throw Error("MessageRepository(deleteMessage): Message not found. This is likely an internal bug in assistant-ui.");let d=void 0===b?c.prev:null===b?null:this.messages.get(b);if(void 0===d)throw Error("MessageRepository(deleteMessage): Replacement not found. This is likely an internal bug in assistant-ui.");for(let a of c.children){let b=this.messages.get(a);if(!b)throw Error("MessageRepository(deleteMessage): Child message not found. This is likely an internal bug in assistant-ui.");this.performOp(d,b,"relink")}this.performOp(null,c,"cut"),this.messages.delete(a),this.head===c&&(this.head=b1(d??this.root)),this._messages.dirty()}getBranches(a){let b=this.messages.get(a);if(!b)throw Error("MessageRepository(getBranches): Message not found. This is likely an internal bug in assistant-ui.");let{children:c}=b.prev??this.root;return c}switchToBranch(a){let b=this.messages.get(a);if(!b)throw Error("MessageRepository(switchToBranch): Branch not found. This is likely an internal bug in assistant-ui.");(b.prev??this.root).next=b,this.head=b1(b),this._messages.dirty()}resetHead(a){if(null===a)return void this.clear();let b=this.messages.get(a);if(!b)throw Error("MessageRepository(resetHead): Branch not found. This is likely an internal bug in assistant-ui.");if(b.children.length>0){let a=b=>{for(let c of b.children){let b=this.messages.get(c);b&&(a(b),this.messages.delete(c))}};a(b),b.children=[],b.next=null}this.head=b;for(let a=b;a;a=a.prev)a.prev?a.prev.next=a:this.root.next=a;this._messages.dirty()}clear(){this.messages.clear(),this.head=null,this.root={children:[],next:null},this._messages.dirty()}export(){let a=[];for(let[,b]of this.messages)a.push({message:b.current,parentId:b.prev?.current.id??null});return{headId:this.head?.current.id??null,messages:a}}import({headId:a,messages:b}){for(let{message:a,parentId:c}of b)this.addOrUpdateMessage(c,a);this.resetHead(a??b.at(-1)?.message.id??null)}}let b4=Symbol("skip-update");class b5{_subscribers=new Set;subscribe(a){return this._subscribers.add(a),()=>this._subscribers.delete(a)}waitForUpdate(){return new Promise(a=>{let b=this.subscribe(()=>{b(),a()})})}_notifySubscribers(){let a=[];for(let b of this._subscribers)try{b()}catch(b){a.push(b)}if(a.length>0)if(1===a.length)throw a[0];else{for(let b of a)console.error(b);throw AggregateError(a)}}}class b6{_subscriptions=new Set;_connection;get isConnected(){return!!this._connection}notifySubscribers(){for(let a of this._subscriptions)a()}_updateConnection(){this._subscriptions.size>0?this._connection||(this._connection=this._connect()):(this._connection?.(),this._connection=void 0)}subscribe(a){return this._subscriptions.add(a),this._updateConnection(),()=>{this._subscriptions.delete(a),this._updateConnection()}}}class b7 extends b6{binding;get path(){return this.binding.path}constructor(a){super(),this.binding=a;const b=a.getState();if(b===b4)throw Error("Entry not available in the store");this._previousState=b}_previousState;getState=()=>(this.isConnected||this._syncState(),this._previousState);_syncState(){let a=this.binding.getState();return!(a===b4||function(a,b){if(void 0===a&&void 0===b)return!0;if(void 0===a||void 0===b)return!1;for(let c of Object.keys(a))if(!Object.is(a[c],b[c]))return!1;return!0}(a,this._previousState))&&(this._previousState=a,!0)}_connect(){let a=()=>{this._syncState()&&this.notifySubscribers()};return this.binding.subscribe(a)}}class b8 extends b6{binding;get path(){return this.binding.path}constructor(a){super(),this.binding=a}_previousStateDirty=!0;_previousState;getState=()=>{if(!this.isConnected||this._previousStateDirty){let a=this.binding.getState();a!==b4&&(this._previousState=a),this._previousStateDirty=!1}if(void 0===this._previousState)throw Error("Entry not available in the store");return this._previousState};_connect(){let a=()=>{this._previousStateDirty=!0,this.notifySubscribers()};return this.binding.subscribe(a)}}class b9 extends b6{binding;get path(){return this.binding.path}constructor(a){super(),this.binding=a}getState(){return this.binding.getState()}outerSubscribe(a){return this.binding.subscribe(a)}_connect(){let a=()=>{this.notifySubscribers()},b=this.binding.getState(),c=b?.subscribe(a),d=()=>{let d=this.binding.getState();d!==b&&(b=d,c?.(),c=d?.subscribe(a),a())},e=this.outerSubscribe(d);return()=>{e?.(),c?.()}}}class ca extends b6{config;constructor(a){super(),this.config=a}getState(){return this.config.binding.getState()}outerSubscribe(a){return this.config.binding.subscribe(a)}_connect(){let a=()=>{this.notifySubscribers()},b=this.config.binding.getState(),c=b?.unstable_on(this.config.event,a),d=()=>{let d=this.config.binding.getState();d!==b&&(b=d,c?.(),c=d?.unstable_on(this.config.event,a))},e=this.outerSubscribe(d);return()=>{e?.(),c?.()}}}class cb extends b5{isEditing=!0;get attachmentAccept(){return this.getAttachmentAdapter()?.accept??"*"}_attachments=[];get attachments(){return this._attachments}setAttachments(a){this._attachments=a,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(a){this._quote!==a&&(this._quote=a,this._notifySubscribers())}setText(a){if(this._text!==a){if(this._text=a,this._dictation){this._dictationBaseText=a,this._currentInterimText="";let{status:b,inputDisabled:c}=this._dictation;this._dictation=c?{status:b,inputDisabled:c}:{status:b}}this._notifySubscribers()}}setRole(a){this._role!==a&&(this._role=a,this._notifySubscribers())}setRunConfig(a){this._runConfig!==a&&(this._runConfig=a,this._notifySubscribers())}_emptyTextAndAttachments(){this._attachments=[],this._text="",this._notifySubscribers()}async _onClearAttachments(){let a=this.getAttachmentAdapter();if(a){let b=this._attachments.filter(a=>"complete"!==a.status.type);await Promise.all(b.map(b=>a.remove(b)))}}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 a=this._onClearAttachments();this._emptyTextAndAttachments(),await a}async clearAttachments(){let a=this._onClearAttachments();this.setAttachments([]),await a}async send(){if(this.isEmpty)return;this._dictationSession&&(this._dictationSession.cancel(),this._cleanupDictation());let a=this.getAttachmentAdapter(),b=this.attachments.length>0?Promise.all(this.attachments.map(async b=>{if("complete"===b.status.type)return b;if(!a)throw Error("Attachments are not supported");return await a.send(b)})):[],c=this.text,d=this._quote;this._quote=void 0,this._emptyTextAndAttachments();let e={createdAt:new Date,role:this.role,content:c?[{type:"text",text:c}]:[],attachments:await b,runConfig:this.runConfig,metadata:{custom:{...d?{quote:d}:{}}}};this.handleSend(e),this._notifyEventSubscribers("send")}cancel(){this.handleCancel()}async addAttachment(a){if(!(a instanceof File)){let b={id:a.id??bX(),type:a.type??"document",name:a.name,contentType:a.contentType,content:a.content,status:{type:"complete"}};this._attachments=[...this._attachments,b],this._notifyEventSubscribers("attachmentAdd"),this._notifySubscribers();return}let b=this.getAttachmentAdapter();if(!b)throw Error("Attachments are not supported");let c=a=>{let b=this._attachments.findIndex(b=>b.id===a.id);-1!==b?this._attachments=[...this._attachments.slice(0,b),a,...this._attachments.slice(b+1)]:this._attachments=[...this._attachments,a],this._notifySubscribers()},d=b.add({file:a});if(Symbol.asyncIterator in d)for await(let a of d)c(a);else c(await d);this._notifyEventSubscribers("attachmentAdd"),this._notifySubscribers()}async removeAttachment(a){let b=this._attachments.findIndex(b=>b.id===a);if(-1===b)throw Error("Attachment not found");let c=this._attachments[b];if("complete"!==c.status.type){let a=this.getAttachmentAdapter();if(!a)throw Error("Attachments are not supported");await a.remove(c)}this._attachments=this._attachments.filter(b=>b.id!==a),this._notifySubscribers()}_dictation;_dictationSession;_dictationUnsubscribes=[];_dictationBaseText="";_currentInterimText="";_dictationSessionIdCounter=0;_activeDictationSessionId;_isCleaningDictation=!1;get dictation(){return this._dictation}_isActiveSession(a,b){return this._activeDictationSessionId===a&&this._dictationSession===b}startDictation(){let a=this.getDictationAdapter();if(!a)throw Error("Dictation adapter not configured");if(this._dictationSession){for(let a of this._dictationUnsubscribes)a();this._dictationUnsubscribes=[],this._dictationSession.stop().catch(()=>{}),this._dictationSession=void 0}let b=a.disableInputDuringDictation??!1;this._dictationBaseText=this._text,this._currentInterimText="";let c=a.listen();this._dictationSession=c;let d=++this._dictationSessionIdCounter;this._activeDictationSessionId=d,this._dictation={status:c.status,inputDisabled:b},this._notifySubscribers();let e=c.onSpeech(a=>{if(!this._isActiveSession(d,c))return;let b=!1!==a.isFinal,e=this._dictationBaseText&&!this._dictationBaseText.endsWith(" ")&&a.transcript?" ":"";if(b){if(this._dictationBaseText=this._dictationBaseText+e+a.transcript,this._currentInterimText="",this._text=this._dictationBaseText,this._dictation){let{transcript:a,...b}=this._dictation;this._dictation=b}this._notifySubscribers()}else this._currentInterimText=e+a.transcript,this._text=this._dictationBaseText+this._currentInterimText,this._dictation&&(this._dictation={...this._dictation,transcript:a.transcript}),this._notifySubscribers()});this._dictationUnsubscribes.push(e);let f=c.onSpeechStart(()=>{this._isActiveSession(d,c)&&(this._dictation={status:{type:"running"},inputDisabled:b,...this._dictation?.transcript&&{transcript:this._dictation.transcript}},this._notifySubscribers())});this._dictationUnsubscribes.push(f);let g=c.onSpeechEnd(()=>{this._cleanupDictation({sessionId:d})});this._dictationUnsubscribes.push(g);let h=setInterval(()=>{this._isActiveSession(d,c)&&"ended"===c.status.type&&this._cleanupDictation({sessionId:d})},100);this._dictationUnsubscribes.push(()=>clearInterval(h))}stopDictation(){if(!this._dictationSession)return;let a=this._dictationSession,b=this._activeDictationSessionId;a.stop().finally(()=>{this._cleanupDictation({sessionId:b})})}_cleanupDictation(a){if((a?.sessionId===void 0||a.sessionId===this._activeDictationSessionId)&&!this._isCleaningDictation){this._isCleaningDictation=!0;try{for(let a of this._dictationUnsubscribes)a();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(a){let b=this._eventSubscribers.get(a);if(b)for(let a of b)a()}unstable_on(a,b){let c=this._eventSubscribers.get(a);return c?c.add(b):this._eventSubscribers.set(a,new Set([b])),()=>{let c=this._eventSubscribers.get(a);c&&c.delete(b)}}}class cc extends cb{runtime;_canCancel=!1;get canCancel(){return this._canCancel}getAttachmentAdapter(){return this.runtime.adapters?.attachments}getDictationAdapter(){return this.runtime.adapters?.dictation}constructor(a){super(),this.runtime=a,this.connect()}connect(){return this.runtime.subscribe(()=>{this.canCancel!==this.runtime.capabilities.cancel&&(this._canCancel=this.runtime.capabilities.cancel,this._notifySubscribers())})}async handleSend(a){this.runtime.append({...a,parentId:this.runtime.messages.at(-1)?.id??null,sourceId:null})}async handleCancel(){this.runtime.cancelRun()}}class cd extends cb{runtime;endEditCallback;get canCancel(){return!0}getAttachmentAdapter(){return this.runtime.adapters?.attachments}getDictationAdapter(){return this.runtime.adapters?.dictation}_nonTextParts;_previousText;_parentId;_sourceId;constructor(a,b,{parentId:c,message:d}){super(),this.runtime=a,this.endEditCallback=b,this._parentId=c,this._sourceId=d.id,this._previousText=b_(d),this.setText(this._previousText),this.setRole(d.role),this.setAttachments(d.attachments??[]),this._nonTextParts=d.content.filter(a=>"text"!==a.type),this.setRunConfig({...a.composer.runConfig})}async handleSend(a){b_(a)!==this._previousText&&this.runtime.append({...a,content:[...a.content,...this._nonTextParts],parentId:this._parentId,sourceId:this._sourceId}),this.handleCancel()}handleCancel(){this.endEditCallback(),this._notifySubscribers()}}class ce{_contextProvider;_subscriptions=new Set;_isInitialized=!1;repository=new b3;get messages(){return this.repository.getMessages()}get state(){let a;for(let b of this.messages)"assistant"===b.role&&(a=b);return a?.metadata.unstable_state??null}composer=new cc(this);constructor(a){this._contextProvider=a}getModelContext(){return this._contextProvider.getModelContext()}_editComposers=new Map;getEditComposer(a){return this._editComposers.get(a)}beginEdit(a){if(this._editComposers.has(a))throw Error("Edit already in progress");this._editComposers.set(a,new cd(this,()=>this._editComposers.delete(a),this.repository.getMessage(a))),this._notifySubscribers()}getMessageById(a){try{return this.repository.getMessage(a)}catch{return}}getBranches(a){return this.repository.getBranches(a)}switchToBranch(a){this.repository.switchToBranch(a),this._notifySubscribers()}_notifySubscribers(){for(let a of this._subscriptions)a()}_notifyEventSubscribers(a){let b=this._eventSubscribers.get(a);if(b)for(let a of b)a()}subscribe(a){return this._subscriptions.add(a),()=>this._subscriptions.delete(a)}submitFeedback({messageId:a,type:b}){let c=this.adapters?.feedback;if(!c)throw Error("Feedback adapter not configured");let{message:d,parentId:e}=this.repository.getMessage(a);if(c.submit({message:d,type:b}),"assistant"===d.role){let a={...d,metadata:{...d.metadata,submittedFeedback:{type:b}}};this.repository.addOrUpdateMessage(e,a)}this._notifySubscribers()}_stopSpeaking;speech;speak(a){let b=this.adapters?.speech;if(!b)throw Error("Speech adapter not configured");let{message:c}=this.repository.getMessage(a);this._stopSpeaking?.();let d=b.speak(b_(c)),e=d.subscribe(()=>{"ended"===d.status.type?(this._stopSpeaking=void 0,this.speech=void 0):this.speech={messageId:a,status:d.status},this._notifySubscribers()});this.speech={messageId:a,status:d.status},this._notifySubscribers(),this._stopSpeaking=()=>{d.cancel(),e(),this.speech=void 0,this._stopSpeaking=void 0}}stopSpeaking(){if(!this._stopSpeaking)throw Error("No message is being spoken");this._stopSpeaking(),this._notifySubscribers()}ensureInitialized(){this._isInitialized||(this._isInitialized=!0,this._notifyEventSubscribers("initialize"))}export(){return this.repository.export()}import(a){this.ensureInitialized(),this.repository.clear(),this.repository.import(a),this._notifySubscribers()}reset(a){this.import(b0(a??[]))}_eventSubscribers=new Map;unstable_on(a,b){if("modelContextUpdate"===a)return this._contextProvider.subscribe?.(b)??(()=>{});let c=this._eventSubscribers.get(a);return c?c.add(b):this._eventSubscribers.set(a,new Set([b])),()=>{this._eventSubscribers.get(a).delete(b)}}}let cf=Object.freeze([]),cg=(a,b)=>{let c=Object.keys(a);if(c.length!==Object.keys(b).length)return!1;for(let d of c)if(a[d]!==b[d])return!1;return!0};class ch extends ce{_assistantOptimisticId=null;_capabilities={switchToBranch:!1,switchBranchDuringRun:!1,edit:!1,reload:!1,cancel:!1,unstable_copy:!1,speech:!1,dictation:!1,attachments:!1,feedback:!1};get capabilities(){return this._capabilities}_messages;isDisabled;get isLoading(){return this._store.isLoading??!1}get messages(){return this._messages}get state(){return this._store.state??super.state}get adapters(){return this._store.adapters}suggestions=[];extras=void 0;_converter=new bO;_store;beginEdit(a){if(!this._store.onEdit)throw Error("Runtime does not support editing.");super.beginEdit(a)}constructor(a,b){super(a),this.__internal_setAdapter(b)}__internal_setAdapter(a){let b,c;if(this._store===a)return;let d=a.isRunning??!1;this.isDisabled=a.isDisabled??!1;let e=this._store;this._store=a,this.extras!==a.extras&&(this.extras=a.extras);let f=a.suggestions??cf;cg(this.suggestions,f)||(this.suggestions=f);let g={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,unstable_copy:this._store.unstable_capabilities?.copy!==!1,attachments:!!this._store.adapters?.attachments,feedback:!!this._store.adapters?.feedback};if(cg(this._capabilities,g)||(this._capabilities=g),a.messageRepository){if(e&&e.isRunning===a.isRunning&&e.messageRepository===a.messageRepository)return void this._notifySubscribers();this.repository.clear(),this._assistantOptimisticId=null,this.repository.import(a.messageRepository),b=this.repository.getMessages()}else if(a.messages){if(e){if(e.convertMessage!==a.convertMessage)this._converter=new bO;else if(e.isRunning===a.isRunning&&e.messages===a.messages)return void this._notifySubscribers()}b=a.convertMessage?this._converter.convertMessages(a.messages,(b,c,e)=>{if(!a.convertMessage)return c;let f=bU(e===(a.messages?.length??0)-1,d,!1,!1,void 0);if(b&&("assistant"!==b.role||!0!==b.status[bP]||b.status===f))return b;let g=b$(a.convertMessage(c,e),e.toString(),f);return bK in g||(g[bK]=c),g}):a.messages;for(let a=0;a<b.length;a++){let c=b[a],d=b[a-1];this.repository.addOrUpdateMessage(d?.id??null,c)}}else throw Error("ExternalStoreAdapter must provide either 'messages' or 'messageRepository'");b.length>0&&this.ensureInitialized(),(e?.isRunning??!1)!==(a.isRunning??!1)&&(a.isRunning?this._notifyEventSubscribers("runStart"):this._notifyEventSubscribers("runEnd")),this._assistantOptimisticId&&(this.repository.deleteMessage(this._assistantOptimisticId),this._assistantOptimisticId=null),c=b,d&&c[c.length-1]?.role!=="assistant"&&(this._assistantOptimisticId=this.repository.appendOptimisticMessage(b.at(-1)?.id??null,{role:"assistant",content:[]})),this.repository.resetHead(this._assistantOptimisticId??b.at(-1)?.id??null),this._messages=this.repository.getMessages(),this._notifySubscribers()}switchToBranch(a){if(!this._store.setMessages)throw Error("Runtime does not support switching branches.");this._store.isRunning||(this.repository.switchToBranch(a),this.updateMessages(this.repository.getMessages()))}async append(a){if(a.parentId!==(this.messages.at(-1)?.id??null)){if(!this._store.onEdit)throw Error("Runtime does not support editing messages.");await this._store.onEdit(a)}else await this._store.onNew(a)}async startRun(a){if(!this._store.onReload)throw Error("Runtime does not support reloading messages.");await this._store.onReload(a.parentId,a)}async resumeRun(a){if(!this._store.onResume)throw Error("Runtime does not support resuming runs.");await this._store.onResume(a)}exportExternalState(){if(!this._store.onExportExternalState)throw Error("Runtime does not support exporting external states.");return this._store.onExportExternalState()}importExternalState(a){if(!this._store.onLoadExternalState)throw Error("Runtime does not support importing external states.");this._store.onLoadExternalState(a)}unstable_loadExternalState(a){this.importExternalState(a)}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 a=this.repository.getMessages(),b=a[a.length-1];b?.role==="user"&&b.id===a.at(-1)?.id?(this.repository.deleteMessage(b.id),this.composer.text.trim()||this.composer.setText(b_(b)),a=this.repository.getMessages()):this._notifySubscribers(),setTimeout(()=>{this.updateMessages(a)},0)}addToolResult(a){if(!this._store.onAddToolResult&&!this._store.onAddToolResult)throw Error("Runtime does not support tool results.");this._store.onAddToolResult?.(a)}resumeToolCall(a){if(!this._store.onResumeToolCall)throw Error("Runtime does not support resuming tool calls.");this._store.onResumeToolCall(a)}reset(a){let b=new b3;b.import(b0(a??[])),this.updateMessages(b.getMessages())}import(a){this._assistantOptimisticId=null,super.import(a),this._store.onImport&&this._store.onImport(this.repository.getMessages())}updateMessages=a=>{void 0!==this._store.convertMessage?this._store.setMessages?.(a.flatMap(bN)):this._store.setMessages?.(a)}}let ci=a=>a.adapters?.threadList??{};class cj extends bC{threads;constructor(a){super(),this.threads=new bJ(ci(a),()=>new ch(this._contextProvider,a))}setAdapter(a){this.threads.__internal_setAdapter(ci(a)),this.threads.getMainThreadRuntimeCore().__internal_setAdapter(a)}}class ck{_core;_threadListBinding;get path(){return this._core.path}constructor(a,b){this._core=a,this._threadListBinding=b,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 a=this._core.getState();return this._threadListBinding.switchToThread(a.id)}rename(a){let b=this._core.getState();return this._threadListBinding.rename(b.id,a)}archive(){let a=this._core.getState();return this._threadListBinding.archive(a.id)}unarchive(){let a=this._core.getState();return this._threadListBinding.unarchive(a.id)}delete(){let a=this._core.getState();return this._threadListBinding.delete(a.id)}initialize(){let a=this._core.getState();return this._threadListBinding.initialize(a.id)}generateTitle(){let a=this._core.getState();return this._threadListBinding.generateTitle(a.id)}unstable_on(a,b){let c=this._core.getState().isMain,d=this._core.getState().id;return this.subscribe(()=>{let e=this._core.getState(),f=e.isMain,g=e.id;c===f&&d===g||(c=f,d=g,"switchedTo"===a&&!f||"switchedAway"===a&&f||b())})}subscribe(a){return this._core.subscribe(a)}detach(){let a=this._core.getState();this._threadListBinding.detach(a.id)}__internal_getRuntime(){return this}}class cl{_core;get path(){return this._core.path}constructor(a){this._core=a,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(a){return this._core.subscribe(a)}}class cm extends cl{_composerApi;constructor(a,b){super(a),this._composerApi=b}remove(){let a=this._composerApi.getState();if(!a)throw Error("Composer is not available");return a.removeAttachment(this.getState().id)}}class cn extends cm{get source(){return"thread-composer"}}class co extends cm{get source(){return"edit-composer"}}class cp extends cl{get source(){return"message"}constructor(a){super(a)}remove(){throw Error("Message attachments cannot be removed")}}let cq=Object.freeze([]),cr=Object.freeze({});class cs{_core;get path(){return this._core.path}constructor(a){this._core=a}__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(a){let b=this._core.getState();if(!b)throw Error("Composer is not available");b.setText(a)}setRunConfig(a){let b=this._core.getState();if(!b)throw Error("Composer is not available");b.setRunConfig(a)}addAttachment(a){let b=this._core.getState();if(!b)throw Error("Composer is not available");return b.addAttachment(a)}reset(){let a=this._core.getState();if(!a)throw Error("Composer is not available");return a.reset()}clearAttachments(){let a=this._core.getState();if(!a)throw Error("Composer is not available");return a.clearAttachments()}send(){let a=this._core.getState();if(!a)throw Error("Composer is not available");a.send()}cancel(){let a=this._core.getState();if(!a)throw Error("Composer is not available");a.cancel()}setRole(a){let b=this._core.getState();if(!b)throw Error("Composer is not available");b.setRole(a)}startDictation(){let a=this._core.getState();if(!a)throw Error("Composer is not available");a.startDictation()}stopDictation(){let a=this._core.getState();if(!a)throw Error("Composer is not available");a.stopDictation()}setQuote(a){let b=this._core.getState();if(!b)throw Error("Composer is not available");b.setQuote(a)}subscribe(a){return this._core.subscribe(a)}_eventSubscriptionSubjects=new Map;unstable_on(a,b){let c=this._eventSubscriptionSubjects.get(a);return c||(c=new ca({event:a,binding:this._core}),this._eventSubscriptionSubjects.set(a,c)),c.subscribe(b)}}class ct extends cs{get path(){return this._core.path}get type(){return"thread"}_getState;constructor(a){const b=new b8({path:a.path,getState:()=>{let b;return b=a.getState(),Object.freeze({type:"thread",isEditing:b?.isEditing??!1,canCancel:b?.canCancel??!1,isEmpty:b?.isEmpty??!0,attachments:b?.attachments??cq,text:b?.text??"",role:b?.role??"user",runConfig:b?.runConfig??cr,attachmentAccept:b?.attachmentAccept??"",dictation:b?.dictation,quote:b?.quote,value:b?.text??""})},subscribe:b=>a.subscribe(b)});super({path:a.path,getState:()=>a.getState(),subscribe:a=>b.subscribe(a)}),this._getState=b.getState.bind(b),this.__internal_bindMethods()}getState(){return this._getState()}getAttachmentByIndex(a){return new cn(new b7({path:{...this.path,attachmentSource:"thread-composer",attachmentSelector:{type:"index",index:a},ref:`${this.path.ref}.attachments[${a}]`},getState:()=>{let b=this.getState().attachments[a];return b?{...b,source:"thread-composer"}:b4},subscribe:a=>this._core.subscribe(a)}),this._core)}}class cu extends cs{_beginEdit;get path(){return this._core.path}get type(){return"edit"}_getState;constructor(a,b){const c=new b8({path:a.path,getState:()=>{let b;return b=a.getState(),Object.freeze({type:"edit",isEditing:b?.isEditing??!1,canCancel:b?.canCancel??!1,isEmpty:b?.isEmpty??!0,text:b?.text??"",role:b?.role??"user",attachments:b?.attachments??cq,runConfig:b?.runConfig??cr,attachmentAccept:b?.attachmentAccept??"",dictation:b?.dictation,quote:b?.quote,value:b?.text??""})},subscribe:b=>a.subscribe(b)});super({path:a.path,getState:()=>a.getState(),subscribe:a=>c.subscribe(a)}),this._beginEdit=b,this._getState=c.getState.bind(c),this.__internal_bindMethods()}__internal_bindMethods(){super.__internal_bindMethods(),this.beginEdit=this.beginEdit.bind(this)}getState(){return this._getState()}beginEdit(){this._beginEdit()}getAttachmentByIndex(a){return new co(new b7({path:{...this.path,attachmentSource:"edit-composer",attachmentSelector:{type:"index",index:a},ref:`${this.path.ref}.attachments[${a}]`},getState:()=>{let b=this.getState().attachments[a];return b?{...b,source:"edit-composer"}:b4},subscribe:a=>this._core.subscribe(a)}),this._core)}}let cv=Symbol.for("aui.tool-response");class cw{get[cv](){return!0}artifact;result;isError;messages;constructor(a){void 0!==a.artifact&&(this.artifact=a.artifact),this.result=a.result,this.isError=a.isError??!1,void 0!==a.messages&&(this.messages=a.messages)}static[Symbol.hasInstance](a){return"object"==typeof a&&null!==a&&cv in a}static toResponse(a){return a instanceof cw?a:new cw({result:void 0===a?"<no result>":a})}}class cx{contentBinding;messageApi;threadApi;get path(){return this.contentBinding.path}constructor(a,b,c){this.contentBinding=a,this.messageApi=b,this.threadApi=c,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(a){let b=this.contentBinding.getState();if(!b)throw Error("Message part is not available");if("tool-call"!==b.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 c=this.messageApi.getState();if(!c)throw Error("Message is not available");let d=b.toolName,e=b.toolCallId,f=cw.toResponse(a);this.threadApi.getState().addToolResult({messageId:c.id,toolName:d,toolCallId:e,result:f.result,artifact:f.artifact,isError:f.isError})}resumeToolCall(a){let b=this.contentBinding.getState();if(!b)throw Error("Message part is not available");if("tool-call"!==b.type)throw Error("Tried to resume tool call on non-tool message part");if(!this.threadApi)throw Error("Thread API is not available");let c=b.toolCallId;this.threadApi.getState().resumeToolCall({toolCallId:c,payload:a})}subscribe(a){return this.contentBinding.subscribe(a)}}let cy=Object.freeze({type:"complete"}),cz=(a,b)=>{let c=a.content[b];if(!c)return b4;let d=((a,b,c)=>{if("assistant"!==a.role)return cy;if("tool-call"===c.type)if(!c.result)return a.status;else return cy;let d=b===Math.max(0,a.content.length-1);return"requires-action"===a.status.type?cy:d?a.status:cy})(a,b,c);return Object.freeze({...c,...{[bK]:c[bK]},status:d})};class cA{_core;_threadBinding;get path(){return this._core.path}constructor(a,b){this._core=a,this._threadBinding=b,this.composer=new cu(new b9({path:{...this.path,ref:`${this.path.ref}${this.path.ref}.composer`,composerSource:"edit"},getState:this._getEditComposerRuntimeCore,subscribe:a=>this._threadBinding.subscribe(a)}),()=>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(a={}){let b=this._getEditComposerRuntimeCore(),c=b??this._threadBinding.getState().composer,{runConfig:d=(b??c).runConfig}=a,e=this._core.getState();if("assistant"!==e.role)throw Error("Can only reload assistant messages");this._threadBinding.getState().startRun({parentId:e.parentId,sourceId:e.id,runConfig:d})}speak(){let a=this._core.getState();return this._threadBinding.getState().speak(a.id)}stopSpeaking(){let a=this._core.getState(),b=this._threadBinding.getState();if(b.speech?.messageId===a.id)this._threadBinding.getState().stopSpeaking();else throw Error("Message is not being spoken")}submitFeedback({type:a}){let b=this._core.getState();this._threadBinding.getState().submitFeedback({messageId:b.id,type:a})}switchToBranch({position:a,branchId:b}){let c=this._core.getState();if(b&&a)throw Error("May not specify both branchId and position");if(!b&&!a)throw Error("Must specify either branchId or position");let d=this._threadBinding.getState().getBranches(c.id),e=b;if("previous"===a?e=d[c.branchNumber-2]:"next"===a&&(e=d[c.branchNumber]),!e)throw Error("Branch not found");this._threadBinding.getState().switchToBranch(e)}unstable_getCopyText(){return b_(this.getState())}subscribe(a){return this._core.subscribe(a)}getMessagePartByIndex(a){if(a<0)throw Error("Message part index must be >= 0");return new cx(new b7({path:{...this.path,ref:`${this.path.ref}${this.path.ref}.content[${a}]`,messagePartSelector:{type:"index",index:a}},getState:()=>cz(this.getState(),a),subscribe:a=>this._core.subscribe(a)}),this._core,this._threadBinding)}getMessagePartByToolCallId(a){return new cx(new b7({path:{...this.path,ref:this.path.ref+`${this.path.ref}.content[toolCallId=${JSON.stringify(a)}]`,messagePartSelector:{type:"toolCallId",toolCallId:a}},getState:()=>{let b=this._core.getState(),c=b.content.findIndex(b=>"tool-call"===b.type&&b.toolCallId===a);return -1===c?b4:cz(b,c)},subscribe:a=>this._core.subscribe(a)}),this._core,this._threadBinding)}getAttachmentByIndex(a){return new cp(new b7({path:{...this.path,ref:`${this.path.ref}${this.path.ref}.attachments[${a}]`,attachmentSource:"message",attachmentSelector:{type:"index",index:a}},getState:()=>{let b=this.getState().attachments,c=b?.[a];return c?{...c,source:"message"}:b4},subscribe:a=>this._core.subscribe(a)}))}}class cB{get path(){return this._threadBinding.path}get __internal_threadBinding(){return this._threadBinding}_threadBinding;constructor(a,b){const c=new b7({path:a.path,getState:()=>{var c,d;let e;return c=a.getState(),d=b.getState(),e=c.messages.at(-1),Object.freeze({threadId:d.id,metadata:d,capabilities:c.capabilities,isDisabled:c.isDisabled,isLoading:c.isLoading,isRunning:e?.role==="assistant"&&"running"===e.status.type,messages:c.messages,state:c.state,suggestions:c.suggestions,extras:c.extras,speech:c.speech})},subscribe:c=>{let d=a.subscribe(c),e=b.subscribe(c);return()=>{d(),e()}}});this._threadBinding={path:a.path,getState:()=>a.getState(),getStateState:()=>c.getState(),outerSubscribe:b=>a.outerSubscribe(b),subscribe:b=>a.subscribe(b)},this.composer=new ct(new b9({path:{...this.path,ref:`${this.path.ref}.composer`,composerSource:"thread"},getState:()=>this._threadBinding.getState().composer,subscribe:a=>this._threadBinding.subscribe(a)})),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.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(a){var b;this._threadBinding.getState().append((b=this._threadBinding.getState().messages,"string"==typeof a?{createdAt:new Date,parentId:b.at(-1)?.id??null,sourceId:null,runConfig:{},role:"user",content:[{type:"text",text:a}],attachments:[],metadata:{custom:{}}}:{createdAt:a.createdAt??new Date,parentId:a.parentId??b.at(-1)?.id??null,sourceId:a.sourceId??null,role:a.role??"user",content:a.content,attachments:a.attachments??[],metadata:a.metadata??{custom:{}},runConfig:a.runConfig??{},startRun:a.startRun}))}subscribe(a){return this._threadBinding.subscribe(a)}getModelContext(){return this._threadBinding.getState().getModelContext()}getModelConfig(){return this.getModelContext()}startRun(a){let b;return this._threadBinding.getState().startRun({parentId:(b=null===a||"string"==typeof a?{parentId:a}:a).parentId??null,sourceId:b.sourceId??null,runConfig:b.runConfig??{}})}resumeRun(a){return this._threadBinding.getState().resumeRun({parentId:a.parentId??null,sourceId:a.sourceId??null,runConfig:a.runConfig??{},...a.stream?{stream:a.stream}:{}})}unstable_resumeRun(a){return this.resumeRun(a)}exportExternalState(){return this._threadBinding.getState().exportExternalState()}importExternalState(a){this._threadBinding.getState().importExternalState(a)}unstable_loadExternalState(a){this._threadBinding.getState().unstable_loadExternalState(a)}cancelRun(){this._threadBinding.getState().cancelRun()}stopSpeaking(){return this._threadBinding.getState().stopSpeaking()}export(){return this._threadBinding.getState().export()}import(a){this._threadBinding.getState().import(a)}reset(a){this._threadBinding.getState().reset(a)}getMessageByIndex(a){if(a<0)throw Error("Message index must be >= 0");return this._getMessageRuntime({...this.path,ref:`${this.path.ref}.messages[${a}]`,messageSelector:{type:"index",index:a}},()=>{let b=this._threadBinding.getState().messages,c=b[a];if(c)return{message:c,parentId:b[a-1]?.id??null,index:a}})}getMessageById(a){return this._getMessageRuntime({...this.path,ref:`${this.path.ref}.messages[messageId=${JSON.stringify(a)}]`,messageSelector:{type:"messageId",messageId:a}},()=>this._threadBinding.getState().getMessageById(a))}_getMessageRuntime(a,b){return new cA(new b7({path:a,getState:()=>{let{message:a,parentId:c,index:d}=b()??{},{messages:e,speech:f}=this._threadBinding.getState();if(!a||void 0===c||void 0===d)return b4;let g=this._threadBinding.getState().getBranches(a.id),h=a.metadata.submittedFeedback;return{...a,...{[bK]:a[bK]},index:d,isLast:e.at(-1)?.id===a.id,parentId:c,branchNumber:g.indexOf(a.id)+1,branchCount:g.length,speech:f?.messageId===a.id?f:void 0,submittedFeedback:h}},subscribe:a=>this._threadBinding.subscribe(a)}),this._threadBinding)}_eventSubscriptionSubjects=new Map;unstable_on(a,b){let c=this._eventSubscriptionSubjects.get(a);return c||(c=new ca({event:a,binding:this._threadBinding}),this._eventSubscriptionSubjects.set(a,c)),c.subscribe(b)}}let cC=(a,b)=>{if(void 0===b)return b4;let c=a.getItemById(b);return c?{id:c.id,remoteId:c.remoteId,externalId:c.externalId,title:c.title,status:c.status,isMain:c.id===a.mainThreadId}:b4};class cD{_core;_runtimeFactory;_getState;constructor(a,b=cB){this._core=a,this._runtimeFactory=b;const c=new b8({path:{},getState:()=>({mainThreadId:a.mainThreadId,newThreadId:a.newThreadId,threadIds:a.threadIds,archivedThreadIds:a.archivedThreadIds,isLoading:a.isLoading,threadItems:a.threadItems}),subscribe:b=>a.subscribe(b)});this._getState=c.getState.bind(c),this._mainThreadListItemRuntime=new ck(new b7({path:{ref:"threadItems[main]",threadSelector:{type:"main"}},getState:()=>cC(this._core,this._core.mainThreadId),subscribe:a=>this._core.subscribe(a)}),this._core),this.main=new b(new b9({path:{ref:"threads.main",threadSelector:{type:"main"}},getState:()=>a.getMainThreadRuntimeCore(),subscribe:b=>a.subscribe(b)}),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(a){return this._core.switchToThread(a)}switchToNewThread(){return this._core.switchToNewThread()}getState(){return this._getState()}subscribe(a){return this._core.subscribe(a)}_mainThreadListItemRuntime;main;get mainItem(){return this._mainThreadListItemRuntime}getById(a){return new this._runtimeFactory(new b9({path:{ref:`threads[threadId=${JSON.stringify(a)}]`,threadSelector:{type:"threadId",threadId:a}},getState:()=>this._core.getThreadRuntimeCore(a),subscribe:a=>this._core.subscribe(a)}),this.mainItem)}getItemByIndex(a){return new ck(new b7({path:{ref:`threadItems[${a}]`,threadSelector:{type:"index",index:a}},getState:()=>cC(this._core,this._core.threadIds[a]),subscribe:a=>this._core.subscribe(a)}),this._core)}getArchivedItemByIndex(a){return new ck(new b7({path:{ref:`archivedThreadItems[${a}]`,threadSelector:{type:"archiveIndex",index:a}},getState:()=>cC(this._core,this._core.archivedThreadIds[a]),subscribe:a=>this._core.subscribe(a)}),this._core)}getItemById(a){return new ck(new b7({path:{ref:`threadItems[threadId=${a}]`,threadSelector:{type:"threadId",threadId:a}},getState:()=>cC(this._core,a),subscribe:a=>this._core.subscribe(a)}),this._core)}}class cE{_core;threads;get threadList(){return this.threads}_thread;constructor(a){this._core=a,this.threads=new cD(a.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(a){return this._core.threads.switchToThread(a)}registerModelContextProvider(a){return this._core.registerModelContextProvider(a)}registerModelConfigProvider(a){return this.registerModelContextProvider(a)}reset({initialMessages:a}={}){return this._core.threads.getMainThreadRuntimeCore().import(b0(a??[]))}}let cF=(0,aU.createContext)(null);var cG=a.i(917985),cH=a.i(431263),cI=a.i(425265),cJ=a.i(745806),cK=a.i(499298),cL=class extends cJ.Subscribable{#a;#b=void 0;#c;#d;constructor(a,b){super(),this.#a=a,this.setOptions(b),this.bindMethods(),this.#e()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(a){let b=this.options;this.options=this.#a.defaultMutationOptions(a),(0,cK.shallowEqualObjects)(this.options,b)||this.#a.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#c,observer:this}),b?.mutationKey&&this.options.mutationKey&&(0,cK.hashKey)(b.mutationKey)!==(0,cK.hashKey)(this.options.mutationKey)?this.reset():this.#c?.state.status==="pending"&&this.#c.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#c?.removeObserver(this)}onMutationUpdate(a){this.#e(),this.#f(a)}getCurrentResult(){return this.#b}reset(){this.#c?.removeObserver(this),this.#c=void 0,this.#e(),this.#f()}mutate(a,b){return this.#d=b,this.#c?.removeObserver(this),this.#c=this.#a.getMutationCache().build(this.#a,this.options),this.#c.addObserver(this),this.#c.execute(a)}#e(){let a=this.#c?.state??(0,cH.getDefaultState)();this.#b={...a,isPending:"pending"===a.status,isSuccess:"success"===a.status,isError:"error"===a.status,isIdle:"idle"===a.status,mutate:this.mutate,reset:this.reset}}#f(a){cI.notifyManager.batch(()=>{if(this.#d&&this.hasListeners()){let b=this.#b.variables,c=this.#b.context,d={client:this.#a,meta:this.options.meta,mutationKey:this.options.mutationKey};if(a?.type==="success"){try{this.#d.onSuccess?.(a.data,b,c,d)}catch(a){Promise.reject(a)}try{this.#d.onSettled?.(a.data,null,b,c,d)}catch(a){Promise.reject(a)}}else if(a?.type==="error"){try{this.#d.onError?.(a.error,b,c,d)}catch(a){Promise.reject(a)}try{this.#d.onSettled?.(void 0,a.error,b,c,d)}catch(a){Promise.reject(a)}}}this.listeners.forEach(a=>{a(this.#b)})})}},cM=a.i(480535),cN=a.i(746847);function cO(a){return["chat-messages",a]}async function cP(a){let b=await fetch(`/api/interactive/chat/${a}/messages`);if(!b.ok)throw console.error(`[ChatState] fetch failed: ${b.status}`,await b.text().catch(()=>"")),Error(`Failed to fetch chat state: ${b.status}`);return b.json()}function cQ(a){if(null==a||""===a)return null;if("number"==typeof a)return Number.isFinite(a)?a:null;if(a instanceof Date){let b=a.getTime();return Number.isFinite(b)?b:null}if("string"==typeof a){let b=Number(a);if(Number.isFinite(b))return b;let c=new Date(a).getTime();return Number.isFinite(c)?c:null}return null}async function cR(a,b,c,d,e){let f=await fetch(`/api/interactive/chat/${a}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:b,worktreePath:c,model:d,agentType:e})});if(!f.ok)throw Error(`Failed to send message: ${f.status}`);return(await f.json()).message}function cS(a){return{id:a.id,role:a.role===cN.InteractiveMessageRole.user?"user":"assistant",content:[{type:"text",text:a.content}],createdAt:a.createdAt?new Date(a.createdAt):void 0}}function cT(a,b,c){let d=(0,cM.useQueryClient)(),e=(0,aU.useRef)(c?.model),f=(0,aU.useRef)(c?.agentType);e.current=c?.model,f.current=c?.agentType;let g=(0,aU.useRef)(c?.debugMode??!1);g.current=c?.debugMode??!1;let[h,i]=(0,aU.useState)([]),j=(0,aU.useCallback)((a,b)=>{g.current&&i(c=>[...c,{id:`dbg-${Date.now()}-${Math.random()}`,timestamp:new Date,label:a,detail:b}])},[]),{data:k,isLoading:l}=(0,cG.useQuery)({queryKey:cO(a),queryFn:()=>cP(a),initialData:c?.initialChatState,staleTime:1/0,refetchOnWindowFocus:!1,refetchOnReconnect:!1});(0,aU.useEffect)(()=>{k?.turnStatus==="unread"&&fetch(`/api/interactive/chat/${a}/mark-read`,{method:"POST"})},[k?.turnStatus,a]);let m=(0,aU.useMemo)(()=>k?.messages??[],[k?.messages]),n=k?.sessionStatus??null,o=(0,aU.useRef)(null);(0,aU.useEffect)(()=>{if(n&&n!==o.current){let a=k?.sessionInfo;j(`session_${n}`,a?`model=${a.model??"?"}, sid=${a.sessionId?.slice(0,8)??"?"}`:void 0)}o.current=n},[n,k?.sessionInfo,j]);let p=k?.streamingText??null,q=(0,aU.useRef)(null);k?.sessionInfo&&(q.current=k.sessionInfo);let r=k?.sessionInfo??q.current,[s,t]=(0,aU.useState)(""),[u,v]=(0,aU.useState)(null),[w,x]=(0,aU.useState)(!1),y=(0,aU.useRef)(null),z=(0,aU.useRef)(null),[A,B]=(0,aU.useState)(null);(0,aU.useEffect)(()=>{let a=k?.pendingInteraction??null;a?B(a):!a&&A&&B(null)},[k?.pendingInteraction,A]);let C=(0,aU.useCallback)(()=>{y.current&&clearTimeout(y.current),y.current=setTimeout(()=>x(!0),600)},[]),D=(0,aU.useCallback)(()=>{y.current&&(clearTimeout(y.current),y.current=null),x(!1)},[]),E=m.length>0?m[m.length-1].role:null;(0,aU.useEffect)(()=>{E===cN.InteractiveMessageRole.assistant&&D()},[E,m.length,D]),(0,aU.useEffect)(()=>{let b=new EventSource(`/api/interactive/chat/${a}/stream`);return z.current=b,b.addEventListener("delta",a=>{try{let b=JSON.parse(a.data);b.delta&&(D(),t(a=>a+b.delta),v(null))}catch{}}),b.addEventListener("activity",a=>{D();try{let b=JSON.parse(a.data);b.activity&&j(`[${b.activity.kind}] ${b.activity.label}`,b.activity.detail)}catch{}}),b.addEventListener("log",a=>{try{let b=JSON.parse(a.data);b.log&&(D(),v(b.log),j("log",b.log))}catch{}}),b.addEventListener("interaction",a=>{try{let b=JSON.parse(a.data);b.interaction&&(D(),B(b.interaction))}catch{}}),b.addEventListener("message",b=>{try{let e=JSON.parse(b.data);if(e.message){var c;c=e.message,d.setQueryData(cO(a),a=>{let b=a??{messages:[],sessionStatus:null,streamingText:null,sessionInfo:null};if(b.messages.find(a=>a.id===c.id))return b;let d=b.messages.filter(a=>!(a.id.startsWith("optimistic-")&&a.role===c.role&&a.content===c.content));return{...b,messages:[...d,c]}}),e.message.role===cN.InteractiveMessageRole.assistant&&D()}}catch{}}),b.addEventListener("session_status",b=>{try{var c;let e=JSON.parse(b.data);e.sessionStatus&&(c=e.sessionStatus,d.setQueryData(cO(a),a=>a?{...a,sessionStatus:c}:a))}catch{}}),b.addEventListener("turn_status",b=>{try{var c;let e=JSON.parse(b.data);e.turnStatus&&(c=e.turnStatus,d.setQueryData(cO(a),a=>a?{...a,turnStatus:c}:a))}catch{}}),b.addEventListener("workflow_step",b=>{try{let c=JSON.parse(b.data);if(!c.step)return;d.setQueryData(cO(a),a=>{let b;if(!a)return a;let d=a.workflow,e=d?.steps.findIndex(a=>a.id===c.step.id)??-1;d&&-1!==e?(b=d.steps.slice())[e]=c.step:b=[...d?.steps??[],c.step].sort((a,b)=>a.stepIndex-b.stepIndex);let f=b.find(a=>"running"===a.status);return{...a,workflow:{workflowId:c.step.workflowId,steps:b,currentStepId:f?.id??null}}})}catch{}}),b.addEventListener("done",()=>{v(null),D(),j("turn_done"),B(null),t("")}),b.addEventListener("open",()=>{d.invalidateQueries({queryKey:cO(a)})}),b.onerror=()=>{},()=>{b.close(),z.current=null}},[a,d,D,j]);let F=function(a,b){let c=(0,cM.useQueryClient)(void 0),[d]=aU.useState(()=>new cL(c,a));aU.useEffect(()=>{d.setOptions(a)},[d,a]);let e=aU.useSyncExternalStore(aU.useCallback(a=>d.subscribe(cI.notifyManager.batchCalls(a)),[d]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),f=aU.useCallback((a,b)=>{d.mutate(a,b).catch(cK.noop)},[d]);if(e.error&&(0,cK.shouldThrowError)(d.options.throwOnError,[e.error]))throw e.error;return{...e,mutate:f,mutateAsync:e.mutate}}({mutationFn:c=>cR(a,c,b??"",e.current,f.current),onMutate:async b=>{j("send_message",`model=${e.current??"default"}, agent=${f.current??"default"}, len=${b.length}`),C(),await d.cancelQueries({queryKey:cO(a)});let c=d.getQueryData(cO(a));return d.setQueryData(cO(a),c=>({...c??{sessionStatus:"booting",sessionInfo:null},messages:[...c?.messages??[],{id:`optimistic-${Date.now()}`,featureId:a,role:cN.InteractiveMessageRole.user,content:b,createdAt:new Date,updatedAt:new Date}],streamingText:null})),{previous:c}},onError:(b,c,e)=>{e?.previous&&d.setQueryData(cO(a),e.previous)},onSettled:()=>{d.invalidateQueries({queryKey:cO(a)})}}),G=k?.turnStatus,H=w||!!s||!!u||"booting"===n||"processing"===G,I=s??p??"",J=(0,aU.useMemo)(()=>{let a=k?.workflow??null;if(!a||0===a.steps.length)return{hasPlan:!1,steps:[],activeStepId:null,allDone:!1,liveStatus:null};let b=new Map;for(let a of m){let c=a.stepId;if(!c||a.role!==cN.InteractiveMessageRole.assistant)continue;let d=b.get(c)??[];d.push(a),b.set(c,d)}let c=a.steps.map(a=>({definition:{id:a.id,stepKey:a.stepKey,title:a.title,description:a.description},status:function(a){switch(a){case"pending":case"running":case"done":case"failed":case"interrupted":return a;default:return"pending"}}(a.status),metadata:function(a){if(!a)return null;try{let b=JSON.parse(a);return b&&"object"==typeof b&&!Array.isArray(b)?b:null}catch{return null}}(a.metadata),toolMessages:b.get(a.id)??[],startedAt:cQ(a.startedAt),finishedAt:cQ(a.finishedAt)})),d=c.length>0&&c.every(a=>"done"===a.status),e=p?.trim()??"",f=s?.trim()??"",g=(f||e).split("\n")[0]?.slice(0,80)??"",h=null;return d?h=null:u?h=u:g?h=g:("processing"===G||w||"booting"===n)&&(h="booting"===n?"Waking up…":"Thinking…"),{hasPlan:!0,steps:c,activeStepId:a.currentStepId,allDone:d,liveStatus:h}},[k?.workflow,m,u,s,p,G,w,n]),K=c?.pinInitialRequest===!0,L=(0,aU.useMemo)(()=>J.hasPlan||K?m.find(a=>a.role===cN.InteractiveMessageRole.user&&!a.stepId)??null:null,[J.hasPlan,K,m]),M=(0,aU.useMemo)(()=>new Set(c?.hiddenMessageIds??[]),[c?.hiddenMessageIds]),N=(0,aU.useMemo)(()=>{let a;if(c?.hideAllMessages===!0)return[];let b=J.hasPlan,d=b&&!J.allDone,e=(b||K||M.size>0?m.filter(a=>!(a.id===L?.id||a.stepId||M.has(a.id))&&(!d||a.role!==cN.InteractiveMessageRole.assistant)):m).map(cS);if(c?.debugMode&&h.length>0){let b=h.map(a=>({id:a.id,role:"assistant",content:[{type:"text",text:a.detail?`🔧 **${a.label}** — ${a.detail}`:`🔧 **${a.label}**`}],createdAt:a.timestamp}));a=[];let c=0,d=0;for(;c<e.length&&d<b.length;)(e[c].createdAt?new Date(e[c].createdAt).getTime():0)<=(b[d].createdAt?new Date(b[d].createdAt).getTime():0)?a.push(e[c++]):a.push(b[d++]);for(;c<e.length;)a.push(e[c++]);for(;d<b.length;)a.push(b[d++])}else a=e;if(b&&!J.allDone)return a;if(c?.suppressStreamingIndicator!==!0)if(I.trim()){let b=[{type:"text",text:I}];u&&b.push({type:"text",text:`*⏳ ${u}*`}),a.push({id:"streaming",role:"assistant",content:b})}else u?a.push({id:"streaming",role:"assistant",content:[{type:"text",text:`*⏳ ${u}*`}]}):(w||"booting"===n)&&a.push({id:"streaming",role:"assistant",content:[{type:"text",text:"booting"===n?"*Agent is waking up...*":"*Thinking...*"}]});return a},[m,L?.id,I,w,n,u,c?.debugMode,c?.suppressStreamingIndicator,c?.hideAllMessages,h,J.hasPlan,J.allDone,K,M]),O=(0,aU.useMemo)(()=>H?{isRunning:!0,statusText:u}:{isRunning:!1,statusText:null},[H,u]),P=(0,aU.useCallback)(async a=>{let b=a.content.find(a=>"text"===a.type);if(b?.type!=="text"||!b.text.trim())return;let d=c?.contentTransform?c.contentTransform(b.text):b.text;F.mutate(d,{onSuccess:()=>c?.onMessageSent?.()})},[F,c]),Q=(0,aU.useCallback)(async()=>{let b=await fetch(`/api/interactive/chat/${a}/messages`,{method:"DELETE"});if(!b.ok)throw Error(`Failed to clear chat: ${b.status}`);t(""),i([]),v(null),D(),B(null),d.invalidateQueries({queryKey:cO(a)})},[a,d,D]),R=(0,aU.useCallback)(async()=>{let b=await fetch(`/api/interactive/chat/${a}/stop`,{method:"POST"});if(!b.ok)throw Error(`Failed to stop agent: ${b.status}`);t(""),v(null),D(),d.invalidateQueries({queryKey:cO(a)})},[a,d,D]),S=(0,aU.useCallback)(async b=>{B(null),v(null);try{let c=await fetch(`/api/interactive/chat/${a}/respond`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({answers:b})});c.ok||console.error(`[respondToInteraction] failed: ${c.status}`)}catch(a){console.error("[respondToInteraction] error:",a)}d.invalidateQueries({queryKey:cO(a)})},[a,d]),T=!(J.hasPlan&&!J.allDone)&&H;return{runtime:(a=>{let[b]=(0,aU.useState)(()=>new cj(a));(0,aU.useEffect)(()=>{b.setAdapter(a)});let{modelContext:c}=(0,aU.useContext)(cF)??{};return(0,aU.useEffect)(()=>{if(c)return b.registerModelContextProvider(c)},[c,b]),(0,aU.useMemo)(()=>new cE(b),[b])})({messages:N,convertMessage:(0,aU.useCallback)(a=>a,[]),isRunning:T,onNew:P,onCancel:(0,aU.useCallback)(async()=>{t(""),v(null),D()},[D])}),status:O,clearChat:Q,stopAgent:R,sessionInfo:r,isChatLoading:l,pendingInteraction:A,respondToInteraction:S,stepProgress:J,initialRequestMessage:L,rawMessages:m,streamingState:{text:I,statusLog:u,awaiting:w,sessionStatus:n}}}a.s(["chatQueryKey",()=>cO,"fetchChatState",()=>cP],340095),a.s(["useChatRuntime",()=>cT],135496);var cU=a.i(182934);a.i(200307);var cV=a.i(730931);function cW({attachments:a,isDragOver:c,uploadError:d,onDragEnter:f,onDragLeave:g,onDragOver:h,onDrop:i,onPaste:j,onRemoveAttachment:k,onNotesChange:l,onPickFiles:m,agentPicker:n,disabled:o}){let{t:p}=(0,aO.useTranslation)("web"),[q,r]=(0,aU.useState)(!1),s=(0,aU.useRef)(null);return(0,b.jsx)(e.ComposerPrimitive.Root,{className:(0,aP.cn)("shrink-0 border-t p-3",o&&"pointer-events-none opacity-50"),children:(0,b.jsx)("div",{onDragEnter:f,onDragLeave:g,onDragOver:h,onDrop:i,className:(0,aP.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",c&&"border-primary/50 bg-primary/5"),children:(0,b.jsxs)("div",{ref:s,onFocus:()=>r(!0),onBlur:()=>r(!1),className:(0,aP.cn)("border-input flex flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",q&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,b.jsx)(e.ComposerPrimitive.Input,{rows:1,autoFocus:!0,placeholder:p("chat.writeMessage"),onPaste:j,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"}),a.length>0?(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:a.map(a=>(0,b.jsx)(cV.AttachmentChip,{name:a.name,size:a.size,mimeType:a.mimeType,path:a.path,onRemove:()=>k(a.id),loading:a.loading,notes:a.notes,onNotesChange:b=>l(a.id,b)},a.id))}):null,d?(0,b.jsx)("p",{className:"text-destructive px-3 pb-2 text-xs",children:d}):null,(0,b.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[n,(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsxs)(cU.Tooltip,{children:[(0,b.jsx)(cU.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:m,"aria-label":p("chat.attachFiles"),className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,b.jsx)(a8.Paperclip,{className:"h-4 w-4"})})}),(0,b.jsx)(cU.TooltipContent,{side:"top",children:p("chat.attachFiles")})]}),(0,b.jsx)(cX,{})]})]})})})}function cX(){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.ThreadPrimitive.If,{running:!1,children:(0,b.jsx)(e.ComposerPrimitive.Send,{className:(0,aP.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,b.jsx)(a5.SendHorizontal,{className:"size-3.5"})})}),(0,b.jsx)(g.ThreadPrimitive.If,{running:!0,children:(0,b.jsx)(e.ComposerPrimitive.Cancel,{className:(0,aP.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,b.jsx)(a6,{className:"size-3.5"})})})]})}a.s(["ChatComposer",()=>cW],417518);var cY=a.i(587055);function cZ({interaction:a,onSubmit:c,className:d}){let e=a.questions.length>1;return(0,b.jsxs)("div",{className:(0,aP.cn)("group flex w-full items-start gap-2.5 px-4 py-0.5",d),children:[(0,b.jsx)("div",{className:"bg-muted flex h-6 w-6 shrink-0 items-center justify-center rounded-full",children:(0,b.jsx)(cY.MessageCircleQuestion,{className:"h-3.5 w-3.5 text-violet-600 dark:text-violet-400"})}),(0,b.jsx)("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:(0,b.jsx)("div",{className:"text-foreground mt-px overflow-hidden rounded-2xl rounded-tl-sm border border-violet-200 bg-violet-50/50 text-sm leading-relaxed shadow-sm dark:border-violet-500/20 dark:bg-violet-950/20",children:e?(0,b.jsx)(c$,{questions:a.questions,onSubmit:c}):(0,b.jsx)("div",{className:"px-4 py-3",children:(0,b.jsx)(c0,{question:a.questions[0],onSubmit:c})})})})]})}function c$({questions:a,onSubmit:c}){let[d,e]=(0,aU.useState)(0),[f,g]=(0,aU.useState)(()=>{let b={};for(let c of a)b[c.question]={selectedOptions:new Set,otherText:"",isOtherSelected:!1};return b}),h=(0,aU.useCallback)((a,b)=>{g(c=>({...c,[a]:b(c[a])}))},[]),i={};for(let b of a){let a=f[b.question];if(!a)continue;let c=[...a.selectedOptions];a.isOtherSelected&&a.otherText.trim()&&c.push(a.otherText.trim()),c.length>0&&(i[b.question]=c.join(", "))}let j=a.every(a=>i[a.question]),k=(0,aU.useCallback)(()=>{j&&c(i)},[j,c,f]);return(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"flex border-b border-violet-200 dark:border-violet-500/20",children:a.map((a,c)=>{let f=c===d,g=!!i[a.question];return(0,b.jsxs)("button",{type:"button",onClick:()=>e(c),className:(0,aP.cn)("relative flex items-center gap-1.5 px-4 py-2 text-xs font-medium transition-colors",f?"text-violet-700 dark:text-violet-300":"text-muted-foreground hover:text-foreground"),children:[g?(0,b.jsx)(bf.Check,{className:"h-3 w-3 text-emerald-600 dark:text-emerald-400"}):(0,b.jsxs)("span",{className:"text-muted-foreground/50 text-[10px]",children:[c+1,"."]}),a.header,f?(0,b.jsx)("span",{className:"absolute inset-x-0 -bottom-px h-0.5 rounded-full bg-violet-600 dark:bg-violet-400"}):null]},a.question)})}),a.map((a,c)=>(0,b.jsx)("div",{className:"px-4 py-3",style:{display:c===d?void 0:"none"},children:(0,b.jsx)(c_,{question:a,selection:f[a.question],onSelectionChange:b=>h(a.question,b)})},a.question)),(0,b.jsxs)("div",{className:"flex items-center gap-3 border-t border-violet-200 px-4 py-2.5 dark:border-violet-500/20",children:[(0,b.jsxs)("button",{type:"button",onClick:k,disabled:!j,className:(0,aP.cn)("inline-flex items-center gap-1.5 rounded-lg px-3 py-1.5 text-xs font-medium transition-all",j?"bg-violet-600 text-white shadow-sm hover:bg-violet-700 active:scale-[0.98] dark:bg-violet-600 dark:hover:bg-violet-500":"bg-muted text-muted-foreground cursor-not-allowed opacity-50"),children:[(0,b.jsx)(bf.Check,{className:"h-3 w-3"}),"Submit all"]}),(0,b.jsxs)("span",{className:"text-muted-foreground text-[10px]",children:[Object.keys(i).length,"/",a.length," answered"]})]})]})}function c_({question:a,selection:c,onSelectionChange:d}){let e=(0,aU.useCallback)(b=>{d(c=>{let d=new Set(c.selectedOptions);return a.multiSelect?(d.has(b)?d.delete(b):d.add(b),{...c,selectedOptions:d}):(d.clear(),d.add(b),{...c,selectedOptions:d,isOtherSelected:!1})})},[a.multiSelect,d]),f=(0,aU.useCallback)(()=>{d(b=>a.multiSelect?{...b,isOtherSelected:!b.isOtherSelected}:{selectedOptions:new Set,otherText:b.otherText,isOtherSelected:!0})},[a.multiSelect,d]),g=(0,aU.useCallback)(a=>{d(b=>({...b,otherText:a}))},[d]);return(0,b.jsxs)("div",{children:[(0,b.jsxs)("p",{className:"text-foreground mb-2 text-xs font-medium",children:[a.question,a.multiSelect?(0,b.jsx)("span",{className:"text-muted-foreground ml-1 font-normal",children:"(select multiple)"}):null]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[a.options.map(d=>(0,b.jsx)(c1,{option:d,isSelected:c.selectedOptions.has(d.label),isMulti:a.multiSelect,onToggle:()=>e(d.label)},d.label)),(0,b.jsx)(c2,{isSelected:c.isOtherSelected,isMulti:a.multiSelect,text:c.otherText,onToggle:f,onTextChange:g})]})]})}function c0({question:a,onSubmit:c}){let[d,e]=(0,aU.useState)(new Set),[f,g]=(0,aU.useState)(""),[h,i]=(0,aU.useState)(!1),j=(0,aU.useCallback)(b=>{e(c=>{let d=new Set(c);return a.multiSelect?d.has(b)?d.delete(b):d.add(b):(d.clear(),d.add(b),i(!1)),d}),a.multiSelect||i(!1)},[a.multiSelect]),k=(0,aU.useCallback)(()=>{a.multiSelect?i(a=>!a):(e(new Set),i(!0))},[a.multiSelect]),l=(0,aU.useCallback)(()=>{let b=[...d];h&&f.trim()&&b.push(f.trim()),0!==b.length&&c({[a.question]:b.join(", ")})},[d,h,f,c,a.question]),m=d.size>0||h&&f.trim();return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"mb-2 flex items-start gap-2",children:[(0,b.jsx)("span",{className:"inline-flex shrink-0 items-center rounded-full bg-violet-100 px-2 py-0.5 text-[10px] font-semibold tracking-wider text-violet-700 uppercase dark:bg-violet-900/50 dark:text-violet-300",children:a.header}),(0,b.jsx)("span",{className:"font-medium",children:a.question})]}),(0,b.jsxs)("div",{className:"ml-0.5 flex flex-col gap-1.5",children:[a.options.map(c=>(0,b.jsx)(c1,{option:c,isSelected:d.has(c.label),isMulti:a.multiSelect,onToggle:()=>j(c.label)},c.label)),(0,b.jsx)(c2,{isSelected:h,isMulti:a.multiSelect,text:f,onToggle:k,onTextChange:g})]}),(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-2",children:[(0,b.jsxs)("button",{type:"button",onClick:l,disabled:!m,className:(0,aP.cn)("inline-flex items-center gap-1.5 rounded-lg px-3 py-1.5 text-xs font-medium transition-all",m?"bg-violet-600 text-white shadow-sm hover:bg-violet-700 active:scale-[0.98] dark:bg-violet-600 dark:hover:bg-violet-500":"bg-muted text-muted-foreground cursor-not-allowed opacity-50"),children:[(0,b.jsx)(bf.Check,{className:"h-3 w-3"}),"Submit"]}),a.multiSelect?(0,b.jsx)("span",{className:"text-muted-foreground text-[10px]",children:"Select one or more"}):null]})]})}function c1({option:a,isSelected:c,isMulti:d,onToggle:e}){return(0,b.jsxs)("button",{type:"button",onClick:e,className:(0,aP.cn)("flex items-start gap-2.5 rounded-lg border px-3 py-2 text-left text-xs transition-all",c?"border-violet-300 bg-violet-100/60 shadow-sm dark:border-violet-500/40 dark:bg-violet-900/30":"border-border/50 hover:border-violet-300 hover:bg-violet-50 dark:hover:border-violet-500/30 dark:hover:bg-violet-900/10"),children:[(0,b.jsx)("span",{className:(0,aP.cn)("mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center border transition-colors",d?"rounded":"rounded-full",c?"border-violet-600 bg-violet-600 dark:border-violet-500 dark:bg-violet-500":"border-muted-foreground/30"),children:c?(0,b.jsx)(bf.Check,{className:"h-2.5 w-2.5 text-white",strokeWidth:3}):null}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-col gap-0.5",children:[(0,b.jsx)("span",{className:(0,aP.cn)("font-medium",c&&"text-violet-700 dark:text-violet-300"),children:a.label}),(0,b.jsx)("span",{className:"text-muted-foreground text-[11px] leading-snug",children:a.description})]})]})}function c2({isSelected:a,isMulti:c,text:d,onToggle:e,onTextChange:f}){return(0,b.jsxs)("div",{className:(0,aP.cn)("flex items-start gap-2.5 rounded-lg border px-3 py-2 text-xs transition-all",a?"border-violet-300 bg-violet-100/60 shadow-sm dark:border-violet-500/40 dark:bg-violet-900/30":"border-border/50 hover:border-violet-300 dark:hover:border-violet-500/30"),children:[(0,b.jsx)("button",{type:"button",onClick:e,className:"mt-0.5 shrink-0",children:(0,b.jsx)("span",{className:(0,aP.cn)("flex h-4 w-4 items-center justify-center border transition-colors",c?"rounded":"rounded-full",a?"border-violet-600 bg-violet-600 dark:border-violet-500 dark:bg-violet-500":"border-muted-foreground/30"),children:a?(0,b.jsx)(bf.Check,{className:"h-2.5 w-2.5 text-white",strokeWidth:3}):null})}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[(0,b.jsx)("span",{className:(0,aP.cn)("font-medium",a&&"text-violet-700 dark:text-violet-300"),children:"Other"}),a?(0,b.jsx)("input",{type:"text",value:d,onChange:a=>f(a.target.value),placeholder:"Type your answer...",className:"w-full rounded-md border border-violet-200 bg-white/80 px-2 py-1 text-xs outline-none focus:border-violet-400 focus:ring-1 focus:ring-violet-300/30 dark:border-violet-500/30 dark:bg-violet-950/30 dark:focus:border-violet-500/50 dark:focus:ring-violet-500/20",autoFocus:!0}):null]})]})}a.s(["InteractionBubble",()=>cZ],834877);var c3=a.i(559653),c4=a.i(307420),c5=a.i(417329),c6=a.i(461476),c7=a.i(406175),c8=a.i(666873),c9=a.i(914272),da=a.i(5472),db="Collapsible",[dc,dd]=(0,c4.createContextScope)(db),[de,df]=dc(db),dg=aU.forwardRef((a,c)=>{let{__scopeCollapsible:d,open:e,defaultOpen:f,disabled:g,onOpenChange:h,...i}=a,[j,k]=(0,c5.useControllableState)({prop:e,defaultProp:f??!1,onChange:h,caller:db});return(0,b.jsx)(de,{scope:d,disabled:g,contentId:(0,da.useId)(),open:j,onOpenToggle:aU.useCallback(()=>k(a=>!a),[k]),children:(0,b.jsx)(c8.Primitive.div,{"data-state":dm(j),"data-disabled":g?"":void 0,...i,ref:c})})});dg.displayName=db;var dh="CollapsibleTrigger",di=aU.forwardRef((a,c)=>{let{__scopeCollapsible:d,...e}=a,f=df(dh,d);return(0,b.jsx)(c8.Primitive.button,{type:"button","aria-controls":f.contentId,"aria-expanded":f.open||!1,"data-state":dm(f.open),"data-disabled":f.disabled?"":void 0,disabled:f.disabled,...e,ref:c,onClick:(0,c3.composeEventHandlers)(a.onClick,f.onOpenToggle)})});di.displayName=dh;var dj="CollapsibleContent",dk=aU.forwardRef((a,c)=>{let{forceMount:d,...e}=a,f=df(dj,a.__scopeCollapsible);return(0,b.jsx)(c9.Presence,{present:d||f.open,children:({present:a})=>(0,b.jsx)(dl,{...e,ref:c,present:a})})});dk.displayName=dj;var dl=aU.forwardRef((a,c)=>{let{__scopeCollapsible:d,present:e,children:f,...g}=a,h=df(dj,d),[i,j]=aU.useState(e),k=aU.useRef(null),l=(0,c7.useComposedRefs)(c,k),m=aU.useRef(0),n=m.current,o=aU.useRef(0),p=o.current,q=h.open||i,r=aU.useRef(q),s=aU.useRef(void 0);return aU.useEffect(()=>{let a=requestAnimationFrame(()=>r.current=!1);return()=>cancelAnimationFrame(a)},[]),(0,c6.useLayoutEffect)(()=>{let a=k.current;if(a){s.current=s.current||{transitionDuration:a.style.transitionDuration,animationName:a.style.animationName},a.style.transitionDuration="0s",a.style.animationName="none";let b=a.getBoundingClientRect();m.current=b.height,o.current=b.width,r.current||(a.style.transitionDuration=s.current.transitionDuration,a.style.animationName=s.current.animationName),j(e)}},[h.open,e]),(0,b.jsx)(c8.Primitive.div,{"data-state":dm(h.open),"data-disabled":h.disabled?"":void 0,id:h.contentId,hidden:!q,...g,ref:l,style:{"--radix-collapsible-content-height":n?`${n}px`:void 0,"--radix-collapsible-content-width":p?`${p}px`:void 0,...a.style},children:q&&f})});function dm(a){return a?"open":"closed"}a.s(["Collapsible",()=>dg,"CollapsibleContent",()=>dk,"CollapsibleTrigger",()=>di,"Content",()=>dk,"Root",()=>dg,"Trigger",()=>di,"createCollapsibleScope",()=>dd],98613);var dn=a.i(98613),dn=dn,dp=a.i(804019),dq=a.i(591498);let dr=(0,a.i(142261).cva)("animate-spinner inline-block rounded-full",{variants:{size:{sm:"size-4",md:"size-6",lg:"size-10"}},defaultVariants:{size:"md"}}),ds={sm:"3px",md:"4px",lg:"8px"};function dt({className:a,size:c="md",...d}){let e=ds[c??"md"];return(0,b.jsx)("div",{"data-slot":"spinner",role:"status","aria-label":"Loading",className:(0,aP.cn)(dr({size:c}),a),style:{background:"conic-gradient(from 220deg, transparent 0%, currentColor 80%, transparent 100%)",WebkitMask:`radial-gradient(farthest-side, #0000 calc(100% - ${e}), #000 calc(100% - ${e} + 1px))`},...d})}let du={p:({children:a})=>(0,b.jsx)("p",{className:"mb-2 leading-relaxed last:mb-0",children:a}),strong:({children:a})=>(0,b.jsx)("strong",{className:"font-semibold",children:a}),em:({children:a})=>(0,b.jsx)("em",{className:"italic",children:a}),code:({children:a,className:c})=>c?(0,b.jsx)("code",{className:`${c} text-[11px]`,children:a}):(0,b.jsx)("code",{className:"bg-background/50 rounded-md px-1.5 py-0.5 font-mono text-[11px]",children:a}),pre:({children:a})=>(0,b.jsx)("pre",{className:"bg-background/50 my-2 overflow-x-auto rounded-md p-3 font-mono text-[11px] leading-relaxed",children:a}),ul:({children:a})=>(0,b.jsx)("ul",{className:"mb-2 list-disc ps-4 last:mb-0",children:a}),ol:({children:a})=>(0,b.jsx)("ol",{className:"mb-2 list-decimal ps-4 last:mb-0",children:a}),li:({children:a})=>(0,b.jsx)("li",{className:"mb-0.5",children:a}),h1:({children:a})=>(0,b.jsx)("h1",{className:"mb-1 text-sm font-bold",children:a}),h2:({children:a})=>(0,b.jsx)("h2",{className:"mb-1 text-sm font-bold",children:a}),h3:({children:a})=>(0,b.jsx)("h3",{className:"mb-1 text-xs font-semibold",children:a}),a:({children:a,href:c})=>(0,b.jsx)("a",{href:c,className:"text-blue-500 underline",target:"_blank",rel:"noopener noreferrer",children:a})};function dv({steps:a,className:c,collapsedSummary:d,activeStepId:e,liveStatus:f,onRetry:g,onForceStop:h}){let[i,j]=(0,aU.useState)(!1);if(0===a.length)return null;if(d&&!i){let d=a.filter(a=>"done"===a.status).length;return(0,b.jsx)("div",{className:(0,aP.cn)("p-4",c),children:(0,b.jsxs)("button",{type:"button",onClick:()=>j(!0),className:"hover:bg-muted/40 border-border bg-background flex w-full items-center gap-3 rounded-lg border px-3 py-2.5 text-left transition-colors dark:bg-neutral-800/50",children:[(0,b.jsx)("div",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-emerald-500 text-white",children:(0,b.jsx)(bf.Check,{className:"h-4 w-4",strokeWidth:3})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:"Initial setup complete"}),(0,b.jsxs)("div",{className:"text-muted-foreground text-xs",children:[d," of ",a.length," steps finished — click to review"]})]}),(0,b.jsx)(aW.ChevronRight,{className:"text-muted-foreground h-4 w-4 shrink-0"})]})})}let k=function(a){let b=null,c=null,d=0,e=0,f=0;for(let g of a){null!==g.startedAt&&(b=null===b?g.startedAt:Math.min(b,g.startedAt));let a="running"===g.status?Date.now():g.finishedAt??null;null!==a&&(c=null===c?a:Math.max(c,a)),d+=dA(g.metadata,"costUsd"),e+=dA(g.metadata,"inputTokens"),f+=dA(g.metadata,"outputTokens")}return null===b||null===c?null:{durationMs:Math.max(0,c-b),costUsd:d,inputTokens:e,outputTokens:f}}(a);return(0,b.jsxs)("ol",{className:(0,aP.cn)("flex flex-col gap-2 p-4",c),children:[d?(0,b.jsx)("li",{children:(0,b.jsxs)("button",{type:"button",onClick:()=>j(!1),className:"text-muted-foreground hover:text-foreground mb-1 inline-flex items-center gap-1 text-[10px] tracking-wide uppercase",children:[(0,b.jsx)(aV.ChevronDown,{className:"h-3 w-3"}),"Collapse setup"]})}):null,a.map((a,c)=>(0,b.jsx)(dx,{step:a,liveStatus:a.definition.id===e?f??null:null,mountIndex:c,onRetry:"interrupted"===a.status?g:void 0,onForceStop:h},a.definition.id)),k?(0,b.jsxs)("li",{className:"border-border/40 text-muted-foreground mt-1 flex flex-wrap items-center gap-x-4 gap-y-1 border-t pt-3 text-[10px] tracking-wide uppercase",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-muted-foreground/70",children:"Total"}),(0,b.jsx)("span",{className:"text-foreground font-semibold tracking-normal normal-case",children:dB(k.durationMs)})]}),k.costUsd>0?(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-muted-foreground/70",children:"Cost"}),(0,b.jsx)("span",{className:"text-foreground font-semibold tracking-normal normal-case",children:dC(k.costUsd)})]}):null,k.inputTokens>0||k.outputTokens>0?(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-muted-foreground/70",children:"Tokens"}),(0,b.jsxs)("span",{className:"text-foreground font-semibold tracking-normal normal-case",children:[dD(k.inputTokens)," in · ",dD(k.outputTokens)," out"]})]}):null]}):null]})}let dw="Output";function dx({step:a,liveStatus:c,mountIndex:d,onRetry:e,onForceStop:f}){let[g,h]=(0,aU.useState)(!1),[j,k]=(0,aU.useState)(!1);(0,aU.useEffect)(()=>{"interrupted"!==a.status&&h(!1)},[a.status]),(0,aU.useEffect)(()=>{"running"!==a.status&&"pending"!==a.status&&k(!1)},[a.status]);let l=j?"interrupted":g?"running":a.status,[m,n]=(0,aU.useState)("interrupted"===a.status||"failed"===a.status),{definition:o,metadata:p,toolMessages:q}=a,r=function(a,b){if(!a)return[];let c=a[b];return Array.isArray(c)?c.filter(a=>"string"==typeof a):[]}(p,"details"),s=function(a,b){if(!a)return"";let c=a[b];return"string"==typeof c?c:""}(p,"error"),t=function(a){let b=a.map(a=>{let b=a.content?.trim()??"";return{message:a,content:b,event:b?aS(b):null}}).filter(a=>a.content.length>0),c=[];for(let a=0;a<b.length;a++){let d=b[a];if(d.event?.kind==="tool"&&"Thinking"===d.event.name){c.push({kind:"thinking",message:d.message});continue}if(d.event?.kind==="tool"&&d.event.name===dw){c.push({kind:"tool",message:d.message,output:null});continue}if(d.event?.kind==="tool"){let e=b[a+1],f=e?.event?.kind==="tool"&&e.event.name===dw;c.push({kind:"tool",message:d.message,output:f?e.message:null}),f&&a++;continue}if(d.event?.kind==="label-only"){c.push({kind:"tool",message:d.message,output:null});continue}c.push({kind:"text",message:d.message})}return c}(q),u=function(a,b){let[c,d]=(0,aU.useState)(0);return((0,aU.useEffect)(()=>{if("running"!==b||null===a.startedAt)return;let c=setInterval(()=>d(a=>a+1),1e3);return()=>clearInterval(c)},[b,a.startedAt]),null===a.startedAt)?null:"running"===b?Math.max(0,Date.now()-a.startedAt):null===a.finishedAt?null:Math.max(0,a.finishedAt-a.startedAt)}(a,l),v=dA(p,"costUsd"),w=dA(p,"inputTokens"),x=dA(p,"outputTokens"),y=t.length>0||r.length>0||!!s||"interrupted"===l;return(0,b.jsx)(dn.Root,{asChild:!0,open:m,onOpenChange:n,children:(0,b.jsxs)("li",{className:(0,aP.cn)("rounded-lg border transition-[background-color,border-color] duration-300 ease-out","animate-in fade-in-0 slide-in-from-top-2","running"===l&&"border-violet-500/40 bg-violet-500/5 dark:bg-violet-500/10","done"===l&&"border-border bg-background dark:bg-neutral-800/50","pending"===l&&"border-border/40 bg-muted/20 dark:bg-neutral-800/30","failed"===l&&"border-red-500/40 bg-red-500/5 dark:bg-red-500/10","interrupted"===l&&"border-amber-500/40 bg-amber-500/5 dark:bg-amber-500/10"),style:{animationDelay:`${40*Math.min(d,6)}ms`,animationDuration:"300ms"},children:[(0,b.jsx)(dn.Trigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",disabled:!y,className:(0,aP.cn)("flex w-full items-center gap-3 px-3 py-1.5 text-left transition-colors duration-200",y&&"hover:bg-muted/40 cursor-pointer",!y&&"cursor-default"),children:[(0,b.jsx)(dz,{status:l}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 items-baseline gap-2",children:[(0,b.jsx)("span",{className:(0,aP.cn)("shrink-0 truncate text-sm font-medium transition-colors duration-300","pending"===l&&"text-muted-foreground/60"),children:o.title}),"interrupted"===l?(0,b.jsx)("span",{className:"min-w-0 truncate text-xs font-medium text-amber-600 dark:text-amber-400",children:"Interrupted"}):c&&"running"===l?(0,b.jsxs)("span",{className:"flex min-w-0 items-baseline gap-1.5 text-xs text-violet-700 dark:text-violet-300",children:[(0,b.jsx)("span",{className:"inline-flex h-1 w-1 shrink-0 translate-y-[-1px] animate-pulse rounded-full bg-violet-500"}),(0,b.jsx)("span",{className:"animate-in fade-in-0 slide-in-from-left-1 truncate duration-300",children:c},c)]}):o.description?(0,b.jsx)("span",{className:(0,aP.cn)("min-w-0 truncate text-xs font-normal","pending"===l?"text-muted-foreground/40":"text-muted-foreground/70"),children:o.description}):null]}),null!==u?(0,b.jsx)("span",{className:(0,aP.cn)("shrink-0 text-[10px] font-medium tabular-nums transition-colors duration-300","running"===l?"text-violet-600 dark:text-violet-300":"text-muted-foreground/70"),title:`Step duration — ${dB(u)}`,children:dB(u)}):null,f&&("running"===l||"pending"===l)?(0,b.jsx)("span",{role:"button",tabIndex:0,"aria-label":"Force stop this step",title:"Force stop this step (mark as interrupted)",onClick:b=>{b.stopPropagation(),b.preventDefault(),k(!0),f(a.definition.id)},onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.stopPropagation(),b.preventDefault(),k(!0),f(a.definition.id))},className:"text-muted-foreground/50 hover:bg-muted/60 hover:text-foreground focus-visible:ring-ring/50 inline-flex h-5 w-5 shrink-0 cursor-pointer items-center justify-center rounded-md transition-colors focus-visible:ring-2 focus-visible:outline-none",children:(0,b.jsx)(bc.X,{className:"h-3 w-3",strokeWidth:2.5})}):null,t.length>0?(0,b.jsx)("span",{className:"text-muted-foreground/60 animate-in fade-in-0 zoom-in-95 mr-1 shrink-0 text-[10px] tabular-nums duration-200",children:t.length},t.length):null,y?(0,b.jsx)(aW.ChevronRight,{className:(0,aP.cn)("text-muted-foreground h-4 w-4 shrink-0 transition-transform duration-200 ease-out",m&&"rotate-90")}):null]})}),(0,b.jsx)(dn.Content,{className:(0,aP.cn)("overflow-hidden","data-[state=open]:animate-collapsible-down data-[state=closed]:animate-collapsible-up"),children:(0,b.jsxs)("div",{className:"border-border/40 space-y-2 border-t px-3 py-2.5 text-xs",children:["interrupted"!==l||s?null:(0,b.jsxs)("div",{className:"flex items-center justify-between rounded bg-amber-500/10 p-2",children:[(0,b.jsx)("span",{className:"text-amber-700 dark:text-amber-400",children:"This step was interrupted before it could finish."}),e?(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),h(!0),n(!1),e()},className:"ms-3 shrink-0 cursor-pointer rounded-md border border-amber-500/40 bg-amber-500/10 px-3 py-1 text-[11px] font-medium text-amber-700 transition-colors hover:bg-amber-500/20 dark:text-amber-400",children:"Continue"}):null]}),s?(0,b.jsx)("p",{className:"rounded bg-red-500/10 p-2 text-red-600 dark:text-red-400",children:s}):null,r.length>0?(0,b.jsx)("ul",{className:"text-muted-foreground list-disc space-y-0.5 ps-4",children:r.map(a=>(0,b.jsx)("li",{children:a},a))}):null,v>0||w>0||x>0?(0,b.jsxs)("div",{className:"text-muted-foreground/70 flex flex-wrap items-center gap-x-3 gap-y-0.5 text-[10px] tabular-nums",children:[v>0?(0,b.jsx)("span",{children:dC(v)}):null,w>0||x>0?(0,b.jsxs)("span",{children:[dD(w)," in · ",dD(x)," out"]}):null]}):null,t.length>0?(0,b.jsx)("div",{className:"-mx-1 flex flex-col gap-1",children:t.map((a,c)=>{let d={animationDelay:`${30*Math.min(c,6)}ms`};return"thinking"===a.kind?(0,b.jsx)("div",{className:"animate-in fade-in-0 slide-in-from-top-1 duration-200",style:d,children:(0,b.jsx)(dy,{text:a.message.content})},a.message.id):"tool"===a.kind?(0,b.jsx)("div",{className:"animate-in fade-in-0 slide-in-from-top-1 duration-200",style:d,children:(0,b.jsx)(a4,{text:a.message.content,outputText:a.output?.content})},a.message.id):(0,b.jsx)("div",{className:"animate-in fade-in-0 slide-in-from-top-1 duration-200",style:d,children:(0,b.jsx)("div",{className:"border-border/60 bg-background text-foreground rounded-md border px-2.5 py-1.5 text-xs leading-relaxed dark:bg-neutral-800/70",children:(0,b.jsx)(i.default,{components:du,children:a.message.content})})},a.message.id)})}):null]})})]})})}function dy({text:a}){let c,[d,e]=(0,aU.useState)(!1),f=(c=aS(a),c?.kind==="tool"&&"Thinking"===c.name?c.detail:a);return(0,b.jsxs)("div",{className:"flex max-w-full flex-col",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>e(a=>!a),className:"text-muted-foreground/80 hover:text-foreground inline-flex items-center gap-1 self-start rounded px-1 py-0.5 text-[11px] italic transition-colors",children:[d?(0,b.jsx)(aV.ChevronDown,{className:"h-3 w-3 shrink-0 opacity-60"}):(0,b.jsx)(aW.ChevronRight,{className:"h-3 w-3 shrink-0 opacity-60"}),(0,b.jsx)("span",{children:"Thinking"})]}),d?(0,b.jsx)("p",{className:"text-muted-foreground/80 mt-0.5 ml-5 max-w-full text-[11px] leading-relaxed break-words whitespace-pre-wrap italic",children:f}):null]})}function dz({status:a}){return"running"===a?(0,b.jsx)(dt,{size:"sm",className:"shrink-0 text-violet-500"}):"done"===a?(0,b.jsx)("div",{className:"flex h-4 w-4 shrink-0 items-center justify-center rounded-full bg-emerald-500 text-white",children:(0,b.jsx)(bf.Check,{className:"h-3 w-3",strokeWidth:3})}):"failed"===a?(0,b.jsx)("div",{className:"flex h-4 w-4 shrink-0 items-center justify-center rounded-full bg-red-500 text-white",children:(0,b.jsx)(dq.AlertTriangle,{className:"h-2.5 w-2.5",strokeWidth:3})}):"interrupted"===a?(0,b.jsx)("div",{className:"flex h-4 w-4 shrink-0 items-center justify-center rounded-full bg-amber-500 text-white",children:(0,b.jsx)(dq.AlertTriangle,{className:"h-2.5 w-2.5",strokeWidth:3})}):(0,b.jsx)(dp.Circle,{className:"text-muted-foreground/30 h-4 w-4 shrink-0"})}function dA(a,b){if(!a)return 0;let c=a[b];return"number"==typeof c&&Number.isFinite(c)?c:0}function dB(a){if(!Number.isFinite(a)||a<0)return"";if(a<1e3)return`${Math.round(a)}ms`;let b=Math.round(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60),d=b%60;if(c<60)return 0===d?`${c}m`:`${c}m ${d}s`;let e=Math.floor(c/60),f=c%60;return 0===f?`${e}h`:`${e}h ${f}m`}function dC(a){return!Number.isFinite(a)||a<=0?"$0":a<.01?`$${a.toFixed(4)}`:a<1?`$${a.toFixed(3)}`:`$${a.toFixed(2)}`}function dD(a){return!Number.isFinite(a)||a<=0?"0":a<1e3?String(Math.round(a)):a<1e6?`${(a/1e3).toFixed(+(a<1e4))}k`:`${(a/1e6).toFixed(1)}M`}a.s(["StepTracker",()=>dv],537444);var dE=a.i(867075),dF=a.i(612882);function dG({id:a,title:c,assistantMessageCount:d,status:e,condensed:f,details:g,children:h}){let i="in-progress"===e,[j,k]=(0,aU.useState)(i);(0,aU.useEffect)(()=>{i||k(!1)},[i]);let l=`${a}-content`,m=i?f:g??h??null;return(0,b.jsxs)("div",{className:(0,aP.cn)("mx-3 my-2 shrink-0 overflow-hidden rounded-lg border shadow-sm","animate-in fade-in-0 slide-in-from-top-1 duration-200 ease-out",i?"border-fuchsia-500/40 bg-gradient-to-br from-fuchsia-500/5 via-purple-500/5 to-sky-500/5":"border-border/60 bg-card/40"),children:[(0,b.jsxs)("button",{type:"button",onClick:()=>k(a=>!a),"aria-expanded":j,"aria-controls":l,className:(0,aP.cn)("group flex min-h-12 w-full cursor-pointer items-center gap-2.5 px-3 py-2 text-left transition-colors","hover:bg-muted/50"),children:[(0,b.jsx)("span",{className:(0,aP.cn)("flex h-5 w-5 shrink-0 items-center justify-center rounded-full",i?"bg-gradient-to-br from-fuchsia-500 via-purple-500 to-sky-500 text-white shadow-sm":"bg-emerald-500/15"),children:i?(0,b.jsx)(be.Loader2,{className:"h-3 w-3 animate-spin"}):(0,b.jsx)(dE.CheckCircle2,{className:"h-3 w-3 text-emerald-500"})}),(0,b.jsx)("span",{className:(0,aP.cn)("min-w-0 flex-1 truncate text-[12px] font-medium",i?"text-fuchsia-700 dark:text-fuchsia-300":"text-foreground"),children:i?"Working on your request…":c}),d>0?(0,b.jsxs)("span",{className:"text-muted-foreground inline-flex shrink-0 items-center gap-1 text-[10px]",children:[(0,b.jsx)(dF.MessageSquare,{className:"h-3 w-3"}),d]}):null,(0,b.jsx)(aV.ChevronDown,{className:(0,aP.cn)("text-muted-foreground h-3.5 w-3.5 shrink-0 transition-transform",j&&"rotate-180")})]}),j&&m?(0,b.jsx)("div",{id:l,className:(0,aP.cn)("border-t px-3 py-2",i?"bg-background/60 border-fuchsia-500/20":"border-border/60 bg-background/40"),children:m}):null]})}function dH(a,b){return a.length<=b?a:`${a.slice(0,Math.max(0,b-1)).trimEnd()}…`}function dI(a){if(a instanceof Date)return a.getTime();if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a){let b=Number(a);if(Number.isFinite(b))return b;let c=new Date(a).getTime();return Number.isFinite(c)?c:0}return 0}function dJ(a,b){return(0,aU.useMemo)(()=>(function(a,b=!0){let c=a.filter(a=>!a.stepId);if(0===c.length)return{groups:[],currentTurn:null,hiddenMessageIds:[]};let d=[],e=null;for(let a of c)a.role===cN.InteractiveMessageRole.user?(e={user:a,items:[a]},d.push(e)):e&&e.items.push(a);if(0===d.length)return{groups:[],currentTurn:null,hiddenMessageIds:[]};let f=(a,b)=>{let c=a.items[0],d=a.items[a.items.length-1],e=a.user.content??"";return{id:`turn-${a.user.id}`,title:function(a){let b=a.trim().replace(/\s+/g," ");if(0===b.length)return"Working on your request";let c=dH(b,120);return dH(`Working on: ${c}`,140)}(e),userMessagePreview:dH(e.trim().replace(/\s+/g," "),120),messageIds:a.items.map(a=>a.id),assistantMessageCount:a.items.filter(a=>a.role===cN.InteractiveMessageRole.assistant).length,startedAt:dI(c.createdAt),endedAt:dI(d.createdAt),status:b}},g=d[d.length-1];if(b){let a=d.slice(0,-1).map(a=>f(a,"completed")),b=f(g,"in-progress"),c=[...a.flatMap(a=>a.messageIds),...b.messageIds];return{groups:a,currentTurn:b,hiddenMessageIds:c}}let h=d.map(a=>f(a,"completed")),i=h.flatMap(a=>a.messageIds);return{groups:h,currentTurn:null,hiddenMessageIds:i}})(a,b),[a,b])}function dK({group:a,allMessages:c,streaming:d}){let e=new Map;for(let a of c)e.set(a.id,a);if("in-progress"!==a.status)return(0,b.jsx)(dG,{id:a.id,title:a.title,status:"completed",assistantMessageCount:a.assistantMessageCount,children:(0,b.jsx)(dL,{messageIds:a.messageIds,byId:e})});let f=a.messageIds.find(a=>{let b=e.get(a);return b?.role===cN.InteractiveMessageRole.user}),g=f?e.get(f):null,h=(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[g?(0,b.jsxs)("div",{className:"text-foreground border-l-2 border-violet-500/50 pl-2 text-[12px] whitespace-pre-wrap",children:[(0,b.jsx)("div",{className:"text-muted-foreground/70 mb-0.5 text-[10px] font-medium tracking-wide uppercase",children:"You"}),g.content]}):null,d?(0,b.jsx)(dN,{streaming:d}):null]}),i=(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)(dL,{messageIds:a.messageIds,byId:e}),d?(0,b.jsx)(dM,{streaming:d}):null]});return(0,b.jsx)(dG,{id:a.id,title:a.title,status:"in-progress",assistantMessageCount:a.assistantMessageCount,condensed:h,details:i})}function dL({messageIds:a,byId:c}){return(0,b.jsx)("div",{className:"flex flex-col gap-2",children:a.map(a=>{let d=c.get(a);if(!d)return(0,b.jsx)("div",{className:"text-muted-foreground/50 text-[11px] italic",children:"…"},a);let e=d.role===cN.InteractiveMessageRole.user;return(0,b.jsxs)("div",{className:e?"text-foreground border-l-2 border-violet-500/50 pl-2 text-[12px] whitespace-pre-wrap":"text-foreground/90 pl-2 text-[12px] whitespace-pre-wrap",children:[(0,b.jsx)("div",{className:"text-muted-foreground/70 mb-0.5 text-[10px] font-medium tracking-wide uppercase",children:e?"You":"Assistant"}),d.content]},a)})})}function dM({streaming:a}){let c=a.text.trim().length>0,d=(a.statusLog??"").trim().length>0,e="booting"===a.sessionStatus;return c?(0,b.jsxs)("div",{className:"text-foreground/90 pl-2 text-[12px] whitespace-pre-wrap",children:[(0,b.jsx)("div",{className:"text-muted-foreground/70 mb-0.5 text-[10px] font-medium tracking-wide uppercase",children:"Assistant"}),a.text,d?(0,b.jsxs)("div",{className:"text-muted-foreground mt-1 inline-flex items-center gap-1 text-[10px] italic",children:[(0,b.jsx)(be.Loader2,{className:"h-3 w-3 animate-spin"}),a.statusLog]}):null]}):d?(0,b.jsxs)("div",{className:"text-muted-foreground inline-flex items-center gap-1.5 pl-2 text-[11px] italic",children:[(0,b.jsx)(be.Loader2,{className:"h-3 w-3 animate-spin"}),a.statusLog]}):a.awaiting||e?(0,b.jsxs)("div",{className:"text-muted-foreground inline-flex items-center gap-1.5 pl-2 text-[11px] italic",children:[(0,b.jsx)(be.Loader2,{className:"h-3 w-3 animate-spin"}),e?"Agent is waking up…":"Thinking…"]}):null}function dN({streaming:a}){let c,d=(a.statusLog??"").trim().length>0,e=a.text.trim().length>0,f="booting"===a.sessionStatus;if(d)c=a.statusLog??"Working…";else if(a.awaiting||f)c=f?"Agent is waking up…":"Thinking…";else{if(!e)return null;c="Working…"}return(0,b.jsxs)("div",{className:"text-muted-foreground inline-flex items-center gap-1.5 pl-2 text-[11px] italic",children:[(0,b.jsx)(be.Loader2,{className:"h-3 w-3 animate-spin"}),c]})}a.s(["SingleTurnCard",()=>dK,"useTurnGroupsView",()=>dJ],871346);let dO=(0,a1.default)("cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]);a.s(["Cloud",()=>dO],888730)},661544,851017,a=>{"use strict";var b=a.i(556365),c=a.i(944592);a.i(490370);var d=a.i(224640),e=a.i(611051),f=a.i(216605),g=a.i(665355),h=a.i(591498),i=a.i(428002),j=a.i(385536),k=a.i(116579),l=a.i(409260),m=a.i(446511),n=a.i(411117),o=a.i(961781),p=a.i(135496),q=a.i(417518),r=a.i(834877),s=a.i(537444),t=a.i(871346),u=a.i(917985),v=a.i(867075),w=a.i(771716),x=a.i(888730),y=a.i(323784),z=a.i(488064),A=a.i(658881),B=a.i(746847);let C=["Starting GitHub repository creation","Starting deploy to ","Starting save & backup"];function D(a){if(0===a.length)return[];let b=[],c=[];for(let d of a)(function(a){return C.some(b=>a.startsWith(b))})(d.message)&&c.length>0&&(b.push(c),c=[]),c.push(d);return c.length>0&&b.push(c),b}let E={publish:B.OperationLogKind.GitRemoteCreate,deploy:B.OperationLogKind.CloudDeploy,sync:B.OperationLogKind.RepoSync},F={publish:{title:"Published to GitHub",inProgressTitle:"Publishing to GitHub…",icon:y.Github,idleAccent:"bg-sky-500/15 text-sky-500",liveGradient:"border-sky-500/40 bg-gradient-to-br from-sky-500/5 via-sky-500/5 to-cyan-500/5",liveChip:"bg-gradient-to-br from-sky-500 via-blue-500 to-cyan-500 text-white shadow-sm",liveText:"text-sky-700 dark:text-sky-300"},deploy:{title:"Deployed to cloud",inProgressTitle:"Deploying to cloud…",icon:x.Cloud,idleAccent:"bg-fuchsia-500/15 text-fuchsia-500",liveGradient:"border-fuchsia-500/40 bg-gradient-to-br from-fuchsia-500/5 via-purple-500/5 to-sky-500/5",liveChip:"bg-gradient-to-br from-fuchsia-500 via-purple-500 to-sky-500 text-white shadow-sm",liveText:"text-fuchsia-700 dark:text-fuchsia-300"},sync:{title:"Saved & pushed to GitHub",inProgressTitle:"Saving & pushing to GitHub…",icon:i.RefreshCw,idleAccent:"bg-emerald-500/15 text-emerald-500",liveGradient:"border-emerald-500/40 bg-gradient-to-br from-emerald-500/5 via-emerald-500/5 to-teal-500/5",liveChip:"bg-gradient-to-br from-emerald-500 via-teal-500 to-cyan-500 text-white shadow-sm",liveText:"text-emerald-700 dark:text-emerald-300"}};async function G(a,b){let c=E[b],d=await fetch(`/api/operations/${encodeURIComponent(c)}/${encodeURIComponent(a)}/logs`);return d.ok?await d.json():{entries:[]}}function H(a){if(0===a.length)return"empty";let b=a[a.length-1],c=new Date(b.createdAt).getTime();if(Date.now()-c<1e4)return"in-progress";switch(b.level){case"Error":return"failed";case"Warn":return"warn";default:return"success"}}function I(a){try{return new Date(a).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return a}}function J(a,b){let{data:d}=(0,u.useQuery)({queryKey:["operation-logs",a??"",b],queryFn:()=>a?G(a,b):Promise.resolve({entries:[]}),enabled:!!a,refetchInterval:a=>{let b=a.state.data?.entries??[];if(0===b.length)return 2500;let c=D(b);return"in-progress"===H(c[c.length-1]??[])?1500:2500},staleTime:0});return(0,c.useMemo)(()=>D(d?.entries??[]).map((a,c)=>{let d=a[0];return{id:d?.id??`${b}-${c}`,kind:b,startedAt:d?new Date(d.createdAt).getTime():0,entries:a}}),[d,b])}function K({applicationId:a,kind:d,entries:e,runIndex:f}){let[g,h]=(0,c.useState)(!1),i=H(e),k=F[d],l=k.icon,m="in-progress"===i,n=`op-${d}-${a}-${f}`;return(0,b.jsxs)("div",{className:(0,j.cn)("mx-3 shrink-0 overflow-hidden","animate-in fade-in-0 duration-150 ease-out"),"data-testid":`operation-bubble-${d}`,children:[(0,b.jsxs)("button",{type:"button",onClick:()=>h(a=>!a),"aria-expanded":g,"aria-controls":n,className:(0,j.cn)("group flex w-full cursor-pointer items-center gap-2 rounded-md px-1.5 py-1 text-left transition-colors","hover:bg-muted/40"),children:[(0,b.jsx)("span",{className:(0,j.cn)("flex h-4 w-4 shrink-0 items-center justify-center",m?k.liveText:"text-muted-foreground"),children:m?(0,b.jsx)(z.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(l,{className:"h-3.5 w-3.5"})}),(0,b.jsx)("span",{className:(0,j.cn)("truncate text-[11px] font-medium",m?k.liveText:"text-foreground/90"),children:m?k.inProgressTitle:k.title}),(0,b.jsxs)("span",{className:"text-muted-foreground shrink-0 text-[10px]",children:["· ",e.length," event",1===e.length?"":"s"," ·"," ",I(e[0].createdAt)]}),(0,b.jsx)("span",{className:"flex-1"}),(0,b.jsx)(L,{status:i}),(0,b.jsx)(w.ChevronDown,{className:(0,j.cn)("text-muted-foreground h-3 w-3 shrink-0 transition-transform",g&&"rotate-180")})]}),g?(0,b.jsx)("div",{id:n,className:"border-border/40 bg-background/30 mt-1 rounded-md border",children:(0,b.jsx)("ol",{className:"flex max-h-[28rem] flex-col gap-1 overflow-y-auto px-3 py-2.5",children:e.map(a=>(0,b.jsxs)("li",{className:"flex items-start gap-2 text-[11px] leading-relaxed",children:[(0,b.jsx)("span",{className:"text-muted-foreground/80 shrink-0 font-mono text-[10px]",children:I(a.createdAt)}),(0,b.jsx)(M,{level:a.level}),(0,b.jsxs)("span",{className:"text-foreground/90 min-w-0 flex-1 break-words whitespace-pre-wrap",children:[a.message,a.detail?(0,b.jsx)("span",{className:"text-muted-foreground/70 mt-0.5 block font-mono text-[10px] whitespace-pre-wrap",children:a.detail}):null]})]},a.id))})}):null]})}function L({status:a}){return"in-progress"===a?null:"success"===a?(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 text-[10px] text-emerald-500",children:[(0,b.jsx)(v.CheckCircle2,{className:"h-3 w-3"})," done"]}):"warn"===a?(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 text-[10px] text-amber-500",children:[(0,b.jsx)(h.AlertTriangle,{className:"h-3 w-3"})," warnings"]}):"failed"===a?(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 text-[10px] text-rose-500",children:[(0,b.jsx)(A.XCircle,{className:"h-3 w-3"})," failed"]}):null}function M({level:a}){return(0,b.jsx)("span",{className:(0,j.cn)("mt-1.5 h-1.5 w-1.5 shrink-0 rounded-full","Error"===a?"bg-rose-500":"Warn"===a?"bg-amber-500":"Debug"===a?"bg-muted-foreground/50":"bg-emerald-500")})}let N="scaffold";function O({featureId:a,applicationId:d,worktreePath:f,initialAgent:g,initialModel:h,initialChatState:i,hideHeader:j,onAllStepsComplete:u,workflowPlaceholder:v,onResumeWorkflow:w,scaffoldingState:x,applicationError:y}){let[z,A]=(0,c.useState)(g),[B,C]=(0,c.useState)(h);(0,c.useEffect)(()=>{z&&B||(0,n.getDefaultAgentAndModel)().then(a=>{A(b=>b??a.agentType),C(b=>b??a.model)})},[]);let[D,E]=(0,c.useState)(!1),F=(0,l.useAttachments)(),G=!!d,H=(0,c.useCallback)(a=>(0,m.composeUserInput)(a,F.completedAttachments.map(a=>({path:a.path,name:a.name,notes:a.notes}))),[F.completedAttachments]),{runtime:I,status:L,clearChat:M,sessionInfo:O,isChatLoading:S,pendingInteraction:T,respondToInteraction:U,stepProgress:V,rawMessages:W,streamingState:X}=(0,p.useChatRuntime)(a,f,{contentTransform:H,onMessageSent:F.clearAttachments,model:B,agentType:z,debugMode:D,initialChatState:i,pinInitialRequest:(v?.length??0)>0,hideAllMessages:G,suppressStreamingIndicator:G}),Y=!!(x?.status==="running"||V.hasPlan&&!V.allDone),Z=(0,t.useTurnGroupsView)(W,L.isRunning&&!Y),$=(()=>{if(Y)return{groups:[],currentTurn:null,hiddenMessageIds:[]};if(!x&&!V.hasPlan)return Z;let a=[...Z.groups];Z.currentTurn&&a.push(Z.currentTurn);let b=a.slice(1),c=null!==Z.currentTurn&&b.length>0?b[b.length-1]:null;return{groups:c?b.slice(0,-1):b,currentTurn:c,hiddenMessageIds:Z.hiddenMessageIds}})(),_=J(d,"publish"),aa=J(d,"deploy"),ab=J(d,"sync"),ac=(()=>{let a=[];for(let b of $.groups)a.push({kind:"turn",id:b.id,startedAt:b.startedAt,turn:b});if($.currentTurn){let b=$.currentTurn;a.push({kind:"turn",id:b.id,startedAt:b.startedAt,turn:b})}for(let b of _)a.push({kind:"operation",id:`pub-${b.id}`,startedAt:b.startedAt,run:b});for(let b of aa)a.push({kind:"operation",id:`dep-${b.id}`,startedAt:b.startedAt,run:b});for(let b of ab)a.push({kind:"operation",id:`syn-${b.id}`,startedAt:b.startedAt,run:b});return a.sort((a,b)=>a.startedAt-b.startedAt),a})(),ad=(0,c.useRef)(!1),ae=(0,c.useRef)(u);ae.current=u,(0,c.useEffect)(()=>{V.allDone&&!ad.current&&(ad.current=!0,ae.current?.())},[V.allDone]);let af=(0,c.useCallback)(async a=>{if(!a.startsWith("placeholder-"))try{let b=await fetch(`/api/workflow-steps/${encodeURIComponent(a)}/force-stop`,{method:"POST"});b.ok||409===b.status||console.warn("[force-stop-step] request failed",b.status)}catch(a){console.warn("[force-stop-step] request error",a)}},[]),ag=(0,c.useCallback)(async()=>{try{let b=await fetch("/api/dialog/pick-files");if(!b.ok)return;let c=await b.json();if(!c.paths?.length)return;for(let b of c.paths){let c=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:b,sessionId:`chat-${a}`})});if(!c.ok)continue;let d=await c.json();F.addAttachment(d)}}catch{}},[a,F.addAttachment]),ah=V.hasPlan?V.steps:(v??[]).filter(a=>a.stepKey!==N).map(a=>({definition:{id:`placeholder-${a.stepKey}`,stepKey:a.stepKey,title:a.title,description:a.description},status:"pending",metadata:null,toolMessages:[],startedAt:null,finishedAt:null})),ai=(0,c.useRef)(null);V.hasPlan&&null==ai.current&&(ai.current=Date.now());let aj=x?{definition:{id:`placeholder-${N}`,stepKey:N,title:"Preparing your project",description:"Scaffolding the project tree and installing dependencies"},status:V.hasPlan?"done":x.status,metadata:x.error?{error:x.error}:null,toolMessages:[],startedAt:x.startedAt,finishedAt:x.finishedAt??(V.hasPlan?ai.current:null)}:null,ak=aj?[aj,...ah]:ah,al=ak.length>0,am=V.hasPlan&&V.steps.some(a=>"running"===a.status),an=(0,b.jsx)(q.ChatComposer,{disabled:am,attachments:F.attachments,isDragOver:F.isDragOver,uploadError:F.uploadError,onDragEnter:F.handleDragEnter,onDragLeave:F.handleDragLeave,onDragOver:F.handleDragOver,onDrop:F.handleDrop,onPaste:F.handlePaste,onRemoveAttachment:F.removeAttachment,onNotesChange:F.updateNotes,onPickFiles:ag,agentPicker:(0,b.jsx)(o.AgentModelPicker,{initialAgentType:z??"",initialModel:B??"",mode:"override",onAgentModelChange:(a,b)=>{A(a),C(b)},className:"w-55",popoverSide:"top"})});return(0,b.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[j?null:(0,b.jsx)(R,{sessionInfo:O,isAgentActive:L.isRunning,onClear:M,debugMode:D,onDebugToggle:void 0}),(0,b.jsx)("div",{className:"flex min-h-0 flex-1 flex-col dark:bg-neutral-900/40",children:S?(0,b.jsx)(Q,{}):(0,b.jsx)(e.AssistantRuntimeProvider,{runtime:I,children:(0,b.jsx)(k.Thread,{composer:an,hideEmpty:al,hideMessages:G,beforeMessages:(0,b.jsxs)(b.Fragment,{children:[y?(0,b.jsx)(P,{state:y,onRetry:w}):null,al?(0,b.jsx)(s.StepTracker,{steps:ak,collapsedSummary:!0===V.hasPlan&&!0===V.allDone,activeStepId:V.activeStepId,liveStatus:V.liveStatus,onRetry:w,onForceStop:af}):null,G?ac.map((a,c)=>"turn"===a.kind&&a.turn?(0,b.jsx)(t.SingleTurnCard,{group:a.turn,allMessages:W,streaming:"in-progress"===a.turn.status?X:void 0},a.id):"operation"===a.kind&&a.run&&d?(0,b.jsx)(K,{applicationId:d,kind:a.run.kind,entries:a.run.entries,runIndex:c},a.id):null):null]}),afterMessages:T?(0,b.jsx)(r.InteractionBubble,{interaction:T,onSubmit:U}):null})})})]})}function P({state:a,onRetry:d}){let[e,f]=(0,c.useState)(!1),g=(0,c.useCallback)(()=>{if(d&&!e){f(!0);try{d()}finally{setTimeout(()=>f(!1),4e3)}}},[d,e]);return(0,b.jsx)("div",{className:(0,j.cn)("animate-in fade-in-0 slide-in-from-top-1 mx-3 my-3 shrink-0 overflow-hidden rounded-lg border shadow-sm duration-200 ease-out","border-red-500/40 bg-red-500/5 dark:bg-red-500/10"),role:"alert",children:(0,b.jsxs)("div",{className:"flex items-start gap-3 px-3 py-3",children:[(0,b.jsx)("span",{className:"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-red-500/15",children:(0,b.jsx)(h.AlertTriangle,{className:"h-3.5 w-3.5 text-red-500"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"text-[13px] font-semibold text-red-700 dark:text-red-300",children:a.kind}),(0,b.jsx)("div",{className:"text-foreground/80 mt-0.5 text-[12px] leading-relaxed",children:a.message}),a.retryable&&d?(0,b.jsxs)("div",{className:"mt-2.5 flex items-center gap-2",children:[(0,b.jsxs)("button",{type:"button",onClick:g,disabled:e,className:(0,j.cn)("inline-flex h-7 items-center gap-1.5 rounded-md bg-red-500 px-3 text-[11px] font-semibold text-white transition-opacity",e?"cursor-not-allowed opacity-60":"cursor-pointer hover:opacity-90"),children:[(0,b.jsx)(i.RefreshCw,{className:(0,j.cn)("h-3 w-3",e&&"animate-spin")}),e?"Retrying…":"Try again"]}),(0,b.jsx)("span",{className:"text-muted-foreground text-[10px]",children:"Re-runs the last failed step"})]}):null]})]})})}function Q(){return(0,b.jsxs)("div",{className:"flex flex-1 flex-col gap-3 p-4 pt-6",children:[(0,b.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,b.jsx)("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("div",{className:"bg-muted h-4 w-48 animate-pulse rounded-lg"}),(0,b.jsx)("div",{className:"bg-muted h-4 w-72 animate-pulse rounded-lg"}),(0,b.jsx)("div",{className:"bg-muted h-4 w-36 animate-pulse rounded-lg"})]})]}),(0,b.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,b.jsx)("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),(0,b.jsx)("div",{className:"bg-muted h-4 w-32 animate-pulse rounded-lg"})]}),(0,b.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,b.jsx)("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("div",{className:"bg-muted h-4 w-56 animate-pulse rounded-lg"}),(0,b.jsx)("div",{className:"bg-muted h-4 w-64 animate-pulse rounded-lg"})]})]})]})}function R({sessionInfo:a,isAgentActive:c,onClear:e,debugMode:h,onDebugToggle:i}){let{t:j}=(0,d.useTranslation)("web");return(0,b.jsxs)("div",{className:"flex h-8 shrink-0 items-center border-b px-3",children:[(0,b.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:a?(0,b.jsxs)(b.Fragment,{children:[c?(0,b.jsx)("span",{className:"h-1.5 w-1.5 shrink-0 animate-pulse rounded-full bg-emerald-500"}):(0,b.jsx)(g.Cpu,{className:"text-muted-foreground/40 h-3 w-3 shrink-0"}),(0,b.jsxs)("span",{className:"text-muted-foreground font-mono text-[10px]",children:[a.model??"agent",a.sessionId?` \xb7 ${a.sessionId.slice(0,8)}`:""]})]}):(0,b.jsx)("span",{className:"text-muted-foreground/40 text-[11px]",children:j("chat.noSession")})}),(0,b.jsxs)("div",{className:"flex items-center gap-1 ps-2",children:[i?(0,b.jsxs)("label",{className:"text-muted-foreground/60 flex cursor-pointer items-center gap-1 text-[10px]",children:[(0,b.jsx)("input",{type:"checkbox",checked:h,onChange:a=>i(a.target.checked),className:"h-3 w-3 cursor-pointer rounded"}),"Debug"]}):null,(0,b.jsxs)(S,{onClick:()=>{e()},title:j("chat.clearChatHistory"),children:[(0,b.jsx)(f.Trash2,{className:"h-2.5 w-2.5"}),(0,b.jsx)("span",{children:j("chat.clear")})]})]})]})}function S({children:a,onClick:c,title:d,variant:e}){return(0,b.jsx)("button",{type:"button",onClick:c,title:d,className:(0,j.cn)("inline-flex items-center gap-1 rounded-md px-2 py-1 text-xs transition-colors","danger"===e?"text-destructive hover:bg-destructive/10":"text-muted-foreground hover:text-foreground hover:bg-muted"),children:a})}a.s(["APPLICATION_CREATION_PLACEHOLDER_STEPS",0,[{stepKey:"components",title:"Building the pieces",description:"Designing and creating polished reusable parts"},{stepKey:"wire",title:"Connecting everything",description:"Wiring navigation and forms"},{stepKey:"verify",title:"Double-checking",description:"Making sure it runs cleanly"},{stepKey:"commit",title:"Saving a snapshot",description:"Committing the initial build"},{stepKey:"report",title:"Your app is ready",description:"Summary of what was built"}],"SCAFFOLD_STEP_KEY",0,N],851017),a.s(["ChatTab",()=>O],661544)}];
5
+ ${c}`}bx.displayName="IconButton",a.s(["Thread",()=>bh],116579),a.s(["composeUserInput",()=>bA],446511);var bB=a.i(601504);class bC{_contextProvider=new bB.CompositeContextProvider;registerModelContextProvider(a){return this._contextProvider.registerModelContextProvider(a)}getModelContextProvider(){return this._contextProvider}}let bD=Object.freeze([]),bE="DEFAULT_THREAD_ID",bF=Object.freeze([bE]),bG=Object.freeze({id:bE,remoteId:void 0,externalId:void 0,status:"regular"}),bH=Promise.resolve(),bI=Object.freeze({[bE]:bG});class bJ{adapter;threadFactory;_mainThreadId=bE;_threads=bF;_archivedThreads=bD;_threadData=bI;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 bH}_mainThread;get mainThreadId(){return this._mainThreadId}constructor(a={},b){this.adapter=a,this.threadFactory=b,this._mainThread=this.threadFactory(),this.__internal_setAdapter(a,!0)}getMainThreadRuntimeCore(){return this._mainThread}getThreadRuntimeCore(){throw Error("Method not implemented.")}getItemById(a){for(let b of this.adapter.threads??[])if(b.id===a)return b;for(let b of this.adapter.archivedThreads??[])if(b.id===a)return b;if(a===bE)return bG}__internal_setAdapter(a,b=!1){let c=this.adapter;this.adapter=a;let d=a.threadId??bE,e=a.threads??bD,f=a.archivedThreads??bD,g=c.threadId??bE,h=c.threads??bD,i=c.archivedThreads??bD;(b||g!==d||h!==e||i!==f)&&(this._threadData={...bI,...Object.fromEntries(a.threads?.map(a=>[a.id,{...a,remoteId:a.remoteId,externalId:a.externalId,status:"regular"}])??[]),...Object.fromEntries(a.archivedThreads?.map(a=>[a.id,{...a,remoteId:a.remoteId,externalId:a.externalId,status:"archived"}])??[])},h!==e&&(this._threads=this.adapter.threads?.map(a=>a.id)??bD),i!==f&&(this._archivedThreads=this.adapter.archivedThreads?.map(a=>a.id)??bD),g!==d&&(this._mainThreadId=d,this._mainThread=this.threadFactory()),this._notifySubscribers())}async switchToThread(a){if(this._mainThreadId===a)return;let b=this.adapter.onSwitchToThread;if(!b)throw Error("External store adapter does not support switching to thread");await b(a)}async switchToNewThread(){let a=this.adapter.onSwitchToNewThread;if(!a)throw Error("External store adapter does not support switching to new thread");await a()}async rename(a,b){let c=this.adapter.onRename;if(!c)throw Error("External store adapter does not support renaming");await c(a,b)}async detach(){}async archive(a){let b=this.adapter.onArchive;if(!b)throw Error("External store adapter does not support archiving");await b(a)}async unarchive(a){let b=this.adapter.onUnarchive;if(!b)throw Error("External store adapter does not support unarchiving");await b(a)}async delete(a){let b=this.adapter.onDelete;if(!b)throw Error("External store adapter does not support deleting");await b(a)}initialize(a){return Promise.resolve({remoteId:a,externalId:void 0})}generateTitle(){throw Error("Method not implemented.")}_subscriptions=new Set;subscribe(a){return this._subscriptions.add(a),()=>this._subscriptions.delete(a)}_notifySubscribers(){for(let a of this._subscriptions)a()}}let bK=Symbol("innerMessage"),bL=Symbol("innerMessages"),bM=[],bN=a=>{let b="messages"in a?a.messages:a,c=b[bL]||b[bK];return c?Array.isArray(c)?c:(b[bL]=[c],b[bL]):bM};class bO{cache=new WeakMap;convertMessages(a,b){return a.map((a,c)=>{let d=b(this.cache.get(a),a,c);return this.cache.set(a,d),d})}}let bP=Symbol("autoStatus"),bQ=Object.freeze(Object.assign({type:"running"},{[bP]:!0})),bR=Object.freeze(Object.assign({type:"complete",reason:"unknown"},{[bP]:!0})),bS=Object.freeze(Object.assign({type:"requires-action",reason:"tool-calls"},{[bP]:!0})),bT=Object.freeze(Object.assign({type:"requires-action",reason:"interrupt"},{[bP]:!0})),bU=(a,b,c,d,e)=>a&&e?Object.assign({type:"incomplete",reason:"error",error:e},{[bP]:!0}):a&&b?bQ:c?bT:d?bS:bR;var bV=a.i(252569);let bW=Symbol("aui.parse-partial-json-object.meta"),bX=((a,b=21)=>(c=b)=>{let d="",e=0|c;for(;e--;)d+=a[Math.random()*a.length|0];return d})("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7),bY=()=>`__optimistic__${bX()}`,bZ=(a,b)=>{if(a.startsWith("data-"))return{type:"data",name:a.substring(5),data:b}},b$=(a,b,c)=>{let{role:d,id:e,createdAt:f,attachments:g,status:h,metadata:i}=a,j={id:e??b,createdAt:f??new Date},k="string"==typeof a.content?[{type:"text",text:a.content}]:a.content;if("user"!==d&&g?.length)throw Error("attachments are only supported for user messages");if("assistant"!==d&&h)throw Error("status is only supported for assistant messages");if("assistant"!==d&&i?.steps)throw Error("metadata.steps is only supported for assistant messages");switch(d){case"assistant":return{...j,role:d,content:k.map(a=>{let b=a.type;switch(b){case"text":case"reasoning":if(0===a.text.trim().length)return null;return a;case"file":case"source":case"data":return a;case"image":return(({image:a,...b})=>a.match(/^data:image\/(png|jpeg|jpg|gif|webp);base64,(.*)$/)?{...b,image:a}:(console.warn("Invalid image data format detected"),null))(a);case"tool-call":{let{parentId:b,messages:c,...d}=a,e={...d,toolCallId:a.toolCallId??`tool-${bX()}`,...void 0!==b&&{parentId:b},...void 0!==c&&{messages:c}};if(a.args)return{...e,args:a.args,argsText:a.argsText??JSON.stringify(a.args)};return{...e,args:(a=>{if(0===a.length)return{[bW]:{state:"partial",partialPath:[]}};try{let b=bV.default.parse(a);if("object"!=typeof b||null===b)throw Error("argsText is expected to be an object");return b[bW]={state:"complete",partialPath:[]},b}catch{try{let[b,c]=function(a){let b,c=["ROOT"],d=-1,e=null,f=[];function g(){void 0!==b&&(f.push(JSON.parse(`"${b}"`)),b=void 0)}function h(a,b,f){switch(a){case'"':d=b,c.pop(),c.push(f),c.push("INSIDE_STRING"),g();break;case"f":case"t":case"n":d=b,e=b,c.pop(),c.push(f),c.push("INSIDE_LITERAL");break;case"-":c.pop(),c.push(f),c.push("INSIDE_NUMBER"),g();break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":d=b,c.pop(),c.push(f),c.push("INSIDE_NUMBER"),g();break;case"{":d=b,c.pop(),c.push(f),c.push("INSIDE_OBJECT_START"),g();break;case"[":d=b,c.pop(),c.push(f),c.push("INSIDE_ARRAY_START"),g()}}function i(a,e){switch(a){case",":c.pop(),c.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":d=e,c.pop(),b=f.pop()}}function j(a,e){switch(a){case",":c.pop(),c.push("INSIDE_ARRAY_AFTER_COMMA"),b=(Number(b)+1).toString();break;case"]":d=e,c.pop(),b=f.pop()}}for(let g=0;g<a.length;g++){let k=a[g];switch(c[c.length-1]){case"ROOT":h(k,g,"FINISH");break;case"INSIDE_OBJECT_START":switch(k){case'"':c.pop(),c.push("INSIDE_OBJECT_KEY"),b="";break;case"}":d=g,c.pop(),b=f.pop()}break;case"INSIDE_OBJECT_AFTER_COMMA":'"'===k&&(c.pop(),c.push("INSIDE_OBJECT_KEY"),b="");break;case"INSIDE_OBJECT_KEY":switch(k){case'"':c.pop(),c.push("INSIDE_OBJECT_AFTER_KEY");break;case"\\":c.push("INSIDE_STRING_ESCAPE"),b+=k;break;default:b+=k}break;case"INSIDE_OBJECT_AFTER_KEY":":"===k&&(c.pop(),c.push("INSIDE_OBJECT_BEFORE_VALUE"));break;case"INSIDE_OBJECT_BEFORE_VALUE":h(k,g,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":i(k,g);break;case"INSIDE_STRING":switch(k){case'"':c.pop(),d=g,b=f.pop();break;case"\\":c.push("INSIDE_STRING_ESCAPE");break;default:d=g}break;case"INSIDE_ARRAY_START":"]"===k?(d=g,c.pop(),b=f.pop()):(d=g,b="0",h(k,g,"INSIDE_ARRAY_AFTER_VALUE"));break;case"INSIDE_ARRAY_AFTER_VALUE":switch(k){case",":c.pop(),c.push("INSIDE_ARRAY_AFTER_COMMA"),b=(Number(b)+1).toString();break;case"]":d=g,c.pop(),b=f.pop();break;default:d=g}break;case"INSIDE_ARRAY_AFTER_COMMA":h(k,g,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":c.pop(),"INSIDE_STRING"===c[c.length-1]?d=g:"INSIDE_OBJECT_KEY"===c[c.length-1]&&(b+=k);break;case"INSIDE_NUMBER":switch(k){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":d=g;break;case"e":case"E":case"-":case".":break;case",":c.pop(),b=f.pop(),"INSIDE_ARRAY_AFTER_VALUE"===c[c.length-1]&&j(k,g),"INSIDE_OBJECT_AFTER_VALUE"===c[c.length-1]&&i(k,g);break;case"}":c.pop(),b=f.pop(),"INSIDE_OBJECT_AFTER_VALUE"===c[c.length-1]&&i(k,g);break;case"]":c.pop(),b=f.pop(),"INSIDE_ARRAY_AFTER_VALUE"===c[c.length-1]&&j(k,g);break;default:c.pop(),b=f.pop()}break;case"INSIDE_LITERAL":{let b=a.substring(e,g+1);"false".startsWith(b)||"true".startsWith(b)||"null".startsWith(b)?d=g:(c.pop(),"INSIDE_OBJECT_AFTER_VALUE"===c[c.length-1]?i(k,g):"INSIDE_ARRAY_AFTER_VALUE"===c[c.length-1]&&j(k,g))}}}let k=a.slice(0,d+1);for(let b=c.length-1;b>=0;b--)switch(c[b]){case"INSIDE_STRING":k+='"';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":k+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":k+="]";break;case"INSIDE_LITERAL":{let b=a.substring(e,a.length);"true".startsWith(b)?k+="true".slice(b.length):"false".startsWith(b)?k+="false".slice(b.length):"null".startsWith(b)&&(k+="null".slice(b.length))}}return[k,f]}(a),d=bV.default.parse(b);if("object"!=typeof d||null===d)throw Error("argsText is expected to be an object");return d[bW]={state:"partial",partialPath:c},d}catch{return}}})(a.argsText??"")??{},argsText:a.argsText??""}}default:{let c=bZ(b,a.data);if(c)return c;throw Error(`Unsupported assistant message part type: ${b}`)}}}).filter(a=>!!a),status:h??c,metadata:{unstable_state:i?.unstable_state??null,unstable_annotations:i?.unstable_annotations??[],unstable_data:i?.unstable_data??[],custom:i?.custom??{},steps:i?.steps??[],...i?.timing&&{timing:i.timing},...i?.submittedFeedback&&{submittedFeedback:i.submittedFeedback}}};case"user":return{...j,role:d,content:k.map(a=>{let b=a.type;switch(b){case"text":case"image":case"audio":case"file":case"data":return a;default:{let c=bZ(b,a.data);if(c)return c;throw Error(`Unsupported user message part type: ${b}`)}}}),attachments:(g??[]).map(a=>({...a,content:a.content.map(a=>bZ(a.type,a.data)??a)})),metadata:{custom:i?.custom??{}}};case"system":if(1!==k.length||"text"!==k[0].type)throw Error("System messages must have exactly one text message part.");return{...j,role:d,content:k,metadata:{custom:i?.custom??{}}};default:throw Error(`Unknown message role: ${d}`)}},b_=a=>a.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n\n"),b0=a=>{let b=a.map(a=>b$(a,bX(),bU(!1,!1,!1,!1,void 0)));return{messages:b.map((a,c)=>({parentId:c>0?b[c-1].id:null,message:a}))}},b1=a=>a.next?b1(a.next):"current"in a?a:null;class b2{func;_value=null;constructor(a){this.func=a}get value(){return null===this._value&&(this._value=this.func()),this._value}dirty(){this._value=null}}class b3{messages=new Map;head=null;root={children:[],next:null};updateLevels(a,b){for(let c of(a.level=b,a.children)){let a=this.messages.get(c);a&&this.updateLevels(a,b+1)}}performOp(a,b,c){let d=b.prev??this.root,e=a??this.root;if("relink"!==c||d!==e){if("link"!==c&&(d.children=d.children.filter(a=>a!==b.current.id),d.next===b)){let a=d.children.at(-1),b=a?this.messages.get(a):null;if(void 0===b)throw Error("MessageRepository(performOp/cut): Fallback sibling message not found. This is likely an internal bug in assistant-ui.");d.next=b}if("cut"!==c){for(let c=a;c;c=c.prev)if(c.current.id===b.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.");e.children=[...e.children,b.current.id],(b1(b)===this.head||null===e.next)&&(e.next=b),b.prev=a;let c=a?a.level+1:0;this.updateLevels(b,c)}}}_messages=new b2(()=>{let a=Array((this.head?.level??-1)+1);for(let b=this.head;b;b=b.prev)a[b.level]=b.current;return a});get headId(){return this.head?.current.id??null}getMessages(a){if(void 0===a||a===this.head?.current.id)return this._messages.value;let b=this.messages.get(a);if(!b)throw Error("MessageRepository(getMessages): Head message not found. This is likely an internal bug in assistant-ui.");let c=Array(b.level+1);for(let a=b;a;a=a.prev)c[a.level]=a.current;return c}addOrUpdateMessage(a,b){let c=this.messages.get(b.id),d=a?this.messages.get(a):null;if(void 0===d)throw Error("MessageRepository(addOrUpdateMessage): Parent message not found. This is likely an internal bug in assistant-ui.");if(c){c.current=b,this.performOp(d,c,"relink"),this._messages.dirty();return}let e={prev:d,current:b,next:null,children:[],level:d?d.level+1:0};this.messages.set(b.id,e),this.performOp(d,e,"link"),this.head===d&&(this.head=e),this._messages.dirty()}getMessage(a){let b=this.messages.get(a);if(!b)throw Error("MessageRepository(updateMessage): Message not found. This is likely an internal bug in assistant-ui.");return{parentId:b.prev?.current.id??null,message:b.current,index:b.level}}appendOptimisticMessage(a,b){let c;do c=bY();while(this.messages.has(c))return this.addOrUpdateMessage(a,b$(b,c,{type:"running"})),c}deleteMessage(a,b){let c=this.messages.get(a);if(!c)throw Error("MessageRepository(deleteMessage): Message not found. This is likely an internal bug in assistant-ui.");let d=void 0===b?c.prev:null===b?null:this.messages.get(b);if(void 0===d)throw Error("MessageRepository(deleteMessage): Replacement not found. This is likely an internal bug in assistant-ui.");for(let a of c.children){let b=this.messages.get(a);if(!b)throw Error("MessageRepository(deleteMessage): Child message not found. This is likely an internal bug in assistant-ui.");this.performOp(d,b,"relink")}this.performOp(null,c,"cut"),this.messages.delete(a),this.head===c&&(this.head=b1(d??this.root)),this._messages.dirty()}getBranches(a){let b=this.messages.get(a);if(!b)throw Error("MessageRepository(getBranches): Message not found. This is likely an internal bug in assistant-ui.");let{children:c}=b.prev??this.root;return c}switchToBranch(a){let b=this.messages.get(a);if(!b)throw Error("MessageRepository(switchToBranch): Branch not found. This is likely an internal bug in assistant-ui.");(b.prev??this.root).next=b,this.head=b1(b),this._messages.dirty()}resetHead(a){if(null===a)return void this.clear();let b=this.messages.get(a);if(!b)throw Error("MessageRepository(resetHead): Branch not found. This is likely an internal bug in assistant-ui.");if(b.children.length>0){let a=b=>{for(let c of b.children){let b=this.messages.get(c);b&&(a(b),this.messages.delete(c))}};a(b),b.children=[],b.next=null}this.head=b;for(let a=b;a;a=a.prev)a.prev?a.prev.next=a:this.root.next=a;this._messages.dirty()}clear(){this.messages.clear(),this.head=null,this.root={children:[],next:null},this._messages.dirty()}export(){let a=[];for(let[,b]of this.messages)a.push({message:b.current,parentId:b.prev?.current.id??null});return{headId:this.head?.current.id??null,messages:a}}import({headId:a,messages:b}){for(let{message:a,parentId:c}of b)this.addOrUpdateMessage(c,a);this.resetHead(a??b.at(-1)?.message.id??null)}}let b4=Symbol("skip-update");class b5{_subscribers=new Set;subscribe(a){return this._subscribers.add(a),()=>this._subscribers.delete(a)}waitForUpdate(){return new Promise(a=>{let b=this.subscribe(()=>{b(),a()})})}_notifySubscribers(){let a=[];for(let b of this._subscribers)try{b()}catch(b){a.push(b)}if(a.length>0)if(1===a.length)throw a[0];else{for(let b of a)console.error(b);throw AggregateError(a)}}}class b6{_subscriptions=new Set;_connection;get isConnected(){return!!this._connection}notifySubscribers(){for(let a of this._subscriptions)a()}_updateConnection(){this._subscriptions.size>0?this._connection||(this._connection=this._connect()):(this._connection?.(),this._connection=void 0)}subscribe(a){return this._subscriptions.add(a),this._updateConnection(),()=>{this._subscriptions.delete(a),this._updateConnection()}}}class b7 extends b6{binding;get path(){return this.binding.path}constructor(a){super(),this.binding=a;const b=a.getState();if(b===b4)throw Error("Entry not available in the store");this._previousState=b}_previousState;getState=()=>(this.isConnected||this._syncState(),this._previousState);_syncState(){let a=this.binding.getState();return!(a===b4||function(a,b){if(void 0===a&&void 0===b)return!0;if(void 0===a||void 0===b)return!1;for(let c of Object.keys(a))if(!Object.is(a[c],b[c]))return!1;return!0}(a,this._previousState))&&(this._previousState=a,!0)}_connect(){let a=()=>{this._syncState()&&this.notifySubscribers()};return this.binding.subscribe(a)}}class b8 extends b6{binding;get path(){return this.binding.path}constructor(a){super(),this.binding=a}_previousStateDirty=!0;_previousState;getState=()=>{if(!this.isConnected||this._previousStateDirty){let a=this.binding.getState();a!==b4&&(this._previousState=a),this._previousStateDirty=!1}if(void 0===this._previousState)throw Error("Entry not available in the store");return this._previousState};_connect(){let a=()=>{this._previousStateDirty=!0,this.notifySubscribers()};return this.binding.subscribe(a)}}class b9 extends b6{binding;get path(){return this.binding.path}constructor(a){super(),this.binding=a}getState(){return this.binding.getState()}outerSubscribe(a){return this.binding.subscribe(a)}_connect(){let a=()=>{this.notifySubscribers()},b=this.binding.getState(),c=b?.subscribe(a),d=()=>{let d=this.binding.getState();d!==b&&(b=d,c?.(),c=d?.subscribe(a),a())},e=this.outerSubscribe(d);return()=>{e?.(),c?.()}}}class ca extends b6{config;constructor(a){super(),this.config=a}getState(){return this.config.binding.getState()}outerSubscribe(a){return this.config.binding.subscribe(a)}_connect(){let a=()=>{this.notifySubscribers()},b=this.config.binding.getState(),c=b?.unstable_on(this.config.event,a),d=()=>{let d=this.config.binding.getState();d!==b&&(b=d,c?.(),c=d?.unstable_on(this.config.event,a))},e=this.outerSubscribe(d);return()=>{e?.(),c?.()}}}class cb extends b5{isEditing=!0;get attachmentAccept(){return this.getAttachmentAdapter()?.accept??"*"}_attachments=[];get attachments(){return this._attachments}setAttachments(a){this._attachments=a,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(a){this._quote!==a&&(this._quote=a,this._notifySubscribers())}setText(a){if(this._text!==a){if(this._text=a,this._dictation){this._dictationBaseText=a,this._currentInterimText="";let{status:b,inputDisabled:c}=this._dictation;this._dictation=c?{status:b,inputDisabled:c}:{status:b}}this._notifySubscribers()}}setRole(a){this._role!==a&&(this._role=a,this._notifySubscribers())}setRunConfig(a){this._runConfig!==a&&(this._runConfig=a,this._notifySubscribers())}_emptyTextAndAttachments(){this._attachments=[],this._text="",this._notifySubscribers()}async _onClearAttachments(){let a=this.getAttachmentAdapter();if(a){let b=this._attachments.filter(a=>"complete"!==a.status.type);await Promise.all(b.map(b=>a.remove(b)))}}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 a=this._onClearAttachments();this._emptyTextAndAttachments(),await a}async clearAttachments(){let a=this._onClearAttachments();this.setAttachments([]),await a}async send(){if(this.isEmpty)return;this._dictationSession&&(this._dictationSession.cancel(),this._cleanupDictation());let a=this.getAttachmentAdapter(),b=this.attachments.length>0?Promise.all(this.attachments.map(async b=>{if("complete"===b.status.type)return b;if(!a)throw Error("Attachments are not supported");return await a.send(b)})):[],c=this.text,d=this._quote;this._quote=void 0,this._emptyTextAndAttachments();let e={createdAt:new Date,role:this.role,content:c?[{type:"text",text:c}]:[],attachments:await b,runConfig:this.runConfig,metadata:{custom:{...d?{quote:d}:{}}}};this.handleSend(e),this._notifyEventSubscribers("send")}cancel(){this.handleCancel()}async addAttachment(a){if(!(a instanceof File)){let b={id:a.id??bX(),type:a.type??"document",name:a.name,contentType:a.contentType,content:a.content,status:{type:"complete"}};this._attachments=[...this._attachments,b],this._notifyEventSubscribers("attachmentAdd"),this._notifySubscribers();return}let b=this.getAttachmentAdapter();if(!b)throw Error("Attachments are not supported");let c=a=>{let b=this._attachments.findIndex(b=>b.id===a.id);-1!==b?this._attachments=[...this._attachments.slice(0,b),a,...this._attachments.slice(b+1)]:this._attachments=[...this._attachments,a],this._notifySubscribers()},d=b.add({file:a});if(Symbol.asyncIterator in d)for await(let a of d)c(a);else c(await d);this._notifyEventSubscribers("attachmentAdd"),this._notifySubscribers()}async removeAttachment(a){let b=this._attachments.findIndex(b=>b.id===a);if(-1===b)throw Error("Attachment not found");let c=this._attachments[b];if("complete"!==c.status.type){let a=this.getAttachmentAdapter();if(!a)throw Error("Attachments are not supported");await a.remove(c)}this._attachments=this._attachments.filter(b=>b.id!==a),this._notifySubscribers()}_dictation;_dictationSession;_dictationUnsubscribes=[];_dictationBaseText="";_currentInterimText="";_dictationSessionIdCounter=0;_activeDictationSessionId;_isCleaningDictation=!1;get dictation(){return this._dictation}_isActiveSession(a,b){return this._activeDictationSessionId===a&&this._dictationSession===b}startDictation(){let a=this.getDictationAdapter();if(!a)throw Error("Dictation adapter not configured");if(this._dictationSession){for(let a of this._dictationUnsubscribes)a();this._dictationUnsubscribes=[],this._dictationSession.stop().catch(()=>{}),this._dictationSession=void 0}let b=a.disableInputDuringDictation??!1;this._dictationBaseText=this._text,this._currentInterimText="";let c=a.listen();this._dictationSession=c;let d=++this._dictationSessionIdCounter;this._activeDictationSessionId=d,this._dictation={status:c.status,inputDisabled:b},this._notifySubscribers();let e=c.onSpeech(a=>{if(!this._isActiveSession(d,c))return;let b=!1!==a.isFinal,e=this._dictationBaseText&&!this._dictationBaseText.endsWith(" ")&&a.transcript?" ":"";if(b){if(this._dictationBaseText=this._dictationBaseText+e+a.transcript,this._currentInterimText="",this._text=this._dictationBaseText,this._dictation){let{transcript:a,...b}=this._dictation;this._dictation=b}this._notifySubscribers()}else this._currentInterimText=e+a.transcript,this._text=this._dictationBaseText+this._currentInterimText,this._dictation&&(this._dictation={...this._dictation,transcript:a.transcript}),this._notifySubscribers()});this._dictationUnsubscribes.push(e);let f=c.onSpeechStart(()=>{this._isActiveSession(d,c)&&(this._dictation={status:{type:"running"},inputDisabled:b,...this._dictation?.transcript&&{transcript:this._dictation.transcript}},this._notifySubscribers())});this._dictationUnsubscribes.push(f);let g=c.onSpeechEnd(()=>{this._cleanupDictation({sessionId:d})});this._dictationUnsubscribes.push(g);let h=setInterval(()=>{this._isActiveSession(d,c)&&"ended"===c.status.type&&this._cleanupDictation({sessionId:d})},100);this._dictationUnsubscribes.push(()=>clearInterval(h))}stopDictation(){if(!this._dictationSession)return;let a=this._dictationSession,b=this._activeDictationSessionId;a.stop().finally(()=>{this._cleanupDictation({sessionId:b})})}_cleanupDictation(a){if((a?.sessionId===void 0||a.sessionId===this._activeDictationSessionId)&&!this._isCleaningDictation){this._isCleaningDictation=!0;try{for(let a of this._dictationUnsubscribes)a();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(a){let b=this._eventSubscribers.get(a);if(b)for(let a of b)a()}unstable_on(a,b){let c=this._eventSubscribers.get(a);return c?c.add(b):this._eventSubscribers.set(a,new Set([b])),()=>{let c=this._eventSubscribers.get(a);c&&c.delete(b)}}}class cc extends cb{runtime;_canCancel=!1;get canCancel(){return this._canCancel}getAttachmentAdapter(){return this.runtime.adapters?.attachments}getDictationAdapter(){return this.runtime.adapters?.dictation}constructor(a){super(),this.runtime=a,this.connect()}connect(){return this.runtime.subscribe(()=>{this.canCancel!==this.runtime.capabilities.cancel&&(this._canCancel=this.runtime.capabilities.cancel,this._notifySubscribers())})}async handleSend(a){this.runtime.append({...a,parentId:this.runtime.messages.at(-1)?.id??null,sourceId:null})}async handleCancel(){this.runtime.cancelRun()}}class cd extends cb{runtime;endEditCallback;get canCancel(){return!0}getAttachmentAdapter(){return this.runtime.adapters?.attachments}getDictationAdapter(){return this.runtime.adapters?.dictation}_nonTextParts;_previousText;_parentId;_sourceId;constructor(a,b,{parentId:c,message:d}){super(),this.runtime=a,this.endEditCallback=b,this._parentId=c,this._sourceId=d.id,this._previousText=b_(d),this.setText(this._previousText),this.setRole(d.role),this.setAttachments(d.attachments??[]),this._nonTextParts=d.content.filter(a=>"text"!==a.type),this.setRunConfig({...a.composer.runConfig})}async handleSend(a){b_(a)!==this._previousText&&this.runtime.append({...a,content:[...a.content,...this._nonTextParts],parentId:this._parentId,sourceId:this._sourceId}),this.handleCancel()}handleCancel(){this.endEditCallback(),this._notifySubscribers()}}class ce{_contextProvider;_subscriptions=new Set;_isInitialized=!1;repository=new b3;get messages(){return this.repository.getMessages()}get state(){let a;for(let b of this.messages)"assistant"===b.role&&(a=b);return a?.metadata.unstable_state??null}composer=new cc(this);constructor(a){this._contextProvider=a}getModelContext(){return this._contextProvider.getModelContext()}_editComposers=new Map;getEditComposer(a){return this._editComposers.get(a)}beginEdit(a){if(this._editComposers.has(a))throw Error("Edit already in progress");this._editComposers.set(a,new cd(this,()=>this._editComposers.delete(a),this.repository.getMessage(a))),this._notifySubscribers()}getMessageById(a){try{return this.repository.getMessage(a)}catch{return}}getBranches(a){return this.repository.getBranches(a)}switchToBranch(a){this.repository.switchToBranch(a),this._notifySubscribers()}_notifySubscribers(){for(let a of this._subscriptions)a()}_notifyEventSubscribers(a){let b=this._eventSubscribers.get(a);if(b)for(let a of b)a()}subscribe(a){return this._subscriptions.add(a),()=>this._subscriptions.delete(a)}submitFeedback({messageId:a,type:b}){let c=this.adapters?.feedback;if(!c)throw Error("Feedback adapter not configured");let{message:d,parentId:e}=this.repository.getMessage(a);if(c.submit({message:d,type:b}),"assistant"===d.role){let a={...d,metadata:{...d.metadata,submittedFeedback:{type:b}}};this.repository.addOrUpdateMessage(e,a)}this._notifySubscribers()}_stopSpeaking;speech;speak(a){let b=this.adapters?.speech;if(!b)throw Error("Speech adapter not configured");let{message:c}=this.repository.getMessage(a);this._stopSpeaking?.();let d=b.speak(b_(c)),e=d.subscribe(()=>{"ended"===d.status.type?(this._stopSpeaking=void 0,this.speech=void 0):this.speech={messageId:a,status:d.status},this._notifySubscribers()});this.speech={messageId:a,status:d.status},this._notifySubscribers(),this._stopSpeaking=()=>{d.cancel(),e(),this.speech=void 0,this._stopSpeaking=void 0}}stopSpeaking(){if(!this._stopSpeaking)throw Error("No message is being spoken");this._stopSpeaking(),this._notifySubscribers()}ensureInitialized(){this._isInitialized||(this._isInitialized=!0,this._notifyEventSubscribers("initialize"))}export(){return this.repository.export()}import(a){this.ensureInitialized(),this.repository.clear(),this.repository.import(a),this._notifySubscribers()}reset(a){this.import(b0(a??[]))}_eventSubscribers=new Map;unstable_on(a,b){if("modelContextUpdate"===a)return this._contextProvider.subscribe?.(b)??(()=>{});let c=this._eventSubscribers.get(a);return c?c.add(b):this._eventSubscribers.set(a,new Set([b])),()=>{this._eventSubscribers.get(a).delete(b)}}}let cf=Object.freeze([]),cg=(a,b)=>{let c=Object.keys(a);if(c.length!==Object.keys(b).length)return!1;for(let d of c)if(a[d]!==b[d])return!1;return!0};class ch extends ce{_assistantOptimisticId=null;_capabilities={switchToBranch:!1,switchBranchDuringRun:!1,edit:!1,reload:!1,cancel:!1,unstable_copy:!1,speech:!1,dictation:!1,attachments:!1,feedback:!1};get capabilities(){return this._capabilities}_messages;isDisabled;get isLoading(){return this._store.isLoading??!1}get messages(){return this._messages}get state(){return this._store.state??super.state}get adapters(){return this._store.adapters}suggestions=[];extras=void 0;_converter=new bO;_store;beginEdit(a){if(!this._store.onEdit)throw Error("Runtime does not support editing.");super.beginEdit(a)}constructor(a,b){super(a),this.__internal_setAdapter(b)}__internal_setAdapter(a){let b,c;if(this._store===a)return;let d=a.isRunning??!1;this.isDisabled=a.isDisabled??!1;let e=this._store;this._store=a,this.extras!==a.extras&&(this.extras=a.extras);let f=a.suggestions??cf;cg(this.suggestions,f)||(this.suggestions=f);let g={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,unstable_copy:this._store.unstable_capabilities?.copy!==!1,attachments:!!this._store.adapters?.attachments,feedback:!!this._store.adapters?.feedback};if(cg(this._capabilities,g)||(this._capabilities=g),a.messageRepository){if(e&&e.isRunning===a.isRunning&&e.messageRepository===a.messageRepository)return void this._notifySubscribers();this.repository.clear(),this._assistantOptimisticId=null,this.repository.import(a.messageRepository),b=this.repository.getMessages()}else if(a.messages){if(e){if(e.convertMessage!==a.convertMessage)this._converter=new bO;else if(e.isRunning===a.isRunning&&e.messages===a.messages)return void this._notifySubscribers()}b=a.convertMessage?this._converter.convertMessages(a.messages,(b,c,e)=>{if(!a.convertMessage)return c;let f=bU(e===(a.messages?.length??0)-1,d,!1,!1,void 0);if(b&&("assistant"!==b.role||!0!==b.status[bP]||b.status===f))return b;let g=b$(a.convertMessage(c,e),e.toString(),f);return bK in g||(g[bK]=c),g}):a.messages;for(let a=0;a<b.length;a++){let c=b[a],d=b[a-1];this.repository.addOrUpdateMessage(d?.id??null,c)}}else throw Error("ExternalStoreAdapter must provide either 'messages' or 'messageRepository'");b.length>0&&this.ensureInitialized(),(e?.isRunning??!1)!==(a.isRunning??!1)&&(a.isRunning?this._notifyEventSubscribers("runStart"):this._notifyEventSubscribers("runEnd")),this._assistantOptimisticId&&(this.repository.deleteMessage(this._assistantOptimisticId),this._assistantOptimisticId=null),c=b,d&&c[c.length-1]?.role!=="assistant"&&(this._assistantOptimisticId=this.repository.appendOptimisticMessage(b.at(-1)?.id??null,{role:"assistant",content:[]})),this.repository.resetHead(this._assistantOptimisticId??b.at(-1)?.id??null),this._messages=this.repository.getMessages(),this._notifySubscribers()}switchToBranch(a){if(!this._store.setMessages)throw Error("Runtime does not support switching branches.");this._store.isRunning||(this.repository.switchToBranch(a),this.updateMessages(this.repository.getMessages()))}async append(a){if(a.parentId!==(this.messages.at(-1)?.id??null)){if(!this._store.onEdit)throw Error("Runtime does not support editing messages.");await this._store.onEdit(a)}else await this._store.onNew(a)}async startRun(a){if(!this._store.onReload)throw Error("Runtime does not support reloading messages.");await this._store.onReload(a.parentId,a)}async resumeRun(a){if(!this._store.onResume)throw Error("Runtime does not support resuming runs.");await this._store.onResume(a)}exportExternalState(){if(!this._store.onExportExternalState)throw Error("Runtime does not support exporting external states.");return this._store.onExportExternalState()}importExternalState(a){if(!this._store.onLoadExternalState)throw Error("Runtime does not support importing external states.");this._store.onLoadExternalState(a)}unstable_loadExternalState(a){this.importExternalState(a)}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 a=this.repository.getMessages(),b=a[a.length-1];b?.role==="user"&&b.id===a.at(-1)?.id?(this.repository.deleteMessage(b.id),this.composer.text.trim()||this.composer.setText(b_(b)),a=this.repository.getMessages()):this._notifySubscribers(),setTimeout(()=>{this.updateMessages(a)},0)}addToolResult(a){if(!this._store.onAddToolResult&&!this._store.onAddToolResult)throw Error("Runtime does not support tool results.");this._store.onAddToolResult?.(a)}resumeToolCall(a){if(!this._store.onResumeToolCall)throw Error("Runtime does not support resuming tool calls.");this._store.onResumeToolCall(a)}reset(a){let b=new b3;b.import(b0(a??[])),this.updateMessages(b.getMessages())}import(a){this._assistantOptimisticId=null,super.import(a),this._store.onImport&&this._store.onImport(this.repository.getMessages())}updateMessages=a=>{void 0!==this._store.convertMessage?this._store.setMessages?.(a.flatMap(bN)):this._store.setMessages?.(a)}}let ci=a=>a.adapters?.threadList??{};class cj extends bC{threads;constructor(a){super(),this.threads=new bJ(ci(a),()=>new ch(this._contextProvider,a))}setAdapter(a){this.threads.__internal_setAdapter(ci(a)),this.threads.getMainThreadRuntimeCore().__internal_setAdapter(a)}}class ck{_core;_threadListBinding;get path(){return this._core.path}constructor(a,b){this._core=a,this._threadListBinding=b,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 a=this._core.getState();return this._threadListBinding.switchToThread(a.id)}rename(a){let b=this._core.getState();return this._threadListBinding.rename(b.id,a)}archive(){let a=this._core.getState();return this._threadListBinding.archive(a.id)}unarchive(){let a=this._core.getState();return this._threadListBinding.unarchive(a.id)}delete(){let a=this._core.getState();return this._threadListBinding.delete(a.id)}initialize(){let a=this._core.getState();return this._threadListBinding.initialize(a.id)}generateTitle(){let a=this._core.getState();return this._threadListBinding.generateTitle(a.id)}unstable_on(a,b){let c=this._core.getState().isMain,d=this._core.getState().id;return this.subscribe(()=>{let e=this._core.getState(),f=e.isMain,g=e.id;c===f&&d===g||(c=f,d=g,"switchedTo"===a&&!f||"switchedAway"===a&&f||b())})}subscribe(a){return this._core.subscribe(a)}detach(){let a=this._core.getState();this._threadListBinding.detach(a.id)}__internal_getRuntime(){return this}}class cl{_core;get path(){return this._core.path}constructor(a){this._core=a,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(a){return this._core.subscribe(a)}}class cm extends cl{_composerApi;constructor(a,b){super(a),this._composerApi=b}remove(){let a=this._composerApi.getState();if(!a)throw Error("Composer is not available");return a.removeAttachment(this.getState().id)}}class cn extends cm{get source(){return"thread-composer"}}class co extends cm{get source(){return"edit-composer"}}class cp extends cl{get source(){return"message"}constructor(a){super(a)}remove(){throw Error("Message attachments cannot be removed")}}let cq=Object.freeze([]),cr=Object.freeze({});class cs{_core;get path(){return this._core.path}constructor(a){this._core=a}__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(a){let b=this._core.getState();if(!b)throw Error("Composer is not available");b.setText(a)}setRunConfig(a){let b=this._core.getState();if(!b)throw Error("Composer is not available");b.setRunConfig(a)}addAttachment(a){let b=this._core.getState();if(!b)throw Error("Composer is not available");return b.addAttachment(a)}reset(){let a=this._core.getState();if(!a)throw Error("Composer is not available");return a.reset()}clearAttachments(){let a=this._core.getState();if(!a)throw Error("Composer is not available");return a.clearAttachments()}send(){let a=this._core.getState();if(!a)throw Error("Composer is not available");a.send()}cancel(){let a=this._core.getState();if(!a)throw Error("Composer is not available");a.cancel()}setRole(a){let b=this._core.getState();if(!b)throw Error("Composer is not available");b.setRole(a)}startDictation(){let a=this._core.getState();if(!a)throw Error("Composer is not available");a.startDictation()}stopDictation(){let a=this._core.getState();if(!a)throw Error("Composer is not available");a.stopDictation()}setQuote(a){let b=this._core.getState();if(!b)throw Error("Composer is not available");b.setQuote(a)}subscribe(a){return this._core.subscribe(a)}_eventSubscriptionSubjects=new Map;unstable_on(a,b){let c=this._eventSubscriptionSubjects.get(a);return c||(c=new ca({event:a,binding:this._core}),this._eventSubscriptionSubjects.set(a,c)),c.subscribe(b)}}class ct extends cs{get path(){return this._core.path}get type(){return"thread"}_getState;constructor(a){const b=new b8({path:a.path,getState:()=>{let b;return b=a.getState(),Object.freeze({type:"thread",isEditing:b?.isEditing??!1,canCancel:b?.canCancel??!1,isEmpty:b?.isEmpty??!0,attachments:b?.attachments??cq,text:b?.text??"",role:b?.role??"user",runConfig:b?.runConfig??cr,attachmentAccept:b?.attachmentAccept??"",dictation:b?.dictation,quote:b?.quote,value:b?.text??""})},subscribe:b=>a.subscribe(b)});super({path:a.path,getState:()=>a.getState(),subscribe:a=>b.subscribe(a)}),this._getState=b.getState.bind(b),this.__internal_bindMethods()}getState(){return this._getState()}getAttachmentByIndex(a){return new cn(new b7({path:{...this.path,attachmentSource:"thread-composer",attachmentSelector:{type:"index",index:a},ref:`${this.path.ref}.attachments[${a}]`},getState:()=>{let b=this.getState().attachments[a];return b?{...b,source:"thread-composer"}:b4},subscribe:a=>this._core.subscribe(a)}),this._core)}}class cu extends cs{_beginEdit;get path(){return this._core.path}get type(){return"edit"}_getState;constructor(a,b){const c=new b8({path:a.path,getState:()=>{let b;return b=a.getState(),Object.freeze({type:"edit",isEditing:b?.isEditing??!1,canCancel:b?.canCancel??!1,isEmpty:b?.isEmpty??!0,text:b?.text??"",role:b?.role??"user",attachments:b?.attachments??cq,runConfig:b?.runConfig??cr,attachmentAccept:b?.attachmentAccept??"",dictation:b?.dictation,quote:b?.quote,value:b?.text??""})},subscribe:b=>a.subscribe(b)});super({path:a.path,getState:()=>a.getState(),subscribe:a=>c.subscribe(a)}),this._beginEdit=b,this._getState=c.getState.bind(c),this.__internal_bindMethods()}__internal_bindMethods(){super.__internal_bindMethods(),this.beginEdit=this.beginEdit.bind(this)}getState(){return this._getState()}beginEdit(){this._beginEdit()}getAttachmentByIndex(a){return new co(new b7({path:{...this.path,attachmentSource:"edit-composer",attachmentSelector:{type:"index",index:a},ref:`${this.path.ref}.attachments[${a}]`},getState:()=>{let b=this.getState().attachments[a];return b?{...b,source:"edit-composer"}:b4},subscribe:a=>this._core.subscribe(a)}),this._core)}}let cv=Symbol.for("aui.tool-response");class cw{get[cv](){return!0}artifact;result;isError;messages;constructor(a){void 0!==a.artifact&&(this.artifact=a.artifact),this.result=a.result,this.isError=a.isError??!1,void 0!==a.messages&&(this.messages=a.messages)}static[Symbol.hasInstance](a){return"object"==typeof a&&null!==a&&cv in a}static toResponse(a){return a instanceof cw?a:new cw({result:void 0===a?"<no result>":a})}}class cx{contentBinding;messageApi;threadApi;get path(){return this.contentBinding.path}constructor(a,b,c){this.contentBinding=a,this.messageApi=b,this.threadApi=c,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(a){let b=this.contentBinding.getState();if(!b)throw Error("Message part is not available");if("tool-call"!==b.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 c=this.messageApi.getState();if(!c)throw Error("Message is not available");let d=b.toolName,e=b.toolCallId,f=cw.toResponse(a);this.threadApi.getState().addToolResult({messageId:c.id,toolName:d,toolCallId:e,result:f.result,artifact:f.artifact,isError:f.isError})}resumeToolCall(a){let b=this.contentBinding.getState();if(!b)throw Error("Message part is not available");if("tool-call"!==b.type)throw Error("Tried to resume tool call on non-tool message part");if(!this.threadApi)throw Error("Thread API is not available");let c=b.toolCallId;this.threadApi.getState().resumeToolCall({toolCallId:c,payload:a})}subscribe(a){return this.contentBinding.subscribe(a)}}let cy=Object.freeze({type:"complete"}),cz=(a,b)=>{let c=a.content[b];if(!c)return b4;let d=((a,b,c)=>{if("assistant"!==a.role)return cy;if("tool-call"===c.type)if(!c.result)return a.status;else return cy;let d=b===Math.max(0,a.content.length-1);return"requires-action"===a.status.type?cy:d?a.status:cy})(a,b,c);return Object.freeze({...c,...{[bK]:c[bK]},status:d})};class cA{_core;_threadBinding;get path(){return this._core.path}constructor(a,b){this._core=a,this._threadBinding=b,this.composer=new cu(new b9({path:{...this.path,ref:`${this.path.ref}${this.path.ref}.composer`,composerSource:"edit"},getState:this._getEditComposerRuntimeCore,subscribe:a=>this._threadBinding.subscribe(a)}),()=>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(a={}){let b=this._getEditComposerRuntimeCore(),c=b??this._threadBinding.getState().composer,{runConfig:d=(b??c).runConfig}=a,e=this._core.getState();if("assistant"!==e.role)throw Error("Can only reload assistant messages");this._threadBinding.getState().startRun({parentId:e.parentId,sourceId:e.id,runConfig:d})}speak(){let a=this._core.getState();return this._threadBinding.getState().speak(a.id)}stopSpeaking(){let a=this._core.getState(),b=this._threadBinding.getState();if(b.speech?.messageId===a.id)this._threadBinding.getState().stopSpeaking();else throw Error("Message is not being spoken")}submitFeedback({type:a}){let b=this._core.getState();this._threadBinding.getState().submitFeedback({messageId:b.id,type:a})}switchToBranch({position:a,branchId:b}){let c=this._core.getState();if(b&&a)throw Error("May not specify both branchId and position");if(!b&&!a)throw Error("Must specify either branchId or position");let d=this._threadBinding.getState().getBranches(c.id),e=b;if("previous"===a?e=d[c.branchNumber-2]:"next"===a&&(e=d[c.branchNumber]),!e)throw Error("Branch not found");this._threadBinding.getState().switchToBranch(e)}unstable_getCopyText(){return b_(this.getState())}subscribe(a){return this._core.subscribe(a)}getMessagePartByIndex(a){if(a<0)throw Error("Message part index must be >= 0");return new cx(new b7({path:{...this.path,ref:`${this.path.ref}${this.path.ref}.content[${a}]`,messagePartSelector:{type:"index",index:a}},getState:()=>cz(this.getState(),a),subscribe:a=>this._core.subscribe(a)}),this._core,this._threadBinding)}getMessagePartByToolCallId(a){return new cx(new b7({path:{...this.path,ref:this.path.ref+`${this.path.ref}.content[toolCallId=${JSON.stringify(a)}]`,messagePartSelector:{type:"toolCallId",toolCallId:a}},getState:()=>{let b=this._core.getState(),c=b.content.findIndex(b=>"tool-call"===b.type&&b.toolCallId===a);return -1===c?b4:cz(b,c)},subscribe:a=>this._core.subscribe(a)}),this._core,this._threadBinding)}getAttachmentByIndex(a){return new cp(new b7({path:{...this.path,ref:`${this.path.ref}${this.path.ref}.attachments[${a}]`,attachmentSource:"message",attachmentSelector:{type:"index",index:a}},getState:()=>{let b=this.getState().attachments,c=b?.[a];return c?{...c,source:"message"}:b4},subscribe:a=>this._core.subscribe(a)}))}}class cB{get path(){return this._threadBinding.path}get __internal_threadBinding(){return this._threadBinding}_threadBinding;constructor(a,b){const c=new b7({path:a.path,getState:()=>{var c,d;let e;return c=a.getState(),d=b.getState(),e=c.messages.at(-1),Object.freeze({threadId:d.id,metadata:d,capabilities:c.capabilities,isDisabled:c.isDisabled,isLoading:c.isLoading,isRunning:e?.role==="assistant"&&"running"===e.status.type,messages:c.messages,state:c.state,suggestions:c.suggestions,extras:c.extras,speech:c.speech})},subscribe:c=>{let d=a.subscribe(c),e=b.subscribe(c);return()=>{d(),e()}}});this._threadBinding={path:a.path,getState:()=>a.getState(),getStateState:()=>c.getState(),outerSubscribe:b=>a.outerSubscribe(b),subscribe:b=>a.subscribe(b)},this.composer=new ct(new b9({path:{...this.path,ref:`${this.path.ref}.composer`,composerSource:"thread"},getState:()=>this._threadBinding.getState().composer,subscribe:a=>this._threadBinding.subscribe(a)})),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.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(a){var b;this._threadBinding.getState().append((b=this._threadBinding.getState().messages,"string"==typeof a?{createdAt:new Date,parentId:b.at(-1)?.id??null,sourceId:null,runConfig:{},role:"user",content:[{type:"text",text:a}],attachments:[],metadata:{custom:{}}}:{createdAt:a.createdAt??new Date,parentId:a.parentId??b.at(-1)?.id??null,sourceId:a.sourceId??null,role:a.role??"user",content:a.content,attachments:a.attachments??[],metadata:a.metadata??{custom:{}},runConfig:a.runConfig??{},startRun:a.startRun}))}subscribe(a){return this._threadBinding.subscribe(a)}getModelContext(){return this._threadBinding.getState().getModelContext()}getModelConfig(){return this.getModelContext()}startRun(a){let b;return this._threadBinding.getState().startRun({parentId:(b=null===a||"string"==typeof a?{parentId:a}:a).parentId??null,sourceId:b.sourceId??null,runConfig:b.runConfig??{}})}resumeRun(a){return this._threadBinding.getState().resumeRun({parentId:a.parentId??null,sourceId:a.sourceId??null,runConfig:a.runConfig??{},...a.stream?{stream:a.stream}:{}})}unstable_resumeRun(a){return this.resumeRun(a)}exportExternalState(){return this._threadBinding.getState().exportExternalState()}importExternalState(a){this._threadBinding.getState().importExternalState(a)}unstable_loadExternalState(a){this._threadBinding.getState().unstable_loadExternalState(a)}cancelRun(){this._threadBinding.getState().cancelRun()}stopSpeaking(){return this._threadBinding.getState().stopSpeaking()}export(){return this._threadBinding.getState().export()}import(a){this._threadBinding.getState().import(a)}reset(a){this._threadBinding.getState().reset(a)}getMessageByIndex(a){if(a<0)throw Error("Message index must be >= 0");return this._getMessageRuntime({...this.path,ref:`${this.path.ref}.messages[${a}]`,messageSelector:{type:"index",index:a}},()=>{let b=this._threadBinding.getState().messages,c=b[a];if(c)return{message:c,parentId:b[a-1]?.id??null,index:a}})}getMessageById(a){return this._getMessageRuntime({...this.path,ref:`${this.path.ref}.messages[messageId=${JSON.stringify(a)}]`,messageSelector:{type:"messageId",messageId:a}},()=>this._threadBinding.getState().getMessageById(a))}_getMessageRuntime(a,b){return new cA(new b7({path:a,getState:()=>{let{message:a,parentId:c,index:d}=b()??{},{messages:e,speech:f}=this._threadBinding.getState();if(!a||void 0===c||void 0===d)return b4;let g=this._threadBinding.getState().getBranches(a.id),h=a.metadata.submittedFeedback;return{...a,...{[bK]:a[bK]},index:d,isLast:e.at(-1)?.id===a.id,parentId:c,branchNumber:g.indexOf(a.id)+1,branchCount:g.length,speech:f?.messageId===a.id?f:void 0,submittedFeedback:h}},subscribe:a=>this._threadBinding.subscribe(a)}),this._threadBinding)}_eventSubscriptionSubjects=new Map;unstable_on(a,b){let c=this._eventSubscriptionSubjects.get(a);return c||(c=new ca({event:a,binding:this._threadBinding}),this._eventSubscriptionSubjects.set(a,c)),c.subscribe(b)}}let cC=(a,b)=>{if(void 0===b)return b4;let c=a.getItemById(b);return c?{id:c.id,remoteId:c.remoteId,externalId:c.externalId,title:c.title,status:c.status,isMain:c.id===a.mainThreadId}:b4};class cD{_core;_runtimeFactory;_getState;constructor(a,b=cB){this._core=a,this._runtimeFactory=b;const c=new b8({path:{},getState:()=>({mainThreadId:a.mainThreadId,newThreadId:a.newThreadId,threadIds:a.threadIds,archivedThreadIds:a.archivedThreadIds,isLoading:a.isLoading,threadItems:a.threadItems}),subscribe:b=>a.subscribe(b)});this._getState=c.getState.bind(c),this._mainThreadListItemRuntime=new ck(new b7({path:{ref:"threadItems[main]",threadSelector:{type:"main"}},getState:()=>cC(this._core,this._core.mainThreadId),subscribe:a=>this._core.subscribe(a)}),this._core),this.main=new b(new b9({path:{ref:"threads.main",threadSelector:{type:"main"}},getState:()=>a.getMainThreadRuntimeCore(),subscribe:b=>a.subscribe(b)}),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(a){return this._core.switchToThread(a)}switchToNewThread(){return this._core.switchToNewThread()}getState(){return this._getState()}subscribe(a){return this._core.subscribe(a)}_mainThreadListItemRuntime;main;get mainItem(){return this._mainThreadListItemRuntime}getById(a){return new this._runtimeFactory(new b9({path:{ref:`threads[threadId=${JSON.stringify(a)}]`,threadSelector:{type:"threadId",threadId:a}},getState:()=>this._core.getThreadRuntimeCore(a),subscribe:a=>this._core.subscribe(a)}),this.mainItem)}getItemByIndex(a){return new ck(new b7({path:{ref:`threadItems[${a}]`,threadSelector:{type:"index",index:a}},getState:()=>cC(this._core,this._core.threadIds[a]),subscribe:a=>this._core.subscribe(a)}),this._core)}getArchivedItemByIndex(a){return new ck(new b7({path:{ref:`archivedThreadItems[${a}]`,threadSelector:{type:"archiveIndex",index:a}},getState:()=>cC(this._core,this._core.archivedThreadIds[a]),subscribe:a=>this._core.subscribe(a)}),this._core)}getItemById(a){return new ck(new b7({path:{ref:`threadItems[threadId=${a}]`,threadSelector:{type:"threadId",threadId:a}},getState:()=>cC(this._core,a),subscribe:a=>this._core.subscribe(a)}),this._core)}}class cE{_core;threads;get threadList(){return this.threads}_thread;constructor(a){this._core=a,this.threads=new cD(a.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(a){return this._core.threads.switchToThread(a)}registerModelContextProvider(a){return this._core.registerModelContextProvider(a)}registerModelConfigProvider(a){return this.registerModelContextProvider(a)}reset({initialMessages:a}={}){return this._core.threads.getMainThreadRuntimeCore().import(b0(a??[]))}}let cF=(0,aU.createContext)(null);var cG=a.i(917985),cH=a.i(431263),cI=a.i(425265),cJ=a.i(745806),cK=a.i(499298),cL=class extends cJ.Subscribable{#a;#b=void 0;#c;#d;constructor(a,b){super(),this.#a=a,this.setOptions(b),this.bindMethods(),this.#e()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(a){let b=this.options;this.options=this.#a.defaultMutationOptions(a),(0,cK.shallowEqualObjects)(this.options,b)||this.#a.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#c,observer:this}),b?.mutationKey&&this.options.mutationKey&&(0,cK.hashKey)(b.mutationKey)!==(0,cK.hashKey)(this.options.mutationKey)?this.reset():this.#c?.state.status==="pending"&&this.#c.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#c?.removeObserver(this)}onMutationUpdate(a){this.#e(),this.#f(a)}getCurrentResult(){return this.#b}reset(){this.#c?.removeObserver(this),this.#c=void 0,this.#e(),this.#f()}mutate(a,b){return this.#d=b,this.#c?.removeObserver(this),this.#c=this.#a.getMutationCache().build(this.#a,this.options),this.#c.addObserver(this),this.#c.execute(a)}#e(){let a=this.#c?.state??(0,cH.getDefaultState)();this.#b={...a,isPending:"pending"===a.status,isSuccess:"success"===a.status,isError:"error"===a.status,isIdle:"idle"===a.status,mutate:this.mutate,reset:this.reset}}#f(a){cI.notifyManager.batch(()=>{if(this.#d&&this.hasListeners()){let b=this.#b.variables,c=this.#b.context,d={client:this.#a,meta:this.options.meta,mutationKey:this.options.mutationKey};if(a?.type==="success"){try{this.#d.onSuccess?.(a.data,b,c,d)}catch(a){Promise.reject(a)}try{this.#d.onSettled?.(a.data,null,b,c,d)}catch(a){Promise.reject(a)}}else if(a?.type==="error"){try{this.#d.onError?.(a.error,b,c,d)}catch(a){Promise.reject(a)}try{this.#d.onSettled?.(void 0,a.error,b,c,d)}catch(a){Promise.reject(a)}}}this.listeners.forEach(a=>{a(this.#b)})})}},cM=a.i(480535),cN=a.i(746847);function cO(a){return["chat-messages",a]}async function cP(a){let b=await fetch(`/api/interactive/chat/${a}/messages`);if(!b.ok)throw console.error(`[ChatState] fetch failed: ${b.status}`,await b.text().catch(()=>"")),Error(`Failed to fetch chat state: ${b.status}`);return b.json()}function cQ(a){if(null==a||""===a)return null;if("number"==typeof a)return Number.isFinite(a)?a:null;if(a instanceof Date){let b=a.getTime();return Number.isFinite(b)?b:null}if("string"==typeof a){let b=Number(a);if(Number.isFinite(b))return b;let c=new Date(a).getTime();return Number.isFinite(c)?c:null}return null}async function cR(a,b,c,d,e){let f=await fetch(`/api/interactive/chat/${a}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:b,worktreePath:c,model:d,agentType:e})});if(!f.ok)throw Error(`Failed to send message: ${f.status}`);return(await f.json()).message}function cS(a){return{id:a.id,role:a.role===cN.InteractiveMessageRole.user?"user":"assistant",content:[{type:"text",text:a.content}],createdAt:a.createdAt?new Date(a.createdAt):void 0}}function cT(a,b,c){let d=(0,cM.useQueryClient)(),e=(0,aU.useRef)(c?.model),f=(0,aU.useRef)(c?.agentType);e.current=c?.model,f.current=c?.agentType;let g=(0,aU.useRef)(c?.debugMode??!1);g.current=c?.debugMode??!1;let[h,i]=(0,aU.useState)([]),j=(0,aU.useCallback)((a,b)=>{g.current&&i(c=>[...c,{id:`dbg-${Date.now()}-${Math.random()}`,timestamp:new Date,label:a,detail:b}])},[]),{data:k,isLoading:l}=(0,cG.useQuery)({queryKey:cO(a),queryFn:()=>cP(a),initialData:c?.initialChatState,staleTime:1/0,refetchOnWindowFocus:!1,refetchOnReconnect:!1});(0,aU.useEffect)(()=>{k?.turnStatus==="unread"&&fetch(`/api/interactive/chat/${a}/mark-read`,{method:"POST"})},[k?.turnStatus,a]);let m=(0,aU.useMemo)(()=>k?.messages??[],[k?.messages]),n=k?.sessionStatus??null,o=(0,aU.useRef)(null);(0,aU.useEffect)(()=>{if(n&&n!==o.current){let a=k?.sessionInfo;j(`session_${n}`,a?`model=${a.model??"?"}, sid=${a.sessionId?.slice(0,8)??"?"}`:void 0)}o.current=n},[n,k?.sessionInfo,j]);let p=k?.streamingText??null,q=(0,aU.useRef)(null);k?.sessionInfo&&(q.current=k.sessionInfo);let r=k?.sessionInfo??q.current,[s,t]=(0,aU.useState)(""),[u,v]=(0,aU.useState)(null),[w,x]=(0,aU.useState)(!1),y=(0,aU.useRef)(null),z=(0,aU.useRef)(null),[A,B]=(0,aU.useState)(null);(0,aU.useEffect)(()=>{let a=k?.pendingInteraction??null;a?B(a):!a&&A&&B(null)},[k?.pendingInteraction,A]);let C=(0,aU.useCallback)(()=>{y.current&&clearTimeout(y.current),y.current=setTimeout(()=>x(!0),600)},[]),D=(0,aU.useCallback)(()=>{y.current&&(clearTimeout(y.current),y.current=null),x(!1)},[]),E=m.length>0?m[m.length-1].role:null;(0,aU.useEffect)(()=>{E===cN.InteractiveMessageRole.assistant&&D()},[E,m.length,D]),(0,aU.useEffect)(()=>{let b=new EventSource(`/api/interactive/chat/${a}/stream`);return z.current=b,b.addEventListener("delta",a=>{try{let b=JSON.parse(a.data);b.delta&&(D(),t(a=>a+b.delta),v(null))}catch{}}),b.addEventListener("activity",a=>{D();try{let b=JSON.parse(a.data);b.activity&&j(`[${b.activity.kind}] ${b.activity.label}`,b.activity.detail)}catch{}}),b.addEventListener("log",a=>{try{let b=JSON.parse(a.data);b.log&&(D(),v(b.log),j("log",b.log))}catch{}}),b.addEventListener("interaction",a=>{try{let b=JSON.parse(a.data);b.interaction&&(D(),B(b.interaction))}catch{}}),b.addEventListener("message",b=>{try{let e=JSON.parse(b.data);if(e.message){var c;c=e.message,d.setQueryData(cO(a),a=>{let b=a??{messages:[],sessionStatus:null,streamingText:null,sessionInfo:null};if(b.messages.find(a=>a.id===c.id))return b;let d=b.messages.filter(a=>!(a.id.startsWith("optimistic-")&&a.role===c.role&&a.content===c.content));return{...b,messages:[...d,c]}}),e.message.role===cN.InteractiveMessageRole.assistant&&D()}}catch{}}),b.addEventListener("session_status",b=>{try{var c;let e=JSON.parse(b.data);e.sessionStatus&&(c=e.sessionStatus,d.setQueryData(cO(a),a=>a?{...a,sessionStatus:c}:a))}catch{}}),b.addEventListener("turn_status",b=>{try{var c;let e=JSON.parse(b.data);e.turnStatus&&(c=e.turnStatus,d.setQueryData(cO(a),a=>a?{...a,turnStatus:c}:a))}catch{}}),b.addEventListener("workflow_step",b=>{try{let c=JSON.parse(b.data);if(!c.step)return;d.setQueryData(cO(a),a=>{let b;if(!a)return a;let d=a.workflow,e=d?.steps.findIndex(a=>a.id===c.step.id)??-1;d&&-1!==e?(b=d.steps.slice())[e]=c.step:b=[...d?.steps??[],c.step].sort((a,b)=>a.stepIndex-b.stepIndex);let f=b.find(a=>"running"===a.status);return{...a,workflow:{workflowId:c.step.workflowId,steps:b,currentStepId:f?.id??null}}})}catch{}}),b.addEventListener("done",()=>{v(null),D(),j("turn_done"),B(null),t("")}),b.addEventListener("open",()=>{d.invalidateQueries({queryKey:cO(a)})}),b.onerror=()=>{},()=>{b.close(),z.current=null}},[a,d,D,j]);let F=function(a,b){let c=(0,cM.useQueryClient)(void 0),[d]=aU.useState(()=>new cL(c,a));aU.useEffect(()=>{d.setOptions(a)},[d,a]);let e=aU.useSyncExternalStore(aU.useCallback(a=>d.subscribe(cI.notifyManager.batchCalls(a)),[d]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),f=aU.useCallback((a,b)=>{d.mutate(a,b).catch(cK.noop)},[d]);if(e.error&&(0,cK.shouldThrowError)(d.options.throwOnError,[e.error]))throw e.error;return{...e,mutate:f,mutateAsync:e.mutate}}({mutationFn:c=>cR(a,c,b??"",e.current,f.current),onMutate:async b=>{j("send_message",`model=${e.current??"default"}, agent=${f.current??"default"}, len=${b.length}`),C(),await d.cancelQueries({queryKey:cO(a)});let c=d.getQueryData(cO(a));return d.setQueryData(cO(a),c=>({...c??{sessionStatus:"booting",sessionInfo:null},messages:[...c?.messages??[],{id:`optimistic-${Date.now()}`,featureId:a,role:cN.InteractiveMessageRole.user,content:b,createdAt:new Date,updatedAt:new Date}],streamingText:null})),{previous:c}},onError:(b,c,e)=>{e?.previous&&d.setQueryData(cO(a),e.previous)},onSettled:()=>{d.invalidateQueries({queryKey:cO(a)})}}),G=k?.turnStatus,H=w||!!s||!!u||"booting"===n||"processing"===G,I=s??p??"",J=(0,aU.useMemo)(()=>{let a=k?.workflow??null;if(!a||0===a.steps.length)return{hasPlan:!1,steps:[],activeStepId:null,allDone:!1,liveStatus:null};let b=new Map;for(let a of m){let c=a.stepId;if(!c||a.role!==cN.InteractiveMessageRole.assistant)continue;let d=b.get(c)??[];d.push(a),b.set(c,d)}let c=a.steps.map(a=>({definition:{id:a.id,stepKey:a.stepKey,title:a.title,description:a.description},status:function(a){switch(a){case"pending":case"running":case"done":case"failed":case"interrupted":return a;default:return"pending"}}(a.status),metadata:function(a){if(!a)return null;try{let b=JSON.parse(a);return b&&"object"==typeof b&&!Array.isArray(b)?b:null}catch{return null}}(a.metadata),toolMessages:b.get(a.id)??[],startedAt:cQ(a.startedAt),finishedAt:cQ(a.finishedAt)})),d=c.length>0&&c.every(a=>"done"===a.status),e=p?.trim()??"",f=s?.trim()??"",g=(f||e).split("\n")[0]?.slice(0,80)??"",h=null;return d?h=null:u?h=u:g?h=g:("processing"===G||w||"booting"===n)&&(h="booting"===n?"Waking up…":"Thinking…"),{hasPlan:!0,steps:c,activeStepId:a.currentStepId,allDone:d,liveStatus:h}},[k?.workflow,m,u,s,p,G,w,n]),K=c?.pinInitialRequest===!0,L=(0,aU.useMemo)(()=>J.hasPlan||K?m.find(a=>a.role===cN.InteractiveMessageRole.user&&!a.stepId)??null:null,[J.hasPlan,K,m]),M=(0,aU.useMemo)(()=>new Set(c?.hiddenMessageIds??[]),[c?.hiddenMessageIds]),N=(0,aU.useMemo)(()=>{let a;if(c?.hideAllMessages===!0)return[];let b=J.hasPlan,d=b&&!J.allDone,e=(b||K||M.size>0?m.filter(a=>!(a.id===L?.id||a.stepId||M.has(a.id))&&(!d||a.role!==cN.InteractiveMessageRole.assistant)):m).map(cS);if(c?.debugMode&&h.length>0){let b=h.map(a=>({id:a.id,role:"assistant",content:[{type:"text",text:a.detail?`🔧 **${a.label}** — ${a.detail}`:`🔧 **${a.label}**`}],createdAt:a.timestamp}));a=[];let c=0,d=0;for(;c<e.length&&d<b.length;)(e[c].createdAt?new Date(e[c].createdAt).getTime():0)<=(b[d].createdAt?new Date(b[d].createdAt).getTime():0)?a.push(e[c++]):a.push(b[d++]);for(;c<e.length;)a.push(e[c++]);for(;d<b.length;)a.push(b[d++])}else a=e;if(b&&!J.allDone)return a;if(c?.suppressStreamingIndicator!==!0)if(I.trim()){let b=[{type:"text",text:I}];u&&b.push({type:"text",text:`*⏳ ${u}*`}),a.push({id:"streaming",role:"assistant",content:b})}else u?a.push({id:"streaming",role:"assistant",content:[{type:"text",text:`*⏳ ${u}*`}]}):(w||"booting"===n)&&a.push({id:"streaming",role:"assistant",content:[{type:"text",text:"booting"===n?"*Agent is waking up...*":"*Thinking...*"}]});return a},[m,L?.id,I,w,n,u,c?.debugMode,c?.suppressStreamingIndicator,c?.hideAllMessages,h,J.hasPlan,J.allDone,K,M]),O=(0,aU.useMemo)(()=>H?{isRunning:!0,statusText:u}:{isRunning:!1,statusText:null},[H,u]),P=(0,aU.useCallback)(async a=>{let b=a.content.find(a=>"text"===a.type);if(b?.type!=="text"||!b.text.trim())return;let d=c?.contentTransform?c.contentTransform(b.text):b.text;F.mutate(d,{onSuccess:()=>c?.onMessageSent?.()})},[F,c]),Q=(0,aU.useCallback)(async()=>{let b=await fetch(`/api/interactive/chat/${a}/messages`,{method:"DELETE"});if(!b.ok)throw Error(`Failed to clear chat: ${b.status}`);t(""),i([]),v(null),D(),B(null),d.invalidateQueries({queryKey:cO(a)})},[a,d,D]),R=(0,aU.useCallback)(async()=>{let b=await fetch(`/api/interactive/chat/${a}/stop`,{method:"POST"});if(!b.ok)throw Error(`Failed to stop agent: ${b.status}`);t(""),v(null),D(),d.invalidateQueries({queryKey:cO(a)})},[a,d,D]),S=(0,aU.useCallback)(async b=>{B(null),v(null);try{let c=await fetch(`/api/interactive/chat/${a}/respond`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({answers:b})});c.ok||console.error(`[respondToInteraction] failed: ${c.status}`)}catch(a){console.error("[respondToInteraction] error:",a)}d.invalidateQueries({queryKey:cO(a)})},[a,d]),T=!(J.hasPlan&&!J.allDone)&&H;return{runtime:(a=>{let[b]=(0,aU.useState)(()=>new cj(a));(0,aU.useEffect)(()=>{b.setAdapter(a)});let{modelContext:c}=(0,aU.useContext)(cF)??{};return(0,aU.useEffect)(()=>{if(c)return b.registerModelContextProvider(c)},[c,b]),(0,aU.useMemo)(()=>new cE(b),[b])})({messages:N,convertMessage:(0,aU.useCallback)(a=>a,[]),isRunning:T,onNew:P,onCancel:(0,aU.useCallback)(async()=>{t(""),v(null),D()},[D])}),status:O,clearChat:Q,stopAgent:R,sessionInfo:r,isChatLoading:l,pendingInteraction:A,respondToInteraction:S,stepProgress:J,initialRequestMessage:L,rawMessages:m,streamingState:{text:I,statusLog:u,awaiting:w,sessionStatus:n}}}a.s(["chatQueryKey",()=>cO,"fetchChatState",()=>cP],340095),a.s(["useChatRuntime",()=>cT],135496);var cU=a.i(182934);a.i(200307);var cV=a.i(730931);function cW({attachments:a,isDragOver:c,uploadError:d,onDragEnter:f,onDragLeave:g,onDragOver:h,onDrop:i,onPaste:j,onRemoveAttachment:k,onNotesChange:l,onPickFiles:m,agentPicker:n,disabled:o}){let{t:p}=(0,aO.useTranslation)("web"),[q,r]=(0,aU.useState)(!1),s=(0,aU.useRef)(null);return(0,b.jsx)(e.ComposerPrimitive.Root,{className:(0,aP.cn)("shrink-0 border-t p-3",o&&"pointer-events-none opacity-50"),children:(0,b.jsx)("div",{onDragEnter:f,onDragLeave:g,onDragOver:h,onDrop:i,className:(0,aP.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",c&&"border-primary/50 bg-primary/5"),children:(0,b.jsxs)("div",{ref:s,onFocus:()=>r(!0),onBlur:()=>r(!1),className:(0,aP.cn)("border-input flex flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",q&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,b.jsx)(e.ComposerPrimitive.Input,{rows:1,autoFocus:!0,placeholder:p("chat.writeMessage"),onPaste:j,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"}),a.length>0?(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:a.map(a=>(0,b.jsx)(cV.AttachmentChip,{name:a.name,size:a.size,mimeType:a.mimeType,path:a.path,onRemove:()=>k(a.id),loading:a.loading,notes:a.notes,onNotesChange:b=>l(a.id,b)},a.id))}):null,d?(0,b.jsx)("p",{className:"text-destructive px-3 pb-2 text-xs",children:d}):null,(0,b.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[n,(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsxs)(cU.Tooltip,{children:[(0,b.jsx)(cU.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:m,"aria-label":p("chat.attachFiles"),className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,b.jsx)(a8.Paperclip,{className:"h-4 w-4"})})}),(0,b.jsx)(cU.TooltipContent,{side:"top",children:p("chat.attachFiles")})]}),(0,b.jsx)(cX,{})]})]})})})}function cX(){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.ThreadPrimitive.If,{running:!1,children:(0,b.jsx)(e.ComposerPrimitive.Send,{className:(0,aP.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,b.jsx)(a5.SendHorizontal,{className:"size-3.5"})})}),(0,b.jsx)(g.ThreadPrimitive.If,{running:!0,children:(0,b.jsx)(e.ComposerPrimitive.Cancel,{className:(0,aP.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,b.jsx)(a6,{className:"size-3.5"})})})]})}a.s(["ChatComposer",()=>cW],417518);var cY=a.i(587055);function cZ({interaction:a,onSubmit:c,className:d}){let e=a.questions.length>1;return(0,b.jsxs)("div",{className:(0,aP.cn)("group flex w-full items-start gap-2.5 px-4 py-0.5",d),children:[(0,b.jsx)("div",{className:"bg-muted flex h-6 w-6 shrink-0 items-center justify-center rounded-full",children:(0,b.jsx)(cY.MessageCircleQuestion,{className:"h-3.5 w-3.5 text-violet-600 dark:text-violet-400"})}),(0,b.jsx)("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:(0,b.jsx)("div",{className:"text-foreground mt-px overflow-hidden rounded-2xl rounded-tl-sm border border-violet-200 bg-violet-50/50 text-sm leading-relaxed shadow-sm dark:border-violet-500/20 dark:bg-violet-950/20",children:e?(0,b.jsx)(c$,{questions:a.questions,onSubmit:c}):(0,b.jsx)("div",{className:"px-4 py-3",children:(0,b.jsx)(c0,{question:a.questions[0],onSubmit:c})})})})]})}function c$({questions:a,onSubmit:c}){let[d,e]=(0,aU.useState)(0),[f,g]=(0,aU.useState)(()=>{let b={};for(let c of a)b[c.question]={selectedOptions:new Set,otherText:"",isOtherSelected:!1};return b}),h=(0,aU.useCallback)((a,b)=>{g(c=>({...c,[a]:b(c[a])}))},[]),i={};for(let b of a){let a=f[b.question];if(!a)continue;let c=[...a.selectedOptions];a.isOtherSelected&&a.otherText.trim()&&c.push(a.otherText.trim()),c.length>0&&(i[b.question]=c.join(", "))}let j=a.every(a=>i[a.question]),k=(0,aU.useCallback)(()=>{j&&c(i)},[j,c,f]);return(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"flex border-b border-violet-200 dark:border-violet-500/20",children:a.map((a,c)=>{let f=c===d,g=!!i[a.question];return(0,b.jsxs)("button",{type:"button",onClick:()=>e(c),className:(0,aP.cn)("relative flex items-center gap-1.5 px-4 py-2 text-xs font-medium transition-colors",f?"text-violet-700 dark:text-violet-300":"text-muted-foreground hover:text-foreground"),children:[g?(0,b.jsx)(bf.Check,{className:"h-3 w-3 text-emerald-600 dark:text-emerald-400"}):(0,b.jsxs)("span",{className:"text-muted-foreground/50 text-[10px]",children:[c+1,"."]}),a.header,f?(0,b.jsx)("span",{className:"absolute inset-x-0 -bottom-px h-0.5 rounded-full bg-violet-600 dark:bg-violet-400"}):null]},a.question)})}),a.map((a,c)=>(0,b.jsx)("div",{className:"px-4 py-3",style:{display:c===d?void 0:"none"},children:(0,b.jsx)(c_,{question:a,selection:f[a.question],onSelectionChange:b=>h(a.question,b)})},a.question)),(0,b.jsxs)("div",{className:"flex items-center gap-3 border-t border-violet-200 px-4 py-2.5 dark:border-violet-500/20",children:[(0,b.jsxs)("button",{type:"button",onClick:k,disabled:!j,className:(0,aP.cn)("inline-flex items-center gap-1.5 rounded-lg px-3 py-1.5 text-xs font-medium transition-all",j?"bg-violet-600 text-white shadow-sm hover:bg-violet-700 active:scale-[0.98] dark:bg-violet-600 dark:hover:bg-violet-500":"bg-muted text-muted-foreground cursor-not-allowed opacity-50"),children:[(0,b.jsx)(bf.Check,{className:"h-3 w-3"}),"Submit all"]}),(0,b.jsxs)("span",{className:"text-muted-foreground text-[10px]",children:[Object.keys(i).length,"/",a.length," answered"]})]})]})}function c_({question:a,selection:c,onSelectionChange:d}){let e=(0,aU.useCallback)(b=>{d(c=>{let d=new Set(c.selectedOptions);return a.multiSelect?(d.has(b)?d.delete(b):d.add(b),{...c,selectedOptions:d}):(d.clear(),d.add(b),{...c,selectedOptions:d,isOtherSelected:!1})})},[a.multiSelect,d]),f=(0,aU.useCallback)(()=>{d(b=>a.multiSelect?{...b,isOtherSelected:!b.isOtherSelected}:{selectedOptions:new Set,otherText:b.otherText,isOtherSelected:!0})},[a.multiSelect,d]),g=(0,aU.useCallback)(a=>{d(b=>({...b,otherText:a}))},[d]);return(0,b.jsxs)("div",{children:[(0,b.jsxs)("p",{className:"text-foreground mb-2 text-xs font-medium",children:[a.question,a.multiSelect?(0,b.jsx)("span",{className:"text-muted-foreground ml-1 font-normal",children:"(select multiple)"}):null]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[a.options.map(d=>(0,b.jsx)(c1,{option:d,isSelected:c.selectedOptions.has(d.label),isMulti:a.multiSelect,onToggle:()=>e(d.label)},d.label)),(0,b.jsx)(c2,{isSelected:c.isOtherSelected,isMulti:a.multiSelect,text:c.otherText,onToggle:f,onTextChange:g})]})]})}function c0({question:a,onSubmit:c}){let[d,e]=(0,aU.useState)(new Set),[f,g]=(0,aU.useState)(""),[h,i]=(0,aU.useState)(!1),j=(0,aU.useCallback)(b=>{e(c=>{let d=new Set(c);return a.multiSelect?d.has(b)?d.delete(b):d.add(b):(d.clear(),d.add(b),i(!1)),d}),a.multiSelect||i(!1)},[a.multiSelect]),k=(0,aU.useCallback)(()=>{a.multiSelect?i(a=>!a):(e(new Set),i(!0))},[a.multiSelect]),l=(0,aU.useCallback)(()=>{let b=[...d];h&&f.trim()&&b.push(f.trim()),0!==b.length&&c({[a.question]:b.join(", ")})},[d,h,f,c,a.question]),m=d.size>0||h&&f.trim();return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"mb-2 flex items-start gap-2",children:[(0,b.jsx)("span",{className:"inline-flex shrink-0 items-center rounded-full bg-violet-100 px-2 py-0.5 text-[10px] font-semibold tracking-wider text-violet-700 uppercase dark:bg-violet-900/50 dark:text-violet-300",children:a.header}),(0,b.jsx)("span",{className:"font-medium",children:a.question})]}),(0,b.jsxs)("div",{className:"ml-0.5 flex flex-col gap-1.5",children:[a.options.map(c=>(0,b.jsx)(c1,{option:c,isSelected:d.has(c.label),isMulti:a.multiSelect,onToggle:()=>j(c.label)},c.label)),(0,b.jsx)(c2,{isSelected:h,isMulti:a.multiSelect,text:f,onToggle:k,onTextChange:g})]}),(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-2",children:[(0,b.jsxs)("button",{type:"button",onClick:l,disabled:!m,className:(0,aP.cn)("inline-flex items-center gap-1.5 rounded-lg px-3 py-1.5 text-xs font-medium transition-all",m?"bg-violet-600 text-white shadow-sm hover:bg-violet-700 active:scale-[0.98] dark:bg-violet-600 dark:hover:bg-violet-500":"bg-muted text-muted-foreground cursor-not-allowed opacity-50"),children:[(0,b.jsx)(bf.Check,{className:"h-3 w-3"}),"Submit"]}),a.multiSelect?(0,b.jsx)("span",{className:"text-muted-foreground text-[10px]",children:"Select one or more"}):null]})]})}function c1({option:a,isSelected:c,isMulti:d,onToggle:e}){return(0,b.jsxs)("button",{type:"button",onClick:e,className:(0,aP.cn)("flex items-start gap-2.5 rounded-lg border px-3 py-2 text-left text-xs transition-all",c?"border-violet-300 bg-violet-100/60 shadow-sm dark:border-violet-500/40 dark:bg-violet-900/30":"border-border/50 hover:border-violet-300 hover:bg-violet-50 dark:hover:border-violet-500/30 dark:hover:bg-violet-900/10"),children:[(0,b.jsx)("span",{className:(0,aP.cn)("mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center border transition-colors",d?"rounded":"rounded-full",c?"border-violet-600 bg-violet-600 dark:border-violet-500 dark:bg-violet-500":"border-muted-foreground/30"),children:c?(0,b.jsx)(bf.Check,{className:"h-2.5 w-2.5 text-white",strokeWidth:3}):null}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-col gap-0.5",children:[(0,b.jsx)("span",{className:(0,aP.cn)("font-medium",c&&"text-violet-700 dark:text-violet-300"),children:a.label}),(0,b.jsx)("span",{className:"text-muted-foreground text-[11px] leading-snug",children:a.description})]})]})}function c2({isSelected:a,isMulti:c,text:d,onToggle:e,onTextChange:f}){return(0,b.jsxs)("div",{className:(0,aP.cn)("flex items-start gap-2.5 rounded-lg border px-3 py-2 text-xs transition-all",a?"border-violet-300 bg-violet-100/60 shadow-sm dark:border-violet-500/40 dark:bg-violet-900/30":"border-border/50 hover:border-violet-300 dark:hover:border-violet-500/30"),children:[(0,b.jsx)("button",{type:"button",onClick:e,className:"mt-0.5 shrink-0",children:(0,b.jsx)("span",{className:(0,aP.cn)("flex h-4 w-4 items-center justify-center border transition-colors",c?"rounded":"rounded-full",a?"border-violet-600 bg-violet-600 dark:border-violet-500 dark:bg-violet-500":"border-muted-foreground/30"),children:a?(0,b.jsx)(bf.Check,{className:"h-2.5 w-2.5 text-white",strokeWidth:3}):null})}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[(0,b.jsx)("span",{className:(0,aP.cn)("font-medium",a&&"text-violet-700 dark:text-violet-300"),children:"Other"}),a?(0,b.jsx)("input",{type:"text",value:d,onChange:a=>f(a.target.value),placeholder:"Type your answer...",className:"w-full rounded-md border border-violet-200 bg-white/80 px-2 py-1 text-xs outline-none focus:border-violet-400 focus:ring-1 focus:ring-violet-300/30 dark:border-violet-500/30 dark:bg-violet-950/30 dark:focus:border-violet-500/50 dark:focus:ring-violet-500/20",autoFocus:!0}):null]})]})}a.s(["InteractionBubble",()=>cZ],834877);var c3=a.i(559653),c4=a.i(307420),c5=a.i(417329),c6=a.i(461476),c7=a.i(406175),c8=a.i(666873),c9=a.i(914272),da=a.i(5472),db="Collapsible",[dc,dd]=(0,c4.createContextScope)(db),[de,df]=dc(db),dg=aU.forwardRef((a,c)=>{let{__scopeCollapsible:d,open:e,defaultOpen:f,disabled:g,onOpenChange:h,...i}=a,[j,k]=(0,c5.useControllableState)({prop:e,defaultProp:f??!1,onChange:h,caller:db});return(0,b.jsx)(de,{scope:d,disabled:g,contentId:(0,da.useId)(),open:j,onOpenToggle:aU.useCallback(()=>k(a=>!a),[k]),children:(0,b.jsx)(c8.Primitive.div,{"data-state":dm(j),"data-disabled":g?"":void 0,...i,ref:c})})});dg.displayName=db;var dh="CollapsibleTrigger",di=aU.forwardRef((a,c)=>{let{__scopeCollapsible:d,...e}=a,f=df(dh,d);return(0,b.jsx)(c8.Primitive.button,{type:"button","aria-controls":f.contentId,"aria-expanded":f.open||!1,"data-state":dm(f.open),"data-disabled":f.disabled?"":void 0,disabled:f.disabled,...e,ref:c,onClick:(0,c3.composeEventHandlers)(a.onClick,f.onOpenToggle)})});di.displayName=dh;var dj="CollapsibleContent",dk=aU.forwardRef((a,c)=>{let{forceMount:d,...e}=a,f=df(dj,a.__scopeCollapsible);return(0,b.jsx)(c9.Presence,{present:d||f.open,children:({present:a})=>(0,b.jsx)(dl,{...e,ref:c,present:a})})});dk.displayName=dj;var dl=aU.forwardRef((a,c)=>{let{__scopeCollapsible:d,present:e,children:f,...g}=a,h=df(dj,d),[i,j]=aU.useState(e),k=aU.useRef(null),l=(0,c7.useComposedRefs)(c,k),m=aU.useRef(0),n=m.current,o=aU.useRef(0),p=o.current,q=h.open||i,r=aU.useRef(q),s=aU.useRef(void 0);return aU.useEffect(()=>{let a=requestAnimationFrame(()=>r.current=!1);return()=>cancelAnimationFrame(a)},[]),(0,c6.useLayoutEffect)(()=>{let a=k.current;if(a){s.current=s.current||{transitionDuration:a.style.transitionDuration,animationName:a.style.animationName},a.style.transitionDuration="0s",a.style.animationName="none";let b=a.getBoundingClientRect();m.current=b.height,o.current=b.width,r.current||(a.style.transitionDuration=s.current.transitionDuration,a.style.animationName=s.current.animationName),j(e)}},[h.open,e]),(0,b.jsx)(c8.Primitive.div,{"data-state":dm(h.open),"data-disabled":h.disabled?"":void 0,id:h.contentId,hidden:!q,...g,ref:l,style:{"--radix-collapsible-content-height":n?`${n}px`:void 0,"--radix-collapsible-content-width":p?`${p}px`:void 0,...a.style},children:q&&f})});function dm(a){return a?"open":"closed"}a.s(["Collapsible",()=>dg,"CollapsibleContent",()=>dk,"CollapsibleTrigger",()=>di,"Content",()=>dk,"Root",()=>dg,"Trigger",()=>di,"createCollapsibleScope",()=>dd],98613);var dn=a.i(98613),dn=dn,dp=a.i(804019),dq=a.i(591498);let dr=(0,a.i(142261).cva)("animate-spinner inline-block rounded-full",{variants:{size:{sm:"size-4",md:"size-6",lg:"size-10"}},defaultVariants:{size:"md"}}),ds={sm:"3px",md:"4px",lg:"8px"};function dt({className:a,size:c="md",...d}){let e=ds[c??"md"];return(0,b.jsx)("div",{"data-slot":"spinner",role:"status","aria-label":"Loading",className:(0,aP.cn)(dr({size:c}),a),style:{background:"conic-gradient(from 220deg, transparent 0%, currentColor 80%, transparent 100%)",WebkitMask:`radial-gradient(farthest-side, #0000 calc(100% - ${e}), #000 calc(100% - ${e} + 1px))`},...d})}let du={p:({children:a})=>(0,b.jsx)("p",{className:"mb-2 leading-relaxed last:mb-0",children:a}),strong:({children:a})=>(0,b.jsx)("strong",{className:"font-semibold",children:a}),em:({children:a})=>(0,b.jsx)("em",{className:"italic",children:a}),code:({children:a,className:c})=>c?(0,b.jsx)("code",{className:`${c} text-[11px]`,children:a}):(0,b.jsx)("code",{className:"bg-background/50 rounded-md px-1.5 py-0.5 font-mono text-[11px]",children:a}),pre:({children:a})=>(0,b.jsx)("pre",{className:"bg-background/50 my-2 overflow-x-auto rounded-md p-3 font-mono text-[11px] leading-relaxed",children:a}),ul:({children:a})=>(0,b.jsx)("ul",{className:"mb-2 list-disc ps-4 last:mb-0",children:a}),ol:({children:a})=>(0,b.jsx)("ol",{className:"mb-2 list-decimal ps-4 last:mb-0",children:a}),li:({children:a})=>(0,b.jsx)("li",{className:"mb-0.5",children:a}),h1:({children:a})=>(0,b.jsx)("h1",{className:"mb-1 text-sm font-bold",children:a}),h2:({children:a})=>(0,b.jsx)("h2",{className:"mb-1 text-sm font-bold",children:a}),h3:({children:a})=>(0,b.jsx)("h3",{className:"mb-1 text-xs font-semibold",children:a}),a:({children:a,href:c})=>(0,b.jsx)("a",{href:c,className:"text-blue-500 underline",target:"_blank",rel:"noopener noreferrer",children:a})};function dv({steps:a,className:c,collapsedSummary:d,activeStepId:e,liveStatus:f,onRetry:g,onForceStop:h}){let[i,j]=(0,aU.useState)(!1);if(0===a.length)return null;if(d&&!i){let d=a.filter(a=>"done"===a.status).length;return(0,b.jsx)("div",{className:(0,aP.cn)("p-4",c),children:(0,b.jsxs)("button",{type:"button",onClick:()=>j(!0),className:"hover:bg-muted/40 border-border bg-background flex w-full items-center gap-3 rounded-lg border px-3 py-2.5 text-left transition-colors dark:bg-neutral-800/50",children:[(0,b.jsx)("div",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-emerald-500 text-white",children:(0,b.jsx)(bf.Check,{className:"h-4 w-4",strokeWidth:3})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:"Initial setup complete"}),(0,b.jsxs)("div",{className:"text-muted-foreground text-xs",children:[d," of ",a.length," steps finished — click to review"]})]}),(0,b.jsx)(aW.ChevronRight,{className:"text-muted-foreground h-4 w-4 shrink-0"})]})})}let k=function(a){let b=null,c=null,d=0,e=0,f=0;for(let g of a){null!==g.startedAt&&(b=null===b?g.startedAt:Math.min(b,g.startedAt));let a="running"===g.status?Date.now():g.finishedAt??null;null!==a&&(c=null===c?a:Math.max(c,a)),d+=dA(g.metadata,"costUsd"),e+=dA(g.metadata,"inputTokens"),f+=dA(g.metadata,"outputTokens")}return null===b||null===c?null:{durationMs:Math.max(0,c-b),costUsd:d,inputTokens:e,outputTokens:f}}(a);return(0,b.jsxs)("ol",{className:(0,aP.cn)("flex flex-col gap-2 p-4",c),children:[d?(0,b.jsx)("li",{children:(0,b.jsxs)("button",{type:"button",onClick:()=>j(!1),className:"text-muted-foreground hover:text-foreground mb-1 inline-flex items-center gap-1 text-[10px] tracking-wide uppercase",children:[(0,b.jsx)(aV.ChevronDown,{className:"h-3 w-3"}),"Collapse setup"]})}):null,a.map((a,c)=>(0,b.jsx)(dx,{step:a,liveStatus:a.definition.id===e?f??null:null,mountIndex:c,onRetry:"interrupted"===a.status?g:void 0,onForceStop:h},a.definition.id)),k?(0,b.jsxs)("li",{className:"border-border/40 text-muted-foreground mt-1 flex flex-wrap items-center gap-x-4 gap-y-1 border-t pt-3 text-[10px] tracking-wide uppercase",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-muted-foreground/70",children:"Total"}),(0,b.jsx)("span",{className:"text-foreground font-semibold tracking-normal normal-case",children:dB(k.durationMs)})]}),k.costUsd>0?(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-muted-foreground/70",children:"Cost"}),(0,b.jsx)("span",{className:"text-foreground font-semibold tracking-normal normal-case",children:dC(k.costUsd)})]}):null,k.inputTokens>0||k.outputTokens>0?(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-muted-foreground/70",children:"Tokens"}),(0,b.jsxs)("span",{className:"text-foreground font-semibold tracking-normal normal-case",children:[dD(k.inputTokens)," in · ",dD(k.outputTokens)," out"]})]}):null]}):null]})}let dw="Output";function dx({step:a,liveStatus:c,mountIndex:d,onRetry:e,onForceStop:f}){let[g,h]=(0,aU.useState)(!1),[j,k]=(0,aU.useState)(!1);(0,aU.useEffect)(()=>{"interrupted"!==a.status&&h(!1)},[a.status]),(0,aU.useEffect)(()=>{"running"!==a.status&&"pending"!==a.status&&k(!1)},[a.status]);let l=j?"interrupted":g?"running":a.status,[m,n]=(0,aU.useState)("interrupted"===a.status||"failed"===a.status),{definition:o,metadata:p,toolMessages:q}=a,r=function(a,b){if(!a)return[];let c=a[b];return Array.isArray(c)?c.filter(a=>"string"==typeof a):[]}(p,"details"),s=function(a,b){if(!a)return"";let c=a[b];return"string"==typeof c?c:""}(p,"error"),t=function(a){let b=a.map(a=>{let b=a.content?.trim()??"";return{message:a,content:b,event:b?aS(b):null}}).filter(a=>a.content.length>0),c=[];for(let a=0;a<b.length;a++){let d=b[a];if(d.event?.kind==="tool"&&"Thinking"===d.event.name){c.push({kind:"thinking",message:d.message});continue}if(d.event?.kind==="tool"&&d.event.name===dw){c.push({kind:"tool",message:d.message,output:null});continue}if(d.event?.kind==="tool"){let e=b[a+1],f=e?.event?.kind==="tool"&&e.event.name===dw;c.push({kind:"tool",message:d.message,output:f?e.message:null}),f&&a++;continue}if(d.event?.kind==="label-only"){c.push({kind:"tool",message:d.message,output:null});continue}c.push({kind:"text",message:d.message})}return c}(q),u=function(a,b){let[c,d]=(0,aU.useState)(0);return((0,aU.useEffect)(()=>{if("running"!==b||null===a.startedAt)return;let c=setInterval(()=>d(a=>a+1),1e3);return()=>clearInterval(c)},[b,a.startedAt]),null===a.startedAt)?null:"running"===b?Math.max(0,Date.now()-a.startedAt):null===a.finishedAt?null:Math.max(0,a.finishedAt-a.startedAt)}(a,l),v=dA(p,"costUsd"),w=dA(p,"inputTokens"),x=dA(p,"outputTokens"),y=t.length>0||r.length>0||!!s||"interrupted"===l;return(0,b.jsx)(dn.Root,{asChild:!0,open:m,onOpenChange:n,children:(0,b.jsxs)("li",{className:(0,aP.cn)("rounded-lg border transition-[background-color,border-color] duration-300 ease-out","animate-in fade-in-0 slide-in-from-top-2","running"===l&&"border-violet-500/40 bg-violet-500/5 dark:bg-violet-500/10","done"===l&&"border-border bg-background dark:bg-neutral-800/50","pending"===l&&"border-border/40 bg-muted/20 dark:bg-neutral-800/30","failed"===l&&"border-red-500/40 bg-red-500/5 dark:bg-red-500/10","interrupted"===l&&"border-amber-500/40 bg-amber-500/5 dark:bg-amber-500/10"),style:{animationDelay:`${40*Math.min(d,6)}ms`,animationDuration:"300ms"},children:[(0,b.jsx)(dn.Trigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",disabled:!y,className:(0,aP.cn)("flex w-full items-center gap-3 px-3 py-1.5 text-left transition-colors duration-200",y&&"hover:bg-muted/40 cursor-pointer",!y&&"cursor-default"),children:[(0,b.jsx)(dz,{status:l}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 items-baseline gap-2",children:[(0,b.jsx)("span",{className:(0,aP.cn)("shrink-0 truncate text-sm font-medium transition-colors duration-300","pending"===l&&"text-muted-foreground/60"),children:o.title}),"interrupted"===l?(0,b.jsx)("span",{className:"min-w-0 truncate text-xs font-medium text-amber-600 dark:text-amber-400",children:"Interrupted"}):c&&"running"===l?(0,b.jsxs)("span",{className:"flex min-w-0 items-baseline gap-1.5 text-xs text-violet-700 dark:text-violet-300",children:[(0,b.jsx)("span",{className:"inline-flex h-1 w-1 shrink-0 translate-y-[-1px] animate-pulse rounded-full bg-violet-500"}),(0,b.jsx)("span",{className:"animate-in fade-in-0 slide-in-from-left-1 truncate duration-300",children:c},c)]}):o.description?(0,b.jsx)("span",{className:(0,aP.cn)("min-w-0 truncate text-xs font-normal","pending"===l?"text-muted-foreground/40":"text-muted-foreground/70"),children:o.description}):null]}),null!==u?(0,b.jsx)("span",{className:(0,aP.cn)("shrink-0 text-[10px] font-medium tabular-nums transition-colors duration-300","running"===l?"text-violet-600 dark:text-violet-300":"text-muted-foreground/70"),title:`Step duration — ${dB(u)}`,children:dB(u)}):null,f&&("running"===l||"pending"===l)?(0,b.jsx)("span",{role:"button",tabIndex:0,"aria-label":"Force stop this step",title:"Force stop this step (mark as interrupted)",onClick:b=>{b.stopPropagation(),b.preventDefault(),k(!0),f(a.definition.id)},onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.stopPropagation(),b.preventDefault(),k(!0),f(a.definition.id))},className:"text-muted-foreground/50 hover:bg-muted/60 hover:text-foreground focus-visible:ring-ring/50 inline-flex h-5 w-5 shrink-0 cursor-pointer items-center justify-center rounded-md transition-colors focus-visible:ring-2 focus-visible:outline-none",children:(0,b.jsx)(bc.X,{className:"h-3 w-3",strokeWidth:2.5})}):null,t.length>0?(0,b.jsx)("span",{className:"text-muted-foreground/60 animate-in fade-in-0 zoom-in-95 mr-1 shrink-0 text-[10px] tabular-nums duration-200",children:t.length},t.length):null,y?(0,b.jsx)(aW.ChevronRight,{className:(0,aP.cn)("text-muted-foreground h-4 w-4 shrink-0 transition-transform duration-200 ease-out",m&&"rotate-90")}):null]})}),(0,b.jsx)(dn.Content,{className:(0,aP.cn)("overflow-hidden","data-[state=open]:animate-collapsible-down data-[state=closed]:animate-collapsible-up"),children:(0,b.jsxs)("div",{className:"border-border/40 space-y-2 border-t px-3 py-2.5 text-xs",children:["interrupted"!==l||s?null:(0,b.jsxs)("div",{className:"flex items-center justify-between rounded bg-amber-500/10 p-2",children:[(0,b.jsx)("span",{className:"text-amber-700 dark:text-amber-400",children:"This step was interrupted before it could finish."}),e?(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),h(!0),n(!1),e()},className:"ms-3 shrink-0 cursor-pointer rounded-md border border-amber-500/40 bg-amber-500/10 px-3 py-1 text-[11px] font-medium text-amber-700 transition-colors hover:bg-amber-500/20 dark:text-amber-400",children:"Continue"}):null]}),s?(0,b.jsx)("p",{className:"rounded bg-red-500/10 p-2 text-red-600 dark:text-red-400",children:s}):null,r.length>0?(0,b.jsx)("ul",{className:"text-muted-foreground list-disc space-y-0.5 ps-4",children:r.map(a=>(0,b.jsx)("li",{children:a},a))}):null,v>0||w>0||x>0?(0,b.jsxs)("div",{className:"text-muted-foreground/70 flex flex-wrap items-center gap-x-3 gap-y-0.5 text-[10px] tabular-nums",children:[v>0?(0,b.jsx)("span",{children:dC(v)}):null,w>0||x>0?(0,b.jsxs)("span",{children:[dD(w)," in · ",dD(x)," out"]}):null]}):null,t.length>0?(0,b.jsx)("div",{className:"-mx-1 flex flex-col gap-1",children:t.map((a,c)=>{let d={animationDelay:`${30*Math.min(c,6)}ms`};return"thinking"===a.kind?(0,b.jsx)("div",{className:"animate-in fade-in-0 slide-in-from-top-1 duration-200",style:d,children:(0,b.jsx)(dy,{text:a.message.content})},a.message.id):"tool"===a.kind?(0,b.jsx)("div",{className:"animate-in fade-in-0 slide-in-from-top-1 duration-200",style:d,children:(0,b.jsx)(a4,{text:a.message.content,outputText:a.output?.content})},a.message.id):(0,b.jsx)("div",{className:"animate-in fade-in-0 slide-in-from-top-1 duration-200",style:d,children:(0,b.jsx)("div",{className:"border-border/60 bg-background text-foreground rounded-md border px-2.5 py-1.5 text-xs leading-relaxed dark:bg-neutral-800/70",children:(0,b.jsx)(i.default,{components:du,children:a.message.content})})},a.message.id)})}):null]})})]})})}function dy({text:a}){let c,[d,e]=(0,aU.useState)(!1),f=(c=aS(a),c?.kind==="tool"&&"Thinking"===c.name?c.detail:a);return(0,b.jsxs)("div",{className:"flex max-w-full flex-col",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>e(a=>!a),className:"text-muted-foreground/80 hover:text-foreground inline-flex items-center gap-1 self-start rounded px-1 py-0.5 text-[11px] italic transition-colors",children:[d?(0,b.jsx)(aV.ChevronDown,{className:"h-3 w-3 shrink-0 opacity-60"}):(0,b.jsx)(aW.ChevronRight,{className:"h-3 w-3 shrink-0 opacity-60"}),(0,b.jsx)("span",{children:"Thinking"})]}),d?(0,b.jsx)("p",{className:"text-muted-foreground/80 mt-0.5 ml-5 max-w-full text-[11px] leading-relaxed break-words whitespace-pre-wrap italic",children:f}):null]})}function dz({status:a}){return"running"===a?(0,b.jsx)(dt,{size:"sm",className:"shrink-0 text-violet-500"}):"done"===a?(0,b.jsx)("div",{className:"flex h-4 w-4 shrink-0 items-center justify-center rounded-full bg-emerald-500 text-white",children:(0,b.jsx)(bf.Check,{className:"h-3 w-3",strokeWidth:3})}):"failed"===a?(0,b.jsx)("div",{className:"flex h-4 w-4 shrink-0 items-center justify-center rounded-full bg-red-500 text-white",children:(0,b.jsx)(dq.AlertTriangle,{className:"h-2.5 w-2.5",strokeWidth:3})}):"interrupted"===a?(0,b.jsx)("div",{className:"flex h-4 w-4 shrink-0 items-center justify-center rounded-full bg-amber-500 text-white",children:(0,b.jsx)(dq.AlertTriangle,{className:"h-2.5 w-2.5",strokeWidth:3})}):(0,b.jsx)(dp.Circle,{className:"text-muted-foreground/30 h-4 w-4 shrink-0"})}function dA(a,b){if(!a)return 0;let c=a[b];return"number"==typeof c&&Number.isFinite(c)?c:0}function dB(a){if(!Number.isFinite(a)||a<0)return"";if(a<1e3)return`${Math.round(a)}ms`;let b=Math.round(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60),d=b%60;if(c<60)return 0===d?`${c}m`:`${c}m ${d}s`;let e=Math.floor(c/60),f=c%60;return 0===f?`${e}h`:`${e}h ${f}m`}function dC(a){return!Number.isFinite(a)||a<=0?"$0":a<.01?`$${a.toFixed(4)}`:a<1?`$${a.toFixed(3)}`:`$${a.toFixed(2)}`}function dD(a){return!Number.isFinite(a)||a<=0?"0":a<1e3?String(Math.round(a)):a<1e6?`${(a/1e3).toFixed(+(a<1e4))}k`:`${(a/1e6).toFixed(1)}M`}a.s(["StepTracker",()=>dv],537444);var dE=a.i(867075),dF=a.i(612882);function dG({id:a,title:c,assistantMessageCount:d,status:e,condensed:f,details:g,children:h}){let i="in-progress"===e,[j,k]=(0,aU.useState)(i);(0,aU.useEffect)(()=>{i||k(!1)},[i]);let l=`${a}-content`,m=i?f:g??h??null;return(0,b.jsxs)("div",{className:(0,aP.cn)("mx-3 my-2 shrink-0 overflow-hidden rounded-lg border shadow-sm","animate-in fade-in-0 slide-in-from-top-1 duration-200 ease-out",i?"border-fuchsia-500/40 bg-gradient-to-br from-fuchsia-500/5 via-purple-500/5 to-sky-500/5":"border-border/60 bg-card/40"),children:[(0,b.jsxs)("button",{type:"button",onClick:()=>k(a=>!a),"aria-expanded":j,"aria-controls":l,className:(0,aP.cn)("group flex min-h-12 w-full cursor-pointer items-center gap-2.5 px-3 py-2 text-left transition-colors","hover:bg-muted/50"),children:[(0,b.jsx)("span",{className:(0,aP.cn)("flex h-5 w-5 shrink-0 items-center justify-center rounded-full",i?"bg-gradient-to-br from-fuchsia-500 via-purple-500 to-sky-500 text-white shadow-sm":"bg-emerald-500/15"),children:i?(0,b.jsx)(be.Loader2,{className:"h-3 w-3 animate-spin"}):(0,b.jsx)(dE.CheckCircle2,{className:"h-3 w-3 text-emerald-500"})}),(0,b.jsx)("span",{className:(0,aP.cn)("min-w-0 flex-1 truncate text-[12px] font-medium",i?"text-fuchsia-700 dark:text-fuchsia-300":"text-foreground"),children:i?"Working on your request…":c}),d>0?(0,b.jsxs)("span",{className:"text-muted-foreground inline-flex shrink-0 items-center gap-1 text-[10px]",children:[(0,b.jsx)(dF.MessageSquare,{className:"h-3 w-3"}),d]}):null,(0,b.jsx)(aV.ChevronDown,{className:(0,aP.cn)("text-muted-foreground h-3.5 w-3.5 shrink-0 transition-transform",j&&"rotate-180")})]}),j&&m?(0,b.jsx)("div",{id:l,className:(0,aP.cn)("border-t px-3 py-2",i?"bg-background/60 border-fuchsia-500/20":"border-border/60 bg-background/40"),children:m}):null]})}function dH(a,b){return a.length<=b?a:`${a.slice(0,Math.max(0,b-1)).trimEnd()}…`}function dI(a){if(a instanceof Date)return a.getTime();if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a){let b=Number(a);if(Number.isFinite(b))return b;let c=new Date(a).getTime();return Number.isFinite(c)?c:0}return 0}function dJ(a,b){return(0,aU.useMemo)(()=>(function(a,b=!0){let c=a.filter(a=>!a.stepId);if(0===c.length)return{groups:[],currentTurn:null,hiddenMessageIds:[]};let d=[],e=null;for(let a of c)a.role===cN.InteractiveMessageRole.user?(e={user:a,items:[a]},d.push(e)):e&&e.items.push(a);if(0===d.length)return{groups:[],currentTurn:null,hiddenMessageIds:[]};let f=(a,b)=>{let c=a.items[0],d=a.items[a.items.length-1],e=a.user.content??"";return{id:`turn-${a.user.id}`,title:function(a){let b=a.trim().replace(/\s+/g," ");if(0===b.length)return"Working on your request";let c=dH(b,120);return dH(`Working on: ${c}`,140)}(e),userMessagePreview:dH(e.trim().replace(/\s+/g," "),120),messageIds:a.items.map(a=>a.id),assistantMessageCount:a.items.filter(a=>a.role===cN.InteractiveMessageRole.assistant).length,startedAt:dI(c.createdAt),endedAt:dI(d.createdAt),status:b}},g=d[d.length-1];if(b){let a=d.slice(0,-1).map(a=>f(a,"completed")),b=f(g,"in-progress"),c=[...a.flatMap(a=>a.messageIds),...b.messageIds];return{groups:a,currentTurn:b,hiddenMessageIds:c}}let h=d.map(a=>f(a,"completed")),i=h.flatMap(a=>a.messageIds);return{groups:h,currentTurn:null,hiddenMessageIds:i}})(a,b),[a,b])}function dK({group:a,allMessages:c,streaming:d}){let e=new Map;for(let a of c)e.set(a.id,a);if("in-progress"!==a.status)return(0,b.jsx)(dG,{id:a.id,title:a.title,status:"completed",assistantMessageCount:a.assistantMessageCount,children:(0,b.jsx)(dL,{messageIds:a.messageIds,byId:e})});let f=a.messageIds.find(a=>{let b=e.get(a);return b?.role===cN.InteractiveMessageRole.user}),g=f?e.get(f):null,h=(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[g?(0,b.jsxs)("div",{className:"text-foreground border-l-2 border-violet-500/50 pl-2 text-[12px] whitespace-pre-wrap",children:[(0,b.jsx)("div",{className:"text-muted-foreground/70 mb-0.5 text-[10px] font-medium tracking-wide uppercase",children:"You"}),g.content]}):null,d?(0,b.jsx)(dN,{streaming:d}):null]}),i=(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)(dL,{messageIds:a.messageIds,byId:e}),d?(0,b.jsx)(dM,{streaming:d}):null]});return(0,b.jsx)(dG,{id:a.id,title:a.title,status:"in-progress",assistantMessageCount:a.assistantMessageCount,condensed:h,details:i})}function dL({messageIds:a,byId:c}){return(0,b.jsx)("div",{className:"flex flex-col gap-2",children:a.map(a=>{let d=c.get(a);if(!d)return(0,b.jsx)("div",{className:"text-muted-foreground/50 text-[11px] italic",children:"…"},a);let e=d.role===cN.InteractiveMessageRole.user;return(0,b.jsxs)("div",{className:e?"text-foreground border-l-2 border-violet-500/50 pl-2 text-[12px] whitespace-pre-wrap":"text-foreground/90 pl-2 text-[12px] whitespace-pre-wrap",children:[(0,b.jsx)("div",{className:"text-muted-foreground/70 mb-0.5 text-[10px] font-medium tracking-wide uppercase",children:e?"You":"Assistant"}),d.content]},a)})})}function dM({streaming:a}){let c=a.text.trim().length>0,d=(a.statusLog??"").trim().length>0,e="booting"===a.sessionStatus;return c?(0,b.jsxs)("div",{className:"text-foreground/90 pl-2 text-[12px] whitespace-pre-wrap",children:[(0,b.jsx)("div",{className:"text-muted-foreground/70 mb-0.5 text-[10px] font-medium tracking-wide uppercase",children:"Assistant"}),a.text,d?(0,b.jsxs)("div",{className:"text-muted-foreground mt-1 inline-flex items-center gap-1 text-[10px] italic",children:[(0,b.jsx)(be.Loader2,{className:"h-3 w-3 animate-spin"}),a.statusLog]}):null]}):d?(0,b.jsxs)("div",{className:"text-muted-foreground inline-flex items-center gap-1.5 pl-2 text-[11px] italic",children:[(0,b.jsx)(be.Loader2,{className:"h-3 w-3 animate-spin"}),a.statusLog]}):a.awaiting||e?(0,b.jsxs)("div",{className:"text-muted-foreground inline-flex items-center gap-1.5 pl-2 text-[11px] italic",children:[(0,b.jsx)(be.Loader2,{className:"h-3 w-3 animate-spin"}),e?"Agent is waking up…":"Thinking…"]}):null}function dN({streaming:a}){let c,d=(a.statusLog??"").trim().length>0,e=a.text.trim().length>0,f="booting"===a.sessionStatus;if(d)c=a.statusLog??"Working…";else if(a.awaiting||f)c=f?"Agent is waking up…":"Thinking…";else{if(!e)return null;c="Working…"}return(0,b.jsxs)("div",{className:"text-muted-foreground inline-flex items-center gap-1.5 pl-2 text-[11px] italic",children:[(0,b.jsx)(be.Loader2,{className:"h-3 w-3 animate-spin"}),c]})}a.s(["SingleTurnCard",()=>dK,"useTurnGroupsView",()=>dJ],871346);let dO=(0,a1.default)("cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]);a.s(["Cloud",()=>dO],888730)},661544,851017,a=>{"use strict";var b=a.i(556365),c=a.i(944592);a.i(490370);var d=a.i(224640),e=a.i(611051),f=a.i(216605),g=a.i(665355),h=a.i(591498),i=a.i(428002),j=a.i(385536),k=a.i(116579),l=a.i(409260),m=a.i(446511),n=a.i(644018),o=a.i(961781),p=a.i(135496),q=a.i(417518),r=a.i(834877),s=a.i(537444),t=a.i(871346),u=a.i(917985),v=a.i(867075),w=a.i(771716),x=a.i(888730),y=a.i(323784),z=a.i(488064),A=a.i(658881),B=a.i(746847);let C=["Starting GitHub repository creation","Starting deploy to ","Starting save & backup"];function D(a){if(0===a.length)return[];let b=[],c=[];for(let d of a)(function(a){return C.some(b=>a.startsWith(b))})(d.message)&&c.length>0&&(b.push(c),c=[]),c.push(d);return c.length>0&&b.push(c),b}let E={publish:B.OperationLogKind.GitRemoteCreate,deploy:B.OperationLogKind.CloudDeploy,sync:B.OperationLogKind.RepoSync},F={publish:{title:"Published to GitHub",inProgressTitle:"Publishing to GitHub…",icon:y.Github,idleAccent:"bg-sky-500/15 text-sky-500",liveGradient:"border-sky-500/40 bg-gradient-to-br from-sky-500/5 via-sky-500/5 to-cyan-500/5",liveChip:"bg-gradient-to-br from-sky-500 via-blue-500 to-cyan-500 text-white shadow-sm",liveText:"text-sky-700 dark:text-sky-300"},deploy:{title:"Deployed to cloud",inProgressTitle:"Deploying to cloud…",icon:x.Cloud,idleAccent:"bg-fuchsia-500/15 text-fuchsia-500",liveGradient:"border-fuchsia-500/40 bg-gradient-to-br from-fuchsia-500/5 via-purple-500/5 to-sky-500/5",liveChip:"bg-gradient-to-br from-fuchsia-500 via-purple-500 to-sky-500 text-white shadow-sm",liveText:"text-fuchsia-700 dark:text-fuchsia-300"},sync:{title:"Saved & pushed to GitHub",inProgressTitle:"Saving & pushing to GitHub…",icon:i.RefreshCw,idleAccent:"bg-emerald-500/15 text-emerald-500",liveGradient:"border-emerald-500/40 bg-gradient-to-br from-emerald-500/5 via-emerald-500/5 to-teal-500/5",liveChip:"bg-gradient-to-br from-emerald-500 via-teal-500 to-cyan-500 text-white shadow-sm",liveText:"text-emerald-700 dark:text-emerald-300"}};async function G(a,b){let c=E[b],d=await fetch(`/api/operations/${encodeURIComponent(c)}/${encodeURIComponent(a)}/logs`);return d.ok?await d.json():{entries:[]}}function H(a){if(0===a.length)return"empty";let b=a[a.length-1],c=new Date(b.createdAt).getTime();if(Date.now()-c<1e4)return"in-progress";switch(b.level){case"Error":return"failed";case"Warn":return"warn";default:return"success"}}function I(a){try{return new Date(a).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return a}}function J(a,b){let{data:d}=(0,u.useQuery)({queryKey:["operation-logs",a??"",b],queryFn:()=>a?G(a,b):Promise.resolve({entries:[]}),enabled:!!a,refetchInterval:a=>{let b=a.state.data?.entries??[];if(0===b.length)return 2500;let c=D(b);return"in-progress"===H(c[c.length-1]??[])?1500:2500},staleTime:0});return(0,c.useMemo)(()=>D(d?.entries??[]).map((a,c)=>{let d=a[0];return{id:d?.id??`${b}-${c}`,kind:b,startedAt:d?new Date(d.createdAt).getTime():0,entries:a}}),[d,b])}function K({applicationId:a,kind:d,entries:e,runIndex:f}){let[g,h]=(0,c.useState)(!1),i=H(e),k=F[d],l=k.icon,m="in-progress"===i,n=`op-${d}-${a}-${f}`;return(0,b.jsxs)("div",{className:(0,j.cn)("mx-3 shrink-0 overflow-hidden","animate-in fade-in-0 duration-150 ease-out"),"data-testid":`operation-bubble-${d}`,children:[(0,b.jsxs)("button",{type:"button",onClick:()=>h(a=>!a),"aria-expanded":g,"aria-controls":n,className:(0,j.cn)("group flex w-full cursor-pointer items-center gap-2 rounded-md px-1.5 py-1 text-left transition-colors","hover:bg-muted/40"),children:[(0,b.jsx)("span",{className:(0,j.cn)("flex h-4 w-4 shrink-0 items-center justify-center",m?k.liveText:"text-muted-foreground"),children:m?(0,b.jsx)(z.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(l,{className:"h-3.5 w-3.5"})}),(0,b.jsx)("span",{className:(0,j.cn)("truncate text-[11px] font-medium",m?k.liveText:"text-foreground/90"),children:m?k.inProgressTitle:k.title}),(0,b.jsxs)("span",{className:"text-muted-foreground shrink-0 text-[10px]",children:["· ",e.length," event",1===e.length?"":"s"," ·"," ",I(e[0].createdAt)]}),(0,b.jsx)("span",{className:"flex-1"}),(0,b.jsx)(L,{status:i}),(0,b.jsx)(w.ChevronDown,{className:(0,j.cn)("text-muted-foreground h-3 w-3 shrink-0 transition-transform",g&&"rotate-180")})]}),g?(0,b.jsx)("div",{id:n,className:"border-border/40 bg-background/30 mt-1 rounded-md border",children:(0,b.jsx)("ol",{className:"flex max-h-[28rem] flex-col gap-1 overflow-y-auto px-3 py-2.5",children:e.map(a=>(0,b.jsxs)("li",{className:"flex items-start gap-2 text-[11px] leading-relaxed",children:[(0,b.jsx)("span",{className:"text-muted-foreground/80 shrink-0 font-mono text-[10px]",children:I(a.createdAt)}),(0,b.jsx)(M,{level:a.level}),(0,b.jsxs)("span",{className:"text-foreground/90 min-w-0 flex-1 break-words whitespace-pre-wrap",children:[a.message,a.detail?(0,b.jsx)("span",{className:"text-muted-foreground/70 mt-0.5 block font-mono text-[10px] whitespace-pre-wrap",children:a.detail}):null]})]},a.id))})}):null]})}function L({status:a}){return"in-progress"===a?null:"success"===a?(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 text-[10px] text-emerald-500",children:[(0,b.jsx)(v.CheckCircle2,{className:"h-3 w-3"})," done"]}):"warn"===a?(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 text-[10px] text-amber-500",children:[(0,b.jsx)(h.AlertTriangle,{className:"h-3 w-3"})," warnings"]}):"failed"===a?(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 text-[10px] text-rose-500",children:[(0,b.jsx)(A.XCircle,{className:"h-3 w-3"})," failed"]}):null}function M({level:a}){return(0,b.jsx)("span",{className:(0,j.cn)("mt-1.5 h-1.5 w-1.5 shrink-0 rounded-full","Error"===a?"bg-rose-500":"Warn"===a?"bg-amber-500":"Debug"===a?"bg-muted-foreground/50":"bg-emerald-500")})}let N="scaffold";function O({featureId:a,applicationId:d,worktreePath:f,initialAgent:g,initialModel:h,initialChatState:i,hideHeader:j,onAllStepsComplete:u,workflowPlaceholder:v,onResumeWorkflow:w,scaffoldingState:x,applicationError:y}){let[z,A]=(0,c.useState)(g),[B,C]=(0,c.useState)(h);(0,c.useEffect)(()=>{z&&B||(0,n.getDefaultAgentAndModel)().then(a=>{A(b=>b??a.agentType),C(b=>b??a.model)})},[]);let[D,E]=(0,c.useState)(!1),F=(0,l.useAttachments)(),G=!!d,H=(0,c.useCallback)(a=>(0,m.composeUserInput)(a,F.completedAttachments.map(a=>({path:a.path,name:a.name,notes:a.notes}))),[F.completedAttachments]),{runtime:I,status:L,clearChat:M,sessionInfo:O,isChatLoading:S,pendingInteraction:T,respondToInteraction:U,stepProgress:V,rawMessages:W,streamingState:X}=(0,p.useChatRuntime)(a,f,{contentTransform:H,onMessageSent:F.clearAttachments,model:B,agentType:z,debugMode:D,initialChatState:i,pinInitialRequest:(v?.length??0)>0,hideAllMessages:G,suppressStreamingIndicator:G}),Y=!!(x?.status==="running"||V.hasPlan&&!V.allDone),Z=(0,t.useTurnGroupsView)(W,L.isRunning&&!Y),$=(()=>{if(Y)return{groups:[],currentTurn:null,hiddenMessageIds:[]};if(!x&&!V.hasPlan)return Z;let a=[...Z.groups];Z.currentTurn&&a.push(Z.currentTurn);let b=a.slice(1),c=null!==Z.currentTurn&&b.length>0?b[b.length-1]:null;return{groups:c?b.slice(0,-1):b,currentTurn:c,hiddenMessageIds:Z.hiddenMessageIds}})(),_=J(d,"publish"),aa=J(d,"deploy"),ab=J(d,"sync"),ac=(()=>{let a=[];for(let b of $.groups)a.push({kind:"turn",id:b.id,startedAt:b.startedAt,turn:b});if($.currentTurn){let b=$.currentTurn;a.push({kind:"turn",id:b.id,startedAt:b.startedAt,turn:b})}for(let b of _)a.push({kind:"operation",id:`pub-${b.id}`,startedAt:b.startedAt,run:b});for(let b of aa)a.push({kind:"operation",id:`dep-${b.id}`,startedAt:b.startedAt,run:b});for(let b of ab)a.push({kind:"operation",id:`syn-${b.id}`,startedAt:b.startedAt,run:b});return a.sort((a,b)=>a.startedAt-b.startedAt),a})(),ad=(0,c.useRef)(!1),ae=(0,c.useRef)(u);ae.current=u,(0,c.useEffect)(()=>{V.allDone&&!ad.current&&(ad.current=!0,ae.current?.())},[V.allDone]);let af=(0,c.useCallback)(async a=>{if(!a.startsWith("placeholder-"))try{let b=await fetch(`/api/workflow-steps/${encodeURIComponent(a)}/force-stop`,{method:"POST"});b.ok||409===b.status||console.warn("[force-stop-step] request failed",b.status)}catch(a){console.warn("[force-stop-step] request error",a)}},[]),ag=(0,c.useCallback)(async()=>{try{let b=await fetch("/api/dialog/pick-files");if(!b.ok)return;let c=await b.json();if(!c.paths?.length)return;for(let b of c.paths){let c=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:b,sessionId:`chat-${a}`})});if(!c.ok)continue;let d=await c.json();F.addAttachment(d)}}catch{}},[a,F.addAttachment]),ah=V.hasPlan?V.steps:(v??[]).filter(a=>a.stepKey!==N).map(a=>({definition:{id:`placeholder-${a.stepKey}`,stepKey:a.stepKey,title:a.title,description:a.description},status:"pending",metadata:null,toolMessages:[],startedAt:null,finishedAt:null})),ai=(0,c.useRef)(null);V.hasPlan&&null==ai.current&&(ai.current=Date.now());let aj=x?{definition:{id:`placeholder-${N}`,stepKey:N,title:"Preparing your project",description:"Scaffolding the project tree and installing dependencies"},status:V.hasPlan?"done":x.status,metadata:x.error?{error:x.error}:null,toolMessages:[],startedAt:x.startedAt,finishedAt:x.finishedAt??(V.hasPlan?ai.current:null)}:null,ak=aj?[aj,...ah]:ah,al=ak.length>0,am=V.hasPlan&&V.steps.some(a=>"running"===a.status),an=(0,b.jsx)(q.ChatComposer,{disabled:am,attachments:F.attachments,isDragOver:F.isDragOver,uploadError:F.uploadError,onDragEnter:F.handleDragEnter,onDragLeave:F.handleDragLeave,onDragOver:F.handleDragOver,onDrop:F.handleDrop,onPaste:F.handlePaste,onRemoveAttachment:F.removeAttachment,onNotesChange:F.updateNotes,onPickFiles:ag,agentPicker:(0,b.jsx)(o.AgentModelPicker,{initialAgentType:z??"",initialModel:B??"",mode:"override",onAgentModelChange:(a,b)=>{A(a),C(b)},className:"w-55",popoverSide:"top"})});return(0,b.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[j?null:(0,b.jsx)(R,{sessionInfo:O,isAgentActive:L.isRunning,onClear:M,debugMode:D,onDebugToggle:void 0}),(0,b.jsx)("div",{className:"flex min-h-0 flex-1 flex-col dark:bg-neutral-900/40",children:S?(0,b.jsx)(Q,{}):(0,b.jsx)(e.AssistantRuntimeProvider,{runtime:I,children:(0,b.jsx)(k.Thread,{composer:an,hideEmpty:al,hideMessages:G,beforeMessages:(0,b.jsxs)(b.Fragment,{children:[y?(0,b.jsx)(P,{state:y,onRetry:w}):null,al?(0,b.jsx)(s.StepTracker,{steps:ak,collapsedSummary:!0===V.hasPlan&&!0===V.allDone,activeStepId:V.activeStepId,liveStatus:V.liveStatus,onRetry:w,onForceStop:af}):null,G?ac.map((a,c)=>"turn"===a.kind&&a.turn?(0,b.jsx)(t.SingleTurnCard,{group:a.turn,allMessages:W,streaming:"in-progress"===a.turn.status?X:void 0},a.id):"operation"===a.kind&&a.run&&d?(0,b.jsx)(K,{applicationId:d,kind:a.run.kind,entries:a.run.entries,runIndex:c},a.id):null):null]}),afterMessages:T?(0,b.jsx)(r.InteractionBubble,{interaction:T,onSubmit:U}):null})})})]})}function P({state:a,onRetry:d}){let[e,f]=(0,c.useState)(!1),g=(0,c.useCallback)(()=>{if(d&&!e){f(!0);try{d()}finally{setTimeout(()=>f(!1),4e3)}}},[d,e]);return(0,b.jsx)("div",{className:(0,j.cn)("animate-in fade-in-0 slide-in-from-top-1 mx-3 my-3 shrink-0 overflow-hidden rounded-lg border shadow-sm duration-200 ease-out","border-red-500/40 bg-red-500/5 dark:bg-red-500/10"),role:"alert",children:(0,b.jsxs)("div",{className:"flex items-start gap-3 px-3 py-3",children:[(0,b.jsx)("span",{className:"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-red-500/15",children:(0,b.jsx)(h.AlertTriangle,{className:"h-3.5 w-3.5 text-red-500"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"text-[13px] font-semibold text-red-700 dark:text-red-300",children:a.kind}),(0,b.jsx)("div",{className:"text-foreground/80 mt-0.5 text-[12px] leading-relaxed",children:a.message}),a.retryable&&d?(0,b.jsxs)("div",{className:"mt-2.5 flex items-center gap-2",children:[(0,b.jsxs)("button",{type:"button",onClick:g,disabled:e,className:(0,j.cn)("inline-flex h-7 items-center gap-1.5 rounded-md bg-red-500 px-3 text-[11px] font-semibold text-white transition-opacity",e?"cursor-not-allowed opacity-60":"cursor-pointer hover:opacity-90"),children:[(0,b.jsx)(i.RefreshCw,{className:(0,j.cn)("h-3 w-3",e&&"animate-spin")}),e?"Retrying…":"Try again"]}),(0,b.jsx)("span",{className:"text-muted-foreground text-[10px]",children:"Re-runs the last failed step"})]}):null]})]})})}function Q(){return(0,b.jsxs)("div",{className:"flex flex-1 flex-col gap-3 p-4 pt-6",children:[(0,b.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,b.jsx)("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("div",{className:"bg-muted h-4 w-48 animate-pulse rounded-lg"}),(0,b.jsx)("div",{className:"bg-muted h-4 w-72 animate-pulse rounded-lg"}),(0,b.jsx)("div",{className:"bg-muted h-4 w-36 animate-pulse rounded-lg"})]})]}),(0,b.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,b.jsx)("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),(0,b.jsx)("div",{className:"bg-muted h-4 w-32 animate-pulse rounded-lg"})]}),(0,b.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,b.jsx)("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("div",{className:"bg-muted h-4 w-56 animate-pulse rounded-lg"}),(0,b.jsx)("div",{className:"bg-muted h-4 w-64 animate-pulse rounded-lg"})]})]})]})}function R({sessionInfo:a,isAgentActive:c,onClear:e,debugMode:h,onDebugToggle:i}){let{t:j}=(0,d.useTranslation)("web");return(0,b.jsxs)("div",{className:"flex h-8 shrink-0 items-center border-b px-3",children:[(0,b.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:a?(0,b.jsxs)(b.Fragment,{children:[c?(0,b.jsx)("span",{className:"h-1.5 w-1.5 shrink-0 animate-pulse rounded-full bg-emerald-500"}):(0,b.jsx)(g.Cpu,{className:"text-muted-foreground/40 h-3 w-3 shrink-0"}),(0,b.jsxs)("span",{className:"text-muted-foreground font-mono text-[10px]",children:[a.model??"agent",a.sessionId?` \xb7 ${a.sessionId.slice(0,8)}`:""]})]}):(0,b.jsx)("span",{className:"text-muted-foreground/40 text-[11px]",children:j("chat.noSession")})}),(0,b.jsxs)("div",{className:"flex items-center gap-1 ps-2",children:[i?(0,b.jsxs)("label",{className:"text-muted-foreground/60 flex cursor-pointer items-center gap-1 text-[10px]",children:[(0,b.jsx)("input",{type:"checkbox",checked:h,onChange:a=>i(a.target.checked),className:"h-3 w-3 cursor-pointer rounded"}),"Debug"]}):null,(0,b.jsxs)(S,{onClick:()=>{e()},title:j("chat.clearChatHistory"),children:[(0,b.jsx)(f.Trash2,{className:"h-2.5 w-2.5"}),(0,b.jsx)("span",{children:j("chat.clear")})]})]})]})}function S({children:a,onClick:c,title:d,variant:e}){return(0,b.jsx)("button",{type:"button",onClick:c,title:d,className:(0,j.cn)("inline-flex items-center gap-1 rounded-md px-2 py-1 text-xs transition-colors","danger"===e?"text-destructive hover:bg-destructive/10":"text-muted-foreground hover:text-foreground hover:bg-muted"),children:a})}a.s(["APPLICATION_CREATION_PLACEHOLDER_STEPS",0,[{stepKey:"components",title:"Building the pieces",description:"Designing and creating polished reusable parts"},{stepKey:"wire",title:"Connecting everything",description:"Wiring navigation and forms"},{stepKey:"verify",title:"Double-checking",description:"Making sure it runs cleanly"},{stepKey:"commit",title:"Saving a snapshot",description:"Committing the initial build"},{stepKey:"report",title:"Your app is ready",description:"Summary of what was built"}],"SCAFFOLD_STEP_KEY",0,N],851017),a.s(["ChatTab",()=>O],661544)}];
6
6
 
7
7
  //# sourceMappingURL=%5Broot-of-the-server%5D__e0741ee1._.js.map