@alook/app 0.0.117 → 0.0.119

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 (232) hide show
  1. package/bundled/email-worker/index.js +219 -207
  2. package/bundled/web/.open-next/.build/durable-objects/queue.js +5 -5
  3. package/bundled/web/.open-next/assets/BUILD_ID +1 -1
  4. package/bundled/web/.open-next/assets/_next/static/chunks/{0quc_lvg3c4wu.js → 0-xdwhncj5-wf.js} +1 -1
  5. package/bundled/web/.open-next/assets/_next/static/chunks/018pin4~.wsr7.js +1 -0
  6. package/bundled/web/.open-next/assets/_next/static/chunks/028fjo.mmn73u.js +7 -0
  7. package/bundled/web/.open-next/assets/_next/static/chunks/{0tw05tsn2c~1m.js → 02j9o2uuj_oc8.js} +15 -15
  8. package/bundled/web/.open-next/assets/_next/static/chunks/06-zhqf9ypqns.css +1 -0
  9. package/bundled/web/.open-next/assets/_next/static/chunks/0d3l0nm-qcu53.js +1 -0
  10. package/bundled/web/.open-next/assets/_next/static/chunks/0fw7efx7cy195.js +62 -0
  11. package/bundled/web/.open-next/assets/_next/static/chunks/0kk1judky0sd5.js +1 -0
  12. package/bundled/web/.open-next/assets/_next/static/chunks/{12bd-kqbplx9m.js → 0nj24~vvlulgh.js} +3 -3
  13. package/bundled/web/.open-next/assets/_next/static/chunks/0r8zw56k96o0q.js +1 -0
  14. package/bundled/web/.open-next/assets/_next/static/chunks/{042a4jeudcp22.js → 0u64son5-k77n.js} +1 -1
  15. package/bundled/web/.open-next/assets/_next/static/chunks/{110sy1mmp9v~7.js → 0x14heey9lt7d.js} +3 -3
  16. package/bundled/web/.open-next/assets/_next/static/chunks/0xaxg3kh619o8.js +1 -0
  17. package/bundled/web/.open-next/assets/_next/static/chunks/0z4n3xpn4dp13.js +63 -0
  18. package/bundled/web/.open-next/assets/_next/static/chunks/0~r1l8ej-9p~h.js +3 -0
  19. package/bundled/web/.open-next/assets/_next/static/chunks/110epmmtnkv9w.js +3 -0
  20. package/bundled/web/.open-next/assets/_next/static/chunks/{118ani.qejoy9.js → 12tz.n~x91ghm.js} +1 -1
  21. package/bundled/web/.open-next/cache/{FjNKGEvkF0L0MRIiOb2vT → bwwUBlSnuSEyz1RNfFbW9}/_global-error.cache +1 -1
  22. package/bundled/web/.open-next/cache/{FjNKGEvkF0L0MRIiOb2vT → bwwUBlSnuSEyz1RNfFbW9}/_not-found.cache +1 -1
  23. package/bundled/web/.open-next/cache/{FjNKGEvkF0L0MRIiOb2vT → bwwUBlSnuSEyz1RNfFbW9}/device.cache +1 -1
  24. package/bundled/web/.open-next/cache/{FjNKGEvkF0L0MRIiOb2vT → bwwUBlSnuSEyz1RNfFbW9}/privacy.cache +1 -1
  25. package/bundled/web/.open-next/cache/{FjNKGEvkF0L0MRIiOb2vT → bwwUBlSnuSEyz1RNfFbW9}/sitemap.xml.cache +1 -1
  26. package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
  27. package/bundled/web/.open-next/cloudflare/init.js +1 -1
  28. package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
  29. package/bundled/web/.open-next/middleware/handler.mjs +8 -8
  30. package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
  31. package/bundled/web/.open-next/server-functions/default/src/web/.next/app-path-routes-manifest.json +1 -2
  32. package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
  33. package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
  34. package/bundled/web/.open-next/server-functions/default/src/web/.next/routes-manifest.json +8 -17
  35. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
  36. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
  37. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/activity/page/react-loadable-manifest.json +1 -1
  38. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/activity/page_client-reference-manifest.js +1 -1
  39. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/[convId]/page/react-loadable-manifest.json +1 -1
  40. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/[convId]/page_client-reference-manifest.js +1 -1
  41. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/page/react-loadable-manifest.json +1 -1
  42. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/page_client-reference-manifest.js +1 -1
  43. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/email/page/react-loadable-manifest.json +1 -1
  44. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/email/page_client-reference-manifest.js +1 -1
  45. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/files/page/react-loadable-manifest.json +1 -1
  46. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/files/page_client-reference-manifest.js +1 -1
  47. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/meetings/page/react-loadable-manifest.json +1 -1
  48. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/meetings/page_client-reference-manifest.js +1 -1
  49. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/page/react-loadable-manifest.json +1 -1
  50. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/page_client-reference-manifest.js +1 -1
  51. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/new/page/react-loadable-manifest.json +1 -1
  52. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/new/page_client-reference-manifest.js +1 -1
  53. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page/react-loadable-manifest.json +1 -1
  54. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
  55. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page/react-loadable-manifest.json +1 -1
  56. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
  57. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page/react-loadable-manifest.json +1 -1
  58. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
  59. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/help/email-setup/page/react-loadable-manifest.json +1 -1
  60. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/help/email-setup/page_client-reference-manifest.js +1 -1
  61. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page/react-loadable-manifest.json +1 -1
  62. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
  63. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page/react-loadable-manifest.json +1 -1
  64. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
  65. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/page/react-loadable-manifest.json +1 -1
  66. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/page_client-reference-manifest.js +1 -1
  67. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page/react-loadable-manifest.json +1 -1
  68. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
  69. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page/react-loadable-manifest.json +1 -1
  70. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
  71. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/[traceId]/page/react-loadable-manifest.json +1 -1
  72. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/[traceId]/page_client-reference-manifest.js +1 -1
  73. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/page/react-loadable-manifest.json +1 -1
  74. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/page_client-reference-manifest.js +1 -1
  75. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page/react-loadable-manifest.json +1 -1
  76. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
  77. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
  78. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
  79. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  80. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/chat-init/route.js +6 -7
  81. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/whitelist/route.js +7 -8
  82. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/route.js +4 -5
  83. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/active-task/route.js +7 -8
  84. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/init/route.js +6 -7
  85. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/messages/route.js +8 -9
  86. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/{conversations/[id]/buffered-messages/[messageId] → daemon/conversations/[id]/messages}/route.js +8 -8
  87. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/conversations/[id]/messages/route_client-reference-manifest.js +3 -0
  88. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/register/route.js +3 -4
  89. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/sweep/route.js +5 -7
  90. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/complete/route.js +6 -8
  91. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/fail/route.js +6 -8
  92. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/messages/route.js +3 -4
  93. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/start/route.js +6 -8
  94. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/supersede/route.js +6 -8
  95. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/poll/route.js +5 -7
  96. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/notify/route.js +2 -2
  97. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/comments/route.js +7 -8
  98. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/route.js +7 -8
  99. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/route.js +7 -8
  100. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/route.js +7 -8
  101. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/retry/route.js +7 -8
  102. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/device/page_client-reference-manifest.js +1 -1
  103. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page/react-loadable-manifest.json +2 -2
  104. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
  105. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  106. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
  107. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
  108. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app-paths-manifest.json +1 -2
  109. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/05hd_server_app_api_daemon_conversations_[id]_messages_route_actions_0.iz1u1.js +3 -0
  110. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0-63.yt._.js +3 -0
  111. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__010~hln._.js +3 -0
  112. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__01pm5bg._.js +58 -70
  113. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__08oq0ro._.js +3 -0
  114. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0arm85_._.js +3 -0
  115. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0gp~w40._.js +3 -0
  116. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{[root-of-the-server]__088o0os._.js → [root-of-the-server]__0hz_j32._.js} +2 -2
  117. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0i0ukpl._.js +58 -70
  118. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0j5fdu2._.js +58 -70
  119. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0syz.lm._.js +3 -0
  120. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{[root-of-the-server]__0sf_9ve._.js → [root-of-the-server]__0vi97bn._.js} +2 -2
  121. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0x8e1~2._.js +3 -0
  122. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +39 -44
  123. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0.gkbx8._.js +3 -0
  124. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_00-p7_0._.js +3 -0
  125. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_03gwxos._.js +5 -0
  126. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_03t_17c._.js +1 -1
  127. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_06mrt6t._.js +3 -0
  128. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08xh_f8._.js +2 -2
  129. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_09ivzvb._.js +1 -1
  130. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0_21cs4._.js +3 -0
  131. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0huk3rm._.js +3 -0
  132. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0jj44iu._.js +3 -3
  133. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0l1m9wf._.js +2 -2
  134. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0m4uqwa._.js +3 -3
  135. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0mibx4k._.js +3 -3
  136. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ow_nxn._.js +3 -0
  137. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0r.02hx._.js +3 -0
  138. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0thudj4._.js +3 -0
  139. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0wbaduy._.js +3 -0
  140. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0yzq1gx._.js +3 -0
  141. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0zyolvu._.js +1 -1
  142. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_12-_-5g._.js +3 -0
  143. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_12-v7sn._.js +3 -0
  144. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0wkbw.-._.js +3 -0
  145. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__04mf.th._.js +54 -66
  146. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__10nperb._.js → [root-of-the-server]__0_3cckh._.js} +2 -2
  147. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0e65njz._.js +54 -66
  148. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0i8fzgr._.js +1 -1
  149. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +39 -44
  150. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0bt_5pi._.js → _055~~zq._.js} +1 -1
  151. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0bti.y.._.js → _05kh57s._.js} +1 -1
  152. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0iiagkx._.js → _09rh54w._.js} +1 -1
  153. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0_.06ux._.js +1 -1
  154. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0asq_j3._.js +65 -0
  155. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0im0q-g._.js +9 -0
  156. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0owr40y._.js +3 -0
  157. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0r_ppn9._.js +1 -1
  158. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0vtcof8._.js +2 -2
  159. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_04xzk.p._.js → node_modules__pnpm_0-7t060._.js} +1 -1
  160. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0y6wy4c._.js → node_modules__pnpm_0emry~3._.js} +1 -1
  161. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_02vp72~._.js → node_modules__pnpm_0lqu_u4._.js} +1 -1
  162. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0k_ahqs._.js → node_modules__pnpm_0ml9n-.._.js} +1 -1
  163. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0t783t_._.js → node_modules__pnpm_0qmml4f._.js} +1 -1
  164. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0j~49hk._.js → node_modules__pnpm_0vztztj._.js} +1 -1
  165. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0.jtjpe._.js → node_modules__pnpm_0wu1nx-._.js} +1 -1
  166. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0i183cf._.js → node_modules__pnpm_11id~ub._.js} +1 -1
  167. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_0liq_10._.js +54 -66
  168. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0~23g-y._.js +2 -2
  169. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_agents_[id]_meetings_page_tsx_073~u~-._.js +1 -1
  170. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_home_home-page_tsx_0to84tv._.js +1 -1
  171. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_lib_api_ts_0uf2r1p._.js +1 -1
  172. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
  173. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
  174. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
  175. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
  176. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +492 -534
  177. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +1025 -841
  178. package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +5 -5
  179. package/bundled/web/migrations/0037_inbox_unread_table.sql +43 -0
  180. package/bundled/web/wrangler.toml +1 -1
  181. package/bundled/ws-do/index.js +174 -174
  182. package/dist/cli/index.js +368 -68
  183. package/dist/cli/session-runner.js +68 -9
  184. package/dist/index.js +23 -2
  185. package/package.json +1 -1
  186. package/bundled/web/.open-next/assets/_next/static/chunks/0_7t-ouonb08v.js +0 -3
  187. package/bundled/web/.open-next/assets/_next/static/chunks/0fme52sqdtk.p.js +0 -3
  188. package/bundled/web/.open-next/assets/_next/static/chunks/0h5tl-yh9wijv.js +0 -1
  189. package/bundled/web/.open-next/assets/_next/static/chunks/0j5gd-ljh6ao_.js +0 -62
  190. package/bundled/web/.open-next/assets/_next/static/chunks/0lus0pm79r-7o.js +0 -7
  191. package/bundled/web/.open-next/assets/_next/static/chunks/0m-e05qz5c6a..js +0 -1
  192. package/bundled/web/.open-next/assets/_next/static/chunks/0s-pai_2464mg.css +0 -1
  193. package/bundled/web/.open-next/assets/_next/static/chunks/0u8cu1dfn9~01.js +0 -63
  194. package/bundled/web/.open-next/assets/_next/static/chunks/0xg02n4bo4.1m.js +0 -1
  195. package/bundled/web/.open-next/assets/_next/static/chunks/18b_fy7re_rp..js +0 -1
  196. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/[messageId]/route_client-reference-manifest.js +0 -3
  197. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/route.js +0 -17
  198. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/route_client-reference-manifest.js +0 -3
  199. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/00~o_app_api_conversations_[id]_buffered-messages_[messageId]_route_actions_0e338dt.js +0 -3
  200. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/05hd_server_app_api_conversations_[id]_buffered-messages_route_actions_0mf5n8a.js +0 -3
  201. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0d0_qit._.js +0 -3
  202. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_00_9pus._.js +0 -3
  203. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_02.f31i._.js +0 -5
  204. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_025fm6r._.js +0 -3
  205. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_03ju0js._.js +0 -3
  206. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_06imn.m._.js +0 -3
  207. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_07hpwgw._.js +0 -3
  208. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08y2ta9._.js +0 -3
  209. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0_kfe3c._.js +0 -3
  210. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ahwrti._.js +0 -3
  211. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0b4pq8.._.js +0 -3
  212. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0d6rwbr._.js +0 -3
  213. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0gqpz7w._.js +0 -3
  214. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0h-fa04._.js +0 -3
  215. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0il0z_b._.js +0 -3
  216. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0l1rr.g._.js +0 -3
  217. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0p_10om._.js +0 -3
  218. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0r04wj_._.js +0 -3
  219. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ri6_n4._.js +0 -3
  220. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0zk1_mu._.js +0 -3
  221. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0zt3sdk._.js +0 -3
  222. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_102qunz._.js +0 -3
  223. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_12i.jt7._.js +0 -3
  224. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_13lep.0._.js +0 -3
  225. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_web_src_lib_services_0yvxfxt._.js +0 -3
  226. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_004q5tu._.js +0 -3
  227. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0g~0u9h._.js +0 -65
  228. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0kv_hld._.js +0 -9
  229. /package/bundled/web/.open-next/assets/_next/static/{FjNKGEvkF0L0MRIiOb2vT → bwwUBlSnuSEyz1RNfFbW9}/_buildManifest.js +0 -0
  230. /package/bundled/web/.open-next/assets/_next/static/{FjNKGEvkF0L0MRIiOb2vT → bwwUBlSnuSEyz1RNfFbW9}/_clientMiddlewareManifest.js +0 -0
  231. /package/bundled/web/.open-next/assets/_next/static/{FjNKGEvkF0L0MRIiOb2vT → bwwUBlSnuSEyz1RNfFbW9}/_ssgManifest.js +0 -0
  232. /package/bundled/web/.open-next/cache/{FjNKGEvkF0L0MRIiOb2vT → bwwUBlSnuSEyz1RNfFbW9}/robots.txt.cache +0 -0
@@ -1,5 +1,5 @@
1
- module.exports=[831893,896393,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(752792),f=a.i(506180),g=a.i(626806);let h=["user_dm_message"],i=["user_dm_message"];function j(){return h}a.s(["INBOX_FILTER_LABELS",0,{user_dm_message:"DM",calendar_event:"Calendar",email_notification:"Email"},"INBOX_FILTER_TYPES",0,["user_dm_message","calendar_event","email_notification"],"MANDATORY_INBOX_TYPES",0,i,"getInboxFilterTypes",0,j,"setInboxFilterTypes",0,function(a){let b=[...a];for(let a of i)b.includes(a)||b.unshift(a);localStorage.setItem("inbox-filter-types",JSON.stringify(b))}],896393);let k=(0,c.createContext)(null),l={count:0,notificationToken:0,refresh:()=>{},decrement:()=>{}};a.s(["InboxCountProvider",0,function({children:a}){let{workspaceId:h}=(0,f.useWorkspace)(),{subscribeWs:i,agents:l}=(0,e.useAgentContext)(),[m,n]=(0,c.useState)(0),[o,p]=(0,c.useState)(0),q=(0,c.useRef)(null),r=(0,c.useRef)(null),s=(0,c.useRef)(l);(0,c.useEffect)(()=>{s.current=l});let t=(0,c.useCallback)(()=>{let a=j();(0,d.getInboxCount)(h,{types:a}).then(a=>{let b=q.current;if(q.current=a.count,n(a.count),null!==b&&a.count>b){p(a=>a+1);let a=r.current?s.current.find(a=>a.id===r.current):void 0;(0,g.sendTaskNotification)("completed",a?.name)}r.current=null}).catch(()=>{})},[h]),u=(0,c.useCallback)(()=>{n(a=>Math.max(0,a-1))},[]);return(0,c.useEffect)(()=>{t()},[t]),(0,c.useEffect)(()=>i(a=>{"task.updated"===a.type&&("completed"===a.status||"failed"===a.status)&&(r.current=a.agentId,t())}),[i,t]),(0,c.useEffect)(()=>{let a=setInterval(t,6e4);return()=>clearInterval(a)},[t]),(0,b.jsx)(k.Provider,{value:{count:m,notificationToken:o,refresh:t,decrement:u},children:a})},"useInboxCount",0,function(){return(0,c.useContext)(k)??l}],831893)},70813,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(506180);let f=(0,c.createContext)(null);a.s(["FlagCountProvider",0,function({children:a}){let{workspaceId:g}=(0,e.useWorkspace)(),[h,i]=(0,c.useState)(0),j=(0,c.useCallback)(()=>{(0,d.getFlaggedCount)(g).then(a=>i(a.count)).catch(()=>{})},[g]),k=(0,c.useCallback)(()=>{i(a=>a+1)},[]),l=(0,c.useCallback)(()=>{i(a=>Math.max(0,a-1))},[]);return(0,c.useEffect)(()=>{j()},[j]),(0,b.jsx)(f.Provider,{value:{count:h,refresh:j,increment:k,decrement:l},children:a})},"useFlagCount",0,function(){let a=(0,c.useContext)(f);if(!a)throw Error("useFlagCount must be used within FlagCountProvider");return a}])},781418,a=>{"use strict";var b=a.i(749314),c=a.i(437199);a.i(974936);var d=a.i(911509),e=a.i(549931),f=a.i(584126),g=a.i(921584);a.i(735132);var h=a.i(253260),i=a.i(325848),j=a.i(191525),k=a.i(75118);a.s(["AgentPreviewCard",0,function({agent:a,isOnline:l,activeTaskCount:m,variant:n="default",isHovered:o}){let[p,q]=(0,c.useState)(!1),r=a.email_handle?(0,d.toAlookAddress)(a.email_handle):null,s=(0,c.useCallback)(async()=>{if(r)try{await navigator.clipboard.writeText(r),q(!0),g.toast.success("Email copied to clipboard"),setTimeout(()=>q(!1),2e3)}catch{g.toast.error("Failed to copy email")}},[r]);if("compact"===n){let c;return(0,b.jsxs)("div",{className:"flex items-center gap-2 p-0",children:[(c=(0,i.parseAvatarUrl)(a.avatar_url))?(0,b.jsx)(h.AnimatedAvatar,{config:c,size:32,className:"shrink-0 rounded-xl",isHovered:o??!1,isWorking:!!l&&(m??0)>0}):(0,b.jsx)("div",{className:"flex items-center justify-center size-8 rounded-xl bg-secondary text-secondary-foreground text-xs font-medium shrink-0",children:a.name.charAt(0).toUpperCase()}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate max-w-35",children:a.name}),r&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:r})]}),void 0!==l&&(0,b.jsx)("div",{className:"pointer-events-none mt-0.5",children:(0,b.jsx)(j.AgentStatusBadge,{isOnline:l,taskCount:m??0,agentId:a.id})})]})]})}return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5 p-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate",children:a.name}),(0,b.jsx)("span",{className:"flex-1"}),void 0!==l&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,b.jsx)("span",{className:(0,k.cn)("size-1.5 rounded-full",l?"bg-status-online":"bg-status-offline")}),l?(m??0)>0?"Working":null:"Offline"]})]}),r&&(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:r}),(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),s()},className:"shrink-0 p-0.5 rounded-sm text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:p?(0,b.jsx)(e.Check,{className:"size-3 text-green-500"}):(0,b.jsx)(f.Copy,{className:"size-3"})})]}),a.description&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2",children:a.description})]})}])},127026,40924,a=>{"use strict";a.s(["AgentChatView",()=>aK,"getEventIconType",()=>aD],127026);var b=a.i(749314),c=a.i(437199),d=a.i(131675),e=a.i(207058),f=a.i(506180),g=a.i(732254),h=a.i(464830),i=a.i(75118),j=a.i(143984),k=a.i(16831);a.i(343563);var l=a.i(347788),m=a.i(415725),n=a.i(748410),o=a.i(123047),p=a.i(723127);let q={claude:"Claude Code",codex:"Codex",opencode:"OpenCode"},r="the agent runtime";function s({provider:a,message:d,onRetry:e,retrying:f}){let[g,h]=(0,c.useState)(!1),i=f??g,j=async()=>{if(e){h(!0);try{await e()}finally{h(!1)}}};return(0,b.jsxs)("div",{className:"rounded-md border border-destructive/30 bg-destructive/5 p-2 max-w-full overflow-hidden",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("p",{className:"flex items-center gap-1.5 text-sm font-semibold text-destructive min-w-0",children:[(0,b.jsx)(o.AlertCircle,{className:"size-3.5 shrink-0"}),(0,b.jsxs)("span",{children:["Error from ",a?q[a]??r:r]})]}),e&&(0,b.jsxs)("button",{type:"button",onClick:j,disabled:i,className:"ml-auto shrink-0 text-xs text-muted-foreground hover:text-foreground transition-colors cursor-pointer disabled:opacity-50 flex items-center gap-1",children:[i?(0,b.jsx)(k.Loader2,{className:"size-3 animate-spin"}):(0,b.jsx)(p.RotateCw,{className:"size-3"}),"Retry"]})]}),(0,b.jsx)("p",{className:"mt-1.5 text-sm text-destructive/90 wrap-anywhere whitespace-pre-wrap",children:d}),(0,b.jsx)("p",{className:"mt-1.5 text-xs text-muted-foreground",children:"This came from the agent runtime on your machine, not from Alook."})]})}function t({value:a}){let d=(0,c.useRef)(a),[e,f]=(0,c.useState)({current:a,previous:null}),[g,h]=(0,c.useState)("idle");return(0,c.useEffect)(()=>{if(a===d.current)return;let b=d.current;d.current=a,f({current:a,previous:b}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{h("animating")})});let c=setTimeout(()=>{h("idle"),f(a=>({...a,previous:null}))},300);return()=>clearTimeout(c)},[a]),(0,b.jsxs)("span",{style:{display:"inline-block",position:"relative",overflow:"hidden",height:"1.2em",lineHeight:"1.2em",verticalAlign:"bottom"},children:[null!==e.previous&&(0,b.jsx)("span",{style:{display:"block",position:"absolute",inset:"0",transition:"animating"===g?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:"animating"===g?"translateY(-100%)":"translateY(0)",opacity:+("animating"!==g)},children:e.previous}),(0,b.jsx)("span",{style:{display:"block",transition:"animating"===g?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:null!==e.previous&&"animating"!==g?"translateY(100%)":"translateY(0)",opacity:+(null===e.previous||"animating"===g)},children:e.current})]})}function u({task:a,messages:d,connectionLost:e,onRetry:f,thinkingCountHint:g,onExpandThinking:o,thinkingLoading:p,provider:q}){let r=(0,c.useMemo)(()=>(function(a){let b=[];for(let c of a){let a=c.id||`seq-${c.seq}`;"text"===c.type?b.push({kind:"text",id:a,content:c.content}):"error"===c.type&&b.push({kind:"error",id:a,content:c.content||c.output})}return b})(d),[d]),v="completed"!==a.status&&"failed"!==a.status&&"cancelled"!==a.status&&"superseded"!==a.status,w=r.filter(a=>"text"===a.kind),x=r.filter(a=>"error"===a.kind),y=w.length>0?w[w.length-1]:null,z=(0,c.useRef)(null),A=(0,c.useRef)(!1);(0,c.useEffect)(()=>{v&&z.current&&(z.current.scrollTop=z.current.scrollHeight)},[w.length,v]);let B=v?w:w.slice(0,-1),C=!v&&null!==y,D=B.length>0||g&&g>0,E=B.length>0?B.length:g??0;return(0,b.jsxs)("div",{className:"space-y-3 min-w-0 max-w-full",children:[!o&&(0,b.jsx)("div",{className:"flex items-center gap-2",children:"running"===a.status?(0,b.jsxs)(h.Badge,{variant:"secondary",className:"gap-1.5 relative overflow-hidden",children:[(0,b.jsx)("span",{className:"size-1.5 rounded-full bg-primary animate-pulse"}),"Working",(0,b.jsx)("div",{className:"pointer-events-none absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite]",style:{background:"linear-gradient(90deg, transparent 0%, var(--shimmer) 40%, var(--shimmer-peak) 50%, var(--shimmer) 60%, transparent 100%)"}})]}):v?(0,b.jsxs)(h.Badge,{variant:"secondary",className:"relative overflow-hidden",children:[a.status,(0,b.jsx)("div",{className:"pointer-events-none absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite]",style:{background:"linear-gradient(90deg, transparent 0%, var(--shimmer) 40%, var(--shimmer-peak) 50%, var(--shimmer) 60%, transparent 100%)"}})]}):(0,b.jsx)(h.Badge,{variant:"secondary",children:a.status})}),D&&(0,b.jsxs)("details",{className:"group/midtext pl-1",open:!C&&!o||void 0,onToggle:a=>{a.currentTarget.open&&!A.current&&o&&(A.current=!0,o())},children:[(0,b.jsxs)("summary",{className:(0,i.cn)("flex items-center gap-1.5 py-1 cursor-pointer select-none","text-xs text-muted-foreground transition-colors duration-150","hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,b.jsx)(j.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/midtext:rotate-90"}),(0,b.jsxs)("span",{children:[(0,b.jsx)(t,{value:E})," thinking"]})]}),(0,b.jsxs)("div",{ref:z,className:"mt-1 pl-1",children:[p&&0===B.length&&(0,b.jsxs)("div",{className:"flex items-center gap-2 py-2 text-xs text-muted-foreground",children:[(0,b.jsx)(k.Loader2,{className:"size-3 animate-spin"}),(0,b.jsx)("span",{children:"Loading..."})]}),B.map(a=>(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 text-sm text-muted-foreground",children:(0,b.jsx)(l.Streamdown,{plugins:{mermaid:m.mermaid,cjk:n.cjk},controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:a.content})},a.id))]})]}),C&&!o&&(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,b.jsx)(l.Streamdown,{plugins:{mermaid:m.mermaid,cjk:n.cjk},controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:y.content})}),x.length>0&&(0,b.jsx)("div",{className:"space-y-1 mt-1",children:x.map(a=>(0,b.jsx)(s,{provider:q,message:a.content},a.id))}),"failed"===a.status&&a.error&&(0,b.jsx)("div",{className:"mt-2",children:(0,b.jsx)(s,{provider:q,message:a.error,onRetry:f})}),e&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground animate-pulse mt-1",children:"Connection lost — retrying..."})]})}var v=a.i(588339),w=a.i(562706),x=a.i(752792),y=a.i(831893),z=a.i(70813),A=a.i(452906),B=a.i(921584),C=a.i(25668),D=a.i(525132),E=a.i(540858),F=a.i(647651);let G=(0,F.default)("bed-double",[["path",{d:"M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8",key:"1k78r4"}],["path",{d:"M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4",key:"fb3tl2"}],["path",{d:"M12 4v6",key:"1dcgq2"}],["path",{d:"M2 18h20",key:"ajqnye"}]]);var H=a.i(510698),I=a.i(606896);let J=(0,F.default)("message-square-quote",[["path",{d:"M14 14a2 2 0 0 0 2-2V8h-2",key:"1r06pg"}],["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M8 14a2 2 0 0 0 2-2V8H8",key:"1jzu5j"}]]);var K=a.i(945081),L=a.i(546257),M=a.i(484573),N=a.i(518828);function O({skill:a,isSelected:c,onSelect:d}){return(0,b.jsxs)("button",{type:"button","data-slash-item":!0,className:(0,i.cn)("flex w-full flex-col gap-0.5 px-3 py-1.5 text-left text-sm transition-colors",c?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:b=>{b.preventDefault(),d(a)},children:[(0,b.jsxs)("span",{className:"flex w-full items-center gap-2",children:[(0,b.jsxs)("span",{className:"min-w-0 flex-1 truncate font-medium",children:["/",a.name]}),a.isGlobal&&(0,b.jsx)("span",{className:"shrink-0 rounded px-1 py-0.5 text-[10px] font-medium bg-muted text-muted-foreground",children:"Global"})]}),a.description&&(0,b.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:a.description.slice(0,80)})]})}function P({isOpen:a,skills:e,selectedIndex:f,onSelect:g,anchorPos:h}){let i=(0,c.useRef)(null);if((0,c.useEffect)(()=>{if(!i.current)return;let a=i.current.querySelectorAll("[data-slash-item]")[f];a?.scrollIntoView({block:"nearest"})},[f]),!a||0===e.length)return null;let j=h.left,k=Math.min(h.left,j);return(0,d.createPortal)((0,b.jsx)("div",{className:"fixed z-100 w-70 rounded-lg border border-border bg-popover text-popover-foreground shadow-md transition-opacity duration-150",style:{top:h.top-4,left:k,transform:"translateY(-100%)"},children:(0,b.jsx)("div",{ref:i,className:"max-h-60 overflow-y-auto py-1 thin-scrollbar",children:e.map((a,c)=>(0,b.jsx)(O,{skill:a,isSelected:c===f,onSelect:g},a.name))})}),document.body)}var Q=a.i(623789),R=a.i(892236),S=a.i(807820),T=a.i(717132);function U(a,b){if(!b)return a;let c=b.toLowerCase(),d=[],e=[];for(let b of a){let a=b.name.toLowerCase();a.startsWith(c)?d.push(b):a.includes(c)&&e.push(b)}return[...d,...e]}var V=a.i(388126);function W(a){return a.replaceAll("&lt;","<").replaceAll("&gt;",">").replaceAll("&amp;","&")}a.i(974936);var X=a.i(911509);let Y={items:[],selectedIndex:0,command:null,rect:null};function Z({state:a}){let e=(0,c.useRef)(null),{items:f,selectedIndex:g,command:h,rect:j}=a;if((0,c.useEffect)(()=>{if(!e.current)return;let a=e.current.children[g];a?.scrollIntoView({block:"nearest"})},[g]),!j||0===f.length||!h)return null;let k=j.left,l=Math.min(j.left,k);return(0,d.createPortal)((0,b.jsx)("div",{className:"fixed z-100 w-64 rounded-lg border border-border bg-popover text-popover-foreground shadow-md",style:{top:j.top-4,left:l,transform:"translateY(-100%)"},children:(0,b.jsx)("div",{ref:e,className:"max-h-50 overflow-y-auto py-1 thin-scrollbar",children:f.map((a,c)=>(0,b.jsxs)("button",{type:"button",className:(0,i.cn)("flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",c===g?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:b=>{b.preventDefault(),h({id:a.id,label:a.name})},children:[(0,b.jsx)("span",{className:"truncate font-medium",children:a.name}),a.email_handle&&(0,b.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:(0,X.toAlookAddress)(a.email_handle)})]},a.id))})}),document.body)}let $=(0,c.forwardRef)(function({value:a,onChange:d,onEditorState:e,onSend:f,placeholder:g,disabled:h,onMultiLineChange:i,onFiles:j,agents:k,agentLinks:l,currentAgentId:m,slashIsOpen:n,onSlashKeyDown:o},p){let[q,r]=(0,c.useState)(!1),[s,t]=(0,c.useState)(Y),u=(0,c.useRef)(s);(0,c.useEffect)(()=>{u.current=s},[s]);let v=(0,c.useRef)(k),w=(0,c.useRef)(l),x=(0,c.useRef)(m),y=(0,c.useRef)(f),z=(0,c.useRef)(e),A=(0,c.useRef)(d),B=(0,c.useRef)(j),C=(0,c.useRef)(n),D=(0,c.useRef)(o);(0,c.useEffect)(()=>{v.current=k},[k]),(0,c.useEffect)(()=>{w.current=l},[l]),(0,c.useEffect)(()=>{x.current=m},[m]),(0,c.useEffect)(()=>{y.current=f},[f]),(0,c.useEffect)(()=>{z.current=e},[e]),(0,c.useEffect)(()=>{A.current=d},[d]),(0,c.useEffect)(()=>{B.current=j},[j]),(0,c.useEffect)(()=>{C.current=n},[n]),(0,c.useEffect)(()=>{D.current=o},[o]);let E=a=>{z.current(a.getText(),a.state.selection.from-1)},[F]=(0,c.useState)(()=>V.default.extend({markdownName:"mention",renderMarkdown:a=>`@${a.attrs.label??a.attrs.id}`}).configure({HTMLAttributes:{class:"mention-highlight"},renderText:({node:a})=>`@${a.attrs.label??a.attrs.id}`,suggestion:{char:"@",items:({query:a})=>(function(a,b,c,d,e=20){let f=function(a,b){let c=new Set;for(let d of a)d.source_agent_id===b&&c.add(d.target_agent_id),d.target_agent_id===b&&c.add(d.source_agent_id);return c}(b,c),g=[],h=[];for(let b of a)f.has(b.id)?g.push(b):h.push(b);return[...U(g,d),...U(h,d)].slice(0,e)})(v.current,w.current,x.current,a),render:()=>({onStart:a=>{t({items:a.items??[],selectedIndex:0,command:a.command,rect:a.clientRect?.()??null})},onUpdate:a=>{t(b=>({items:a.items??[],selectedIndex:b.selectedIndex<(a.items?.length??0)?b.selectedIndex:0,command:a.command,rect:a.clientRect?.()??null}))},onKeyDown:({event:a})=>{if(a.isComposing)return!1;let b=u.current;if(0===b.items.length)return!1;if("ArrowDown"===a.key)return a.preventDefault(),t(a=>({...a,selectedIndex:(a.selectedIndex+1)%a.items.length})),!0;if("ArrowUp"===a.key)return a.preventDefault(),t(a=>({...a,selectedIndex:(a.selectedIndex-1+a.items.length)%a.items.length})),!0;if("Enter"===a.key){a.preventDefault();let c=b.items[b.selectedIndex];return c&&b.command&&b.command({id:c.id,label:c.name}),t(Y),!0}return"Escape"===a.key&&(t(Y),!0)},onExit:()=>t(Y)})}})),G=(0,Q.useEditor)({immediatelyRender:!1,content:a?a.replaceAll("\n","<br>"):void 0,editable:!h,extensions:[R.default.configure({heading:!1,blockquote:!1,codeBlock:!1,horizontalRule:!1,bold:!1,italic:!1,strike:!1,code:!1,link:!1,bulletList:!1,orderedList:!1,listItem:!1,listKeymap:!1}),S.default.configure({placeholder:g??""}),T.Markdown,F],editorProps:{attributes:{class:"outline-none",enterkeyhint:"send"},handleKeyDown:(a,b)=>(!(u.current.items.length>0)||null===u.current.command)&&(!!(C.current&&D.current({key:b.key,isComposing:b.isComposing,preventDefault:()=>b.preventDefault()}))||"Enter"===b.key&&!b.shiftKey&&!b.isComposing&&!C.current&&(b.preventDefault(),y.current(),!0)),handlePaste:(a,b)=>{let c=b.clipboardData?.items;if(!c)return!1;let d=[];for(let a=0;a<c.length;a++)if("file"===c[a].kind){let b=c[a].getAsFile();b&&d.push(b)}if(d.length>0)return b.preventDefault(),B.current?.(d),!0;let e=b.clipboardData?.getData("text/plain");return!!e&&(b.preventDefault(),a.dispatch(a.state.tr.insertText(e)),!0)},handleDrop:()=>!1},onFocus:()=>r(!0),onBlur:()=>r(!1),onUpdate:({editor:a})=>{A.current(W(a.getMarkdown())),E(a)},onSelectionUpdate:({editor:a})=>{E(a)}});(0,c.useEffect)(()=>{G?.setEditable(!h)},[G,h]),(0,c.useEffect)(()=>{if(!G)return;let b=(a||"").trim();b!==W(G.getMarkdown()||"").trim()&&(b?G.commands.setContent((a||"").replaceAll("\n","<br>"),{emitUpdate:!1}):G.commands.clearContent(),z.current(G.getText(),G.state.selection.from-1))},[a,G]);let H=(0,c.useRef)(null);return(0,c.useEffect)(()=>{if(!G||!i)return;let a=H.current?.querySelector(".ProseMirror");if(!a)return;let b=()=>i(a.scrollHeight>32);b();let c=new ResizeObserver(b);return c.observe(a),()=>c.disconnect()},[G,i]),(0,c.useEffect)(()=>{},[H,q]),(0,c.useImperativeHandle)(p,()=>({focus:()=>G?.commands.focus(),clear:()=>G?.commands.clearContent(),isEmpty:()=>G?.isEmpty??!0,coordsAtTextIndex:a=>{if(!G)return null;try{let b=G.view.coordsAtPos(a+1);return{top:b.top,left:b.left}}catch{return null}}}),[G]),(0,b.jsxs)("div",{ref:H,className:"chat-composer relative",children:[(0,b.jsx)(Q.EditorContent,{editor:G,className:"max-h-44 overflow-y-auto thin-scrollbar pr-2 text-base chat-input-line-height"}),(0,b.jsx)(Z,{state:s})]})});var _=a.i(207461),aa=a.i(596174),ab=a.i(7455),ac=a.i(390759),ad=a.i(135510);function ae({open:a,onOpenChange:d,emailId:e,workspaceId:f}){let[h,i]=(0,c.useState)(null),[j,l]=(0,c.useState)(null),[m,n]=(0,c.useState)(!1),{width:o,onPointerDown:p,onPointerMove:q,onPointerUp:r}=(0,aa.useSheetResize)({defaultWidth:500,minWidth:320,maxWidthRatio:.8}),s=(0,c.useRef)(d);(0,c.useEffect)(()=>{s.current=d}),(0,c.useEffect)(()=>{a&&e&&(n(!0),i(null),l(null),Promise.all([(0,v.getEmail)(e,f),(0,v.getEmailBody)(e,f)]).then(([a,b])=>{i(a),l(b)}).catch(()=>{B.toast.error("Email not found"),s.current(!1)}).finally(()=>n(!1)))},[a,e,f]);let t=a=>{d(a),a||setTimeout(()=>{i(null),l(null)},300)};return(0,b.jsx)(ab.Sheet,{open:a,onOpenChange:t,children:(0,b.jsxs)(ab.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${o}px, 100vw)`,maxWidth:"none"},className:"data-[side=right]:sm:inset-y-2 data-[side=right]:sm:right-2 data-[side=right]:sm:h-auto data-[side=right]:sm:rounded-xl data-[side=right]:sm:border",children:[(0,b.jsx)(aa.SheetResizeHandle,{onPointerDown:p,onPointerMove:q,onPointerUp:r}),(0,b.jsx)(ab.SheetHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(I.Mail,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsx)(ab.SheetTitle,{className:"truncate flex-1",children:m?"Loading...":h?.subject||"Email"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>t(!1),children:(0,b.jsx)(N.X,{className:"h-4 w-4"})})]})}),(0,b.jsx)(ab.SheetBody,{className:"flex-1 overflow-y-auto thin-scrollbar",children:m?(0,b.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,b.jsx)(k.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):h?(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"text-sm space-y-1 border-b pb-3",children:[(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"From:"}),(0,b.jsx)("span",{className:"truncate",children:h.from_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"To:"}),(0,b.jsx)("span",{className:"truncate",children:h.to_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Date:"}),(0,b.jsx)("span",{children:new Date(h.created_at).toLocaleString()})]})]}),j?.isHtml?(0,b.jsx)(ad.EmailBodyFrame,{html:j.content,className:"max-w-full"}):(0,b.jsx)("pre",{className:"whitespace-pre-wrap text-sm font-mono",children:j?.content}),h.attachments&&h.attachments.length>0&&(0,b.jsxs)("div",{className:"border-t pt-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mb-2 text-xs text-muted-foreground",children:[(0,b.jsx)(L.Paperclip,{className:"size-3"}),h.attachments.length," attachment",h.attachments.length>1?"s":""]}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:h.attachments.map((a,c)=>(0,b.jsxs)("a",{href:`/api/email/${h.id}/attachment/${c}?workspace_id=${f}`,target:"_blank",rel:"noopener noreferrer",download:a.filename,className:"flex items-center gap-1.5 rounded-md border border-border/50 bg-muted/50 px-2.5 py-1.5 text-xs hover:bg-muted transition-colors cursor-pointer",children:[(0,b.jsx)(ac.File,{className:"size-3 text-muted-foreground shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-45",children:a.filename}),(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:a.size<1024?`${a.size} B`:a.size<1048576?`${(a.size/1024).toFixed(1)} KB`:`${(a.size/1048576).toFixed(1)} MB`})]},a.key))})]})]}):null})]})})}var af=a.i(276163),ag=a.i(963744),ah=a.i(698824);function ai({bufferedMessages:a,onDelete:d}){let[e,f]=(0,c.useState)(!1),g=a.length;if(0===g)return null;let h=Math.min(g,3);return(0,b.jsx)("div",{className:"relative px-5 pb-1",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl flex justify-center",children:(0,b.jsxs)("div",{className:"relative w-full max-w-lg transition-[height] duration-200 ease-out",style:{height:e?32*g+(g-1)*4:32+(h-1)*6},onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),children:[a.map((a,c)=>{var f;let j=g-1-c,k=c>=g-h;return(0,b.jsx)("div",{className:"absolute right-0 left-0 transition-all duration-200 ease-out",style:{height:32,zIndex:c+1,bottom:e?36*j:k?6*j:0,transform:e?"scale(1)":`scale(${k?1-.03*j:.91})`,opacity:e?1:k?1-.2*j:0,pointerEvents:e||k?"auto":"none"},children:(0,b.jsxs)("div",{className:"h-full rounded-lg border bg-background/95 backdrop-blur-sm shadow-sm flex items-center gap-2 px-3",children:[(0,b.jsx)("span",{className:"shrink-0 text-[11px] text-primary/60 tabular-nums w-4 text-center",children:c+1}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-[13px] text-muted-foreground leading-snug truncate",children:(f=a.content).length<=80?f:f.slice(0,80).trimEnd()+"…"}),a.attachment_ids&&a.attachment_ids.length>0&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5 shrink-0 text-[11px] text-muted-foreground/50",children:[(0,b.jsx)(L.Paperclip,{className:"size-2.5"}),a.attachment_ids.length]})]}),(0,b.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a.id)},className:(0,i.cn)("shrink-0 rounded-sm p-0.5 transition-all duration-150","text-muted-foreground/30 hover:text-foreground hover:bg-muted",e?"opacity-100":"opacity-0"),tabIndex:e?0:-1,children:(0,b.jsx)(N.X,{className:"size-3"})})]})},a.id)}),!e&&g>h&&(0,b.jsxs)("span",{className:"absolute -top-4 right-1 text-[10px] text-muted-foreground/40 tabular-nums",children:["+",g-h," more"]})]})})})}var aj=a.i(389660);function ak(a,b){if(b>=a.length)return!0;let c=a.charCodeAt(b);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}function al(a,b){if(!a||0===b.length||!a.includes("@"))return a;let c=b.slice().sort((a,b)=>b.name.length-a.name.length),d=[];for(let b=0;b<a.length;b++){if("@"!==a[b]||!function(a,b){if(0===b)return!0;let c=a.charCodeAt(b-1);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}(a,b))continue;let e=b+1;for(let f of c){let c=e+f.name.length;if(c>a.length||a.slice(e,c).toLowerCase()!==f.name.toLowerCase())continue;let g=c,h=a.slice(c).match(/^ \([a-zA-Z0-9-]+@alook\.ai\)/);if(h&&(g=c+h[0].length),(h||ak(a,c))&&(!h||ak(a,g))){if(d.some(a=>b>=a.start&&b<a.end))break;d.push({start:b,end:c,name:f.name,agentId:f.id});break}}}let e=a;for(let a=d.length-1;a>=0;a--){let b=d[a],c=e.slice(b.start,b.end);e=e.slice(0,b.start)+`<mention data-agent-id="${b.agentId}">${c}</mention>`+e.slice(b.end)}return e}let am={id:"",agent_id:"",runtime_id:"",conversation_id:"",workspace_id:"",prompt:"",status:"completed",priority:0,dispatched_at:null,started_at:null,completed_at:null,result:null,error:null,created_at:"",type:""};function an({taskId:a,thinkingCount:d,workspaceId:e,provider:f}){let[g,h]=(0,c.useState)([]),[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(!1),m=(0,c.useCallback)(async()=>{if(!k&&!i){j(!0);try{let b=await (0,v.getTaskMessages)(a,e);h(b)}catch{h([])}finally{j(!1),l(!0)}}},[k,i,a,e]);return(0,b.jsx)(u,{task:am,messages:g,thinkingCountHint:d,onExpandThinking:m,thinkingLoading:i,provider:f})}var ao=a.i(560893),ap=a.i(307992);let aq=(0,F.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]);a.s(["Flag",0,aq],40924);var ar=a.i(584126),as=a.i(549931);let at={mention:["data-agent-id"]},au=["mention"];function av({content:a,conversationType:c}){let d=aD(a,c),e="h-4 w-4 mt-0.5 shrink-0";return"issue"===d?(0,b.jsx)(ap.CircleDot,{className:e}):"email"===d?(0,b.jsx)(I.Mail,{className:e}):(0,b.jsx)(ao.Calendar,{className:e})}function aw({attachmentIds:a,artifacts:c,onArtifactClick:d}){let e=a.map(a=>c.find(b=>b.id===a)).filter(a=>!!a);return 0===e.length?null:(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:e.map(a=>(0,b.jsxs)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a)},className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80 hover:bg-primary-foreground/20 transition-colors cursor-pointer",children:[(0,b.jsx)(H.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.filename})]},a.id))})}function ax({pendingFiles:a,messageId:c}){let d=a.get(c);return d&&0!==d.length?(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:d.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80",children:[(0,b.jsx)(H.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.name})]},c))}):null}let ay={solo:"rounded-2xl",first:"rounded-tl-2xl rounded-tr-2xl rounded-bl-2xl rounded-br-md",middle:"rounded-tl-2xl rounded-tr-md rounded-bl-2xl rounded-br-md",last:"rounded-tl-2xl rounded-tr-md rounded-bl-2xl rounded-br-2xl"},az=(0,c.memo)(function({msg:a,agents:d,artifacts:e,activeTask:f,taskMessages:h,connectionLost:j,isLastMessage:k,thinkingCount:o,targetConvId:p,workspaceId:q,conversationType:r,pendingFilesByMessage:t,onArtifactClick:v,onEmailClick:w,onIssueClick:x,onCalendarEventClick:y,onRetry:z,mentionComponents:A,isFlagged:C,onToggleFlag:E,groupPosition:F="solo",provider:G}){let H,I,J,K,L,M,N,{copy:O,copied:P}=function(a=2e3){let[b,d]=(0,c.useState)(!1),e=(0,c.useRef)(void 0),f=(0,c.useCallback)(async b=>{try{return await navigator.clipboard.writeText(b),d(!0),clearTimeout(e.current),e.current=setTimeout(()=>d(!1),a),!0}catch{return!1}},[a]);return(0,c.useEffect)(()=>()=>clearTimeout(e.current),[]),{copy:f,copied:b}}(),Q=f&&"assistant"===a.role&&a.task_id===f.id&&a.conversation_id===f.conversation_id&&h.length>0,R=Q&&f&&["completed","failed","cancelled","superseded"].includes(f.status),S="assistant"===a.role?(0,b.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[(0,b.jsxs)(D.Tooltip,{children:[(0,b.jsx)(D.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs","aria-label":P?"Copied":"Copy message",onClick:async b=>{b.stopPropagation(),await O(a.content)?B.toast.success("Copied to clipboard"):B.toast.error("Failed to copy")},className:(0,i.cn)("self-start mb-1",P?"text-green-500 opacity-100":"text-muted-foreground md:opacity-0 md:group-hover/msg:opacity-100")}),children:P?(0,b.jsx)(as.Check,{className:"size-3.5"}):(0,b.jsx)(ar.Copy,{className:"size-3.5"})}),(0,b.jsx)(D.TooltipContent,{children:P?"Copied":"Copy"})]}),E&&(0,b.jsxs)(D.Tooltip,{children:[(0,b.jsx)(D.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",onClick:()=>E(a.id),className:(0,i.cn)("self-start mb-1",C?"text-primary opacity-100":"text-muted-foreground md:opacity-0 md:group-hover/msg:opacity-100")}),children:(0,b.jsx)(aq,{className:(0,i.cn)("size-3.5",C&&"fill-current")})}),(0,b.jsx)(D.TooltipContent,{children:C?"Unflag":"Flag"})]})]}):null;return(0,b.jsxs)(c.default.Fragment,{children:[Q&&(0,b.jsxs)("div",{className:(0,i.cn)("group/msg",C&&"bg-muted/30 rounded-lg px-2 -mx-2"),...R?{"data-quote-source":!0}:{},children:[(0,b.jsx)(u,{task:f,messages:h,connectionLost:j,onRetry:z,provider:G}),R&&S]}),"user"===a.role?(H=k&&!!f&&"running"!==f.status&&!["completed","failed","cancelled","superseded"].includes(f.status),I=a.content.match(/^\/(\S+)\s?([\s\S]*)$/),J=I?.[1]??null,K=I?I[2]||"":a.content,(0,b.jsx)("div",{className:"flex justify-end","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsxs)("div",{className:(0,i.cn)("max-w-[80%] px-4 py-2 bg-primary text-primary-foreground text-base relative",ay[F]),children:[H&&(0,b.jsx)("div",{className:(0,i.cn)("absolute inset-0 animate-pulse pointer-events-none",ay[F]),style:{boxShadow:"0 0 0 2px var(--bubble-glow)"}}),J&&(0,b.jsxs)("span",{className:"inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium bg-primary-foreground/15 text-primary-foreground mb-1",children:["/",J]}),K&&(0,b.jsx)("div",{className:"markdown markdown-user",children:(0,b.jsx)(l.Streamdown,{plugins:{mermaid:m.mermaid,cjk:n.cjk},controls:{code:{copy:!0,download:!1},table:{copy:!1,download:!1,fullscreen:!1}},linkSafety:{enabled:!1},allowedTags:at,literalTagContent:au,components:A,children:al(K,d)})}),a.attachment_ids&&a.attachment_ids.length>0&&(0,b.jsx)(aw,{attachmentIds:a.attachment_ids,artifacts:e,onArtifactClick:v}),!a.attachment_ids&&(0,b.jsx)(ax,{pendingFiles:t,messageId:a.id})]})})):"event"===a.role?(L=a.metadata?.emailId,M=a.metadata?.issueId,N=a.metadata?.calendarEventId,(0,b.jsx)("div",{className:"flex justify-start","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsxs)("div",{className:(0,i.cn)("w-full rounded-md border bg-muted/50 text-muted-foreground text-sm px-3 py-2 flex items-start gap-2",(!!L||!!M||!!N)&&"cursor-pointer hover:bg-muted transition-colors"),onClick:L?()=>w(L):M?()=>x(M):N?()=>y(N):void 0,children:[(0,b.jsx)(av,{content:a.content,conversationType:r}),(0,b.jsx)("span",{className:"min-w-0 wrap-anywhere",children:a.content})]})})):Q?null:(0,b.jsxs)("div",{className:(0,i.cn)("group/msg flex flex-col justify-start min-w-0 overflow-x-clip",C&&"bg-muted/30 rounded-lg px-2 -mx-2"),"data-message-id":a.id,"data-quote-source":!0,...a.task_id?{"data-task-id":a.task_id}:{},children:[p&&"assistant"===a.role&&a.task_id&&o>1&&(0,b.jsx)(an,{taskId:a.task_id,thinkingCount:o-1,workspaceId:q,provider:G}),a.metadata?.error_source==="runtime"?(0,b.jsx)("div",{className:"px-1 py-1",children:(0,b.jsx)(s,{provider:a.metadata.provider??G,message:a.content})}):(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,b.jsx)(l.Streamdown,{plugins:{mermaid:m.mermaid,cjk:n.cjk},controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},allowedTags:at,literalTagContent:au,components:A,children:al(a.content,d)})}),S]})]})});var aA=a.i(781418),aB=a.i(722393);let aC={mention:function(a){let{children:c,...d}=a,{agents:e}=(0,x.useAgentContext)(),f=d["data-agent-id"]??d.dataAgentId,g=f?e.find(a=>a.id===f):void 0;if(!g&&"string"==typeof c){let a=c.startsWith("@")?c.slice(1):c;g=e.find(b=>b.name.toLowerCase()===a.toLowerCase())}return g?(0,b.jsxs)(aB.Popover,{children:[(0,b.jsx)(aB.PopoverTrigger,{openOnHover:!0,delay:300,nativeButton:!1,render:(0,b.jsx)("span",{className:"mention-highlight cursor-pointer"}),children:c}),(0,b.jsx)(aB.PopoverContent,{side:"top",className:"w-fit max-w-80",children:(0,b.jsx)(aA.AgentPreviewCard,{agent:g})})]}):(0,b.jsx)("span",{className:"mention-highlight",children:c})},p:({children:a,node:c,...d})=>(0,b.jsx)("div",{"data-md-p":"",...d,children:a})};function aD(a,b){if("issue_event"===b)return"issue";if("email_notification"===b)return"email";if("calendar_event"===b)return"calendar";let c=a.toLowerCase();return c.startsWith("issue ")||c.startsWith("issue:")?"issue":c.includes("email")?"email":"calendar"}function aE(a){return a.slice().sort((a,b)=>{let c=a.created_at.localeCompare(b.created_at);return 0!==c?c:a.id.localeCompare(b.id)})}function aF(a,b){let c=new Map;for(let b of a)c.set(b.id,b);for(let a of b)c.set(a.id,a);return aE([...c.values()])}function aG(a){let b=[],c=[],d=!1;for(let e of a)"message"===e.kind&&"user"===e.data.role?(d=!0,b.push(e)):"message"===e.kind&&"assistant"===e.data.role?(b.push(e),b.push(...c),c=[],d=!1):d&&"artifact"===e.kind?c.push(e):b.push(e);return b.push(...c),b}function aH(a){let b=(0,c.useRef)(a);return(0,c.useEffect)(()=>{b.current=a},[a]),b}function aI({agentName:a}){return(0,b.jsxs)("div",{className:"flex items-center gap-3 py-4 select-none","aria-hidden":!0,children:[(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground/60 whitespace-nowrap",children:[a," took a nap 💤"]}),(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"})]})}function aJ({artifact:a,version:c,hasDuplicates:d,onClick:e}){return(0,b.jsxs)("button",{onClick:()=>e(a),className:(0,i.cn)("flex items-center gap-3 w-full max-w-sm rounded-lg border border-border/60 bg-muted/30","px-3.5 py-2.5 text-left transition-colors duration-150","hover:bg-muted/60 hover:border-border"),children:[(0,b.jsx)(H.FileText,{className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("p",{className:"text-sm font-medium truncate",children:[a.filename,d&&(0,b.jsxs)("span",{className:"ml-1.5 text-xs text-muted-foreground bg-muted rounded-full px-1.5 py-0.5 font-normal",children:["v",c]})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:(0,_.formatSize)(a.size)})]})]})}function aK({agentId:a,targetConvId:h,scrollToTaskId:j,scrollToMessageId:l}){let m,n,o,p=(0,e.useParams)(),q=(0,e.useSearchParams)(),{workspaceId:r,slug:s}=(0,f.useWorkspace)(),{agents:t,runtimes:F,agentLinks:O,activeTaskCounts:Q,subscribeWs:R,subscribeReconnect:S}=(0,x.useAgentContext)(),{refresh:T}=(0,y.useInboxCount)(),{activeChannel:U,loading:V,setAgentId:W}=(0,A.useChannel)(),X=a??p.id,Y=t.find(a=>a.id===X),Z=Y?.runtime_id?F.find(a=>a.id===Y.runtime_id):null,aa=Z?.provider??null,ab=void 0!==j?j:q.get("task"),ac=void 0!==l?l:q.get("msg"),ad=void 0!==h?h:q.get("conv"),[ak,al]=(0,c.useState)(null),[am,an]=(0,c.useState)([]),[ao,ap]=(0,c.useState)(()=>""),[aq,ar]=(0,c.useState)(!1),[as,at]=(0,c.useState)(!1),[au,av]=(0,c.useState)(null),[aw,ax]=(0,c.useState)([]),[ay,aA]=(0,c.useState)(!0),[aD,aL]=(0,c.useState)(!1),[aM,aN]=(0,c.useState)(!1),[aO,aP]=(0,c.useState)(!1),[aQ,aR]=(0,c.useState)([]),[aS,aT]=(0,c.useState)(!1),[aU,aV]=(0,c.useState)(null),[aW,aX]=(0,c.useState)(!1),[aY,aZ]=(0,c.useState)(null),[a$,a_]=(0,c.useState)(!1),[a0,a1]=(0,c.useState)(null),[a2,a3]=(0,c.useState)(!1),[a4,a5]=(0,c.useState)(null),[a6,a7]=(0,c.useState)(null),[a8,a9]=(0,c.useState)(!1),[ba,bb]=(0,c.useState)(null),[bc,bd]=(0,c.useState)(null),[be,bf]=(0,c.useState)([]),[bg,bh]=(0,c.useState)([]),[bi,bj]=(0,c.useState)(null),[bk,bl]=(0,c.useState)([]),[bm,bn]=(0,c.useState)(!1),[bo,bp]=(0,c.useState)([]),[bq,br]=(0,c.useState)({}),[bs]=(0,c.useState)(()=>Date.now()),[bt,bu]=(0,c.useState)(()=>new Map),[bv,bw]=(0,c.useState)(()=>null),[bx,by]=(0,c.useState)(!1),[bz,bA]=(0,c.useState)(null),[bB,bC]=(0,c.useState)(new Set),bD=(0,c.useRef)(bB);(0,c.useEffect)(()=>{bD.current=bB});let{increment:bE,decrement:bF,refresh:bG}=(0,z.useFlagCount)(),{writeToCache:bH}=function(a,b){let[d,e]=(0,c.useState)(null),[f,g]=(0,c.useState)(!1),h=(0,c.useRef)(a);return(0,c.useEffect)(()=>{if(h.current=a,!a||!b){e(null),g(!1);return}(0,w.openCacheDB)(b);let c=!1;return(0,w.getCachedMessages)(a,b).then(b=>{c||h.current!==a||(b&&b.length>0?(e(b),g(!0)):(e(null),g(!1)))}),()=>{c=!0}},[a,b]),{cachedMessages:d,isFromCache:f,writeToCache:(0,c.useCallback)(async(a,c,d)=>{h.current&&b&&await (0,w.mergeCachedMessages)(h.current,a,c,b,d)},[b])}}(ad??null,r),bI=(0,c.useRef)(bH);(0,c.useEffect)(()=>{bI.current=bH},[bH]),(0,c.useEffect)(()=>{W(X)},[X,W]);let bJ=(0,c.useMemo)(()=>aQ.filter(a=>"agent"===a.source),[aQ]),{versionMap:bK,duplicateFilenames:bL}=(0,c.useMemo)(()=>(0,ah.computeArtifactVersions)(bJ),[bJ]),bM=(0,c.useMemo)(()=>(function(a,b,c,d){if(!d||0===c.length){let d=[...a.map(a=>({kind:"message",data:a})),...b.map(a=>({kind:"artifact",data:a})),...c.map(a=>({kind:"nap",data:a}))];return d.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);if(0!==c)return c;if("nap"===a.kind||"nap"===b.kind){if("nap"===a.kind&&"nap"!==b.kind)return 1;if("nap"!==a.kind&&"nap"===b.kind)return -1}return a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)}),aG(d)}let e=new Set(c.map(a=>a.id.replace(/^nap-/,""))),f=[...c].sort((a,b)=>a.created_at.localeCompare(b.created_at)),g=c=>aG([...a.filter(a=>a.conversation_id===c).map(a=>({kind:"message",data:a})),...b.filter(a=>a.conversation_id===c).map(a=>({kind:"artifact",data:a}))].sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)})),h=[];for(let a of f){let b=a.id.replace(/^nap-/,"");h.push(...g(b)),h.push({kind:"nap",data:a})}h.push(...g(d));let i=new Set([...e,d]),j=a.filter(a=>!i.has(a.conversation_id)),k=b.filter(a=>!i.has(a.conversation_id));if(j.length>0||k.length>0){let a=[...j.map(a=>({kind:"message",data:a})),...k.map(a=>({kind:"artifact",data:a}))];a.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)});let b=aG(a),c=h.findIndex(a=>"nap"===a.kind);c>=0?h.splice(c,0,...b):h.push(...b)}return h})(am,bJ,bo,ak?.id),[am,bJ,bo,ak?.id]),bN=(0,c.useMemo)(()=>(function(a){let b=Array(a.length).fill(null),c=a=>"user"===a.role||"assistant"===a.role;for(let d=0;d<a.length;d++){let e=a[d];if("message"!==e.kind)continue;let f=e.data;if(!c(f))continue;let g=d>0?a[d-1]:null,h=d<a.length-1?a[d+1]:null,i=g?.kind==="message"&&c(g.data)&&g.data.role===f.role&&(!f.created_at||!g.data.created_at||6e4>Math.abs(new Date(f.created_at).getTime()-new Date(g.data.created_at).getTime())),j=h?.kind==="message"&&c(h.data)&&h.data.role===f.role&&(!f.created_at||!h.data.created_at||6e4>Math.abs(new Date(h.data.created_at).getTime()-new Date(f.created_at).getTime()));i&&j?b[d]="middle":i&&!j?b[d]="last":!i&&j?b[d]="first":b[d]="solo"}return b})(bM),[bM]),bO=(0,c.useCallback)(a=>{(0,ah.isPreviewable)(a)?(aV(a),aT(!0)):window.open((0,ah.getArtifactUrl)(a.id,r,!0),"_blank")},[r]),bP=(0,c.useCallback)(a=>{(0,ah.isPreviewable)(a)?(aV(a),aT(!0)):window.open((0,ah.getArtifactUrl)(a.id,r,!0),"_blank")},[r]),bQ=(0,c.useRef)(null),bR=(0,c.useRef)(null),bS=(0,c.useRef)(null),bT=(0,c.useRef)(null),bU=(0,c.useRef)(0),bV=(0,c.useRef)(0),bW=(0,c.useRef)(!1),bX=(0,c.useRef)(!1),bY=(0,c.useRef)(!0),bZ=(0,c.useRef)(!1),b$=(0,c.useRef)(null),b_=(0,c.useRef)(null),b0=(0,c.useRef)(0),b1=(0,c.useRef)(void 0),b2=(0,c.useRef)(null),b3=(0,c.useRef)({completedKey:null}),b4=(0,c.useRef)(null),b5=(0,c.useRef)(null),[b6,b7]=(0,c.useState)(""),b8=(0,c.useMemo)(()=>t.filter(a=>a.id!==X),[t,X]),[b9,ca]=(0,c.useState)([]),cb=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let a=!1;return(0,v.getAgentSkills)(X,r).then(b=>{a||ca(b.skills)}).catch(()=>{}),()=>{a=!0}},[X,r]);let[cc]=(0,c.useState)(()=>null),cd=function({input:a,caretIndex:b,skills:d,onInputChange:e,initialActiveSkill:f,getAnchorPos:g,onAfterSelect:h}){let[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(""),[m,n]=(0,c.useState)(0),[o,p]=(0,c.useState)({top:0,left:0}),q=(0,c.useRef)(null),r=(0,c.useMemo)(()=>{if(!i)return[];if(!k)return d;let a=k.toLowerCase(),b=[],c=[];for(let e of d){let d=e.name.toLowerCase();d.startsWith(a)?b.push(e):d.includes(a)&&c.push(e)}return[...b,...c]},[i,k,d]);(0,c.useEffect)(()=>{n(0)},[r.length,k]);let[s,t]=(0,c.useState)(f??null);(0,c.useEffect)(()=>{if(s||null===b)return void j(!1);let c=function(a,b){if(!a.startsWith("/")||0===b)return null;let c=b-1;for(;c>=0&&b-c<=30;){let d=a.charCodeAt(c);if(47===d&&0===c)return{start:0,query:a.slice(1,b)};if(10===d||13===d||32===d)break;c--}return null}(a,b);if(c){q.current=c.start,l(c.query),j(!0);let a=g(c.start);a&&p(a)}else j(!1),q.current=null},[a,b,g,s]);let u=(0,c.useCallback)(a=>{t(a),e(""),j(!1),h?.()},[e,h]),v=(0,c.useCallback)(()=>{t(null)},[]),w=(0,c.useCallback)(a=>!!i&&0!==r.length&&!a.isComposing&&("ArrowDown"===a.key?(a.preventDefault(),n(a=>(a+1)%r.length),!0):"ArrowUp"===a.key?(a.preventDefault(),n(a=>(a-1+r.length)%r.length),!0):"Enter"===a.key||"Tab"===a.key?(a.preventDefault(),u(r[m]),!0):"Escape"===a.key&&(a.preventDefault(),j(!1),!0)),[i,r,m,u]);return{isOpen:i,query:k,selectedIndex:m,anchorPos:o,skills:r,activeSkill:s,handleSlashKeyDown:w,selectSkill:u,clearActiveSkill:v,setActiveSkill:t}}({input:b6,caretIndex:bi,skills:b9,onInputChange:()=>b5.current?.clear(),initialActiveSkill:cc,getAnchorPos:(0,c.useCallback)(a=>b5.current?.coordsAtTextIndex(a)??null,[]),onAfterSelect:(0,c.useCallback)(()=>{requestAnimationFrame(()=>b5.current?.focus())},[])});(0,c.useEffect)(()=>{0===b9.length||!cd.activeSkill||b9.some(a=>a.name===cd.activeSkill.name)||cd.setActiveSkill(null)},[b9]),(0,c.useEffect)(()=>{let a=`chat-draft:${X}:${ad??"default"}`;ao?localStorage.setItem(a,ao):localStorage.removeItem(a)},[ao,X,ad]),(0,c.useEffect)(()=>{if(!cb.current)return;let a=`chat-draft-meta:${X}:${ad??"default"}`,b={};cd.activeSkill&&(b.skill={name:cd.activeSkill.name,description:cd.activeSkill.description}),bv&&(b.quote=bv),b.skill||b.quote?localStorage.setItem(a,JSON.stringify(b)):localStorage.removeItem(a)},[cd.activeSkill,bv,X,ad]),(0,c.useEffect)(()=>{aq||b5.current?.focus()},[aq]);let ce=(0,c.useCallback)(()=>{bY.current=!0,setTimeout(()=>{bQ.current?.scrollTo({top:bQ.current.scrollHeight,behavior:"smooth"})},50)},[]);(0,c.useEffect)(()=>{var a,b;if(!ad&&V)return;let c=(a={workspaceId:r,agentId:X,targetConvId:ad,scrollToTaskId:ab}).targetConvId?`${a.workspaceId}::${a.agentId}::${a.targetConvId}::${a.scrollToTaskId??""}`:null;if(b=b3.current,c&&b.completedKey===c||(b.completedKey=null,0))return;bR.current&&clearInterval(bR.current),bR.current=null,bT.current=null,b2.current=null;let d=!1;aA(!0),bW.current=!1,av(null),ax([]),bh([]),bu(new Map),bp([]),br({}),bl([]),bn(!1),b_.current=null,ap(localStorage.getItem(`chat-draft:${X}:${ad??"default"}`)??"");let e=localStorage.getItem(`chat-draft-meta:${X}:${ad??"default"}`);if(e)try{let a=JSON.parse(e);bw(a.quote??null),cd.setActiveSkill(a.skill?a.skill:null)}catch{bw(null),cd.setActiveSkill(null)}else bw(null),cd.setActiveSkill(null);async function f(a){let b=await (0,w.getCacheMeta)(a,r);if(b?.newestMessageId){let c=await (0,w.getCachedMessages)(a,r);if(d)return{painted:!1,cacheMeta:b};if(c&&c.length>0)return an(c),aN(b.hasMore),aA(!1),{painted:!0,cacheMeta:b}}return{painted:!1,cacheMeta:b}}return cb.current=!0,an([]),async function(){let a=!1;try{let b=null,c=null,e=null;if(ad){b=ad;let e=await f(b);if(d)return;c=e.cacheMeta,a=e.painted}else{let g=await (0,w.getLastOpenConversation)(X,U,r);if(d)return;if(g?.conversation_id&&g.serverMessageCount>0){let b=await f(g.conversation_id);if(d)return;b.painted&&(a=!0,e=g.conversation_id,c=b.cacheMeta)}try{let g=await (0,v.checkFreshness)({agentId:X,channel:U},r);if(d)return;if(b=g.conversation_id,e&&b!==e){bW.current=!1,bY.current=!0;let e=await f(b);if(d)return;c=e.cacheMeta,a=e.painted,e.painted||(an([]),aA(!0))}else if(!e){let e=await f(b);if(d)return;c=e.cacheMeta,a=e.painted}}catch{}}if(b){b2.current=b;let e=await (0,v.conversationInit)(b,r,{newestMessageId:c?.newestMessageId??void 0,messageCount:c?.serverMessageCount||void 0});if(d)return;if(al(e.conversation),bn(e.has_more_conversations),!e.cache_valid&&e.messages){let c=bY.current;an(a=>aF(a,e.messages)),b2.current===b&&(0,w.mergeCachedMessages)(b,e.messages,e.has_more_messages,r,e.message_count).catch(()=>{}),aN(e.has_more_messages),a&&bW.current&&c&&ce()}else c&&aN(c.hasMore);if(b2.current===b&&!ad){let a=await (0,w.getCacheMeta)(b,r);if(d)return;(0,w.setLastOpenConversation)(X,U,{conversation_id:b,newestMessageId:a?.newestMessageId??c?.newestMessageId??null,serverMessageCount:e.message_count},r).catch(()=>{})}if(br(e.thinking_counts),aR(e.artifacts),bh(e.buffered_messages),bC(new Set(e.flagged_message_ids)),e.active_task&&(av(e.active_task),ax(e.task_messages),e.task_messages.length>0&&(bU.current=Math.max(...e.task_messages.map(a=>a.seq))),b$.current?.(e.active_task.id,b,bU.current)),ab){let a=await (0,v.getTask)(ab,r).catch(()=>null);if(d)return;if(a&&!["completed","failed","cancelled","superseded"].includes(a.status)){av(a);let c=await (0,v.getTaskMessages)(ab,r).catch(()=>[]);if(d)return;ax(c),c.length>0&&(bU.current=Math.max(...c.map(a=>a.seq))),b$.current?.(a.id,b,bU.current)}}}else{let b=await (0,v.chatInit)(X,r,U);if(d)return;b2.current=b.conversation.id,al(b.conversation);let c=bY.current;an(a=>a.length>0?aF(a,b.messages):b.messages),aN(b.has_more_messages),aR(b.artifacts),bh(b.buffered_messages),bn(b.has_more_conversations),(0,w.mergeCachedMessages)(b.conversation.id,b.messages,b.has_more_messages,r).catch(()=>{}),(0,w.setLastOpenConversation)(X,U,{conversation_id:b.conversation.id,newestMessageId:b.messages.length>0?b.messages[b.messages.length-1].id:null,serverMessageCount:b.has_more_messages?0:b.messages.length},r).catch(()=>{}),a&&bW.current&&c&&ce(),(0,v.listFlaggedMessageIds)(r,b.conversation.id).then(a=>{d||bC(new Set(a.message_ids))}).catch(()=>{}),b.active_task&&(av(b.active_task),b.task_messages.length>0&&(ax(b.task_messages),bU.current=Math.max(...b.task_messages.map(a=>a.seq))),["completed","failed","cancelled","superseded"].includes(b.active_task.status)||b$.current?.(b.active_task.id,b.conversation.id,bU.current))}}catch{a?B.toast.error("Couldn't refresh conversation"):B.toast.error("Failed to load conversation")}finally{if(!d){var b;aA(!1),b=b3.current,c&&(b.completedKey=c)}}}(),()=>{d=!0}},[X,r,ad,ab,U,V]);let cf=(0,c.useRef)(T);(0,c.useEffect)(()=>{cf.current=T},[T]);let cg=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!ak?.id||!r||cg.current===ak.id)return;cg.current=ak.id;let a=setTimeout(()=>{(0,v.markInboxRead)(ak.id,r).then(()=>cf.current()).catch(()=>{})},1e3);return()=>{cg.current=null,clearTimeout(a)}},[ak?.id,r]),(0,c.useEffect)(()=>{ay||!(am.length>0)||bW.current||(bW.current=!0,ab||ac?bY.current=!1:h?setTimeout(()=>{let a=bQ.current?.querySelectorAll("[data-quote-source]");a&&a.length>0?a[a.length-1].scrollIntoView({behavior:"instant",block:"start"}):bQ.current?.scrollTo({top:bQ.current.scrollHeight})},50):setTimeout(()=>{bQ.current?.scrollTo({top:bQ.current.scrollHeight})},50))},[ay,am.length,ab,ac,h]),(0,c.useEffect)(()=>{let a;if(!ab||ay||!ak)return;bY.current=!1,bZ.current=!0;let b=!1,c=()=>{if(b)return!1;let c=document.querySelector(`[data-task-id="${CSS.escape(ab)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"start"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(bZ.current=!1)},1500),!0)},d=setTimeout(async()=>{if(!b&&!c())try{let a=await (0,v.listMessagesAroundTask)(ak.id,r,ab);if(b)return;a.length>0?(an(b=>aF(b,a)),requestAnimationFrame(()=>{setTimeout(()=>{c()||(bZ.current=!1)},100)})):bZ.current=!1}catch{b||(bZ.current=!1)}},100);return()=>{b=!0,clearTimeout(d),a&&clearTimeout(a)}},[ab,ay,ak,r]),(0,c.useEffect)(()=>{let a;if(!ac||ab||ay||!ak)return;bY.current=!1,bZ.current=!0;let b=!1,c=setTimeout(()=>{!b&&((()=>{if(b)return!1;let c=document.querySelector(`[data-message-id="${CSS.escape(ac)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"start"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(bZ.current=!1)},1500),!0)})()||(bQ.current?.scrollTo({top:bQ.current.scrollHeight}),bZ.current=!1))},100);return()=>{b=!0,clearTimeout(c),a&&clearTimeout(a)}},[ac,ab,ay,ak]);let ch=au?.status;(0,c.useEffect)(()=>{bZ.current||("running"===ch||"queued"===ch)&&bY.current&&ce()},[aw.length,ch,ce]);let ci=(0,c.useMemo)(()=>t.find(a=>a.id===X)?.name??"Agent",[t,X]),cj=aH(am),ck=aH(aM),cl=aH(bk),cm=aH(bm),cn=aH(ci),co=aH(U),cp=(0,c.useCallback)(async(a=!1)=>{if(!ak||bX.current)return;bX.current=!0;let b=cj.current,c=ck.current,e=cm.current,f=cn.current,g=co.current,h=!!ad,i=b[0],j=b_.current?.id??ak.id,k=c&&i,l=cl.current;if(!h&&!k&&0===l.length&&e){let a=b_.current??{id:ak.id,created_at:ak.created_at};try{let b=await (0,v.listPreviousConversations)(X,r,{exclude:ak.id,before:a.created_at,channel:g});l=b.conversations,bl(b.conversations),bn(b.has_more)}catch{bn(!1)}}let m=!h&&l.length>0;if(!k&&!m){bX.current=!1;return}aP(!0);let n=bQ.current;n&&(n.style.overflowAnchor="none");let o=n?.scrollHeight??0;try{let b=[],c=[],m=20,p=!1,q=[],s=!1;if(k){let a=j===ak.id?await (0,w.getCachedMessagesBefore)(j,i.created_at,i.id,20,r):null;if(a)b=a.messages,m-=a.messages.length,p=a.hasMore;else{let a=await (0,v.listMessages)(j,r,{limit:20,before:i.created_at,beforeId:i.id});b=a.messages,m-=a.messages.length,p=a.has_more}s=p}if(!h&&!p&&m>0){if(0===l.length&&e){let a=b_.current??{id:ak.id,created_at:ak.created_at};try{let b=await (0,v.listPreviousConversations)(X,r,{exclude:ak.id,before:a.created_at,channel:g});l=b.conversations,bl(b.conversations),bn(b.has_more)}catch{bn(!1)}}let a=0,b=0;for(;a<l.length&&m>0&&b<5;){let d=l[a];a++,b++;let e=await (0,v.listMessages)(d.id,r,{limit:m});if(0===e.messages.length){b_.current=d;continue}let g=b_.current?.created_at??ak.created_at;q.push({agentName:f,created_at:g,id:`nap-${d.id}`}),c=[...e.messages,...c],m-=e.messages.length,p=e.has_more,b_.current=d}a>0&&bl(b=>b.slice(a))}let t=[...c,...b];if((0,d.flushSync)(()=>{t.length>0?(q.length>0&&bp(a=>{let b=new Set(a.map(a=>a.id)),c=q.filter(a=>!b.has(a.id));return[...a,...c]}),aN(p),an(a=>{let b=new Set(a.map(a=>a.id));return[...t.filter(a=>!b.has(a.id)),...a]})):aN(!1)}),t.length>0&&ak){let a=t.filter(a=>a.conversation_id===ak.id);a.length>0&&(0,w.mergeCachedMessages)(ak.id,a,s,r).catch(()=>{})}if(bX.current=!1,(0,d.flushSync)(()=>aP(!1)),n)if(a)n.scrollTop=n.scrollHeight;else{let a=n.scrollHeight;n.scrollTop=a-o}}catch{B.toast.error("Failed to load older messages")}finally{bX.current=!1,aP(!1),bQ.current&&(bQ.current.style.overflowAnchor="")}},[ak,r,X,ad,cj,ck,cm,cn,co,cl]),cq=ad?aM:aM||bk.length>0||bm;(0,c.useEffect)(()=>{ak?.id!==b1.current&&(b1.current=ak?.id,b0.current=0)},[ak?.id]),(0,c.useEffect)(()=>{ay||!ak||ab||ad||am.length>=10||!cq||aO||b0.current>=3||(b0.current+=1,cp(!0))},[ay,am.length,cq,aO,ak,cp,ab,ad]);let cr=(0,c.useCallback)(()=>{let a=bQ.current;a&&(bY.current=a.scrollHeight-a.scrollTop-a.clientHeight<100)},[]),cs=(0,c.useCallback)((a,b,c)=>{bR.current&&clearInterval(bR.current),bU.current=c??0,bV.current=0,aL(!1),bT.current=a,bR.current=setInterval(async()=>{if(bT.current===a)try{let[c,d]=await Promise.all([(0,v.getTask)(a,r),(0,v.getTaskMessages)(a,r,bU.current||void 0)]),e=bT.current!==a;if(bV.current=0,aL(!1),d.length>0&&!e&&(ax(a=>{let b=new Set(a.map(a=>a.seq)),c=d.filter(a=>!b.has(a.seq));return c.length>0?[...a,...c]:a}),bU.current=Math.max(...d.map(a=>a.seq),bU.current)),"completed"===c.status||"failed"===c.status||"cancelled"===c.status||"superseded"===c.status){if(e)return void(0,v.listMessages)(b,r).then(({messages:a})=>{an(b=>aF(b,a)),(0,w.mergeCachedMessages)(b,a,null,r).catch(()=>{})}).catch(()=>{});bR.current&&clearInterval(bR.current),bR.current=null,bS.current&&clearTimeout(bS.current),bS.current=setTimeout(()=>{(0,v.markInboxRead)(b,r).then(()=>cf.current()).catch(()=>{})},1e3);let d=!bZ.current&&bY.current;try{let[a,d]=await Promise.all([(0,v.listMessages)(b,r),(0,v.listArtifacts)(b,r).catch(()=>null)]);an(b=>aF(b,a.messages)),(0,w.mergeCachedMessages)(b,a.messages,null,r).catch(()=>{}),d&&aR(d),av(c)}catch{av(c),B.toast.error("Failed to refresh messages")}d&&requestAnimationFrame(()=>{bQ.current?.scrollTo({top:bQ.current.scrollHeight,behavior:"smooth"})}),setTimeout(async()=>{if(!bR.current)try{let[c,d]=await Promise.all([(0,v.getActiveTask)(b,r),(0,v.listBufferedMessages)(b,r)]);if(bh(d),c&&c.id!==a){let{messages:a}=await (0,v.listMessages)(b,r);an(b=>aF(b,a)),(0,w.mergeCachedMessages)(b,a,null,r).catch(()=>{}),av(c),ax([]),b$.current?.(c.id,b)}}catch{}},1e3)}else e||av(c)}catch{if(bT.current!==a)return;bV.current+=1,bV.current>=3&&aL(!0),bV.current>=10&&(bR.current&&clearInterval(bR.current),bR.current=null,B.toast.error("Lost connection to agent"))}},3e3)},[r]);(0,c.useEffect)(()=>{b$.current=cs},[cs]),(0,c.useEffect)(()=>()=>{bR.current&&clearInterval(bR.current),bS.current&&clearTimeout(bS.current)},[]);let ct=(0,c.useRef)(null);(0,c.useEffect)(()=>{ct.current=au?.id??null},[au]),(0,c.useEffect)(()=>R(a=>{if("task.messages"===a.type&&a.taskId===ct.current){let b=a.messages.filter(a=>a.seq>bU.current);b.length>0&&(ax(a=>{let c=new Set(a.map(a=>a.seq)),d=b.filter(a=>!c.has(a.seq));return d.length>0?[...a,...d]:a}),bU.current=Math.max(...b.map(a=>a.seq),bU.current))}if("task.created"===a.type&&a.conversationId===ak?.id){(0,v.listMessages)(a.conversationId,r).then(({messages:b})=>{an(a=>aF(a,b)),(0,w.mergeCachedMessages)(a.conversationId,b,null,r).catch(()=>{})}).catch(()=>{});let b=a.task;ct.current=b.id,av(b),ax([]),bU.current=0,b$.current?.(b.id,a.conversationId)}if("task.created"===a.type){let b=a.task,c=co.current;(0,w.getLastOpenConversation)(X,c,r).then(a=>{let d=function(a){let{task:b,agentId:c,activeChannel:d,currentPointerConvId:e}=a;return b.agent_id!==c||(b.channel??"default")!==d||b.conversation_id===e?null:b.conversation_id}({task:b,agentId:X,activeChannel:c,currentPointerConvId:a?.conversation_id??null});if(d)return(0,w.getCacheMeta)(d,r).then(a=>(0,w.setLastOpenConversation)(X,c,{conversation_id:d,newestMessageId:a?.newestMessageId??null,serverMessageCount:a?.messageCount??0},r))}).catch(()=>{})}if("conversation.message"===a.type&&(a.conversationId===b2.current&&(0,w.appendCachedMessage)(a.conversationId,a.message,r).catch(()=>{}),a.conversationId===ak?.id&&an(b=>{let c=new Date(a.message.created_at).getTime(),d=b.findIndex(b=>b.id.startsWith("temp-")&&b.role===a.message.role&&b.content===a.message.content&&2e3>Math.abs(new Date(b.created_at).getTime()-c));if(-1!==d){let c=[...b];return c[d]=a.message,c}return aF(b,[a.message])})),"task.updated"===a.type&&a.taskId===ct.current&&av(b=>b?{...b,status:a.status}:b),"artifact.uploaded"===a.type&&a.conversationId===ak?.id&&aR(b=>b.some(b=>b.id===a.artifact.id)?b:[...b,a.artifact]),"followup.dispatched"===a.type&&a.conversationId===ak?.id){bh(b=>b.filter(b=>b.id!==a.message.id)),(0,v.listBufferedMessages)(a.conversationId,r).then(bh).catch(()=>{}),(0,v.listMessages)(a.conversationId,r).then(({messages:b})=>{an(a=>aF(a,b)),(0,w.mergeCachedMessages)(a.conversationId,b,null,r).catch(()=>{})}).catch(()=>{});let b=a.task;ct.current=b.id,av(b),ax([]),b$.current?.(b.id,a.conversationId)}"followup.created"===a.type&&a.conversationId===ak?.id&&bh(b=>(function(a,b){if(a.some(a=>a.id===b.id))return a;let c=new Date(b.created_at).getTime();return a.some(a=>a.id.startsWith("temp-")&&2e3>Math.abs(new Date(a.created_at).getTime()-c))?a:[...a,b]})(b,a.message)),"followup.deleted"===a.type&&a.conversationId===ak?.id&&bh(b=>b.filter(b=>b.id!==a.messageId)),"followup.dispatch_failed"===a.type&&a.conversationId===ak?.id&&B.toast.error(a.error||"Failed to dispatch follow-up")}),[R,ak?.id,r,X]),(0,c.useEffect)(()=>S(()=>{ak?.id&&(0,w.getCacheMeta)(ak.id,r).then(a=>{(0,v.conversationInit)(ak.id,r,{newestMessageId:a?.newestMessageId??void 0,messageCount:a?.serverMessageCount??void 0}).then(a=>{!a.cache_valid&&a.messages&&(an(b=>aF(b,a.messages)),bI.current(a.messages,a.has_more_messages,a.message_count).catch(()=>{}))}).catch(()=>{})})}),[S,ak?.id,r]);let cu=(0,c.useCallback)(a=>{let b=[];for(let c of a)c.size>0xa00000?B.toast.error(`"${c.name}" exceeds 10 MB limit`):b.push(c);b.length>0&&bf(a=>[...a,...b])},[]),cv=(0,c.useCallback)(a=>{let b=a.target.files;b&&(cu(Array.from(b)),a.target.value="")},[cu]),cw=(0,c.useCallback)(a=>{bf(b=>b.filter((b,c)=>c!==a))},[]),cx=(0,c.useCallback)(()=>{let a=window.getSelection();if(!a||a.isCollapsed||!a.rangeCount)return void bA(null);let b=a.toString().trim();if(!b)return void bA(null);let c=a.getRangeAt(0),d=c.commonAncestorContainer instanceof HTMLElement?c.commonAncestorContainer:c.commonAncestorContainer.parentElement;if(!d?.closest("[data-quote-source]"))return void bA(null);let e=c.getClientRects(),f=e[e.length-1]||c.getBoundingClientRect();bA({text:b,x:f.right,y:f.top-4})},[]);(0,c.useEffect)(()=>(document.addEventListener("selectionchange",cx),()=>document.removeEventListener("selectionchange",cx)),[cx]);let cy=(0,c.useCallback)(()=>{bz&&(bw(bz.text),bA(null),window.getSelection()?.removeAllRanges(),b5.current?.focus())},[bz]),[cz,cA]=(0,c.useState)(!1),cB=(0,c.useRef)(0),cC=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cB.current++,a.dataTransfer.types.includes("Files")&&cA(!0)},[]),cD=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cB.current--,0===cB.current&&cA(!1)},[]),cE=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),cF=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cA(!1),cB.current=0,cu(Array.from(a.dataTransfer.files))},[cu]),cG=async()=>{if(ak&&!as){at(!0);try{let a=await (0,v.cancelActiveTask)(ak.id,r);if(a){if(ct.current&&ct.current!==a.id)return;bR.current&&clearInterval(bR.current),bR.current=null;let[b,c]=await Promise.all([(0,v.listMessages)(ak.id,r),(0,v.listBufferedMessages)(ak.id,r)]);an(a=>aF(a,b.messages)),(0,w.mergeCachedMessages)(ak.id,b.messages,null,r).catch(()=>{}),bh(c),av(a),ax([])}}catch{B.toast.error("Failed to cancel task")}finally{at(!1)}}},cH=async()=>{let a=ao.trim();if(!a&&0===be.length||aq||!ak)return;if(!a)return void B.toast.error("Please type a message");let b=bv?`> ${bv.split("\n").join("\n> ")}
1
+ module.exports=[831893,896393,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(752792),f=a.i(506180),g=a.i(626806);let h=["user_dm_message"],i=["user_dm_message"];function j(){return h}a.s(["INBOX_FILTER_LABELS",0,{user_dm_message:"DM",calendar_event:"Calendar",email_notification:"Email"},"INBOX_FILTER_TYPES",0,["user_dm_message","calendar_event","email_notification"],"MANDATORY_INBOX_TYPES",0,i,"getInboxFilterTypes",0,j,"setInboxFilterTypes",0,function(a){let b=[...a];for(let a of i)b.includes(a)||b.unshift(a);localStorage.setItem("inbox-filter-types",JSON.stringify(b))}],896393);let k=(0,c.createContext)(null),l={count:0,notificationToken:0,refresh:()=>{},decrement:()=>{}};a.s(["InboxCountProvider",0,function({children:a}){let{workspaceId:h}=(0,f.useWorkspace)(),{subscribeWs:i,agents:l}=(0,e.useAgentContext)(),[m,n]=(0,c.useState)(0),[o,p]=(0,c.useState)(0),q=(0,c.useRef)(null),r=(0,c.useRef)(null),s=(0,c.useRef)(l);(0,c.useEffect)(()=>{s.current=l});let t=(0,c.useCallback)(()=>{let a=j();(0,d.getInboxCount)(h,{types:a}).then(a=>{let b=q.current;if(q.current=a.count,n(a.count),null!==b&&a.count>b){p(a=>a+1);let a=r.current?s.current.find(a=>a.id===r.current):void 0;(0,g.sendTaskNotification)("completed",a?.name)}r.current=null}).catch(()=>{})},[h]),u=(0,c.useCallback)(()=>{n(a=>Math.max(0,a-1))},[]);return(0,c.useEffect)(()=>{t()},[t]),(0,c.useEffect)(()=>i(a=>{"task.updated"===a.type&&("completed"===a.status||"failed"===a.status)&&(r.current=a.agentId,t())}),[i,t]),(0,c.useEffect)(()=>{let a=setInterval(t,6e4);return()=>clearInterval(a)},[t]),(0,b.jsx)(k.Provider,{value:{count:m,notificationToken:o,refresh:t,decrement:u},children:a})},"useInboxCount",0,function(){return(0,c.useContext)(k)??l}],831893)},70813,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(506180);let f=(0,c.createContext)(null);a.s(["FlagCountProvider",0,function({children:a}){let{workspaceId:g}=(0,e.useWorkspace)(),[h,i]=(0,c.useState)(0),j=(0,c.useCallback)(()=>{(0,d.getFlaggedCount)(g).then(a=>i(a.count)).catch(()=>{})},[g]),k=(0,c.useCallback)(()=>{i(a=>a+1)},[]),l=(0,c.useCallback)(()=>{i(a=>Math.max(0,a-1))},[]);return(0,c.useEffect)(()=>{j()},[j]),(0,b.jsx)(f.Provider,{value:{count:h,refresh:j,increment:k,decrement:l},children:a})},"useFlagCount",0,function(){let a=(0,c.useContext)(f);if(!a)throw Error("useFlagCount must be used within FlagCountProvider");return a}])},781418,a=>{"use strict";var b=a.i(749314),c=a.i(437199);a.i(974936);var d=a.i(911509),e=a.i(549931),f=a.i(584126),g=a.i(921584);a.i(735132);var h=a.i(253260),i=a.i(325848),j=a.i(191525),k=a.i(75118);a.s(["AgentPreviewCard",0,function({agent:a,isOnline:l,activeTaskCount:m,variant:n="default",isHovered:o}){let[p,q]=(0,c.useState)(!1),r=a.email_handle?(0,d.toAlookAddress)(a.email_handle):null,s=(0,c.useCallback)(async()=>{if(r)try{await navigator.clipboard.writeText(r),q(!0),g.toast.success("Email copied to clipboard"),setTimeout(()=>q(!1),2e3)}catch{g.toast.error("Failed to copy email")}},[r]);if("compact"===n){let c;return(0,b.jsxs)("div",{className:"flex items-center gap-2 p-0",children:[(c=(0,i.parseAvatarUrl)(a.avatar_url))?(0,b.jsx)(h.AnimatedAvatar,{config:c,size:32,className:"shrink-0 rounded-xl",isHovered:o??!1,isWorking:!!l&&(m??0)>0}):(0,b.jsx)("div",{className:"flex items-center justify-center size-8 rounded-xl bg-secondary text-secondary-foreground text-xs font-medium shrink-0",children:a.name.charAt(0).toUpperCase()}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate max-w-35",children:a.name}),r&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:r})]}),void 0!==l&&(0,b.jsx)("div",{className:"pointer-events-none mt-0.5",children:(0,b.jsx)(j.AgentStatusBadge,{isOnline:l,taskCount:m??0,agentId:a.id})})]})]})}return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5 p-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate",children:a.name}),(0,b.jsx)("span",{className:"flex-1"}),void 0!==l&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,b.jsx)("span",{className:(0,k.cn)("size-1.5 rounded-full",l?"bg-status-online":"bg-status-offline")}),l?(m??0)>0?"Working":null:"Offline"]})]}),r&&(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:r}),(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),s()},className:"shrink-0 p-0.5 rounded-sm text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:p?(0,b.jsx)(e.Check,{className:"size-3 text-green-500"}):(0,b.jsx)(f.Copy,{className:"size-3"})})]}),a.description&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2",children:a.description})]})}])},127026,40924,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(207058),e=a.i(506180),f=a.i(732254),g=a.i(123047),h=a.i(723127),i=a.i(16831);let j={claude:"Claude Code",codex:"Codex",opencode:"OpenCode"},k="the agent runtime";function l({provider:a,message:d,onRetry:e,retrying:f}){let[m,n]=(0,c.useState)(!1),o=f??m,p=async()=>{if(e){n(!0);try{await e()}finally{n(!1)}}};return(0,b.jsxs)("div",{className:"rounded-md border border-destructive/30 bg-destructive/5 p-2 max-w-full overflow-hidden",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("p",{className:"flex items-center gap-1.5 text-sm font-semibold text-destructive min-w-0",children:[(0,b.jsx)(g.AlertCircle,{className:"size-3.5 shrink-0"}),(0,b.jsxs)("span",{children:["Error from ",a?j[a]??k:k]})]}),e&&(0,b.jsxs)("button",{type:"button",onClick:p,disabled:o,className:"ml-auto shrink-0 text-xs text-muted-foreground hover:text-foreground transition-colors cursor-pointer disabled:opacity-50 flex items-center gap-1",children:[o?(0,b.jsx)(i.Loader2,{className:"size-3 animate-spin"}):(0,b.jsx)(h.RotateCw,{className:"size-3"}),"Retry"]})]}),(0,b.jsx)("p",{className:"mt-1.5 text-sm text-destructive/90 wrap-anywhere whitespace-pre-wrap",children:d}),(0,b.jsx)("p",{className:"mt-1.5 text-xs text-muted-foreground",children:"This came from the agent runtime on your machine, not from Alook."})]})}function m({task:a,messages:d,connectionLost:e,onRetry:f,provider:g}){let h=(0,c.useMemo)(()=>(function(a){let b=[];for(let c of a)"error"===c.type&&b.push({kind:"error",id:c.id||`seq-${c.seq}`,content:c.content||c.output});return b})(d),[d]);return 0!==h.length||"failed"===a.status&&a.error||e?(0,b.jsxs)("div",{className:"space-y-3 min-w-0 max-w-full",children:[h.length>0&&(0,b.jsx)("div",{className:"space-y-1 mt-1",children:h.map(a=>(0,b.jsx)(l,{provider:g,message:a.content},a.id))}),"failed"===a.status&&a.error&&(0,b.jsx)("div",{className:"mt-2",children:(0,b.jsx)(l,{provider:g,message:a.error,onRetry:f})}),e&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground animate-pulse mt-1",children:"Connection lost — retrying..."})]}):null}var n=a.i(588339);function o(a){return a.slice().sort((a,b)=>{let c=a.created_at.localeCompare(b.created_at);return 0!==c?c:a.id.localeCompare(b.id)})}function p(a,b){let c=new Map;for(let b of a)c.set(b.id,b);for(let a of b)c.set(a.id,a);return o([...c.values()])}function q(a){if("artifact"===a.kind)return"agent";if("message"!==a.kind)return null;let b=a.data.role;return"user"===b?"user":"assistant"===b||"event"===b?"agent":null}function r(a){return a.data.created_at}function s(a){let b=(0,c.useRef)(a);return(0,c.useEffect)(()=>{b.current=a},[a]),b}var t=a.i(752792),u=a.i(831893),v=a.i(452906),w=a.i(921584),x=a.i(75118),y=a.i(25668),z=a.i(525132),A=a.i(540858),B=a.i(647651);let C=(0,B.default)("bed-double",[["path",{d:"M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8",key:"1k78r4"}],["path",{d:"M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4",key:"fb3tl2"}],["path",{d:"M12 4v6",key:"1dcgq2"}],["path",{d:"M2 18h20",key:"ajqnye"}]]);var D=a.i(510698),E=a.i(606896);let F=(0,B.default)("message-square-quote",[["path",{d:"M14 14a2 2 0 0 0 2-2V8h-2",key:"1r06pg"}],["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M8 14a2 2 0 0 0 2-2V8H8",key:"1jzu5j"}]]);var G=a.i(945081),H=a.i(546257),I=a.i(518828),J=a.i(131675),K=a.i(562706),L=a.i(70813);function M({skill:a,isSelected:c,onSelect:d}){return(0,b.jsxs)("button",{type:"button","data-slash-item":!0,className:(0,x.cn)("flex w-full flex-col gap-0.5 px-3 py-1.5 text-left text-sm transition-colors",c?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:b=>{b.preventDefault(),d(a)},children:[(0,b.jsxs)("span",{className:"flex w-full items-center gap-2",children:[(0,b.jsxs)("span",{className:"min-w-0 flex-1 truncate font-medium",children:["/",a.name]}),a.isGlobal&&(0,b.jsx)("span",{className:"shrink-0 rounded px-1 py-0.5 text-[10px] font-medium bg-muted text-muted-foreground",children:"Global"})]}),a.description&&(0,b.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:a.description.slice(0,80)})]})}function N({isOpen:a,skills:d,selectedIndex:e,onSelect:f,anchorPos:g}){let h=(0,c.useRef)(null);if((0,c.useEffect)(()=>{if(!h.current)return;let a=h.current.querySelectorAll("[data-slash-item]")[e];a?.scrollIntoView({block:"nearest"})},[e]),!a||0===d.length)return null;let i=g.left,j=Math.min(g.left,i);return(0,J.createPortal)((0,b.jsx)("div",{className:"fixed z-100 w-70 rounded-lg border border-border bg-popover text-popover-foreground shadow-md transition-opacity duration-150",style:{top:g.top-4,left:j,transform:"translateY(-100%)"},children:(0,b.jsx)("div",{ref:h,className:"max-h-60 overflow-y-auto py-1 thin-scrollbar",children:d.map((a,c)=>(0,b.jsx)(M,{skill:a,isSelected:c===e,onSelect:f},a.name))})}),document.body)}var O=a.i(623789),P=a.i(892236),Q=a.i(807820),R=a.i(717132);function S(a,b){if(!b)return a;let c=b.toLowerCase(),d=[],e=[];for(let b of a){let a=b.name.toLowerCase();a.startsWith(c)?d.push(b):a.includes(c)&&e.push(b)}return[...d,...e]}var T=a.i(388126);function U(a){return a.replaceAll("&lt;","<").replaceAll("&gt;",">").replaceAll("&amp;","&")}a.i(974936);var V=a.i(911509);let W={items:[],selectedIndex:0,command:null,rect:null};function X({state:a}){let d=(0,c.useRef)(null),{items:e,selectedIndex:f,command:g,rect:h}=a;if((0,c.useEffect)(()=>{if(!d.current)return;let a=d.current.children[f];a?.scrollIntoView({block:"nearest"})},[f]),!h||0===e.length||!g)return null;let i=h.left,j=Math.min(h.left,i);return(0,J.createPortal)((0,b.jsx)("div",{className:"fixed z-100 w-64 rounded-lg border border-border bg-popover text-popover-foreground shadow-md",style:{top:h.top-4,left:j,transform:"translateY(-100%)"},children:(0,b.jsx)("div",{ref:d,className:"max-h-50 overflow-y-auto py-1 thin-scrollbar",children:e.map((a,c)=>(0,b.jsxs)("button",{type:"button",className:(0,x.cn)("flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",c===f?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:b=>{b.preventDefault(),g({id:a.id,label:a.name})},children:[(0,b.jsx)("span",{className:"truncate font-medium",children:a.name}),a.email_handle&&(0,b.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:(0,V.toAlookAddress)(a.email_handle)})]},a.id))})}),document.body)}function Y({hint:a,animate:d}){let[e,f]=(0,c.useState)(a),[g,h]=(0,c.useState)(!0);return(0,c.useEffect)(()=>{if(!d){f(a),h(!0);return}if(a===e)return;h(!1);let b=setTimeout(()=>{f(a),h(!0)},200);return()=>clearTimeout(b)},[a,e,d]),(0,b.jsx)("div",{className:"chat-placeholder-overlay","aria-hidden":"true",children:(0,b.jsx)("span",{className:d?"chat-placeholder-fade":void 0,style:d?{opacity:+!!g}:void 0,children:e})})}let Z=(0,c.forwardRef)(function({value:a,onChange:d,onEditorState:e,onSend:f,onFocus:g,onBlur:h,overlay:i,disabled:j,onMultiLineChange:k,onFiles:l,agents:m,agentLinks:n,currentAgentId:o,slashIsOpen:p,onSlashKeyDown:q},r){let[s,t]=(0,c.useState)(!1),[u,v]=(0,c.useState)(W),w=(0,c.useRef)(u);(0,c.useEffect)(()=>{w.current=u},[u]);let x=(0,c.useRef)(m),y=(0,c.useRef)(n),z=(0,c.useRef)(o),A=(0,c.useRef)(f),B=(0,c.useRef)(e),C=(0,c.useRef)(d),D=(0,c.useRef)(l),E=(0,c.useRef)(g),F=(0,c.useRef)(h),G=(0,c.useRef)(p),H=(0,c.useRef)(q);(0,c.useEffect)(()=>{x.current=m},[m]),(0,c.useEffect)(()=>{y.current=n},[n]),(0,c.useEffect)(()=>{z.current=o},[o]),(0,c.useEffect)(()=>{A.current=f},[f]),(0,c.useEffect)(()=>{B.current=e},[e]),(0,c.useEffect)(()=>{C.current=d},[d]),(0,c.useEffect)(()=>{D.current=l},[l]),(0,c.useEffect)(()=>{E.current=g},[g]),(0,c.useEffect)(()=>{F.current=h},[h]),(0,c.useEffect)(()=>{G.current=p},[p]),(0,c.useEffect)(()=>{H.current=q},[q]);let I=a=>{B.current(a.getText(),a.state.selection.from-1)},[J]=(0,c.useState)(()=>T.default.extend({markdownName:"mention",renderMarkdown:a=>`@${a.attrs.label??a.attrs.id}`}).configure({HTMLAttributes:{class:"mention-highlight"},renderText:({node:a})=>`@${a.attrs.label??a.attrs.id}`,suggestion:{char:"@",items:({query:a})=>(function(a,b,c,d,e=20){let f=function(a,b){let c=new Set;for(let d of a)d.source_agent_id===b&&c.add(d.target_agent_id),d.target_agent_id===b&&c.add(d.source_agent_id);return c}(b,c),g=[],h=[];for(let b of a)f.has(b.id)?g.push(b):h.push(b);return[...S(g,d),...S(h,d)].slice(0,e)})(x.current,y.current,z.current,a),render:()=>({onStart:a=>{v({items:a.items??[],selectedIndex:0,command:a.command,rect:a.clientRect?.()??null})},onUpdate:a=>{v(b=>({items:a.items??[],selectedIndex:b.selectedIndex<(a.items?.length??0)?b.selectedIndex:0,command:a.command,rect:a.clientRect?.()??null}))},onKeyDown:({event:a})=>{if(a.isComposing)return!1;let b=w.current;if(0===b.items.length)return!1;if("ArrowDown"===a.key)return a.preventDefault(),v(a=>({...a,selectedIndex:(a.selectedIndex+1)%a.items.length})),!0;if("ArrowUp"===a.key)return a.preventDefault(),v(a=>({...a,selectedIndex:(a.selectedIndex-1+a.items.length)%a.items.length})),!0;if("Enter"===a.key){a.preventDefault();let c=b.items[b.selectedIndex];return c&&b.command&&b.command({id:c.id,label:c.name}),v(W),!0}return"Escape"===a.key&&(v(W),!0)},onExit:()=>v(W)})}})),K=(0,O.useEditor)({immediatelyRender:!1,content:a?a.replaceAll("\n","<br>"):void 0,editable:!j,extensions:[P.default.configure({heading:!1,blockquote:!1,codeBlock:!1,horizontalRule:!1,bold:!1,italic:!1,strike:!1,code:!1,link:!1,bulletList:!1,orderedList:!1,listItem:!1,listKeymap:!1}),Q.default.configure({placeholder:""}),R.Markdown,J],editorProps:{attributes:{class:"outline-none",enterkeyhint:"send"},handleKeyDown:(a,b)=>(!(w.current.items.length>0)||null===w.current.command)&&(!!(G.current&&H.current({key:b.key,isComposing:b.isComposing,preventDefault:()=>b.preventDefault()}))||"Enter"===b.key&&!b.shiftKey&&!b.isComposing&&!G.current&&(b.preventDefault(),A.current(),!0)),handlePaste:(a,b)=>{let c=b.clipboardData?.items;if(!c)return!1;let d=[];for(let a=0;a<c.length;a++)if("file"===c[a].kind){let b=c[a].getAsFile();b&&d.push(b)}if(d.length>0)return b.preventDefault(),D.current?.(d),!0;let e=b.clipboardData?.getData("text/plain");return!!e&&(b.preventDefault(),a.dispatch(a.state.tr.insertText(e)),!0)},handleDrop:()=>!1},onFocus:()=>{t(!0),E.current?.()},onBlur:()=>{t(!1),F.current?.()},onUpdate:({editor:a})=>{C.current(U(a.getMarkdown())),I(a)},onSelectionUpdate:({editor:a})=>{I(a)}});(0,c.useEffect)(()=>{K?.setEditable(!j)},[K,j]),(0,c.useEffect)(()=>{if(!K)return;let b=(a||"").trim();b!==U(K.getMarkdown()||"").trim()&&(b?K.commands.setContent((a||"").replaceAll("\n","<br>"),{emitUpdate:!1}):K.commands.clearContent(),B.current(K.getText(),K.state.selection.from-1))},[a,K]);let L=(0,c.useRef)(null);return(0,c.useEffect)(()=>{if(!K||!k)return;let a=L.current?.querySelector(".ProseMirror");if(!a)return;let b=()=>k(a.scrollHeight>32);b();let c=new ResizeObserver(b);return c.observe(a),()=>c.disconnect()},[K,k]),(0,c.useEffect)(()=>{},[L,s]),(0,c.useImperativeHandle)(r,()=>({focus:()=>K?.commands.focus(),clear:()=>K?.commands.clearContent(),isEmpty:()=>K?.isEmpty??!0,coordsAtTextIndex:a=>{if(!K)return null;try{let b=K.view.coordsAtPos(a+1);return{top:b.top,left:b.left}}catch{return null}}}),[K]),(0,b.jsxs)("div",{ref:L,className:"chat-composer relative",children:[(0,b.jsx)(O.EditorContent,{editor:K,className:"max-h-44 overflow-y-auto thin-scrollbar pr-2 text-base chat-input-line-height"}),i,(0,b.jsx)(X,{state:u})]})}),$=["Email the team this week's launch update","Recruit a QA agent to review my PRs","Remind me to follow up with Acme on Thursday","What did we ship last week?","Fix the failing test in the checkout flow"];var _=a.i(207461),aa=a.i(596174),ab=a.i(7455),ac=a.i(390759),ad=a.i(135510);function ae({open:a,onOpenChange:d,emailId:e,workspaceId:g}){let[h,j]=(0,c.useState)(null),[k,l]=(0,c.useState)(null),[m,o]=(0,c.useState)(!1),{width:p,onPointerDown:q,onPointerMove:r,onPointerUp:s}=(0,aa.useSheetResize)({defaultWidth:500,minWidth:320,maxWidthRatio:.8}),t=(0,c.useRef)(d);(0,c.useEffect)(()=>{t.current=d}),(0,c.useEffect)(()=>{a&&e&&(o(!0),j(null),l(null),Promise.all([(0,n.getEmail)(e,g),(0,n.getEmailBody)(e,g)]).then(([a,b])=>{j(a),l(b)}).catch(()=>{w.toast.error("Email not found"),t.current(!1)}).finally(()=>o(!1)))},[a,e,g]);let u=a=>{d(a),a||setTimeout(()=>{j(null),l(null)},300)};return(0,b.jsx)(ab.Sheet,{open:a,onOpenChange:u,children:(0,b.jsxs)(ab.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${p}px, 100vw)`,maxWidth:"none"},className:"data-[side=right]:sm:inset-y-2 data-[side=right]:sm:right-2 data-[side=right]:sm:h-auto data-[side=right]:sm:rounded-xl data-[side=right]:sm:border",children:[(0,b.jsx)(aa.SheetResizeHandle,{onPointerDown:q,onPointerMove:r,onPointerUp:s}),(0,b.jsx)(ab.SheetHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(E.Mail,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsx)(ab.SheetTitle,{className:"truncate flex-1",children:m?"Loading...":h?.subject||"Email"}),(0,b.jsx)(f.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>u(!1),children:(0,b.jsx)(I.X,{className:"h-4 w-4"})})]})}),(0,b.jsx)(ab.SheetBody,{className:"flex-1 overflow-y-auto thin-scrollbar",children:m?(0,b.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,b.jsx)(i.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):h?(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"text-sm space-y-1 border-b pb-3",children:[(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"From:"}),(0,b.jsx)("span",{className:"truncate",children:h.from_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"To:"}),(0,b.jsx)("span",{className:"truncate",children:h.to_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Date:"}),(0,b.jsx)("span",{children:new Date(h.created_at).toLocaleString()})]})]}),k?.isHtml?(0,b.jsx)(ad.EmailBodyFrame,{html:k.content,className:"max-w-full"}):(0,b.jsx)("pre",{className:"whitespace-pre-wrap text-sm font-mono",children:k?.content}),h.attachments&&h.attachments.length>0&&(0,b.jsxs)("div",{className:"border-t pt-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mb-2 text-xs text-muted-foreground",children:[(0,b.jsx)(H.Paperclip,{className:"size-3"}),h.attachments.length," attachment",h.attachments.length>1?"s":""]}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:h.attachments.map((a,c)=>(0,b.jsxs)("a",{href:`/api/email/${h.id}/attachment/${c}?workspace_id=${g}`,target:"_blank",rel:"noopener noreferrer",download:a.filename,className:"flex items-center gap-1.5 rounded-md border border-border/50 bg-muted/50 px-2.5 py-1.5 text-xs hover:bg-muted transition-colors cursor-pointer",children:[(0,b.jsx)(ac.File,{className:"size-3 text-muted-foreground shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-45",children:a.filename}),(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:a.size<1024?`${a.size} B`:a.size<1048576?`${(a.size/1024).toFixed(1)} KB`:`${(a.size/1048576).toFixed(1)} MB`})]},a.key))})]})]}):null})]})})}var af=a.i(276163),ag=a.i(963744),ah=a.i(698824),ai=a.i(389660);a.i(343563);var aj=a.i(347788),ak=a.i(415725),al=a.i(748410);function am(a,b){if(b>=a.length)return!0;let c=a.charCodeAt(b);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}function an(a,b){if(!a||0===b.length||!a.includes("@"))return a;let c=b.slice().sort((a,b)=>b.name.length-a.name.length),d=[];for(let b=0;b<a.length;b++){if("@"!==a[b]||!function(a,b){if(0===b)return!0;let c=a.charCodeAt(b-1);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}(a,b))continue;let e=b+1;for(let f of c){let c=e+f.name.length;if(c>a.length||a.slice(e,c).toLowerCase()!==f.name.toLowerCase())continue;let g=c,h=a.slice(c).match(/^ \([a-zA-Z0-9-]+@alook\.ai\)/);if(h&&(g=c+h[0].length),(h||am(a,c))&&(!h||am(a,g))){if(d.some(a=>b>=a.start&&b<a.end))break;d.push({start:b,end:c,name:f.name,agentId:f.id});break}}}let e=a;for(let a=d.length-1;a>=0;a--){let b=d[a],c=e.slice(b.start,b.end);e=e.slice(0,b.start)+`<mention data-agent-id="${b.agentId}">${c}</mention>`+e.slice(b.end)}return e}a.i(735132);var ao=a.i(253260);let ap=(0,B.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]);a.s(["Flag",0,ap],40924);var aq=a.i(584126),ar=a.i(549931);function as({subject:a,address:c,direction:d,onClick:e}){return(0,b.jsxs)("button",{type:"button",onClick:e,disabled:!e,className:"card-grain w-104 max-w-full overflow-hidden rounded-(--radius) border border-(--border) bg-(--paper) text-left flex flex-col cursor-pointer transition-[transform,box-shadow] duration-300 ease-out hover:-translate-y-0.5 [box-shadow:var(--e1)] hover:[box-shadow:var(--e2)]",children:[(0,b.jsx)("span",{className:"h-2.5 relative block",children:(0,b.jsx)("svg",{viewBox:"0 0 100 10",preserveAspectRatio:"none",className:"absolute inset-0 w-full h-full",children:(0,b.jsx)("path",{d:"M8,-1 L50,9 L92,-1",stroke:"var(--te)",strokeWidth:"2.5",opacity:"0.4",fill:"none",strokeLinejoin:"round",strokeLinecap:"round"})})}),(0,b.jsxs)("span",{className:"p-3 flex flex-col",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1 mb-1",children:[(0,b.jsxs)("span",{className:"text-[0.72rem] text-(--muted-foreground) flex-1 min-w-0 whitespace-nowrap overflow-hidden text-ellipsis",children:["inbound"===d?"from ":"to ",c]}),(0,b.jsx)("span",{className:"shrink-0 text-[0.5rem] font-bold uppercase tracking-wider text-(--te) px-1 py-0.5 rounded-[3px] border-[1.5px] border-(--te) opacity-45 -rotate-3",children:"inbound"===d?"Inbound":"Sent"})]}),(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold tracking-[-0.01em] leading-[1.35] line-clamp-2",children:a})]})]})}let at={"1day":"Daily","1week":"Weekly","1month":"Monthly"};function au({title:a,scheduledAt:c,repeatInterval:d,onClick:e}){let f=c?new Date(c):null,g=f?f.toLocaleDateString("en-US",{weekday:"short"}):null,h=f?f.toLocaleDateString("en-US",{month:"short"}):null,i=f?f.getDate():null,j=f?f.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit"}):null;return(0,b.jsxs)("button",{type:"button",onClick:e,disabled:!e,className:"card-grain w-104 max-w-full overflow-hidden rounded-(--radius) border border-(--border) text-left cursor-pointer transition-[transform,box-shadow] duration-300 ease-out hover:-translate-y-0.5 [box-shadow:var(--e1)] hover:[box-shadow:var(--e2)]",children:[(0,b.jsxs)("span",{className:"h-6 bg-(--tc) flex items-center px-3",children:[f?(0,b.jsxs)("span",{className:"text-[0.62rem] font-semibold uppercase tracking-[0.06em] text-white/85",children:[g," ",h," ",i]}):(0,b.jsx)("span",{className:"text-[0.62rem] font-semibold uppercase tracking-[0.06em] text-white/85",children:"Calendar"}),d&&(0,b.jsx)("span",{className:"ml-auto text-[0.52rem] font-semibold uppercase tracking-[0.04em] px-1 py-px rounded-full bg-white/20 text-white/90",children:function(a){if(at[a])return at[a];let b=/^(\d+)(hour|day|week|month)s?$/.exec(a);return b?`Every ${b[1]} ${b[2]}${Number(b[1])>1?"s":""}`:a}(d)})]}),(0,b.jsxs)("span",{className:"bg-(--paper) p-3 flex gap-3 items-start",children:[null!=i&&(0,b.jsx)("span",{className:"text-[1.8rem] font-bold leading-none tracking-[-0.02em] opacity-80 min-w-8 text-center shrink-0",children:i}),(0,b.jsxs)("span",{className:"min-w-0 flex-1 flex flex-col",children:[(0,b.jsx)("span",{className:"text-[0.92rem] font-semibold tracking-[-0.01em] leading-[1.3]",children:a}),j&&(0,b.jsx)("span",{className:"text-[0.72rem] text-(--muted-foreground) mt-1 font-mono",children:j})]})]})]})}let av={created:"Issue created",status_changed:"Issue updated",dispatch_failed:"Dispatch failed"};function aw({title:a,event:c,fromStatus:d,toStatus:e,assigneeName:f,onClick:g}){let h="created"===c?"New":"status_changed"===c?e??"Done":null,i="created"===c&&f?`assigned to ${f}`:"status_changed"===c&&d&&e?`${d} → ${e}`:null;return(0,b.jsxs)("button",{type:"button",onClick:g,disabled:!g,className:"card-grain w-104 max-w-full overflow-hidden rounded-(--radius) border border-(--border) bg-(--paper) text-left flex cursor-pointer transition-[transform,box-shadow] duration-300 ease-out hover:-translate-y-0.5 [box-shadow:var(--e1)] hover:[box-shadow:var(--e2)]",children:[(0,b.jsx)("span",{className:"w-1 bg-(--ti) shrink-0 self-stretch"}),(0,b.jsxs)("span",{className:"flex-1 p-3 min-w-0 flex flex-col gap-1 relative",children:[(0,b.jsx)("span",{className:"text-[0.62rem] font-semibold uppercase tracking-wider text-(--ti) leading-none",children:av[c]??c}),(0,b.jsx)("span",{className:"text-[0.92rem] font-semibold tracking-[-0.01em] leading-[1.3] line-clamp-2 pr-8",children:a}),i&&(0,b.jsx)("span",{className:"text-[0.75rem] text-(--muted-foreground) leading-[1.2]",children:i}),h&&(0,b.jsx)("span",{className:"absolute top-3 right-3 text-[0.5rem] font-bold uppercase tracking-wider text-(--ti) border-[1.5px] border-(--ti) opacity-45 rotate-[4deg] rounded-[3px] px-1 py-0.5",children:h})]})]})}let ax={mention:["data-agent-id"]},ay=["mention"];function az({attachmentIds:a,artifacts:c,onArtifactClick:d}){let e=a.map(a=>c.find(b=>b.id===a)).filter(a=>!!a);return 0===e.length?null:(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:e.map(a=>(0,b.jsxs)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a)},className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80 hover:bg-primary-foreground/20 transition-colors cursor-pointer",children:[(0,b.jsx)(D.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.filename})]},a.id))})}function aA({pendingFiles:a,messageId:c}){let d=a.get(c);return d&&0!==d.length?(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:d.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80",children:[(0,b.jsx)(D.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.name})]},c))}):null}let aB={solo:"rounded-[1.05rem]",first:"rounded-[1.05rem] rounded-br-[0.35rem]",middle:"rounded-[1.05rem] rounded-tr-[0.35rem] rounded-br-[0.35rem]",last:"rounded-[1.05rem] rounded-tr-[0.35rem]"},aC={solo:"rounded-[1.05rem]",first:"rounded-[1.05rem] rounded-bl-[0.35rem]",middle:"rounded-[1.05rem] rounded-tl-[0.35rem] rounded-bl-[0.35rem]",last:"rounded-[1.05rem] rounded-tl-[0.35rem]"};function aD({groupPosition:a,agentName:c,config:d,forceSpacer:e=!1,children:f}){let g=!e&&("first"===a||"solo"===a);return(0,b.jsxs)("div",{className:"flex justify-start items-start gap-2 min-w-0",children:[(0,b.jsx)("div",{className:(0,x.cn)("w-[30px]","shrink-0"),"aria-hidden":!g,children:g&&d&&(0,b.jsx)(ao.AnimatedAvatar,{config:d,size:30,className:"rounded-md",isHovered:!1})}),(0,b.jsxs)("div",{className:"min-w-0 max-w-[86%] flex flex-col items-start gap-0.5",children:[g&&(0,b.jsx)("span",{className:"text-[0.85rem] font-semibold text-foreground leading-[1.15] pt-0.5 mb-1",children:c}),f]})]})}function aE({actions:a}){return 0===a.length?null:(0,b.jsx)("div",{className:(0,x.cn)("absolute -top-3 right-0 z-10 flex items-center gap-0.5 rounded-lg border bg-card p-0.5 shadow-sm","opacity-0 transition-opacity duration-150 group-hover/msg:opacity-100 focus-within:opacity-100"),children:a.map(a=>(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{render:(0,b.jsx)(f.Button,{variant:"ghost",size:"icon-xs","aria-label":a.label,onClick:b=>{b.stopPropagation(),a.onClick()},className:(0,x.cn)(a.active?"text-foreground":"text-muted-foreground")}),children:a.icon}),(0,b.jsx)(z.TooltipContent,{children:a.label})]},a.key))})}function aF({open:a,onOpenChange:c,actions:d}){return(0,b.jsx)(ab.Sheet,{open:a,onOpenChange:c,children:(0,b.jsx)(ab.SheetContent,{side:"bottom",showCloseButton:!1,className:"rounded-t-2xl p-2",children:(0,b.jsx)("div",{className:"flex flex-col",children:d.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>{a.onClick(),c(!1)},className:(0,x.cn)("flex items-center gap-3 rounded-lg px-3 py-3 text-left text-[0.95rem] active:bg-muted",(a.active,"text-foreground")),children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:a.icon}),a.label]},a.key))})})})}function aG(){return(0,b.jsx)("span",{"aria-hidden":!0,className:"absolute -left-1.5 -top-1.5 z-10 flex size-3.5 items-center justify-center rounded-full border-2 border-background bg-foreground text-background",children:(0,b.jsx)(ap,{className:"size-2 fill-current"})})}let aH=(0,c.memo)(function({msg:a,agents:d,artifacts:e,activeTask:f,activeTaskStreamMsgId:g,taskMessages:h,connectionLost:i,conversationType:j,pendingFilesByMessage:k,onArtifactClick:n,onEmailClick:o,onIssueClick:p,onCalendarEventClick:q,onRetry:r,mentionComponents:s,isFlagged:t,onToggleFlag:u,groupPosition:v="solo",provider:y,agentName:z,agentAvatarConfig:A,isSendFailed:B,onRetrySend:C}){var D;let E,F,G,H,I,J,K,L,M,{copy:N,copied:O}=function(a=2e3){let[b,d]=(0,c.useState)(!1),e=(0,c.useRef)(void 0),f=(0,c.useCallback)(async b=>{try{return await navigator.clipboard.writeText(b),d(!0),clearTimeout(e.current),e.current=setTimeout(()=>d(!1),a),!0}catch{return!1}},[a]);return(0,c.useEffect)(()=>()=>clearTimeout(e.current),[]),{copy:f,copied:b}}(),P=!!f&&"assistant"===a.role&&a.task_id===f.id&&a.conversation_id===f.conversation_id&&(null==g||a.id===g)&&h.length>0&&!["completed","cancelled","superseded"].includes(f.status),Q=P&&(h.some(a=>"error"===a.type)||"failed"===f.status&&!!f.error||i),R=P&&f?.status==="failed",S="assistant"===a.role&&(a.metadata?.kind==="lifecycle"||"Task cancelled by you"===a.content||"Task cancelled by user"===a.content),T=function(){let[a,b]=c.useState(!0);return c.useEffect(()=>{},[]),a}(),[U,V]=c.default.useState(!1),W=c.default.useCallback(async()=>{await N(a.content)?w.toast.success("Copied to clipboard"):w.toast.error("Failed to copy")},[N,a.content]),X="assistant"===a.role||"user"===a.role,Y=[];X&&Y.push({key:"copy",label:O?"Copied":"Copy",icon:O?(0,b.jsx)(ar.Check,{className:"size-3.5"}):(0,b.jsx)(aq.Copy,{className:"size-3.5"}),onClick:W}),"assistant"===a.role&&u&&Y.push({key:"flag",label:t?"Unflag":"Flag",icon:(0,b.jsx)(ap,{className:(0,x.cn)("size-3.5",t&&"fill-current")}),onClick:()=>u(a.id),active:t});let Z=function(a,{delay:b=450,moveThreshold:d=10}={}){let e=c.useRef(null),f=c.useRef(null),g=c.useRef(!1),h=c.useRef(a);c.useEffect(()=>{h.current=a});let i=c.useCallback(()=>{e.current&&(clearTimeout(e.current),e.current=null),f.current=null},[]),j=c.useCallback(a=>{"mouse"!==a.pointerType&&(i(),g.current=!1,f.current={x:a.clientX,y:a.clientY},e.current=setTimeout(()=>{g.current=!0,f.current=null,e.current=null,h.current()},b))},[i,b]),k=c.useCallback(a=>{let b=f.current;if(!b)return;let c=Math.abs(a.clientX-b.x),e=Math.abs(a.clientY-b.y);(c>d||e>d)&&i()},[i,d]),l=c.useCallback(a=>{g.current&&(a.preventDefault(),a.stopPropagation(),g.current=!1)},[]);return c.useEffect(()=>i,[i]),{onPointerDown:j,onPointerMove:k,onPointerUp:i,onPointerCancel:i,onPointerLeave:i,onClick:l}}(()=>{Y.length>0&&V(!0)}),$=!T&&Y.length>0?Z:{},_=!T&&Y.length>0?(0,b.jsx)(aF,{open:U,onOpenChange:V,actions:Y}):null,aa=T&&Y.length>0?(0,b.jsx)(aE,{actions:Y}):null;return(0,b.jsxs)(c.default.Fragment,{children:[P&&Q&&(0,b.jsx)("div",{className:(0,x.cn)("group/msg",t&&"bg-muted/30 rounded-lg px-2 -mx-2"),...R?{"data-quote-source":!0}:{},children:(0,b.jsx)(aD,{groupPosition:v,agentName:z,config:A,children:(0,b.jsxs)("div",{className:"relative min-w-0 w-fit max-w-full",...R?$:{},children:[(0,b.jsx)(m,{task:f,messages:h,connectionLost:i,onRetry:r,provider:y}),R&&aa,R&&_]})})}),"user"===a.role?(E=a.content.match(/^\/(\S+)\s?([\s\S]*)$/),F=E?.[1]??null,G=E?E[2]||"":a.content,(0,b.jsxs)("div",{className:"group/msg flex flex-col items-end","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:[(0,b.jsxs)("div",{className:(0,x.cn)("max-w-[80%] px-3 py-1.5 bg-primary text-primary-foreground text-base relative",aB[v],B&&"opacity-60"),...$,children:[F&&(0,b.jsxs)("span",{className:"inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium bg-primary-foreground/15 text-primary-foreground mb-1",children:["/",F]}),G&&(0,b.jsx)("div",{className:"markdown markdown-user",children:(0,b.jsx)(aj.Streamdown,{plugins:{mermaid:ak.mermaid,cjk:al.cjk},controls:{code:{copy:!0,download:!1},table:{copy:!1,download:!1,fullscreen:!1}},linkSafety:{enabled:!1},allowedTags:ax,literalTagContent:ay,components:s,children:an(G,d)})}),a.attachment_ids&&a.attachment_ids.length>0&&a.attachment_ids.some(a=>e.some(b=>b.id===a))?(0,b.jsx)(az,{attachmentIds:a.attachment_ids,artifacts:e,onArtifactClick:n}):(0,b.jsx)(aA,{pendingFiles:k,messageId:a.id}),aa]}),_,B&&(0,b.jsx)("button",{type:"button",onClick:()=>C?.(a.id),className:"mt-1 px-1 text-xs text-destructive hover:underline",children:"Not delivered · tap to retry"})]})):"event"===a.role?(I=a.metadata?.emailId,J=a.metadata?.issueId,K=a.metadata?.calendarEventId,L=I?()=>o(I):J?()=>p(J):K?()=>q(K):void 0,H="email"===(M=function(a,b,c){let d=function(a,b,c){if(a?.issueId)return"issue";if(a?.emailId)return"email";if(a?.calendarEventId)return"calendar";if("issue_event"===c)return"issue";if("email_notification"===c)return"email";if("calendar_event"===c)return"calendar";let d=b.toLowerCase();return d.startsWith("issue ")||d.startsWith("issue:")?"issue":d.includes("email")?"email":"calendar"}(a,b,c);if("email"===d){if(a?.subject)return{type:"email",subject:a.subject,address:"inbound"===a.direction?a.from:a.to,direction:a.direction};let c=/^Email sent to (.+?): ([\s\S]+)$/.exec(b);if(c)return{type:"email",subject:c[2],address:c[1],direction:"outbound"};let d=/^New email from (.+?): ([\s\S]+)$/.exec(b);if(d)return{type:"email",subject:d[2],address:d[1],direction:"inbound"};let e=b.indexOf(": ");return{type:"email",subject:e>-1?b.slice(e+2):b,address:"",direction:"inbound"}}if("issue"===d){if(a?.event)return{type:"issue",title:a.title??b.replace(/^Issue (?:created|opened|status changed):?\s*/i,""),event:a.event,fromStatus:a.fromStatus,toStatus:a.toStatus,agentId:a.agentId};let c=/^Issue status changed: ([\s\S]+?) -> ([\s\S]+)$/.exec(b);if(c)return{type:"issue",title:`${c[1]} → ${c[2]}`,event:"status_changed",fromStatus:c[1],toStatus:c[2]};let d=/^Issue (?:created|opened): ([\s\S]+)$/.exec(b);return d?{type:"issue",title:d[1],event:"created"}:/dispatch failed/i.test(b)?{type:"issue",title:b.replace(/^Issue dispatch failed:?\s*/i,""),event:"dispatch_failed"}:{type:"issue",title:b.replace(/^Issue:?\s*/i,""),event:"created"}}return a?.title?{type:"calendar",title:a.title,scheduledAt:a.scheduledAt,repeatInterval:a.repeatInterval}:{type:"calendar",title:b.replace(/^Calendar event:\s*/i,"")}}(a.metadata,a.content,j)).type?(0,b.jsx)(as,{subject:M.subject,address:M.address,direction:M.direction,onClick:L}):"calendar"===M.type?(0,b.jsx)(au,{title:M.title,scheduledAt:M.scheduledAt,repeatInterval:M.repeatInterval,onClick:L}):(0,b.jsx)(aw,{title:M.title,event:M.event,fromStatus:M.fromStatus,toStatus:M.toStatus,assigneeName:M.agentId?d.find(a=>a.id===M.agentId)?.name:void 0,onClick:L}),(0,b.jsx)("div",{"data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsx)(aD,{groupPosition:v,agentName:z,config:A,children:H})})):S&&a.metadata?.error_source!=="runtime"?(0,b.jsx)("div",{className:"flex justify-center","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsx)("span",{className:"text-xs text-muted-foreground/70 text-center px-2 py-1",children:a.content})}):(D={hasTaskStream:P,isRuntimeError:a.metadata?.error_source==="runtime"}).hasTaskStream&&D.isRuntimeError?null:(0,b.jsx)("div",{className:(0,x.cn)("group/msg overflow-x-clip",t&&a.metadata?.error_source==="runtime"&&"bg-muted/30 rounded-lg px-2 -mx-2"),"data-message-id":a.id,"data-quote-source":!0,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsx)(aD,{groupPosition:v,agentName:z,config:A,children:a.metadata?.error_source==="runtime"?(0,b.jsxs)("div",{className:"relative min-w-0 w-fit max-w-full",...$,children:[(0,b.jsx)(l,{provider:a.metadata.provider??y,message:a.content}),aa,_]}):(0,b.jsxs)("div",{className:"relative min-w-0 w-fit max-w-full",...$,children:[(0,b.jsx)("div",{className:(0,x.cn)("markdown min-w-0 max-w-full px-3 py-1.5 bg-muted text-foreground text-base",aC[v],t&&"shadow-[inset_2px_0_0_var(--foreground)]"),children:(0,b.jsx)(aj.Streamdown,{plugins:{mermaid:ak.mermaid,cjk:al.cjk},controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},allowedTags:ax,literalTagContent:ay,components:s,children:an(a.content,d)})}),t&&(0,b.jsx)(aG,{}),aa,_]})})})]})});function aI(){return(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5","aria-hidden":!0,children:[(0,b.jsx)("span",{className:"size-1 rounded-full bg-muted-foreground/60 motion-safe:animate-[typing-dot_1.2s_ease-in-out_infinite]"}),(0,b.jsx)("span",{className:"size-1 rounded-full bg-muted-foreground/60 motion-safe:animate-[typing-dot_1.2s_ease-in-out_0.2s_infinite]"}),(0,b.jsx)("span",{className:"size-1 rounded-full bg-muted-foreground/60 motion-safe:animate-[typing-dot_1.2s_ease-in-out_0.4s_infinite]"})]})}function aJ({agentFirstName:a,taskStatus:c}){let d="running"===c?"typing":"queued"===c||"dispatched"===c?"reading":"idle";return(0,b.jsx)("div",{className:"h-5 px-1 mb-2 flex items-center","aria-live":"polite",children:(0,b.jsx)("span",{className:(0,x.cn)("inline-flex items-center gap-1.5 text-sm text-muted-foreground","idle"!==d&&"motion-safe:animate-[fade-up_200ms_ease-out_both]"),children:"idle"!==d&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"reading"===d?`${a} is reading`:`${a} is typing`}),(0,b.jsx)(aI,{})]})},d)})}var aK=a.i(325848),aL=a.i(781418),aM=a.i(722393);function aN({filename:a,size:c,contentType:d,version:e,hasDuplicates:f,onClick:g}){let h=function(a,b){let c=a.lastIndexOf(".");if(c>-1)return a.slice(c+1).toUpperCase();if(b){let a=b.split("/")[1];if(a)return a.split(";")[0].toUpperCase()}return"FILE"}(a,d);return(0,b.jsxs)("button",{type:"button",onClick:g,disabled:!g,className:"card-grain w-104 max-w-full overflow-hidden rounded-(--radius) border border-(--border) bg-(--paper) text-left grid grid-cols-[44px_1fr] cursor-pointer transition-[transform,box-shadow] duration-300 ease-out hover:-translate-y-0.5 [box-shadow:var(--e1)] hover:[box-shadow:var(--e2)]",children:[(0,b.jsxs)("span",{className:"flex flex-col items-center justify-center border-r border-(--border) bg-[oklch(from_var(--tf)_l_c_h/0.08)] gap-0.5 p-2",children:[(0,b.jsxs)("span",{className:"flex flex-col gap-0.5 w-4.5",children:[(0,b.jsx)("i",{className:"h-[1.5px] rounded-sm bg-(--tf) opacity-[0.28] w-full"}),(0,b.jsx)("i",{className:"h-[1.5px] rounded-sm bg-(--tf) opacity-[0.28] w-[78%]"}),(0,b.jsx)("i",{className:"h-[1.5px] rounded-sm bg-(--tf) opacity-[0.28] w-[55%]"})]}),(0,b.jsx)("span",{className:"font-mono text-[0.44rem] font-semibold uppercase text-(--tf) mt-px tracking-[0.02em]",children:h})]}),(0,b.jsxs)("span",{className:"p-3 min-w-0 flex flex-col justify-center gap-0.5",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1.5 min-w-0",children:[(0,b.jsx)("span",{className:"text-[0.9rem] font-semibold tracking-[-0.01em] truncate",children:a}),f&&null!=e&&(0,b.jsxs)("span",{className:"shrink-0 text-xs text-(--muted-foreground) bg-(--muted) rounded-full px-1.5 py-0.5 font-normal",children:["v",e]})]}),(0,b.jsx)("span",{className:"text-[0.7rem] text-(--muted-foreground) font-mono",children:(0,_.formatSize)(c)})]})]})}let aO={mention:function(a){let{children:c,...d}=a,{agents:e}=(0,t.useAgentContext)(),f=d["data-agent-id"]??d.dataAgentId,g=f?e.find(a=>a.id===f):void 0;if(!g&&"string"==typeof c){let a=c.startsWith("@")?c.slice(1):c;g=e.find(b=>b.name.toLowerCase()===a.toLowerCase())}return g?(0,b.jsxs)(aM.Popover,{children:[(0,b.jsx)(aM.PopoverTrigger,{openOnHover:!0,delay:300,nativeButton:!1,render:(0,b.jsx)("span",{className:"mention-highlight cursor-pointer"}),children:c}),(0,b.jsx)(aM.PopoverContent,{side:"top",className:"w-fit max-w-80",children:(0,b.jsx)(aL.AgentPreviewCard,{agent:g})})]}):(0,b.jsx)("span",{className:"mention-highlight",children:c})},p:({children:a,node:c,...d})=>(0,b.jsx)("div",{"data-md-p":"",...d,children:a})};function aP({agentName:a}){return(0,b.jsxs)("div",{className:"flex items-center gap-3 py-4 select-none","aria-hidden":!0,children:[(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground/60 whitespace-nowrap",children:[a," took a nap 💤"]}),(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"})]})}function aQ({artifact:a,version:c,hasDuplicates:d,onClick:e}){return(0,b.jsx)(aN,{filename:a.filename,size:a.size,contentType:a.content_type??void 0,version:c,hasDuplicates:d,onClick:()=>e(a)})}a.s(["AgentChatView",0,function({agentId:a,targetConvId:g,scrollToTaskId:h,scrollToMessageId:j}){let k,l,B,M=(0,d.useParams)(),O=(0,d.useSearchParams)(),{workspaceId:P,slug:Q}=(0,e.useWorkspace)(),{agents:R,runtimes:S,agentLinks:T,activeTaskCounts:U,subscribeWs:V,subscribeReconnect:W}=(0,t.useAgentContext)(),{refresh:X}=(0,u.useInboxCount)(),{activeChannel:aa,loading:ab,setAgentId:ac}=(0,v.useChannel)(),ad=a??M.id,aj=R.find(a=>a.id===ad),ak=aj?.runtime_id?S.find(a=>a.id===aj.runtime_id):null,al=ak?.provider??null,am=void 0!==h?h:O.get("task"),an=void 0!==j?j:O.get("msg"),ao=void 0!==g?g:O.get("conv"),[ap,aq]=(0,c.useState)(()=>""),[ar,as]=(0,c.useState)(!1),{artifactSheetOpen:at,setArtifactSheetOpen:au,selectedArtifact:av,setSelectedArtifact:aw,emailSheetOpen:ax,setEmailSheetOpen:ay,selectedEmailId:az,setSelectedEmailId:aA,calendarEventSheetOpen:aB,setCalendarEventSheetOpen:aC,selectedCalendarEventId:aE,setSelectedCalendarEventId:aF,issueSheetOpen:aG,setIssueSheetOpen:aI,selectedIssueId:aL,setSelectedIssueId:aN,issueDetail:aR,setIssueDetail:aS,issueDetailLoading:aT,issueTraceTasks:aU,issueActiveTask:aV,setIssueActiveTask:aW,openIssue:aX,issueConvId:aY,issueTaskId:aZ}=function(a){let[b,d]=(0,c.useState)(!1),[e,f]=(0,c.useState)(null),[g,h]=(0,c.useState)(!1),[i,j]=(0,c.useState)(null),[k,l]=(0,c.useState)(!1),[m,o]=(0,c.useState)(null),[p,q]=(0,c.useState)(!1),[r,s]=(0,c.useState)(null),[t,u]=(0,c.useState)(null),[v,x]=(0,c.useState)(!1),[y,z]=(0,c.useState)(null),[A,B]=(0,c.useState)(null),C=(0,c.useCallback)(async b=>{s(b),q(!0),x(!0),z(null),B(null);try{let c=await (0,n.getIssue)(a,b);u(c),c.issue.latest_task_id&&(0,n.getTask)(c.issue.latest_task_id,a).then(a=>B(a)).catch(()=>B(null)),c.issue.trace_id&&(0,n.getTrace)(c.issue.trace_id,a).then(a=>z(a.tasks)).catch(()=>z(null))}catch(a){w.toast.error(a instanceof Error?a.message:"Failed to load issue"),q(!1)}finally{x(!1)}},[a]),D=t?.issue?.conversation_id??null,E=t?.issue?.latest_task_id??null;return{artifactSheetOpen:b,setArtifactSheetOpen:d,selectedArtifact:e,setSelectedArtifact:f,emailSheetOpen:g,setEmailSheetOpen:h,selectedEmailId:i,setSelectedEmailId:j,calendarEventSheetOpen:k,setCalendarEventSheetOpen:l,selectedCalendarEventId:m,setSelectedCalendarEventId:o,issueSheetOpen:p,setIssueSheetOpen:q,selectedIssueId:r,setSelectedIssueId:s,issueDetail:t,setIssueDetail:u,issueDetailLoading:v,issueTraceTasks:y,issueActiveTask:A,setIssueActiveTask:B,openIssue:C,issueConvId:D,issueTaskId:E}}(P),{pendingFiles:a$,setPendingFiles:a_,fileInputRef:a0,addPendingFiles:a1,handleFileSelect:a2,removePendingFile:a3,dragging:a4,handleDragEnter:a5,handleDragLeave:a6,handleDragOver:a7,handleDrop:a8}=function(){let[a,b]=(0,c.useState)([]),d=(0,c.useRef)(null),e=(0,c.useCallback)(a=>{let c=[];for(let b of a)b.size>0xa00000?w.toast.error(`"${b.name}" exceeds 10 MB limit`):c.push(b);c.length>0&&b(a=>[...a,...c])},[]),f=(0,c.useCallback)(a=>{let b=a.target.files;b&&(e(Array.from(b)),a.target.value="")},[e]),g=(0,c.useCallback)(a=>{b(b=>b.filter((b,c)=>c!==a))},[]),[h,i]=(0,c.useState)(!1),j=(0,c.useRef)(0),k=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),j.current++,a.dataTransfer.types.includes("Files")&&i(!0)},[]),l=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),j.current--,0===j.current&&i(!1)},[]),m=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),n=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),i(!1),j.current=0,e(Array.from(a.dataTransfer.files))},[e]);return{pendingFiles:a,setPendingFiles:b,fileInputRef:d,addPendingFiles:e,handleFileSelect:f,removePendingFile:g,dragging:h,handleDragEnter:k,handleDragLeave:l,handleDragOver:m,handleDrop:n}}(),[a9,ba]=(0,c.useState)(null),[bb]=(0,c.useState)(()=>Date.now()),[bc,bd]=(0,c.useState)(()=>null),[be,bf]=(0,c.useState)(!1),{flaggedIds:bg,setFlaggedIds:bh,handleToggleFlag:bi}=function(a){let[b,d]=(0,c.useState)(new Set),e=(0,c.useRef)(b);(0,c.useEffect)(()=>{e.current=b});let{increment:f,decrement:g,refresh:h}=(0,L.useFlagCount)(),i=(0,c.useCallback)(async b=>{let c=e.current.has(b);d(a=>{let d=new Set(a);return c?d.delete(b):d.add(b),d}),c?(g(),(0,n.unflagMessage)(a,b).then(()=>{h()}).catch(()=>{d(a=>new Set(a).add(b)),f()})):(f(),(0,n.flagMessage)(a,b).then(()=>{h()}).catch(()=>{d(a=>{let c=new Set(a);return c.delete(b),c}),g()}))},[a,f,g,h]);return{flaggedIds:b,setFlaggedIds:d,handleToggleFlag:i}}(P);(0,c.useEffect)(()=>{ac(ad)},[ad,ac]);let bj=(0,c.useRef)(!1),bk=s(ap),bl=s(bc),bm=s(a$),bn=(0,c.useRef)(null),bo=(0,c.useRef)(null),{conversation:bp,messages:bq,sending:br,activeTask:bs,taskMessages:bt,messagesLoading:bu,connectionLost:bv,loadingMore:bw,artifacts:bx,napping:by,pendingFilesByMessage:bz,failedSends:bA,agentArtifacts:bB,agentName:bC,timeline:bD,groupPositions:bE,activeTaskStreamMsgId:bF,canLoadMore:bG,currentConvHasMessages:bH,scrollRef:bI,composerRef:bJ,loadOlderMessages:bK,handleScroll:bL,handleSend:bM,handleRetrySend:bN,handleRetryTask:bO,handleNap:bP}=function(a,b){let{agentId:d,targetConvId:e,scrollToTaskId:f,scrollToMessageId:g,propTargetConvId:h,workspaceId:i,agents:j,activeChannel:k,channelLoading:l,subscribeWs:m,subscribeReconnect:t,refreshInboxCount:u}=a,{setFlaggedIds:v,setPendingFiles:x,setInput:y,setQuotedText:z,setActiveSkill:A,clearActiveSkill:B,inputRef:C,quotedTextRef:D,pendingFilesRef:E,activeSkillRef:F,draftMetaRestoredRef:G}=b,[H,I]=(0,c.useState)(null),[L,M]=(0,c.useState)([]),[N,O]=(0,c.useState)(!1),[P,Q]=(0,c.useState)(null),[R,S]=(0,c.useState)([]),[T,U]=(0,c.useState)(!0),[V,W]=(0,c.useState)(!1),[X,Y]=(0,c.useState)(!1),[Z,$]=(0,c.useState)(!1),[_,aa]=(0,c.useState)([]),[ab,ac]=(0,c.useState)([]),[ad,ae]=(0,c.useState)(!1),[af,ag]=(0,c.useState)([]),[ah,ai]=(0,c.useState)(()=>new Map),[aj,ak]=(0,c.useState)(()=>new Map),{writeToCache:al}=function(a,b){let[d,e]=(0,c.useState)(null),[f,g]=(0,c.useState)(!1),h=(0,c.useRef)(a);return(0,c.useEffect)(()=>{if(h.current=a,!a||!b){e(null),g(!1);return}(0,K.openCacheDB)(b);let c=!1;return(0,K.getCachedMessages)(a,b).then(b=>{c||h.current!==a||(b&&b.length>0?(e(b),g(!0)):(e(null),g(!1)))}),()=>{c=!0}},[a,b]),{cachedMessages:d,isFromCache:f,writeToCache:(0,c.useCallback)(async(a,c,d)=>{h.current&&b&&await (0,K.mergeCachedMessages)(h.current,a,c,b,d)},[b])}}(e??null,i),am=(0,c.useRef)(al);(0,c.useEffect)(()=>{am.current=al},[al]);let an=(0,c.useMemo)(()=>_.filter(a=>"agent"===a.source),[_]),ao=(0,c.useMemo)(()=>(function(a,b,c,d){if(!d||0===c.length){let d=[...a.map(a=>({kind:"message",data:a})),...b.map(a=>({kind:"artifact",data:a})),...c.map(a=>({kind:"nap",data:a}))];return d.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);if(0!==c)return c;if("nap"===a.kind||"nap"===b.kind){if("nap"===a.kind&&"nap"!==b.kind)return 1;if("nap"!==a.kind&&"nap"===b.kind)return -1}return a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)}),d}let e=new Set(c.map(a=>a.id.replace(/^nap-/,""))),f=[...c].sort((a,b)=>a.created_at.localeCompare(b.created_at)),g=c=>[...a.filter(a=>a.conversation_id===c).map(a=>({kind:"message",data:a})),...b.filter(a=>a.conversation_id===c).map(a=>({kind:"artifact",data:a}))].sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)}),h=[];for(let a of f){let b=a.id.replace(/^nap-/,"");h.push(...g(b)),h.push({kind:"nap",data:a})}h.push(...g(d));let i=new Set([...e,d]),j=a.filter(a=>!i.has(a.conversation_id)),k=b.filter(a=>!i.has(a.conversation_id));if(j.length>0||k.length>0){let a=[...j.map(a=>({kind:"message",data:a})),...k.map(a=>({kind:"artifact",data:a}))];a.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)});let b=h.findIndex(a=>"nap"===a.kind);b>=0?h.splice(b,0,...a):h.push(...a)}return h})(L,an,af,H?.id),[L,an,af,H?.id]),ap=(0,c.useMemo)(()=>(function(a){let b=Array(a.length).fill(null),c=(a,b)=>{if(!a||!b)return!1;let c=q(a),d=q(b);if(null===c||c!==d)return!1;let e=r(a),f=r(b);return!e||!f||6e4>Math.abs(new Date(e).getTime()-new Date(f).getTime())};for(let d=0;d<a.length;d++){let e=a[d];if(null===q(e))continue;let f=d>0?a[d-1]:null,g=d<a.length-1?a[d+1]:null,h=c(f,e),i=c(e,g);h&&i?b[d]="middle":h&&!i?b[d]="last":!h&&i?b[d]="first":b[d]="solo"}return b})(ao),[ao]),aq=(0,c.useMemo)(()=>{if(!P)return null;for(let a=L.length-1;a>=0;a--){let b=L[a];if("assistant"===b.role&&b.task_id===P.id)return b.id}return null},[L,P]),ar=(0,c.useRef)(null),as=(0,c.useRef)(null),at=(0,c.useRef)(null),au=(0,c.useRef)(null),av=(0,c.useRef)(0),aw=(0,c.useRef)(0),ax=(0,c.useRef)(!1),ay=(0,c.useRef)(!1),az=(0,c.useRef)(!0),aA=(0,c.useRef)(!1),aB=(0,c.useRef)(null),aC=(0,c.useRef)(null),aD=(0,c.useRef)(0),aE=(0,c.useRef)(void 0),aF=(0,c.useRef)(null),aG=(0,c.useRef)({completedKey:null}),aH=(0,c.useRef)(null),aI=(0,c.useCallback)((a,b)=>{aF.current===a&&(0,K.getConvExtras)(a,i).then(c=>{if(c&&aF.current===a)return(0,K.setConvExtras)(a,{artifacts:b,conversation_type:c.conversation_type,conversation_title:c.conversation_title,conversation_channel:c.conversation_channel,conversation_created_at:c.conversation_created_at,hasMoreArtifacts:c.hasMoreArtifacts},i)}).catch(()=>{})},[i]),aJ=(0,c.useCallback)(()=>{az.current=!0,setTimeout(()=>{ar.current?.scrollTo({top:ar.current.scrollHeight,behavior:"smooth"})},50)},[]);(0,c.useEffect)(()=>{var a,b;if(!e&&l)return;let c=(a={workspaceId:i,agentId:d,targetConvId:e,scrollToTaskId:f}).targetConvId?`${a.workspaceId}::${a.agentId}::${a.targetConvId}::${a.scrollToTaskId??""}`:null;if(b=aG.current,c&&b.completedKey===c||(b.completedKey=null,0))return;as.current&&clearInterval(as.current),as.current=null,au.current=null,aF.current=null;let g=!1;U(!0),ax.current=!1,Q(null),S([]),ai(new Map),ak(new Map),ag([]),ac([]),ae(!1),aC.current=null,y(localStorage.getItem(`chat-draft:${d}:${e??"default"}`)??"");let h=localStorage.getItem(`chat-draft-meta:${d}:${e??"default"}`);if(h)try{let a=JSON.parse(h);z(a.quote??null),A(a.skill?a.skill:null)}catch{z(null),A(null)}else z(null),A(null);async function j(a){let b=await (0,K.getCacheMeta)(a,i);if(b?.newestMessageId){let c=await (0,K.getCachedMessages)(a,i);if(g)return{painted:!1,cacheMeta:b};if(c&&c.length>0)return M(c),Y(b.hasMore),U(!1),await m(a,c),{painted:!0,cacheMeta:b}}return{painted:!1,cacheMeta:b}}async function m(a,b){let c=await (0,K.getConvExtras)(a,i);if(g||!c)return;aa(c.artifacts);let e=c.conversation_created_at||b[0]?.created_at||b[b.length-1]?.created_at||"";I(b=>b&&b.id===a?b:{id:a,agent_id:d,title:c.conversation_title,type:c.conversation_type,channel:c.conversation_channel,created_at:e})}return G.current=!0,M([]),async function(){let a=!1;try{let b=null,c=null,h=null;if(e){b=e;let d=await j(b);if(g)return;c=d.cacheMeta,a=d.painted}else{let e=await (0,K.getLastOpenConversation)(d,k,i);if(g)return;if(e?.conversation_id&&e.serverMessageCount>0){let b=await j(e.conversation_id);if(g)return;b.painted&&(a=!0,h=e.conversation_id,c=b.cacheMeta)}try{let e=await (0,n.checkFreshness)({agentId:d,channel:k},i);if(g)return;if(b=e.conversation_id,h&&b!==h){ax.current=!1,az.current=!0;let d=await j(b);if(g)return;c=d.cacheMeta,a=d.painted,d.painted||(M([]),U(!0),aa([]))}else if(!h){let d=await j(b);if(g)return;c=d.cacheMeta,a=d.painted}}catch{}}if(b){aF.current=b;let h=await (0,n.conversationInit)(b,i,{newestMessageId:c?.newestMessageId??void 0,messageCount:c?.serverMessageCount||void 0});if(g)return;if(I(h.conversation),ae(h.has_more_conversations),!h.cache_valid&&h.messages){let c=az.current;M(a=>p(a,h.messages)),aF.current===b&&(0,K.mergeCachedMessages)(b,h.messages,h.has_more_messages,i,h.message_count).catch(()=>{}),Y(h.has_more_messages),a&&ax.current&&c&&aJ()}else c&&Y(c.hasMore);if(aF.current===b&&!e){let a=await (0,K.getCacheMeta)(b,i);if(g)return;(0,K.setLastOpenConversation)(d,k,{conversation_id:b,newestMessageId:a?.newestMessageId??c?.newestMessageId??null,serverMessageCount:h.message_count},i).catch(()=>{})}if(aa(h.artifacts),aF.current===b&&(0,K.setConvExtras)(b,{artifacts:h.artifacts,conversation_type:h.conversation.type,conversation_title:h.conversation.title,conversation_channel:h.conversation.channel,conversation_created_at:h.conversation.created_at,hasMoreArtifacts:h.has_more_artifacts},i).catch(()=>{}),v(new Set(h.flagged_message_ids)),h.active_task&&(Q(h.active_task),S(h.task_messages),h.task_messages.length>0&&(av.current=Math.max(...h.task_messages.map(a=>a.seq))),aB.current?.(h.active_task.id,b,av.current)),f){let a=await (0,n.getTask)(f,i).catch(()=>null);if(g)return;if(a&&!["completed","failed","cancelled","superseded"].includes(a.status)){Q(a);let c=await (0,n.getTaskMessages)(f,i).catch(()=>[]);if(g)return;let d=c.filter(a=>"error"===a.type);S(d),c.length>0&&(av.current=Math.max(...c.map(a=>a.seq))),aB.current?.(a.id,b,av.current)}}}else{let b=await (0,n.chatInit)(d,i,k);if(g)return;aF.current=b.conversation.id,I(b.conversation);let c=az.current;M(a=>a.length>0?p(a,b.messages):b.messages),Y(b.has_more_messages),aa(b.artifacts),ae(b.has_more_conversations),(0,K.mergeCachedMessages)(b.conversation.id,b.messages,b.has_more_messages,i).catch(()=>{}),aF.current===b.conversation.id&&(0,K.setConvExtras)(b.conversation.id,{artifacts:b.artifacts,conversation_type:b.conversation.type,conversation_title:b.conversation.title,conversation_channel:b.conversation.channel,conversation_created_at:b.conversation.created_at,hasMoreArtifacts:b.has_more_artifacts},i).catch(()=>{}),(0,K.setLastOpenConversation)(d,k,{conversation_id:b.conversation.id,newestMessageId:b.messages.length>0?b.messages[b.messages.length-1].id:null,serverMessageCount:b.has_more_messages?0:b.messages.length},i).catch(()=>{}),a&&ax.current&&c&&aJ(),(0,n.listFlaggedMessageIds)(i,b.conversation.id).then(a=>{g||v(new Set(a.message_ids))}).catch(()=>{}),b.active_task&&(Q(b.active_task),b.task_messages.length>0&&(S(b.task_messages),av.current=Math.max(...b.task_messages.map(a=>a.seq))),["completed","failed","cancelled","superseded"].includes(b.active_task.status)||aB.current?.(b.active_task.id,b.conversation.id,av.current))}}catch{a?w.toast.error("Couldn't refresh conversation"):w.toast.error("Failed to load conversation")}finally{if(!g){var b;U(!1),b=aG.current,c&&(b.completedKey=c)}}}(),()=>{g=!0}},[d,i,e,f,k,l]);let aK=(0,c.useRef)(u);(0,c.useEffect)(()=>{aK.current=u},[u]);let aL=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!H?.id||!i||aL.current===H.id)return;aL.current=H.id;let a=setTimeout(()=>{(0,n.markInboxRead)(H.id,i).then(()=>aK.current()).catch(()=>{})},1e3);return()=>{aL.current=null,clearTimeout(a)}},[H?.id,i]),(0,c.useEffect)(()=>{T||!(L.length>0)||ax.current||(ax.current=!0,f||g?(az.current=!1,ar.current?.scrollTo({top:ar.current.scrollHeight})):h?setTimeout(()=>{let a=ar.current?.querySelectorAll("[data-quote-source]");a&&a.length>0?a[a.length-1].scrollIntoView({behavior:"instant",block:"start"}):ar.current?.scrollTo({top:ar.current.scrollHeight})},50):setTimeout(()=>{ar.current?.scrollTo({top:ar.current.scrollHeight})},50))},[T,L.length,f,g,h]),(0,c.useEffect)(()=>{let a;if(!f||T||!H)return;az.current=!1,aA.current=!0;let b=!1,c=()=>{if(b)return!1;let c=document.querySelector(`[data-task-id="${CSS.escape(f)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"center"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(aA.current=!1)},1500),!0)},d=setTimeout(async()=>{if(!b&&!c())try{let a=await (0,n.listMessagesAroundTask)(H.id,i,f);if(b)return;a.length>0?(M(b=>p(b,a)),requestAnimationFrame(()=>{setTimeout(()=>{c()||(aA.current=!1)},100)})):aA.current=!1}catch{b||(aA.current=!1)}},100);return()=>{b=!0,clearTimeout(d),a&&clearTimeout(a)}},[f,T,H,i]),(0,c.useEffect)(()=>{let a;if(!g||f||T||!H)return;az.current=!1,aA.current=!0;let b=!1,c=setTimeout(()=>{!b&&((()=>{if(b)return!1;let c=document.querySelector(`[data-message-id="${CSS.escape(g)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"center"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(aA.current=!1)},1500),!0)})()||(ar.current?.scrollTo({top:ar.current.scrollHeight}),aA.current=!1))},100);return()=>{b=!0,clearTimeout(c),a&&clearTimeout(a)}},[g,f,T,H]);let aM=P?.status;(0,c.useEffect)(()=>{aA.current||("running"===aM||"queued"===aM)&&az.current&&aJ()},[R.length,aM,aJ]),(0,c.useEffect)(()=>{aA.current||ax.current&&az.current&&aJ()},[_.length,L.length,aJ]);let aN=(0,c.useMemo)(()=>j.find(a=>a.id===d)?.name??"Agent",[j,d]),aO=s(L),aP=s(X),aQ=s(ab),aR=s(ad),aS=s(aN),aT=s(k),aU=(0,c.useCallback)(async(a=!1)=>{if(!H||ay.current)return;ay.current=!0;let b=aO.current,c=aP.current,f=aR.current,g=aS.current,h=aT.current,j=!!e,k=b[0],l=aC.current?.id??H.id,m=c&&k,o=aQ.current;if(!j&&!m&&0===o.length&&f){let a=aC.current??{id:H.id,created_at:H.created_at};try{let b=await (0,n.listPreviousConversations)(d,i,{exclude:H.id,before:a.created_at,channel:h});o=b.conversations,ac(b.conversations),ae(b.has_more)}catch{ae(!1)}}let p=!j&&o.length>0;if(!m&&!p){ay.current=!1;return}$(!0);let q=ar.current;q&&(q.style.overflowAnchor="none");let r=q?.scrollHeight??0;try{let b=[],c=[],e=20,p=!1,s=[],t=!1;if(m){let a=l===H.id?await (0,K.getCachedMessagesBefore)(l,k.created_at,k.id,20,i):null;if(a)b=a.messages,e-=a.messages.length,p=a.hasMore;else{let a=await (0,n.listMessages)(l,i,{limit:20,before:k.created_at,beforeId:k.id});b=a.messages,e-=a.messages.length,p=a.has_more}t=p}if(!j&&!p&&e>0){if(0===o.length&&f){let a=aC.current??{id:H.id,created_at:H.created_at};try{let b=await (0,n.listPreviousConversations)(d,i,{exclude:H.id,before:a.created_at,channel:h});o=b.conversations,ac(b.conversations),ae(b.has_more)}catch{ae(!1)}}let a=0,b=0;for(;a<o.length&&e>0&&b<5;){let d=o[a];a++,b++;let f=await (0,n.listMessages)(d.id,i,{limit:e});if(0===f.messages.length){aC.current=d;continue}let h=aC.current?.created_at??H.created_at;s.push({agentName:g,created_at:h,id:`nap-${d.id}`}),c=[...f.messages,...c],e-=f.messages.length,p=f.has_more,aC.current=d}a>0&&ac(b=>b.slice(a))}let u=[...c,...b];if((0,J.flushSync)(()=>{u.length>0?(s.length>0&&ag(a=>{let b=new Set(a.map(a=>a.id)),c=s.filter(a=>!b.has(a.id));return[...a,...c]}),Y(p),M(a=>{let b=new Set(a.map(a=>a.id));return[...u.filter(a=>!b.has(a.id)),...a]})):Y(!1)}),u.length>0&&H){let a=u.filter(a=>a.conversation_id===H.id);a.length>0&&(0,K.mergeCachedMessages)(H.id,a,t,i).catch(()=>{})}if(ay.current=!1,(0,J.flushSync)(()=>$(!1)),q)if(a)q.scrollTop=q.scrollHeight;else{let a=q.scrollHeight;q.scrollTop=a-r}}catch{w.toast.error("Failed to load older messages")}finally{ay.current=!1,$(!1),ar.current&&(ar.current.style.overflowAnchor="")}},[H,i,d,e,aO,aP,aR,aS,aT,aQ]),aV=e?X:X||ab.length>0||ad;(0,c.useEffect)(()=>{H?.id!==aE.current&&(aE.current=H?.id,aD.current=0)},[H?.id]),(0,c.useEffect)(()=>{T||!H||f||e||L.length>=10||!aV||Z||aD.current>=3||(aD.current+=1,aU(!0))},[T,L.length,aV,Z,H,aU,f,e]);let aW=(0,c.useCallback)(()=>{let a=ar.current;a&&(az.current=a.scrollHeight-a.scrollTop-a.clientHeight<100)},[]),aX=(0,c.useCallback)((a,b,c)=>{as.current&&clearInterval(as.current),av.current=c??0,aw.current=0,W(!1),au.current=a,as.current=setInterval(async()=>{if(au.current===a)try{let c=await (0,n.getTask)(a,i),d=au.current!==a;if(aw.current=0,W(!1),"completed"===c.status||"failed"===c.status||"cancelled"===c.status||"superseded"===c.status){if(d)return void(0,n.listMessages)(b,i).then(({messages:a})=>{M(b=>p(b,a)),(0,K.mergeCachedMessages)(b,a,null,i).catch(()=>{})}).catch(()=>{});as.current&&clearInterval(as.current),as.current=null,at.current&&clearTimeout(at.current),at.current=setTimeout(()=>{(0,n.markInboxRead)(b,i).then(()=>aK.current()).catch(()=>{})},1e3);let e=!aA.current&&az.current;try{let[a,d]=await Promise.all([(0,n.listMessages)(b,i),(0,n.listArtifacts)(b,i).catch(()=>null)]);M(b=>p(b,a.messages)),(0,K.mergeCachedMessages)(b,a.messages,null,i).catch(()=>{}),d&&(aa(d),aI(b,d)),Q(c)}catch{Q(c),w.toast.error("Failed to refresh messages")}e&&requestAnimationFrame(()=>{ar.current?.scrollTo({top:ar.current.scrollHeight,behavior:"smooth"})}),setTimeout(async()=>{if(!as.current)try{let c=await (0,n.getActiveTask)(b,i);if(c&&c.id!==a){let{messages:a}=await (0,n.listMessages)(b,i);M(b=>p(b,a)),(0,K.mergeCachedMessages)(b,a,null,i).catch(()=>{}),Q(c),S([]),aB.current?.(c.id,b)}}catch{}},1e3)}else d||Q(c)}catch{if(au.current!==a)return;aw.current+=1,aw.current>=3&&W(!0),aw.current>=10&&(as.current&&clearInterval(as.current),as.current=null,w.toast.error("Lost connection to agent"))}},3e3)},[i]);(0,c.useEffect)(()=>{aB.current=aX},[aX]),(0,c.useEffect)(()=>()=>{as.current&&clearInterval(as.current),at.current&&clearTimeout(at.current)},[]);let aY=(0,c.useRef)(null);(0,c.useEffect)(()=>{aY.current=P?.id??null},[P]),(0,c.useEffect)(()=>m(a=>{if("task.messages"===a.type&&a.taskId===aY.current){let b=a.messages.filter(a=>a.seq>av.current);if(b.length>0){let a=b.filter(a=>"error"===a.type);a.length>0&&S(b=>{let c=new Set(b.map(a=>a.seq)),d=a.filter(a=>!c.has(a.seq));return d.length>0?[...b,...d]:b}),av.current=Math.max(...b.map(a=>a.seq),av.current)}}if("task.created"===a.type&&a.conversationId===H?.id){(0,n.listMessages)(a.conversationId,i).then(({messages:b})=>{M(a=>p(a,b)),(0,K.mergeCachedMessages)(a.conversationId,b,null,i).catch(()=>{})}).catch(()=>{});let b=a.task;aY.current=b.id,Q(b),S([]),av.current=0,aB.current?.(b.id,a.conversationId)}if("task.created"===a.type){let b=a.task,c=aT.current;(0,K.getLastOpenConversation)(d,c,i).then(a=>{let e=function(a){let{task:b,agentId:c,activeChannel:d,currentPointerConvId:e}=a;return b.agent_id!==c||(b.channel??"default")!==d||b.conversation_id===e?null:b.conversation_id}({task:b,agentId:d,activeChannel:c,currentPointerConvId:a?.conversation_id??null});if(e)return(0,K.getCacheMeta)(e,i).then(a=>(0,K.setLastOpenConversation)(d,c,{conversation_id:e,newestMessageId:a?.newestMessageId??null,serverMessageCount:a?.messageCount??0},i))}).catch(()=>{})}"conversation.message"===a.type&&(a.conversationId===aF.current&&(0,K.appendCachedMessage)(a.conversationId,a.message,i).catch(()=>{}),a.conversationId===H?.id&&M(b=>{let c=new Date(a.message.created_at).getTime(),d=b.findIndex(b=>b.id.startsWith("temp-")&&b.role===a.message.role&&b.content===a.message.content&&2e3>Math.abs(new Date(b.created_at).getTime()-c));if(-1!==d){let c=b[d].id;ai(a=>{if(!a.has(c))return a;let b=new Map(a);return b.delete(c),b});let e=[...b];return e[d]=a.message,e}return p(b,[a.message])})),"task.updated"===a.type&&a.taskId===aY.current&&Q(b=>b?{...b,status:a.status}:b),"artifact.uploaded"===a.type&&a.conversationId===H?.id&&aa(b=>{if(b.some(b=>b.id===a.artifact.id))return b;let c=[...b,a.artifact];return aI(a.conversationId,c),c})}),[m,H?.id,i,d,aI]),(0,c.useEffect)(()=>t(()=>{H?.id&&(0,K.getCacheMeta)(H.id,i).then(a=>{(0,n.conversationInit)(H.id,i,{newestMessageId:a?.newestMessageId??void 0,messageCount:a?.serverMessageCount??void 0}).then(a=>{!a.cache_valid&&a.messages&&(M(b=>p(b,a.messages)),am.current(a.messages,a.has_more_messages,a.message_count).catch(()=>{}))}).catch(()=>{})})}),[t,H?.id,i]);let aZ=async()=>{let a=C.current.trim();if(!a&&0===E.current.length||N||!H)return;if(!a)return void w.toast.error("Please type a message");let b=D.current?`> ${D.current.split("\n").join("\n> ")}
2
2
 
3
- ${a}`:a;cd.activeSkill&&(b=`/${cd.activeSkill.name} ${b}`);let c=[...be];if(ap(""),bf([]),bw(null),cd.clearActiveSkill(),ar(!0),au&&!["completed","failed","cancelled","superseded"].includes(au.status)){let a=`temp-${Date.now()}`,d={id:a,conversation_id:ak.id,role:"user",content:b,task_id:null,attachment_ids:null,status:"buffered",created_at:new Date().toISOString()};bh(a=>[...a,d]);try{let{message:d}=await (0,v.createBufferedMessage)(ak.id,b,r,c.length>0?c:void 0);bh(b=>b.some(a=>a.id===d.id)?b.filter(b=>b.id!==a):b.map(b=>b.id===a?d:b))}catch(d){bh(b=>b.filter(b=>b.id!==a)),ap(b),bf(c),B.toast.error(d instanceof Error?d.message:"Failed to queue follow-up")}finally{ar(!1)}return}let d=`temp-${Date.now()}`,e={id:d,conversation_id:ak.id,role:"user",content:b,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};c.length>0&&bu(a=>{let b=new Map(a);return b.set(d,c),b}),an(a=>[...a,e]),ce();try{let{message:a,task:f}=await (0,v.sendMessage)(ak.id,b,r,c.length>0?c:void 0);bu(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),an(b=>{if(!b.some(a=>a.id===e.id))return b.some(b=>b.id===a.id)?b:aE([...b,a]);let c=b.filter(b=>b.id!==e.id&&b.id!==a.id);return aE([...c,a])}),(0,w.appendCachedMessage)(ak.id,a,r).catch(()=>{}),a.attachment_ids&&a.attachment_ids.length>0&&(0,v.listArtifacts)(ak.id,r).then(a=>aR(a)).catch(()=>{}),av(f),ax([]),cs(f.id,ak.id)}catch(a){bu(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),an(a=>a.filter(a=>a.id!==e.id)),ap(b),bf(c),B.toast.error(a instanceof Error?a.message:"Failed to send message")}finally{ar(!1),b5.current?.focus()}},cI=(0,c.useCallback)(async()=>{if(!au||!ak)return;let a=await (0,v.retryTask)(au.id,r);av(a),ax([]),cs(a.id,ak.id)},[au,ak,r,cs]),cJ=(0,c.useCallback)(async a=>{let b=bD.current.has(a);bC(c=>{let d=new Set(c);return b?d.delete(a):d.add(a),d}),b?(bF(),(0,v.unflagMessage)(r,a).then(()=>{bG()}).catch(()=>{bC(b=>new Set(b).add(a)),bE()})):(bE(),(0,v.flagMessage)(r,a).then(()=>{bG()}).catch(()=>{bC(b=>{let c=new Set(b);return c.delete(a),c}),bF()}))},[r,bE,bF,bG]),cK=(0,c.useCallback)(async a=>{a5(a),a3(!0),a9(!0),bb(null),bd(null);try{let b=await (0,v.getIssue)(r,a);a7(b),b.issue.latest_task_id&&(0,v.getTask)(b.issue.latest_task_id,r).then(a=>bd(a)).catch(()=>bd(null)),b.issue.trace_id&&(0,v.getTrace)(b.issue.trace_id,r).then(a=>bb(a.tasks)).catch(()=>bb(null))}catch(a){B.toast.error(a instanceof Error?a.message:"Failed to load issue"),a3(!1)}finally{a9(!1)}},[r]),cL=a6?.issue?.conversation_id??null,cM=a6?.issue?.latest_task_id??null;(0,c.useEffect)(()=>{if(a2&&a4)return R(a=>{if("task.updated"===a.type&&cM&&a.taskId===cM&&(0,v.getTask)(cM,r).then(a=>bd(a)).catch(()=>{}),"conversation.message"===a.type&&cL&&a.conversationId===cL&&(a7(b=>!b||b.messages.some(b=>b.id===a.message.id)?b:{...b,messages:[...b.messages,a.message]}),"event"===a.message.role&&a.message.content.startsWith("Issue status changed:"))){let b=a.message.content.match(/-> (\w+)/);b&&a7(a=>a?{...a,issue:{...a.issue,status:b[1]}}:a)}"issue.comment"===a.type&&a.issueId===a4&&a7(b=>!b||b.comments.some(b=>b.id===a.comment.id)?b:{...b,comments:[...b.comments,a.comment]})})},[a2,a4,cL,cM,r,R]);let[cN,cO]=(0,c.useState)(!1),[cP,cQ]=(0,c.useState)(!1),cR=(0,c.useMemo)(()=>!!ak&&am.some(a=>a.conversation_id===ak.id),[ak,am]),cS=async()=>{if(ak&&cR&&!cN){cO(!0);try{bR.current&&(clearInterval(bR.current),bR.current=null);let a=await (0,v.createConversation)(X,r,U);bp(b=>[...b,{agentName:ci,created_at:a.created_at,id:`nap-${ak.id}`}]),bl(a=>[{id:ak.id,created_at:ak.created_at},...a]),al(a),av(null),ax([]),aR([]),bh([]),bf([]),bu(new Map),bU.current=0,aL(!1),aN(!1),b_.current=null,ce()}catch{B.toast.error("Failed to start new conversation")}finally{cO(!1)}}},cT=!!au&&!["completed","failed","cancelled","superseded"].includes(au.status);return ay?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-3 md:px-5",children:(0,b.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4",children:[(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(C.Skeleton,{className:"h-10 w-48 rounded-lg"})}),(0,b.jsx)("div",{className:"flex justify-start",children:(0,b.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,b.jsx)(C.Skeleton,{className:"h-4 w-72"}),(0,b.jsx)(C.Skeleton,{className:"h-4 w-56"}),(0,b.jsx)(C.Skeleton,{className:"h-4 w-64"})]})}),(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(C.Skeleton,{className:"h-10 w-36 rounded-lg"})}),(0,b.jsx)("div",{className:"flex justify-start",children:(0,b.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,b.jsx)(C.Skeleton,{className:"h-4 w-64"}),(0,b.jsx)(C.Skeleton,{className:"h-4 w-48"})]})})]})}),(0,b.jsx)("div",{className:"px-3 md:px-5 pt-3 pb-5 md:pb-6",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl",children:(0,b.jsx)(C.Skeleton,{className:"h-12 w-full rounded-3xl"})})})]}):ay||ak||0!==am.length?(0,b.jsxs)(b.Fragment,{children:[bz&&(0,b.jsxs)("button",{type:"button",className:"fixed z-50 flex items-center gap-1 px-2 py-1 rounded-md bg-popover border shadow-md text-xs text-popover-foreground hover:bg-accent transition-colors",style:{left:bz.x,top:bz.y,transform:"translate(-100%, -100%)"},onMouseDown:a=>a.preventDefault(),onClick:cy,children:[(0,b.jsx)(J,{className:"size-3"}),"Quote"]}),(0,b.jsxs)("div",{className:"relative flex-1 min-h-0",children:[(0,b.jsx)("div",{className:"h-full overflow-y-auto overflow-x-hidden px-3 md:px-5 thin-scrollbar",ref:bQ,onScroll:cr,onClick:a=>{a.target.closest('[data-streamdown="code-block-actions"] button')&&B.toast.success("Copied to clipboard")},children:(0,b.jsxs)("div",{className:"mx-auto max-w-2xl pt-6 pb-15 min-w-0",children:[ak&&cq&&!aO&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)("button",{onClick:()=>cp(),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Load earlier messages"})}),aO&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)(k.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}),0===am.length&&!au&&(m=t.find(a=>a.id===X),n=m?.created_at&&bs-new Date(m.created_at).getTime()<3e5,o=(Q[X]??0)>0,n&&o&&"default"===U?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 gap-3 animate-[fade-up_400ms_ease-out_both]",children:[(0,b.jsxs)("div",{className:"relative animate-bounce",children:[(0,b.jsx)(I.Mail,{className:"size-8 text-primary"}),(0,b.jsxs)("span",{className:"absolute -top-1 -right-1 flex size-3",children:[(0,b.jsx)("span",{className:"animate-ping absolute inline-flex size-full rounded-full bg-primary/60"}),(0,b.jsx)("span",{className:"relative inline-flex size-3 rounded-full bg-primary"})]})]}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center max-w-xs",children:"Your agent is sending you a welcome email."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60 text-center max-w-xs",children:"Wait for the email task in the top-left to complete, then check your inbox. Or send a message below to start chatting."})]}):(0,b.jsx)("p",{className:"text-center text-muted-foreground py-20 text-sm",children:"Send a message to start chatting with the agent."})),bM.map((a,c)=>{let d=bN[c],e="first"===d||"solo"===d||null===d,f=0===c?"":e?"mt-4":"mt-0.5";if("nap"===a.kind)return(0,b.jsx)("div",{className:f,children:(0,b.jsx)(aI,{agentName:ci})},a.data.id);if("artifact"===a.kind)return(0,b.jsx)("div",{className:f,children:(0,b.jsx)(aJ,{artifact:a.data,version:bK.get(a.data.id)??1,hasDuplicates:bL.has(a.data.filename),onClick:bO})},`artifact-${a.data.id}`);let g=a.data;return(0,b.jsx)("div",{className:f,children:(0,b.jsx)(az,{msg:g,agents:t,artifacts:aQ,activeTask:au,taskMessages:aw,connectionLost:aD,isLastMessage:am.length>0&&am[am.length-1].id===g.id,thinkingCount:g.task_id?bq[g.task_id]??0:0,targetConvId:ad,workspaceId:r,conversationType:ak?.type,pendingFilesByMessage:bt,onArtifactClick:bO,onEmailClick:a=>{aZ(a),aX(!0)},onCalendarEventClick:a=>{a1(a),a_(!0)},onIssueClick:a=>cK(a),onRetry:cI,mentionComponents:aC,isFlagged:bB.has(g.id),onToggleFlag:"assistant"===g.role?cJ:void 0,groupPosition:d??"solo",provider:aa})},g.id)}),au&&au.conversation_id===ak?.id&&!["completed","failed","cancelled","superseded"].includes(au.status)&&(0,b.jsx)("div",{className:"mt-4",children:(0,b.jsx)(u,{task:au,messages:aw,connectionLost:aD,provider:aa})})]})}),(0,b.jsx)(aj.ScrollToBottomButton,{scrollRef:bQ})]}),ak&&(0,b.jsx)(ai,{bufferedMessages:bg,onDelete:a=>{bh(b=>b.filter(b=>b.id!==a)),(0,v.deleteBufferedMessage)(ak.id,a,r).catch(()=>{bh(bg),B.toast.error("Failed to delete follow-up")})}}),(0,b.jsx)("div",{"data-keyboard-offset":!0,className:"relative z-10 px-3 md:px-5 pt-3 pb-[max(1.25rem,env(safe-area-inset-bottom))] md:pb-6",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl relative",children:(0,b.jsxs)("div",{className:"flex items-end gap-2",children:[!ad&&(0,b.jsxs)(aB.Popover,{open:cP,onOpenChange:cQ,children:[(0,b.jsx)(aB.PopoverTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0 self-end mb-2.5 size-8 rounded-full text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,b.jsx)(K.MoreHorizontal,{className:"size-4"})}),(0,b.jsx)(aB.PopoverContent,{side:"top",align:"start",className:"w-auto p-1.5 flex flex-col gap-0.5",children:(0,b.jsxs)(D.Tooltip,{children:[(0,b.jsx)(D.TooltipTrigger,{render:a=>(0,b.jsx)("span",{...a,className:(0,i.cn)("inline-flex",a.className),children:(0,b.jsxs)(g.Button,{variant:"ghost",size:"sm",onClick:()=>{cQ(!1),cS()},disabled:cN||!ak||!cR||cT,className:"w-full justify-start gap-2 rounded-md text-muted-foreground hover:text-foreground",children:[cN?(0,b.jsx)(k.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(G,{className:"size-3.5"}),(0,b.jsx)("span",{className:"text-xs",children:"Nap"})]})})}),(0,b.jsx)(D.TooltipContent,{side:"right",children:cT?"Wait for the task to finish":cR?"Take a nap":`${ci} is well-rested and ready to go`})]})})]}),(0,b.jsxs)("div",{className:(0,i.cn)("relative flex-1 min-w-0 flex flex-col rounded-3xl border border-border/50 bg-background/90 transition-[border-radius] duration-200","focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50",(bx||bv||cd.activeSkill)&&"rounded-2xl",aq&&"opacity-50",cz&&"border-ring ring-3 ring-ring/50"),onDragEnter:cC,onDragLeave:cD,onDragOver:cE,onDrop:cF,children:[cz&&(0,b.jsx)("div",{className:(0,i.cn)("absolute inset-0 z-10 flex items-center justify-center bg-background/80 border-2 border-dashed border-ring pointer-events-none",bx||bv||cd.activeSkill?"rounded-2xl":"rounded-3xl"),children:(0,b.jsx)("p",{className:"text-sm text-muted-foreground font-medium",children:"Drop files here"})}),cd.activeSkill&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[(0,b.jsxs)("span",{className:"shrink-0 text-xs font-medium text-primary",children:["/",cd.activeSkill.name]}),cd.activeSkill.isGlobal&&(0,b.jsx)("span",{className:"text-[10px] font-medium text-muted-foreground bg-muted rounded px-1 py-0.5",children:"Global"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:cd.activeSkill.description})]}),(0,b.jsx)("button",{type:"button",onClick:cd.clearActiveSkill,className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,b.jsx)(N.X,{className:"size-3.5"})})]}),bv&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0 flex items-start gap-2",children:[(0,b.jsx)(J,{className:"size-3.5 shrink-0 mt-0.5 text-muted-foreground"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground truncate",children:[bv.slice(0,120),bv.length>120?"...":""]})]}),(0,b.jsx)("button",{type:"button",onClick:()=>bw(null),className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,b.jsx)(N.X,{className:"size-3.5"})})]}),(0,b.jsx)(P,{isOpen:cd.isOpen,skills:cd.skills,selectedIndex:cd.selectedIndex,onSelect:cd.selectSkill,anchorPos:cd.anchorPos}),be.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 px-3.5 pt-3 pb-0.5",children:be.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-md bg-muted px-2 py-1 text-xs text-muted-foreground",children:[(0,b.jsx)(H.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-30",children:a.name}),(0,b.jsx)("span",{className:"text-muted-foreground/60",children:(0,_.formatSize)(a.size)}),(0,b.jsx)("button",{type:"button",onClick:()=>cw(c),className:"ml-0.5 rounded-sm p-0.5 hover:bg-muted-foreground/20 transition-colors",children:(0,b.jsx)(N.X,{className:"size-3"})})]},`${a.name}-${c}`))}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("input",{ref:b4,type:"file",multiple:!0,className:"hidden",onChange:cv}),(0,b.jsx)("div",{className:"px-13 py-3",children:(0,b.jsx)($,{ref:b5,value:ao,onChange:ap,onEditorState:(a,b)=>{b7(a),bj(b)},onSend:cH,placeholder:cT?"Type a follow-up...":"Type a task...",disabled:aq,onMultiLineChange:by,onFiles:cu,agents:b8,agentLinks:O,currentAgentId:X,slashIsOpen:cd.isOpen,onSlashKeyDown:cd.handleSlashKeyDown})}),(0,b.jsxs)(D.Tooltip,{children:[(0,b.jsx)(D.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:()=>b4.current?.click(),disabled:aq,className:"absolute left-2 bottom-2 size-8 rounded-full text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,b.jsx)(L.Paperclip,{className:"size-3.5"})}),(0,b.jsx)(D.TooltipContent,{side:"top",children:"Attach files"})]}),!cT||ao.trim()||aq?(0,b.jsxs)(D.Tooltip,{children:[(0,b.jsx)(D.TooltipTrigger,{render:(0,b.jsx)(g.Button,{size:"icon-sm",onClick:cH,disabled:!ao.trim()||aq,className:(0,i.cn)("absolute right-2 bottom-2 size-8 rounded-full bg-primary text-primary-foreground transition-opacity duration-200",!ao.trim()&&"opacity-30")}),children:aq?(0,b.jsx)(k.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(E.ArrowUp,{className:"size-3.5"})}),(0,b.jsx)(D.TooltipContent,{side:"top",children:"Send"})]}):(0,b.jsxs)(D.Tooltip,{children:[(0,b.jsx)(D.TooltipTrigger,{render:(0,b.jsx)(g.Button,{size:"icon-sm",onClick:cG,disabled:as,className:"absolute right-2 bottom-2 size-8 rounded-full bg-red-500/10 text-red-500 hover:bg-red-500/20 transition-colors duration-200"}),children:as?(0,b.jsx)(k.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(M.Square,{className:"size-3.5 fill-current"})}),(0,b.jsx)(D.TooltipContent,{side:"top",children:"Stop task"})]})]})]}),!ad&&(0,b.jsx)("div",{className:"shrink-0 self-end mb-2.5 size-8","aria-hidden":"true"})]})})}),(0,b.jsx)(_.ArtifactSheet,{open:aS,onOpenChange:a=>{aT(a),a||setTimeout(()=>{aV(null)},300)},artifacts:aU?[aU]:bJ,workspaceId:r,initialArtifact:aU,versionMap:bK,duplicateFilenames:bL}),(0,b.jsx)(ae,{open:aW,onOpenChange:a=>{aX(a),a||setTimeout(()=>aZ(null),300)},emailId:aY,workspaceId:r}),(0,b.jsx)(af.CalendarEventSheet,{readonly:!0,open:a$,onOpenChange:a=>{a_(a),a||setTimeout(()=>a1(null),300)},calendarEventId:a0,workspaceId:r}),(0,b.jsx)(ag.IssueSheet,{open:a2,onOpenChange:a=>{a3(a),a||setTimeout(()=>{a5(null),a7(null),bd(null)},300)},agents:t,issue:a6?.issue??null,detail:a6?{messages:a6.messages,comments:a6.comments,artifacts:a6.artifacts,traceId:a6.issue.trace_id}:null,detailLoading:a8,activeTask:bc,traceTasks:ba,slug:s,workspaceId:r,onUpdate:async(a,b)=>{try{let c=await (0,v.updateIssue)(r,a,b);a7(d=>d&&d.issue.id===a?{...d,issue:{...d.issue,...b,updated_at:c.updated_at}}:d)}catch(a){B.toast.error(a instanceof Error?a.message:"Failed to update issue")}},onStatusChange:async(a,b)=>{try{await (0,v.updateIssue)(r,a,{status:b}),a7(c=>c&&c.issue.id===a?{...c,issue:{...c.issue,status:b}}:c)}catch(a){B.toast.error(a instanceof Error?a.message:"Failed to update status")}},onCommented:()=>{a4&&cK(a4)},onArtifactClick:bP})]}):(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:"Failed to load conversation"})}}];
3
+ ${a}`:a;F.current&&(b=`/${F.current.name} ${b}`);let c=[...E.current];y(""),x([]),z(null),B(),O(!0);let d=`temp-${Date.now()}`,e={id:d,conversation_id:H.id,role:"user",content:b,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};c.length>0&&ai(a=>{let b=new Map(a);return b.set(d,c),b}),M(a=>[...a,e]),aJ();try{let{message:a,task:f}=await (0,n.sendMessage)(H.id,b,i,c.length>0?c:void 0);if(ai(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),M(b=>{if(!b.some(a=>a.id===e.id))return b.some(b=>b.id===a.id)?b:o([...b,a]);let c=b.filter(b=>b.id!==e.id&&b.id!==a.id);return o([...c,a])}),(0,K.appendCachedMessage)(H.id,a,i).catch(()=>{}),a.attachment_ids&&a.attachment_ids.length>0){let a=H.id;(0,n.listArtifacts)(a,i).then(b=>{aa(b),aI(a,b)}).catch(()=>{})}Q(f),S([]),aX(f.id,H.id)}catch{ak(a=>{let e=new Map(a);return e.set(d,{content:b,files:c}),e})}finally{O(!1),aH.current?.focus()}},a$=(0,c.useCallback)(a=>{let b=aj.get(a);if(!b||!H||N)return;ak(b=>{let c=new Map(b);return c.delete(a),c}),M(b=>b.filter(b=>b.id!==a)),ai(b=>{if(!b.has(a))return b;let c=new Map(b);return c.delete(a),c}),O(!0);let c=`temp-${Date.now()}`,d={id:c,conversation_id:H.id,role:"user",content:b.content,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};b.files.length>0&&ai(a=>{let d=new Map(a);return d.set(c,b.files),d}),M(a=>[...a,d]),(0,n.sendMessage)(H.id,b.content,i,b.files.length>0?b.files:void 0).then(({message:a,task:b})=>{ai(a=>{if(!a.has(c))return a;let b=new Map(a);return b.delete(c),b}),M(b=>o([...b.filter(b=>b.id!==c&&b.id!==a.id),a])),(0,K.appendCachedMessage)(H.id,a,i).catch(()=>{}),Q(b),S([]),aX(b.id,H.id)}).catch(()=>{ak(a=>{let d=new Map(a);return d.set(c,b),d})}).finally(()=>{O(!1)})},[aj,H,N,i,aX]),a_=(0,c.useCallback)(async()=>{if(!P||!H)return;let a=await (0,n.retryTask)(P.id,i);Q(a),S([]),aX(a.id,H.id)},[P,H,i,aX]),[a0,a1]=(0,c.useState)(!1),a2=(0,c.useMemo)(()=>!!H&&L.some(a=>a.conversation_id===H.id),[H,L]),a3=async()=>{if(H&&a2&&!a0){a1(!0);try{as.current&&(clearInterval(as.current),as.current=null);let a=await (0,n.createConversation)(d,i,k);ag(b=>[...b,{agentName:aN,created_at:a.created_at,id:`nap-${H.id}`}]),ac(a=>[{id:H.id,created_at:H.created_at},...a]),I(a),Q(null),S([]),aa([]),x([]),ai(new Map),ak(new Map),av.current=0,W(!1),Y(!1),aC.current=null,aJ()}catch{w.toast.error("Failed to start new conversation")}finally{a1(!1)}}};return{conversation:H,messages:L,sending:N,activeTask:P,taskMessages:R,messagesLoading:T,connectionLost:V,hasMore:X,loadingMore:Z,artifacts:_,previousConversations:ab,hasMoreConversations:ad,napMarkers:af,napping:a0,pendingFilesByMessage:ah,failedSends:aj,agentArtifacts:an,agentName:aN,timeline:ao,groupPositions:ap,activeTaskStreamMsgId:aq,canLoadMore:aV,currentConvHasMessages:a2,scrollRef:ar,composerRef:aH,loadOlderMessages:aU,handleScroll:aW,handleSend:aZ,handleRetrySend:a$,handleRetryTask:a_,handleNap:a3,scrollToBottom:aJ}}({agentId:ad,targetConvId:ao,scrollToTaskId:am,scrollToMessageId:an,propTargetConvId:g,workspaceId:P,agents:R,activeChannel:aa,channelLoading:ab,subscribeWs:V,subscribeReconnect:W,refreshInboxCount:X},{setFlaggedIds:bh,setPendingFiles:a_,setInput:aq,setQuotedText:bd,setActiveSkill:a=>bo.current?.setActiveSkill(a),clearActiveSkill:()=>bo.current?.clearActiveSkill(),inputRef:bk,quotedTextRef:bl,pendingFilesRef:bm,activeSkillRef:bn,draftMetaRestoredRef:bj}),{versionMap:bQ,duplicateFilenames:bR}=(0,c.useMemo)(()=>(0,ah.computeArtifactVersions)(bB),[bB]),bS=(0,c.useMemo)(()=>(0,aK.parseAvatarUrl)(R.find(a=>a.id===ad)?.avatar_url??null),[R,ad]),bT=(0,c.useMemo)(()=>bC.split(/\s+/)[0]||bC,[bC]),bU=(0,c.useCallback)(a=>{(0,ah.isPreviewable)(a)?(aw(a),au(!0)):window.open((0,ah.getArtifactUrl)(a.id,P,!0),"_blank")},[P]),bV=(0,c.useCallback)(a=>{(0,ah.isPreviewable)(a)?(aw(a),au(!0)):window.open((0,ah.getArtifactUrl)(a.id,P,!0),"_blank")},[P]),[bW,bX]=(0,c.useState)(""),bY=(0,c.useMemo)(()=>R.filter(a=>a.id!==ad),[R,ad]),[bZ,b$]=(0,c.useState)([]),b_=(0,c.useRef)(!1);(0,c.useEffect)(()=>{b_.current||(b_.current=!0,(0,n.getAgentSkills)(ad,P).then(a=>b$(a.skills)).catch(()=>{}))},[ad,P]);let[b0]=(0,c.useState)(()=>null),b1=function({input:a,caretIndex:b,skills:d,onInputChange:e,initialActiveSkill:f,getAnchorPos:g,onAfterSelect:h}){let[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(""),[m,n]=(0,c.useState)(0),[o,p]=(0,c.useState)({top:0,left:0}),q=(0,c.useRef)(null),r=(0,c.useMemo)(()=>{if(!i)return[];if(!k)return d;let a=k.toLowerCase(),b=[],c=[];for(let e of d){let d=e.name.toLowerCase();d.startsWith(a)?b.push(e):d.includes(a)&&c.push(e)}return[...b,...c]},[i,k,d]);(0,c.useEffect)(()=>{n(0)},[r.length,k]);let[s,t]=(0,c.useState)(f??null);(0,c.useEffect)(()=>{if(s||null===b)return void j(!1);let c=function(a,b){if(!a.startsWith("/")||0===b)return null;let c=b-1;for(;c>=0&&b-c<=30;){let d=a.charCodeAt(c);if(47===d&&0===c)return{start:0,query:a.slice(1,b)};if(10===d||13===d||32===d)break;c--}return null}(a,b);if(c){q.current=c.start,l(c.query),j(!0);let a=g(c.start);a&&p(a)}else j(!1),q.current=null},[a,b,g,s]);let u=(0,c.useCallback)(a=>{t(a),e(""),j(!1),h?.()},[e,h]),v=(0,c.useCallback)(()=>{t(null)},[]),w=(0,c.useCallback)(a=>!!i&&0!==r.length&&!a.isComposing&&("ArrowDown"===a.key?(a.preventDefault(),n(a=>(a+1)%r.length),!0):"ArrowUp"===a.key?(a.preventDefault(),n(a=>(a-1+r.length)%r.length),!0):"Enter"===a.key||"Tab"===a.key?(a.preventDefault(),u(r[m]),!0):"Escape"===a.key&&(a.preventDefault(),j(!1),!0)),[i,r,m,u]);return{isOpen:i,query:k,selectedIndex:m,anchorPos:o,skills:r,activeSkill:s,handleSlashKeyDown:w,selectSkill:u,clearActiveSkill:v,setActiveSkill:t}}({input:bW,caretIndex:a9,skills:bZ,onInputChange:()=>bJ.current?.clear(),initialActiveSkill:b0,getAnchorPos:(0,c.useCallback)(a=>bJ.current?.coordsAtTextIndex(a)??null,[]),onAfterSelect:(0,c.useCallback)(()=>{requestAnimationFrame(()=>bJ.current?.focus())},[])});(0,c.useLayoutEffect)(()=>{bo.current=b1,bn.current=b1.activeSkill}),(0,c.useEffect)(()=>{0===bZ.length||!b1.activeSkill||bZ.some(a=>a.name===b1.activeSkill.name)||b1.setActiveSkill(null)},[bZ]),(0,c.useEffect)(()=>{let a=`chat-draft:${ad}:${ao??"default"}`;ap?localStorage.setItem(a,ap):localStorage.removeItem(a)},[ap,ad,ao]),(0,c.useEffect)(()=>{if(!bj.current)return;let a=`chat-draft-meta:${ad}:${ao??"default"}`,b={};b1.activeSkill&&(b.skill={name:b1.activeSkill.name,description:b1.activeSkill.description}),bc&&(b.quote=bc),b.skill||b.quote?localStorage.setItem(a,JSON.stringify(b)):localStorage.removeItem(a)},[b1.activeSkill,bc,ad,ao]),(0,c.useEffect)(()=>{br||bJ.current?.focus()},[br]);let{selectionPopup:b2,setSelectionPopup:b3}=function(){let[a,b]=(0,c.useState)(null),d=(0,c.useCallback)(()=>{let a=window.getSelection();if(!a||a.isCollapsed||!a.rangeCount)return void b(null);let c=a.toString().trim();if(!c)return void b(null);let d=a.getRangeAt(0),e=d.commonAncestorContainer instanceof HTMLElement?d.commonAncestorContainer:d.commonAncestorContainer.parentElement;if(!e?.closest("[data-quote-source]"))return void b(null);let f=d.getClientRects(),g=f[f.length-1]||d.getBoundingClientRect();b({text:c,x:g.right,y:g.top-4})},[]);return(0,c.useEffect)(()=>(document.addEventListener("selectionchange",d),()=>document.removeEventListener("selectionchange",d)),[d]),{selectionPopup:a,setSelectionPopup:b}}(),b4=(0,c.useCallback)(()=>{b2&&(bd(b2.text),b3(null),window.getSelection()?.removeAllRanges(),bJ.current?.focus())},[b2]);(0,c.useEffect)(()=>{if(aG&&aL)return V(a=>{if("task.updated"===a.type&&aZ&&a.taskId===aZ&&(0,n.getTask)(aZ,P).then(a=>aW(a)).catch(()=>{}),"conversation.message"===a.type&&aY&&a.conversationId===aY&&(aS(b=>!b||b.messages.some(b=>b.id===a.message.id)?b:{...b,messages:[...b.messages,a.message]}),"event"===a.message.role&&a.message.content.startsWith("Issue status changed:"))){let b=a.message.content.match(/-> (\w+)/);b&&aS(a=>a?{...a,issue:{...a.issue,status:b[1]}}:a)}"issue.comment"===a.type&&a.issueId===aL&&aS(b=>!b||b.comments.some(b=>b.id===a.comment.id)?b:{...b,comments:[...b.comments,a.comment]})})},[aG,aL,aY,aZ,P,V]);let[b5,b6]=(0,c.useState)(!1),b7=!!bs&&!["completed","failed","cancelled","superseded"].includes(bs.status),b8=function(a){var b;let d=function(){let[a,b]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{},[]),a}(),[e,f]=(0,c.useState)(()=>(function(a,b=Math.random){return a<=0?0:Math.floor(b()*a)%a})($.length)),g=(b={...a,reducedMotion:d}).isEmpty&&!b.isFocused&&!b.isTaskActive&&!b.reducedMotion,h=(0,c.useRef)(e);return h.current=e,(0,c.useEffect)(()=>{if(!g)return;let a=setInterval(()=>{var a,b;f((a=h.current,(b=$.length)<=0?0:(a+1)%b))},6e3);return()=>clearInterval(a)},[g]),{hint:$[e]??$[0],isRotating:g}}({isEmpty:""===ap.trim(),isFocused:ar,isTaskActive:b7});return bu?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-3 md:px-5",children:(0,b.jsxs)("div",{className:"mx-auto max-w-3xl py-6 space-y-6 motion-safe:animate-[fade-up_200ms_ease-out_both]",children:[(0,b.jsxs)("div",{className:"flex justify-start items-start gap-2",children:[(0,b.jsx)(y.Skeleton,{className:"size-[30px] shrink-0 rounded-md"}),(0,b.jsxs)("div",{className:"flex flex-col items-start gap-1 max-w-[86%]",children:[(0,b.jsx)(y.Skeleton,{className:"h-3 w-20 rounded mb-0.5"}),(0,b.jsx)(y.Skeleton,{className:"h-9 w-64 rounded-[1.05rem]"}),(0,b.jsx)(y.Skeleton,{className:"h-9 w-48 rounded-[1.05rem]"})]})]}),(0,b.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,b.jsx)(y.Skeleton,{className:"h-9 w-44 rounded-[1.05rem]"}),(0,b.jsx)(y.Skeleton,{className:"h-9 w-32 rounded-[1.05rem]"})]}),(0,b.jsxs)("div",{className:"flex justify-start items-start gap-2",children:[(0,b.jsx)(y.Skeleton,{className:"size-[30px] shrink-0 rounded-md"}),(0,b.jsxs)("div",{className:"flex flex-col items-start gap-1 max-w-[86%]",children:[(0,b.jsx)(y.Skeleton,{className:"h-3 w-20 rounded mb-0.5"}),(0,b.jsx)(y.Skeleton,{className:"h-9 w-56 rounded-[1.05rem]"})]})]})]})}),(0,b.jsx)("div",{className:"relative z-10 px-3 md:px-5 pt-3 pb-5 md:pb-6",children:(0,b.jsxs)("div",{className:"mx-auto max-w-3xl",children:[(0,b.jsx)("div",{className:"h-5 px-1 mb-2 flex items-center",children:(0,b.jsx)(y.Skeleton,{className:"h-3.5 w-28 rounded"})}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(y.Skeleton,{className:"size-8 shrink-0 rounded-full"}),(0,b.jsx)(y.Skeleton,{className:"h-10 flex-1 rounded-3xl"}),(0,b.jsx)(y.Skeleton,{className:"size-8 shrink-0 rounded-full"})]})]})})]}):bu||bp||0!==bq.length?(0,b.jsxs)(b.Fragment,{children:[b2&&(0,b.jsxs)("button",{type:"button",className:"fixed z-50 flex items-center gap-1 px-2 py-1 rounded-md bg-popover border shadow-md text-xs text-popover-foreground hover:bg-accent transition-colors",style:{left:b2.x,top:b2.y,transform:"translate(-100%, -100%)"},onMouseDown:a=>a.preventDefault(),onClick:b4,children:[(0,b.jsx)(F,{className:"size-3"}),"Quote"]}),(0,b.jsxs)("div",{className:"relative flex-1 min-h-0",children:[(0,b.jsx)("div",{className:"h-full overflow-y-auto overflow-x-hidden px-3 md:px-5 thin-scrollbar",ref:bI,onScroll:bL,onClick:a=>{a.target.closest('[data-streamdown="code-block-actions"] button')&&w.toast.success("Copied to clipboard")},children:(0,b.jsxs)("div",{className:"mx-auto max-w-3xl pt-6 pb-15 min-w-0",children:[bp&&bG&&!bw&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)("button",{onClick:()=>bK(),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Load earlier messages"})}),bw&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)(i.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}),0===bq.length&&!bs&&(k=R.find(a=>a.id===ad),l=k?.created_at&&bb-new Date(k.created_at).getTime()<3e5,B=(U[ad]??0)>0,l&&B&&"default"===aa?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 gap-3 animate-[fade-up_400ms_ease-out_both]",children:[(0,b.jsxs)("div",{className:"relative animate-bounce",children:[(0,b.jsx)(E.Mail,{className:"size-8 text-primary"}),(0,b.jsxs)("span",{className:"absolute -top-1 -right-1 flex size-3",children:[(0,b.jsx)("span",{className:"animate-ping absolute inline-flex size-full rounded-full bg-primary/60"}),(0,b.jsx)("span",{className:"relative inline-flex size-3 rounded-full bg-primary"})]})]}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center max-w-xs",children:"Your agent is sending you a welcome email."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60 text-center max-w-xs",children:"Wait for the email task in the top-left to complete, then check your inbox. Or send a message below to start chatting."})]}):(0,b.jsxs)("p",{className:"text-center text-muted-foreground py-20 text-base animate-[fade-up_400ms_ease-out_both]",children:["Say hi to ",bT,"."]})),bD.map((a,c)=>{let d=bE[c],e="first"===d||"solo"===d||null===d,f=0===c?"":e?"mt-6":"mt-1.5";if("nap"===a.kind)return(0,b.jsx)("div",{className:f,children:(0,b.jsx)(aP,{agentName:bC})},a.data.id);if("artifact"===a.kind){let c=d??"solo",e="first"===c||"solo"===c;return(0,b.jsx)("div",{className:f,children:(0,b.jsx)(aD,{groupPosition:c,agentName:bC,config:bS,forceSpacer:!e,children:(0,b.jsx)(aQ,{artifact:a.data,version:bQ.get(a.data.id)??1,hasDuplicates:bR.has(a.data.filename),onClick:bU})})},`artifact-${a.data.id}`)}let g=a.data;return(0,b.jsx)("div",{className:f,children:(0,b.jsx)(aH,{msg:g,agents:R,artifacts:bx,activeTask:bs,activeTaskStreamMsgId:bF,taskMessages:bt,connectionLost:bv,conversationType:bp?.type,pendingFilesByMessage:bz,onArtifactClick:bU,onEmailClick:a=>{aA(a),ay(!0)},onCalendarEventClick:a=>{aF(a),aC(!0)},onIssueClick:a=>aX(a),onRetry:bO,mentionComponents:aO,isFlagged:bg.has(g.id),onToggleFlag:"assistant"===g.role?bi:void 0,groupPosition:d??"solo",provider:al,agentName:bC,agentAvatarConfig:bS,isSendFailed:bA.has(g.id),onRetrySend:bN})},g.id)}),bs&&bs.conversation_id===bp?.id&&null==bF&&!["completed","failed","cancelled","superseded"].includes(bs.status)&&(0,b.jsx)("div",{className:"mt-4",children:(0,b.jsx)(m,{task:bs,messages:bt,connectionLost:bv,provider:al})})]})}),(0,b.jsx)(ai.ScrollToBottomButton,{scrollRef:bI})]}),(0,b.jsx)("div",{className:"relative z-10 px-3 md:px-5 pt-3 pb-5 md:pb-6",children:(0,b.jsxs)("div",{className:"mx-auto max-w-3xl relative",children:[bp&&(0,b.jsx)(aJ,{agentFirstName:bT,taskStatus:b7?bs?.status:null}),(0,b.jsxs)("div",{className:"flex items-end gap-2",children:[!ao&&(0,b.jsxs)(aM.Popover,{open:b5,onOpenChange:b6,children:[(0,b.jsx)(aM.PopoverTrigger,{render:(0,b.jsx)(f.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0 self-end mb-2.5 size-8 rounded-full text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,b.jsx)(G.MoreHorizontal,{className:"size-4"})}),(0,b.jsx)(aM.PopoverContent,{side:"top",align:"start",className:"w-auto p-1.5 flex flex-col gap-0.5",children:(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{render:a=>(0,b.jsx)("span",{...a,className:(0,x.cn)("inline-flex",a.className),children:(0,b.jsxs)(f.Button,{variant:"ghost",size:"sm",onClick:()=>{b6(!1),bP()},disabled:by||!bp||!bH||b7,className:"w-full justify-start gap-2 rounded-md text-muted-foreground hover:text-foreground",children:[by?(0,b.jsx)(i.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(C,{className:"size-3.5"}),(0,b.jsx)("span",{className:"text-xs",children:"Nap"})]})})}),(0,b.jsx)(z.TooltipContent,{side:"right",children:b7?"Wait for the task to finish":bH?"Take a nap and reset the current session":`${bC} is well-rested and ready to go`})]})})]}),(0,b.jsxs)("div",{className:(0,x.cn)("relative flex-1 min-w-0 flex flex-col rounded-3xl border border-border/50 bg-background/90 transition-[border-radius] duration-200","focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50",(be||bc||b1.activeSkill)&&"rounded-2xl",br&&"opacity-50",a4&&"border-ring ring-3 ring-ring/50"),onDragEnter:a5,onDragLeave:a6,onDragOver:a7,onDrop:a8,children:[a4&&(0,b.jsx)("div",{className:(0,x.cn)("absolute inset-0 z-10 flex items-center justify-center bg-background/80 border-2 border-dashed border-ring pointer-events-none",be||bc||b1.activeSkill?"rounded-2xl":"rounded-3xl"),children:(0,b.jsx)("p",{className:"text-sm text-muted-foreground font-medium",children:"Drop files here"})}),b1.activeSkill&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[(0,b.jsxs)("span",{className:"shrink-0 text-xs font-medium text-primary",children:["/",b1.activeSkill.name]}),b1.activeSkill.isGlobal&&(0,b.jsx)("span",{className:"text-[10px] font-medium text-muted-foreground bg-muted rounded px-1 py-0.5",children:"Global"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:b1.activeSkill.description})]}),(0,b.jsx)("button",{type:"button",onClick:b1.clearActiveSkill,className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,b.jsx)(I.X,{className:"size-3.5"})})]}),bc&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0 flex items-start gap-2",children:[(0,b.jsx)(F,{className:"size-3.5 shrink-0 mt-0.5 text-muted-foreground"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground truncate",children:[bc.slice(0,120),bc.length>120?"...":""]})]}),(0,b.jsx)("button",{type:"button",onClick:()=>bd(null),className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,b.jsx)(I.X,{className:"size-3.5"})})]}),(0,b.jsx)(N,{isOpen:b1.isOpen,skills:b1.skills,selectedIndex:b1.selectedIndex,onSelect:b1.selectSkill,anchorPos:b1.anchorPos}),a$.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 px-3.5 pt-3 pb-0.5",children:a$.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-md bg-muted px-2 py-1 text-xs text-muted-foreground",children:[(0,b.jsx)(D.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-30",children:a.name}),(0,b.jsx)("span",{className:"text-muted-foreground/60",children:(0,_.formatSize)(a.size)}),(0,b.jsx)("button",{type:"button",onClick:()=>a3(c),className:"ml-0.5 rounded-sm p-0.5 hover:bg-muted-foreground/20 transition-colors",children:(0,b.jsx)(I.X,{className:"size-3"})})]},`${a.name}-${c}`))}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("input",{ref:a0,type:"file",multiple:!0,className:"hidden",onChange:a2}),(0,b.jsx)("div",{className:"px-13 py-3",children:(0,b.jsx)(Z,{ref:bJ,value:ap,onChange:aq,onEditorState:(a,b)=>{bX(a),ba(b)},onSend:bM,onFocus:()=>as(!0),onBlur:()=>as(!1),overlay:""===ap.trim()?b7?(0,b.jsx)(Y,{hint:`Message ${bT}`,animate:!1}):(0,b.jsx)(Y,{hint:b8.hint,animate:b8.isRotating}):void 0,disabled:br,onMultiLineChange:bf,onFiles:a1,agents:bY,agentLinks:T,currentAgentId:ad,slashIsOpen:b1.isOpen,onSlashKeyDown:b1.handleSlashKeyDown})}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{render:(0,b.jsx)(f.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:()=>a0.current?.click(),disabled:br,className:"absolute left-2 bottom-2 size-8 rounded-full text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,b.jsx)(H.Paperclip,{className:"size-3.5"})}),(0,b.jsx)(z.TooltipContent,{side:"top",children:"Attach files"})]}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{render:(0,b.jsx)(f.Button,{size:"icon-sm",onClick:bM,disabled:!ap.trim()||br,className:(0,x.cn)("absolute right-2 bottom-2 size-8 rounded-full bg-primary text-primary-foreground transition-opacity duration-200",!ap.trim()&&"opacity-30")}),children:br?(0,b.jsx)(i.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(A.ArrowUp,{className:"size-3.5"})}),(0,b.jsx)(z.TooltipContent,{side:"top",children:"Send"})]})]})]}),!ao&&(0,b.jsx)("div",{className:"shrink-0 self-end mb-2.5 size-8","aria-hidden":"true"})]})]})}),(0,b.jsx)(_.ArtifactSheet,{open:at,onOpenChange:a=>{au(a),a||setTimeout(()=>{aw(null)},300)},artifacts:av?[av]:bB,workspaceId:P,initialArtifact:av,versionMap:bQ,duplicateFilenames:bR}),(0,b.jsx)(ae,{open:ax,onOpenChange:a=>{ay(a),a||setTimeout(()=>aA(null),300)},emailId:az,workspaceId:P}),(0,b.jsx)(af.CalendarEventSheet,{readonly:!0,open:aB,onOpenChange:a=>{aC(a),a||setTimeout(()=>aF(null),300)},calendarEventId:aE,workspaceId:P}),(0,b.jsx)(ag.IssueSheet,{open:aG,onOpenChange:a=>{aI(a),a||setTimeout(()=>{aN(null),aS(null),aW(null)},300)},agents:R,issue:aR?.issue??null,detail:aR?{messages:aR.messages,comments:aR.comments,artifacts:aR.artifacts,traceId:aR.issue.trace_id}:null,detailLoading:aT,activeTask:aV,traceTasks:aU,slug:Q,workspaceId:P,onUpdate:async(a,b)=>{try{let c=await (0,n.updateIssue)(P,a,b);aS(d=>d&&d.issue.id===a?{...d,issue:{...d.issue,...b,updated_at:c.updated_at}}:d)}catch(a){w.toast.error(a instanceof Error?a.message:"Failed to update issue")}},onStatusChange:async(a,b)=>{try{await (0,n.updateIssue)(P,a,{status:b}),aS(c=>c&&c.issue.id===a?{...c,issue:{...c.issue,status:b}}:c)}catch(a){w.toast.error(a instanceof Error?a.message:"Failed to update status")}},onCommented:()=>{aL&&aX(aL)},onArtifactClick:bV})]}):(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:"Failed to load conversation"})}],127026)}];
4
4
 
5
5
  //# sourceMappingURL=src_web_src_0~23g-y._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[845309,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(207058),e=a.i(506180),f=a.i(732254),g=a.i(464830),h=a.i(7455),i=a.i(22902),j=a.i(25668),k=a.i(110025),l=a.i(552012),m=a.i(484573),n=a.i(549931),o=a.i(619618),p=a.i(123047),q=a.i(16831),r=a.i(415584);let s=(0,a.i(647651).default)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var t=a.i(921584),u=a.i(75118),v=a.i(588339);let w={pending:{label:"Pending",variant:"outline",icon:o.Clock},scheduled:{label:"Scheduled",variant:"secondary",icon:o.Clock},joining:{label:"Joining...",variant:"default",icon:q.Loader2},recording:{label:"Recording",variant:"default",icon:k.Video},completed:{label:"Completed",variant:"secondary",icon:n.Check},failed:{label:"Failed",variant:"destructive",icon:p.AlertCircle}};function x({status:a}){let c=w[a]??w.pending,d=c.icon;return(0,b.jsxs)(g.Badge,{variant:c.variant,className:"gap-1 text-[10px]",children:[(0,b.jsx)(d,{className:(0,u.cn)("size-2.5","joining"===a&&"animate-spin","recording"===a&&"animate-pulse")}),c.label]})}function y(a){return a?new Date(a).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}a.s(["default",0,function(){let a=(0,d.useParams)().id,{workspaceId:g}=(0,e.useWorkspace)(),[n,o]=(0,c.useState)([]),[p,w]=(0,c.useState)(!0),[z,A]=(0,c.useState)(!1),[B,C]=(0,c.useState)(!1),[D,E]=(0,c.useState)(null),[F,G]=(0,c.useState)(!1),[H,I]=(0,c.useState)(""),[J,K]=(0,c.useState)(""),[L,M]=(0,c.useState)(""),N=(0,c.useCallback)(async()=>{try{let b=await (0,v.listMeetings)(a,g);o(b)}catch{t.toast.error("Failed to load meetings")}finally{w(!1)}},[a,g]);(0,c.useEffect)(()=>{let b=!1;return(0,v.listMeetings)(a,g).then(a=>{b||(o(a),w(!1))}).catch(()=>{b||(t.toast.error("Failed to load meetings"),w(!1))}),()=>{b=!0}},[a,g]),(0,c.useEffect)(()=>{if(!n.some(a=>"joining"===a.status||"recording"===a.status))return;let a=setInterval(N,5e3);return()=>clearInterval(a)},[n,N]);let O=async()=>{if(H){C(!0);try{let b=L.split(/[,\n]/).map(a=>a.trim()).filter(Boolean);await (0,v.createMeeting)(a,g,{meetingUrl:H,title:J||void 0,participants:b.length>0?b:void 0}),t.toast.success("Meeting created"),A(!1),I(""),K(""),M(""),N()}catch(a){t.toast.error(a instanceof Error?a.message:"Failed to create meeting")}finally{C(!1)}}},P=async b=>{try{await (0,v.stopMeeting)(a,b.id,g),t.toast.success("Meeting stopped"),N()}catch{t.toast.error("Failed to stop meeting")}},Q=async b=>{try{await (0,v.approveMeeting)(a,b.id,g),t.toast.success("Meeting approved"),N()}catch{t.toast.error("Failed to approve meeting")}},R=async()=>{if(D){G(!0);try{await (0,v.deleteMeeting)(a,D.id,g),t.toast.success("Meeting deleted"),E(null),N()}catch{t.toast.error("Failed to delete meeting")}finally{G(!1)}}};return(0,b.jsxs)("div",{className:"flex-1 flex flex-col min-h-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border/50",children:[(0,b.jsx)("h2",{className:"text-sm font-medium",children:"Meetings"}),(0,b.jsxs)(f.Button,{size:"sm",onClick:()=>A(!0),className:"gap-1",children:[(0,b.jsx)(l.Plus,{className:"size-3"}),"Join Meeting"]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto thin-scrollbar",children:p?(0,b.jsx)("div",{className:"p-4 space-y-3",children:[1,2,3].map(a=>(0,b.jsx)(j.Skeleton,{className:"h-16 w-full rounded-lg"},a))}):0===n.length?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground gap-2 p-8",children:[(0,b.jsx)(k.Video,{className:"size-8 opacity-40"}),(0,b.jsx)("p",{className:"text-sm",children:"No meetings yet"}),(0,b.jsx)("p",{className:"text-xs",children:"Join a Google Meet to start recording transcripts."})]}):(0,b.jsx)("div",{className:"p-2 space-y-1",children:n.map(a=>(0,b.jsxs)("div",{className:(0,u.cn)("flex items-center gap-3 rounded-lg border border-border/50 px-3 py-2.5 transition-colors","pending"===a.status&&!a.is_whitelisted&&"opacity-60"),children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-0.5",children:[(0,b.jsx)("span",{className:"text-sm font-medium truncate",children:a.title||"Untitled Meeting"}),(0,b.jsx)(x,{status:a.status})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,b.jsx)("span",{className:"truncate",children:a.meeting_url.replace("https://","")}),a.scheduled_at&&(0,b.jsx)("span",{className:"shrink-0",children:y(a.scheduled_at)}),a.started_at&&!a.completed_at&&(0,b.jsxs)("span",{className:"shrink-0",children:["Started ",y(a.started_at)]}),a.completed_at&&(0,b.jsx)("span",{className:"shrink-0",children:y(a.completed_at)}),a.participants?.length>0&&(0,b.jsxs)("span",{className:"shrink-0",children:[a.participants.length," participants"]})]}),a.error&&(0,b.jsx)("p",{className:"text-xs text-destructive mt-1 truncate",children:a.error})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:["pending"===a.status&&(0,b.jsxs)(f.Button,{variant:"outline",size:"xs",className:"gap-1",onClick:()=>Q(a),children:[(0,b.jsx)(s,{className:"size-3"}),"Approve"]}),("recording"===a.status||"joining"===a.status)&&(0,b.jsxs)(f.Button,{variant:"outline",size:"xs",className:"gap-1 text-destructive",onClick:()=>P(a),children:[(0,b.jsx)(m.Square,{className:"size-3"}),"Stop"]}),(0,b.jsx)(f.Button,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground hover:text-destructive",onClick:()=>E(a),children:(0,b.jsx)(r.Trash2,{className:"size-3"})})]})]},a.id))})}),(0,b.jsx)(h.Sheet,{open:z,onOpenChange:A,children:(0,b.jsxs)(h.SheetContent,{children:[(0,b.jsx)(h.SheetHeader,{children:(0,b.jsx)(h.SheetTitle,{children:"Join a Meeting"})}),(0,b.jsxs)(h.SheetBody,{className:"space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground mb-1 block",children:"Google Meet URL *"}),(0,b.jsx)("input",{type:"url",placeholder:"https://meet.google.com/abc-defg-hij",value:H,onChange:a=>I(a.target.value),className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-1 focus:ring-ring"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground mb-1 block",children:"Title"}),(0,b.jsx)("input",{type:"text",placeholder:"Weekly Standup",value:J,onChange:a=>K(a.target.value),className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-1 focus:ring-ring"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground mb-1 block",children:"Participants (one email per line)"}),(0,b.jsx)("textarea",{placeholder:"alice@example.com\nbob@example.com",value:L,onChange:a=>M(a.target.value),rows:3,className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-1 focus:ring-ring resize-none"})]})]}),(0,b.jsxs)(h.SheetFooter,{children:[(0,b.jsx)(f.Button,{variant:"outline",onClick:()=>A(!1),children:"Cancel"}),(0,b.jsxs)(f.Button,{onClick:O,disabled:B||!H,children:[B&&(0,b.jsx)(q.Loader2,{className:"size-3 animate-spin"}),"Join Meeting"]})]})]})}),(0,b.jsx)(i.ConfirmDialog,{open:!!D,onOpenChange:a=>!a&&E(null),title:"Delete meeting",description:`Remove "${D?.title||"this meeting"}" and its transcript?`,loading:F,onConfirm:R})]})}],845309)}];
1
+ module.exports=[845309,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(207058),e=a.i(506180),f=a.i(732254),g=a.i(464830),h=a.i(7455),i=a.i(22902),j=a.i(25668),k=a.i(110025),l=a.i(552012),m=a.i(647651);let n=(0,m.default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);var o=a.i(549931),p=a.i(619618),q=a.i(123047),r=a.i(16831),s=a.i(415584);let t=(0,m.default)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var u=a.i(921584),v=a.i(75118),w=a.i(588339);let x={pending:{label:"Pending",variant:"outline",icon:p.Clock},scheduled:{label:"Scheduled",variant:"secondary",icon:p.Clock},joining:{label:"Joining...",variant:"default",icon:r.Loader2},recording:{label:"Recording",variant:"default",icon:k.Video},completed:{label:"Completed",variant:"secondary",icon:o.Check},failed:{label:"Failed",variant:"destructive",icon:q.AlertCircle}};function y({status:a}){let c=x[a]??x.pending,d=c.icon;return(0,b.jsxs)(g.Badge,{variant:c.variant,className:"gap-1 text-[10px]",children:[(0,b.jsx)(d,{className:(0,v.cn)("size-2.5","joining"===a&&"animate-spin","recording"===a&&"animate-pulse")}),c.label]})}function z(a){return a?new Date(a).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}a.s(["default",0,function(){let a=(0,d.useParams)().id,{workspaceId:g}=(0,e.useWorkspace)(),[m,o]=(0,c.useState)([]),[p,q]=(0,c.useState)(!0),[x,A]=(0,c.useState)(!1),[B,C]=(0,c.useState)(!1),[D,E]=(0,c.useState)(null),[F,G]=(0,c.useState)(!1),[H,I]=(0,c.useState)(""),[J,K]=(0,c.useState)(""),[L,M]=(0,c.useState)(""),N=(0,c.useCallback)(async()=>{try{let b=await (0,w.listMeetings)(a,g);o(b)}catch{u.toast.error("Failed to load meetings")}finally{q(!1)}},[a,g]);(0,c.useEffect)(()=>{let b=!1;return(0,w.listMeetings)(a,g).then(a=>{b||(o(a),q(!1))}).catch(()=>{b||(u.toast.error("Failed to load meetings"),q(!1))}),()=>{b=!0}},[a,g]),(0,c.useEffect)(()=>{if(!m.some(a=>"joining"===a.status||"recording"===a.status))return;let a=setInterval(N,5e3);return()=>clearInterval(a)},[m,N]);let O=async()=>{if(H){C(!0);try{let b=L.split(/[,\n]/).map(a=>a.trim()).filter(Boolean);await (0,w.createMeeting)(a,g,{meetingUrl:H,title:J||void 0,participants:b.length>0?b:void 0}),u.toast.success("Meeting created"),A(!1),I(""),K(""),M(""),N()}catch(a){u.toast.error(a instanceof Error?a.message:"Failed to create meeting")}finally{C(!1)}}},P=async b=>{try{await (0,w.stopMeeting)(a,b.id,g),u.toast.success("Meeting stopped"),N()}catch{u.toast.error("Failed to stop meeting")}},Q=async b=>{try{await (0,w.approveMeeting)(a,b.id,g),u.toast.success("Meeting approved"),N()}catch{u.toast.error("Failed to approve meeting")}},R=async()=>{if(D){G(!0);try{await (0,w.deleteMeeting)(a,D.id,g),u.toast.success("Meeting deleted"),E(null),N()}catch{u.toast.error("Failed to delete meeting")}finally{G(!1)}}};return(0,b.jsxs)("div",{className:"flex-1 flex flex-col min-h-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border/50",children:[(0,b.jsx)("h2",{className:"text-sm font-medium",children:"Meetings"}),(0,b.jsxs)(f.Button,{size:"sm",onClick:()=>A(!0),className:"gap-1",children:[(0,b.jsx)(l.Plus,{className:"size-3"}),"Join Meeting"]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto thin-scrollbar",children:p?(0,b.jsx)("div",{className:"p-4 space-y-3",children:[1,2,3].map(a=>(0,b.jsx)(j.Skeleton,{className:"h-16 w-full rounded-lg"},a))}):0===m.length?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground gap-2 p-8",children:[(0,b.jsx)(k.Video,{className:"size-8 opacity-40"}),(0,b.jsx)("p",{className:"text-sm",children:"No meetings yet"}),(0,b.jsx)("p",{className:"text-xs",children:"Join a Google Meet to start recording transcripts."})]}):(0,b.jsx)("div",{className:"p-2 space-y-1",children:m.map(a=>(0,b.jsxs)("div",{className:(0,v.cn)("flex items-center gap-3 rounded-lg border border-border/50 px-3 py-2.5 transition-colors","pending"===a.status&&!a.is_whitelisted&&"opacity-60"),children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-0.5",children:[(0,b.jsx)("span",{className:"text-sm font-medium truncate",children:a.title||"Untitled Meeting"}),(0,b.jsx)(y,{status:a.status})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,b.jsx)("span",{className:"truncate",children:a.meeting_url.replace("https://","")}),a.scheduled_at&&(0,b.jsx)("span",{className:"shrink-0",children:z(a.scheduled_at)}),a.started_at&&!a.completed_at&&(0,b.jsxs)("span",{className:"shrink-0",children:["Started ",z(a.started_at)]}),a.completed_at&&(0,b.jsx)("span",{className:"shrink-0",children:z(a.completed_at)}),a.participants?.length>0&&(0,b.jsxs)("span",{className:"shrink-0",children:[a.participants.length," participants"]})]}),a.error&&(0,b.jsx)("p",{className:"text-xs text-destructive mt-1 truncate",children:a.error})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:["pending"===a.status&&(0,b.jsxs)(f.Button,{variant:"outline",size:"xs",className:"gap-1",onClick:()=>Q(a),children:[(0,b.jsx)(t,{className:"size-3"}),"Approve"]}),("recording"===a.status||"joining"===a.status)&&(0,b.jsxs)(f.Button,{variant:"outline",size:"xs",className:"gap-1 text-destructive",onClick:()=>P(a),children:[(0,b.jsx)(n,{className:"size-3"}),"Stop"]}),(0,b.jsx)(f.Button,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground hover:text-destructive",onClick:()=>E(a),children:(0,b.jsx)(s.Trash2,{className:"size-3"})})]})]},a.id))})}),(0,b.jsx)(h.Sheet,{open:x,onOpenChange:A,children:(0,b.jsxs)(h.SheetContent,{children:[(0,b.jsx)(h.SheetHeader,{children:(0,b.jsx)(h.SheetTitle,{children:"Join a Meeting"})}),(0,b.jsxs)(h.SheetBody,{className:"space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground mb-1 block",children:"Google Meet URL *"}),(0,b.jsx)("input",{type:"url",placeholder:"https://meet.google.com/abc-defg-hij",value:H,onChange:a=>I(a.target.value),className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-1 focus:ring-ring"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground mb-1 block",children:"Title"}),(0,b.jsx)("input",{type:"text",placeholder:"Weekly Standup",value:J,onChange:a=>K(a.target.value),className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-1 focus:ring-ring"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground mb-1 block",children:"Participants (one email per line)"}),(0,b.jsx)("textarea",{placeholder:"alice@example.com\nbob@example.com",value:L,onChange:a=>M(a.target.value),rows:3,className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-1 focus:ring-ring resize-none"})]})]}),(0,b.jsxs)(h.SheetFooter,{children:[(0,b.jsx)(f.Button,{variant:"outline",onClick:()=>A(!1),children:"Cancel"}),(0,b.jsxs)(f.Button,{onClick:O,disabled:B||!H,children:[B&&(0,b.jsx)(r.Loader2,{className:"size-3 animate-spin"}),"Join Meeting"]})]})]})}),(0,b.jsx)(i.ConfirmDialog,{open:!!D,onOpenChange:a=>!a&&E(null),title:"Delete meeting",description:`Remove "${D?.title||"this meeting"}" and its transcript?`,loading:F,onConfirm:R})]})}],845309)}];
2
2
 
3
3
  //# sourceMappingURL=src_web_src_app_%28app%29_w_%5Bslug%5D_agents_%5Bid%5D_meetings_page_tsx_073~u~-._.js.map