@alook/app 0.0.140 → 0.0.143

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 (158) hide show
  1. package/bundled/email-worker/index.js +50 -33
  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/0hujq4gn1km2d.css +1 -0
  5. package/bundled/web/.open-next/assets/_next/static/chunks/1ixdcdkpnwt_p.js +1 -0
  6. package/bundled/web/.open-next/assets/_next/static/chunks/{0pqa0bk3fnq2q.js → 1kj_n-cbedl8a.js} +2 -2
  7. package/bundled/web/.open-next/assets/_next/static/chunks/1lwe0daem0j5h.js +1 -0
  8. package/bundled/web/.open-next/assets/_next/static/chunks/1wk6udc50axdg.js +1 -0
  9. package/bundled/web/.open-next/assets/_next/static/chunks/{1l3nq6kc3fbh-.js → 2aicu2qufs82c.js} +1 -1
  10. package/bundled/web/.open-next/assets/_next/static/chunks/{1avrt94npx8p3.js → 2p8ty_tin77ze.js} +1 -1
  11. package/bundled/web/.open-next/assets/_next/static/chunks/{2qc57pol1-1f3.js → 2s1nfdub5g-vr.js} +1 -1
  12. package/bundled/web/.open-next/assets/_next/static/chunks/35szcmuxsgm0x.js +1 -0
  13. package/bundled/web/.open-next/assets/_next/static/chunks/{2_5gjqjt8nmq2.js → 3yhuzg7vtzfp5.js} +1 -1
  14. package/bundled/web/.open-next/assets/_next/static/chunks/{14mgvrpz4ar3j.js → 41hz62d13-2ps.js} +1 -1
  15. package/bundled/web/.open-next/cache/{WTLpHjXNd0wVnZOUBMJJz → 9TliiRuyS2VWuTgYBLJbH}/_global-error.cache +1 -1
  16. package/bundled/web/.open-next/cache/{WTLpHjXNd0wVnZOUBMJJz → 9TliiRuyS2VWuTgYBLJbH}/_not-found.cache +1 -1
  17. package/bundled/web/.open-next/cache/{WTLpHjXNd0wVnZOUBMJJz → 9TliiRuyS2VWuTgYBLJbH}/device.cache +1 -1
  18. package/bundled/web/.open-next/cache/{WTLpHjXNd0wVnZOUBMJJz → 9TliiRuyS2VWuTgYBLJbH}/privacy.cache +1 -1
  19. package/bundled/web/.open-next/cache/{WTLpHjXNd0wVnZOUBMJJz → 9TliiRuyS2VWuTgYBLJbH}/sitemap.xml.cache +1 -1
  20. package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
  21. package/bundled/web/.open-next/cloudflare/init.js +1 -1
  22. package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
  23. package/bundled/web/.open-next/middleware/handler.mjs +5 -5
  24. package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
  25. package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
  26. package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
  27. package/bundled/web/.open-next/server-functions/default/src/web/.next/required-server-files.json +1 -1
  28. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
  29. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
  30. 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
  31. 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
  32. 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
  33. 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
  34. 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
  35. 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
  36. 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
  37. 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
  38. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
  39. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
  40. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
  41. 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
  42. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
  43. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
  44. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/page_client-reference-manifest.js +1 -1
  45. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
  46. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
  47. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/traces/[traceId]/page_client-reference-manifest.js +1 -1
  48. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/traces/page_client-reference-manifest.js +1 -1
  49. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
  50. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
  51. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
  52. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  53. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/complete/route.js +2 -2
  54. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/fail/route.js +2 -2
  55. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/start/route.js +2 -2
  56. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/supersede/route.js +2 -2
  57. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/device/page_client-reference-manifest.js +1 -1
  58. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page/react-loadable-manifest.json +1 -1
  59. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
  60. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  61. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
  62. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
  63. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__01-4zmn._.js +1 -1
  64. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0aacn1t._.js +1 -1
  65. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0aj228b._.js +1 -1
  66. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0bye0tx._.js +1 -1
  67. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0dvn7u2._.js +1 -1
  68. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0gkkbf4._.js +1 -1
  69. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0jrrtm1._.js +1 -1
  70. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0pn6awg._.js +1 -1
  71. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0xdps2u._.js +1 -1
  72. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__1-ug-mf._.js +1 -1
  73. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__12fz1lr._.js +1 -1
  74. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__134-7z_._.js +3 -0
  75. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__155l597._.js +1 -1
  76. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__18lolj4._.js +1 -1
  77. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__1cbaprg._.js +1 -1
  78. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__1diut0w._.js +1 -1
  79. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__1e9t6i6._.js +1 -1
  80. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__1jq8zws._.js +3 -0
  81. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__1l-2x7f._.js +1 -1
  82. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__1pmcw25._.js +1 -1
  83. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__1rfzkgk._.js +1 -1
  84. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__1w9__7q._.js +3 -0
  85. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__1xpwaca._.js +1 -1
  86. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__20s9whj._.js +3 -0
  87. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +16 -16
  88. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_03i6uql._.js +1 -1
  89. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0591v0o._.js +1 -1
  90. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08gc1s_._.js +1 -1
  91. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0d2x7fl._.js +1 -1
  92. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0guhu0i._.js +1 -1
  93. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0lcu68p._.js +1 -1
  94. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0m_ehw8._.js +1 -1
  95. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0n8pg0d._.js +1 -1
  96. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0p79t7w._.js +1 -1
  97. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0r2vuif._.js +1 -1
  98. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0tzvy_s._.js +1 -1
  99. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0v95a0y._.js +11 -10
  100. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_139j3zh._.js +11 -10
  101. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_13jq647._.js +3 -3
  102. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_18v5918._.js +1 -1
  103. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1a2lyoh._.js +1 -1
  104. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1aztsqf._.js +1 -1
  105. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1d18okt._.js +1 -1
  106. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1i4egv6._.js +1 -1
  107. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1iaevpj._.js +2 -2
  108. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1kt_xdj._.js +1 -1
  109. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1nfaney._.js +11 -10
  110. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1njwvhs._.js +1 -1
  111. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_1j5rtq8._.js +1 -1
  112. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__1e237f4._.js → [root-of-the-server]__1x1ppqv._.js} +2 -2
  113. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +16 -16
  114. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_04ht2b1._.js +1 -1
  115. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_19hsbaa._.js → _09dj89g._.js} +1 -1
  116. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_09v4-yk._.js +6 -5
  117. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0qgcnj5._.js +1 -1
  118. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0g_x3qh._.js → _16456wu._.js} +1 -1
  119. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_10-8eci._.js → _1twnk18._.js} +1 -1
  120. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1wqw0ro._.js +1 -1
  121. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0os8mdu._.js → node_modules__pnpm_00joh18._.js} +1 -1
  122. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_03t1_eh._.js → node_modules__pnpm_06u5s5x._.js} +1 -1
  123. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0pd1a42._.js → node_modules__pnpm_0_eee0q._.js} +1 -1
  124. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0b_f_5l._.js → node_modules__pnpm_0_muan4._.js} +1 -1
  125. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0-sy0jc._.js → node_modules__pnpm_0t9vloz._.js} +1 -1
  126. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_1tajvfi._.js → node_modules__pnpm_121t594._.js} +1 -1
  127. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0lmr_qu._.js → node_modules__pnpm_12zyy1_._.js} +1 -1
  128. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0z21f3h._.js → node_modules__pnpm_1m55ws1._.js} +1 -1
  129. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0pwl5s4._.js +1 -1
  130. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_agents_[id]_layout_tsx_0ysqmgw._.js +1 -1
  131. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_lib_api_ts_1ffelwp._.js +1 -1
  132. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
  133. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
  134. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
  135. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
  136. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +194 -190
  137. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +342 -342
  138. package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +4 -4
  139. package/bundled/web/custom-worker.ts +16 -1
  140. package/bundled/web/migrations/0043_machine_owner_id.sql +26 -0
  141. package/bundled/ws-do/index.js +50 -33
  142. package/dist/cli/index.js +2 -1
  143. package/dist/cli/session-runner.js +2 -1
  144. package/dist/index.js +2 -1
  145. package/package.json +1 -1
  146. package/bundled/web/.open-next/assets/_next/static/chunks/0pydx20mmtmb-.js +0 -1
  147. package/bundled/web/.open-next/assets/_next/static/chunks/11jejnuxkw5-s.js +0 -1
  148. package/bundled/web/.open-next/assets/_next/static/chunks/29j2dlmefldk5.js +0 -1
  149. package/bundled/web/.open-next/assets/_next/static/chunks/2usqt49xbpqd2.css +0 -1
  150. package/bundled/web/.open-next/assets/_next/static/chunks/3pmxar-ugtky1.js +0 -1
  151. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0dnslqa._.js +0 -3
  152. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0j4ezcj._.js +0 -3
  153. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__11-5cy7._.js +0 -3
  154. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__1lcw_r4._.js +0 -3
  155. /package/bundled/web/.open-next/assets/_next/static/{WTLpHjXNd0wVnZOUBMJJz → 9TliiRuyS2VWuTgYBLJbH}/_buildManifest.js +0 -0
  156. /package/bundled/web/.open-next/assets/_next/static/{WTLpHjXNd0wVnZOUBMJJz → 9TliiRuyS2VWuTgYBLJbH}/_clientMiddlewareManifest.js +0 -0
  157. /package/bundled/web/.open-next/assets/_next/static/{WTLpHjXNd0wVnZOUBMJJz → 9TliiRuyS2VWuTgYBLJbH}/_ssgManifest.js +0 -0
  158. /package/bundled/web/.open-next/cache/{WTLpHjXNd0wVnZOUBMJJz → 9TliiRuyS2VWuTgYBLJbH}/robots.txt.cache +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74348,e=>{"use strict";var t=e.i(653772),s=e.i(511043),a=e.i(222862),n=e.i(500324);let r=(0,s.createContext)(null);e.s(["FlagCountProvider",0,function({children:e}){let{workspaceId:i}=(0,n.useWorkspace)(),[l,o]=(0,s.useState)(0),c=(0,s.useCallback)(()=>{(0,a.getFlaggedCount)(i).then(e=>o(e.count)).catch(()=>{})},[i]),d=(0,s.useCallback)(()=>{o(e=>e+1)},[]),u=(0,s.useCallback)(()=>{o(e=>Math.max(0,e-1))},[]);return(0,s.useEffect)(()=>{c()},[c]),(0,t.jsx)(r.Provider,{value:{count:l,refresh:c,increment:d,decrement:u},children:e})},"useFlagCount",0,function(){let e=(0,s.useContext)(r);if(!e)throw Error("useFlagCount must be used within FlagCountProvider");return e}])},817988,144516,865145,350780,158571,802634,431884,184526,773652,505175,684565,648365,360315,544346,204799,594518,378830,e=>{"use strict";var t=e.i(653772),s=e.i(511043),a=e.i(82970),n=e.i(896315),r=e.i(945074);let i={claude:"Claude Code",codex:"Codex",opencode:"OpenCode"},l="the agent runtime";function o({provider:e,message:c,onRetry:d,retrying:u}){let[m,f]=(0,s.useState)(!1),h=u??m,p=async()=>{if(d){f(!0);try{await d()}finally{f(!1)}}};return(0,t.jsxs)("div",{className:"rounded-md border border-destructive/30 bg-destructive/5 p-2 max-w-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("p",{className:"flex items-center gap-1.5 text-sm font-semibold text-destructive min-w-0",children:[(0,t.jsx)(a.AlertCircle,{className:"size-3.5 shrink-0"}),(0,t.jsxs)("span",{children:["Error from ",e?i[e]??l:l]})]}),d&&(0,t.jsxs)("button",{type:"button",onClick:p,disabled:h,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:[h?(0,t.jsx)(r.Loader2,{className:"size-3 animate-spin"}):(0,t.jsx)(n.RotateCw,{className:"size-3"}),"Retry"]})]}),(0,t.jsx)("p",{className:"mt-1.5 text-sm text-destructive/90 wrap-anywhere whitespace-pre-wrap",children:c}),(0,t.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 c({task:e,messages:a,connectionLost:n,onRetry:r,provider:i}){let l=(0,s.useMemo)(()=>(function(e){let t=[];for(let s of e)"error"===s.type&&t.push({kind:"error",id:s.id||`seq-${s.seq}`,content:s.content||s.output});return t})(a),[a]);return 0!==l.length||"failed"===e.status&&e.error||n?(0,t.jsxs)("div",{className:"space-y-3 min-w-0 max-w-full",children:[l.length>0&&(0,t.jsx)("div",{className:"space-y-1 mt-1",children:l.map(e=>(0,t.jsx)(o,{provider:i,message:e.content},e.id))}),"failed"===e.status&&e.error&&(0,t.jsx)("div",{className:"mt-2",children:(0,t.jsx)(o,{provider:i,message:e.error,onRetry:r})}),n&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground animate-pulse mt-1",children:"Connection lost — retrying..."})]}):null}function d(e,t,s){if(e?.issueId)return"issue";if(e?.emailId)return"email";if(e?.calendarEventId)return"calendar";if("issue_event"===s)return"issue";if("email_notification"===s)return"email";if("calendar_event"===s)return"calendar";let a=t.toLowerCase();return a.startsWith("issue ")||a.startsWith("issue:")?"issue":a.includes("email")?"email":"calendar"}function u(e){return e.slice().sort((e,t)=>{let s=e.created_at.localeCompare(t.created_at);return 0!==s?s:e.id.localeCompare(t.id)})}function m(e,t){let s=new Map;for(let t of e)s.set(t.id,t);for(let e of t)s.set(e.id,e);return u([...s.values()])}function f(e){if("artifact"===e.kind)return"agent";if("message"!==e.kind)return null;let t=e.data.role;return"user"===t?"user":"assistant"===t||"event"===t?"agent":null}function h(e){return e.data.created_at}function p(e){let t=Array(e.length).fill(null),s=(e,t)=>{if(!e||!t)return!1;let s=f(e),a=f(t);if(null===s||s!==a)return!1;let n=h(e),r=h(t);return!n||!r||6e4>Math.abs(new Date(n).getTime()-new Date(r).getTime())};for(let a=0;a<e.length;a++){let n=e[a];if(null===f(n))continue;let r=a>0?e[a-1]:null,i=a<e.length-1?e[a+1]:null,l=s(r,n),o=s(n,i);l&&o?t[a]="middle":l&&!o?t[a]="last":!l&&o?t[a]="first":t[a]="solo"}return t}function g(e,t,s,a){if(!a||0===s.length){let a=[...e.map(e=>({kind:"message",data:e})),...t.map(e=>({kind:"artifact",data:e})),...s.map(e=>({kind:"nap",data:e}))];return a.sort((e,t)=>{let s=e.data.created_at.localeCompare(t.data.created_at);if(0!==s)return s;if("nap"===e.kind||"nap"===t.kind){if("nap"===e.kind&&"nap"!==t.kind)return 1;if("nap"!==e.kind&&"nap"===t.kind)return -1}return e.kind!==t.kind?"message"===e.kind?-1:1:e.data.id.localeCompare(t.data.id)}),a}let n=new Set(s.map(e=>e.id.replace(/^nap-/,""))),r=[...s].sort((e,t)=>e.created_at.localeCompare(t.created_at)),i=s=>[...e.filter(e=>e.conversation_id===s).map(e=>({kind:"message",data:e})),...t.filter(e=>e.conversation_id===s).map(e=>({kind:"artifact",data:e}))].sort((e,t)=>{let s=e.data.created_at.localeCompare(t.data.created_at);return 0!==s?s:e.kind!==t.kind?"message"===e.kind?-1:1:e.data.id.localeCompare(t.data.id)}),l=[];for(let e of r){let t=e.id.replace(/^nap-/,"");l.push(...i(t)),l.push({kind:"nap",data:e})}l.push(...i(a));let o=new Set([...n,a]),c=e.filter(e=>!o.has(e.conversation_id)),d=t.filter(e=>!o.has(e.conversation_id));if(c.length>0||d.length>0){let e=[...c.map(e=>({kind:"message",data:e})),...d.map(e=>({kind:"artifact",data:e}))];e.sort((e,t)=>{let s=e.data.created_at.localeCompare(t.data.created_at);return 0!==s?s:e.kind!==t.kind?"message"===e.kind?-1:1:e.data.id.localeCompare(t.data.id)});let t=l.findIndex(e=>"nap"===e.kind);t>=0?l.splice(t,0,...e):l.push(...e)}return l}function x(e){return!e}function v(e){let{task:t,agentId:s,activeChannel:a,currentPointerConvId:n}=e;return t.agent_id!==s||(t.channel??"default")!==a||t.conversation_id===n?null:t.conversation_id}function b(e){let t=(0,s.useRef)(e);return(0,s.useEffect)(()=>{t.current=e},[e]),t}e.s(["TaskStream",0,c],817988),e.s(["buildTimeline",0,g,"computeGroupPositions",0,p,"eventTypeFromMessage",0,d,"mergeMessages",0,m,"pointerRefreshTargetForTaskCreated",0,v,"shouldPersistPointerForLoad",0,x,"sortMessages",0,u,"useLatest",0,b],144516);var k=e.i(419412);let y=(0,k.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"}]]);e.s(["BedDouble",0,y],865145);let j=(0,k.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"}]]);e.s(["MessageSquareQuote",0,j],350780);var w=e.i(280115),N=e.i(222862),_=e.i(275351),C=e.i(516266),S=e.i(205189);e.s(["useAgentChat",0,function(e,t){let{agentId:a,targetConvId:n,scrollToTaskId:r,scrollToMessageId:i,propTargetConvId:l,workspaceId:o,agents:c,activeChannel:d,channelLoading:f,subscribeWs:h,subscribeReconnect:k,refreshInboxCount:y}=e,{setFlaggedIds:j,setPendingFiles:I,setInput:M,setQuotedMessage:T,setActiveSkill:A,clearActiveSkill:E,inputRef:R,quotedMessageRef:z,pendingFilesRef:P,activeSkillRef:L,draftMetaRestoredRef:$}=t,[D,F]=(0,s.useState)(null),[q,O]=(0,s.useState)([]),[B,W]=(0,s.useState)(!1),[H,U]=(0,s.useState)(null),[V,K]=(0,s.useState)([]),[Q,X]=(0,s.useState)(!0),[G,Y]=(0,s.useState)(!1),[J,Z]=(0,s.useState)(!1),[ee,et]=(0,s.useState)(!1),[es,ea]=(0,s.useState)([]),[en,er]=(0,s.useState)([]),[ei,el]=(0,s.useState)(!1),[eo,ec]=(0,s.useState)([]),[ed,eu]=(0,s.useState)(()=>new Map),[em,ef]=(0,s.useState)(()=>new Map),{writeToCache:eh}=function(e,t){let[a,n]=(0,s.useState)(null),[r,i]=(0,s.useState)(!1),l=(0,s.useRef)(e);return(0,s.useEffect)(()=>{if(l.current=e,!e||!t){n(null),i(!1);return}(0,_.openCacheDB)(t);let s=!1;return(0,_.getCachedMessages)(e,t).then(t=>{s||l.current!==e||(t&&t.length>0?(n(t),i(!0)):(n(null),i(!1)))}),()=>{s=!0}},[e,t]),{cachedMessages:a,isFromCache:r,writeToCache:(0,s.useCallback)(async(e,s,a)=>{l.current&&t&&await (0,_.mergeCachedMessages)(l.current,e,s,t,a)},[t])}}(n??null,o),ep=(0,s.useRef)(eh);(0,s.useEffect)(()=>{ep.current=eh},[eh]);let eg=(0,s.useRef)(!1);(0,s.useEffect)(()=>{D&&!eg.current&&(eg.current=!0,(0,S.trackAgentChatOpened)({agent_id:a,is_first_chat:0===q.length}))},[D,a]);let ex=(0,s.useMemo)(()=>es.filter(e=>"agent"===e.source),[es]),ev=(0,s.useMemo)(()=>g(q,ex,eo,D?.id),[q,ex,eo,D?.id]),eb=(0,s.useMemo)(()=>p(ev),[ev]),ek=(0,s.useMemo)(()=>{if(!H)return null;for(let e=q.length-1;e>=0;e--){let t=q[e];if("assistant"===t.role&&t.task_id===H.id)return t.id}return null},[q,H]),ey=(0,s.useRef)(null),ej=(0,s.useRef)(null),ew=(0,s.useRef)(null),eN=(0,s.useRef)(null),e_=(0,s.useRef)(0),eC=(0,s.useRef)(0),eS=(0,s.useRef)(!1),eI=(0,s.useRef)(!1),eM=(0,s.useRef)(!0),eT=(0,s.useRef)(!1),eA=(0,s.useRef)(null),eE=(0,s.useRef)(null),eR=(0,s.useRef)(0),ez=(0,s.useRef)(void 0),eP=(0,s.useRef)(null),eL=(0,s.useRef)({completedKey:null}),e$=(0,s.useRef)(null),eD=(0,s.useCallback)((e,t)=>{eP.current===e&&(0,_.getConvExtras)(e,o).then(s=>{if(s&&eP.current===e)return(0,_.setConvExtras)(e,{artifacts:t,conversation_type:s.conversation_type,conversation_title:s.conversation_title,conversation_channel:s.conversation_channel,conversation_created_at:s.conversation_created_at,hasMoreArtifacts:s.hasMoreArtifacts},o)}).catch(()=>{})},[o]),eF=(0,s.useCallback)(()=>{eM.current=!0,setTimeout(()=>{ey.current?.scrollTo({top:ey.current.scrollHeight,behavior:"smooth"})},50)},[]);(0,s.useEffect)(()=>{var e,t;if(!n&&f)return;let s=(e={workspaceId:o,agentId:a,targetConvId:n,scrollToTaskId:r}).targetConvId?`${e.workspaceId}::${e.agentId}::${e.targetConvId}::${e.scrollToTaskId??""}`:null;if(t=eL.current,s&&t.completedKey===s||(t.completedKey=null,0))return;ej.current&&clearInterval(ej.current),ej.current=null,eN.current=null,eP.current=null;let i=!1;X(!0),eS.current=!1,U(null),K([]),eu(new Map),ef(new Map),ec([]),er([]),el(!1),eE.current=null,M(localStorage.getItem(`chat-draft:${a}:${n??"default"}`)??"");let l=localStorage.getItem(`chat-draft-meta:${a}:${n??"default"}`);if(l)try{let e=JSON.parse(l),t=e.quote;T(t&&"object"==typeof t&&t.id?t:null),A(e.skill?e.skill:null)}catch{T(null),A(null)}else T(null),A(null);async function c(e){let t=await (0,_.getCacheMeta)(e,o);if(t?.newestMessageId){let s=await (0,_.getCachedMessages)(e,o);if(i)return{painted:!1,cacheMeta:t};if(s&&s.length>0)return O(s),Z(t.hasMore),X(!1),await u(e,s),{painted:!0,cacheMeta:t}}return{painted:!1,cacheMeta:t}}async function u(e,t){let s=await (0,_.getConvExtras)(e,o);if(i||!s)return;ea(s.artifacts);let n=s.conversation_created_at||t[0]?.created_at||t[t.length-1]?.created_at||"";F(t=>t&&t.id===e?t:{id:e,agent_id:a,title:s.conversation_title,type:s.conversation_type,channel:s.conversation_channel,created_at:n})}return $.current=!0,O([]),async function(){let e=!1;try{let t=null,s=null,l=null;if(n){t=n;let a=await c(t);if(i)return;s=a.cacheMeta,e=a.painted}else{let n=await (0,_.getLastOpenConversation)(a,d,o);if(i)return;if(n?.conversation_id&&n.serverMessageCount>0){let t=await c(n.conversation_id);if(i)return;t.painted&&(e=!0,l=n.conversation_id,s=t.cacheMeta)}try{let n=await (0,N.checkFreshness)({agentId:a,channel:d},o);if(i)return;if(t=n.conversation_id,l&&t!==l){eS.current=!1,eM.current=!0;let a=await c(t);if(i)return;s=a.cacheMeta,e=a.painted,a.painted||(O([]),X(!0),ea([]))}else if(!l){let a=await c(t);if(i)return;s=a.cacheMeta,e=a.painted}}catch{}}if(t){eP.current=t;let l=await (0,N.conversationInit)(t,o,{newestMessageId:s?.newestMessageId??void 0,messageCount:s?.serverMessageCount||void 0});if(i)return;if(F(l.conversation),el(l.has_more_conversations),!l.cache_valid&&l.messages){let s=eM.current;O(e=>m(e,l.messages)),eP.current===t&&(0,_.mergeCachedMessages)(t,l.messages,l.has_more_messages,o,l.message_count).catch(()=>{}),Z(l.has_more_messages),e&&eS.current&&s&&eF()}else s&&Z(s.hasMore);if(eP.current===t&&x(n)){let e=await (0,_.getCacheMeta)(t,o);if(i)return;(0,_.setLastOpenConversation)(a,d,{conversation_id:t,newestMessageId:e?.newestMessageId??s?.newestMessageId??null,serverMessageCount:l.message_count},o).catch(()=>{})}if(ea(l.artifacts),eP.current===t&&(0,_.setConvExtras)(t,{artifacts:l.artifacts,conversation_type:l.conversation.type,conversation_title:l.conversation.title,conversation_channel:l.conversation.channel,conversation_created_at:l.conversation.created_at,hasMoreArtifacts:l.has_more_artifacts},o).catch(()=>{}),j(new Set(l.flagged_message_ids)),l.active_task&&(U(l.active_task),K(l.task_messages),l.task_messages.length>0&&(e_.current=Math.max(...l.task_messages.map(e=>e.seq))),eA.current?.(l.active_task.id,t,e_.current)),r){let e=await (0,N.getTask)(r,o).catch(()=>null);if(i)return;if(e&&!["completed","failed","cancelled","superseded"].includes(e.status)){U(e);let s=await (0,N.getTaskMessages)(r,o).catch(()=>[]);if(i)return;let a=s.filter(e=>"error"===e.type);K(a),s.length>0&&(e_.current=Math.max(...s.map(e=>e.seq))),eA.current?.(e.id,t,e_.current)}}}else{let t=await (0,N.chatInit)(a,o,d);if(i)return;eP.current=t.conversation.id,F(t.conversation);let s=eM.current;O(e=>e.length>0?m(e,t.messages):t.messages),Z(t.has_more_messages),ea(t.artifacts),el(t.has_more_conversations),(0,_.mergeCachedMessages)(t.conversation.id,t.messages,t.has_more_messages,o).catch(()=>{}),eP.current===t.conversation.id&&(0,_.setConvExtras)(t.conversation.id,{artifacts:t.artifacts,conversation_type:t.conversation.type,conversation_title:t.conversation.title,conversation_channel:t.conversation.channel,conversation_created_at:t.conversation.created_at,hasMoreArtifacts:t.has_more_artifacts},o).catch(()=>{}),(0,_.setLastOpenConversation)(a,d,{conversation_id:t.conversation.id,newestMessageId:t.messages.length>0?t.messages[t.messages.length-1].id:null,serverMessageCount:t.has_more_messages?0:t.messages.length},o).catch(()=>{}),e&&eS.current&&s&&eF(),(0,N.listFlaggedMessageIds)(o,t.conversation.id).then(e=>{i||j(new Set(e.message_ids))}).catch(()=>{}),t.active_task&&(U(t.active_task),t.task_messages.length>0&&(K(t.task_messages),e_.current=Math.max(...t.task_messages.map(e=>e.seq))),["completed","failed","cancelled","superseded"].includes(t.active_task.status)||eA.current?.(t.active_task.id,t.conversation.id,e_.current))}}catch{e?C.toast.error("Couldn't refresh conversation"):C.toast.error("Failed to load conversation")}finally{if(!i){var t;X(!1),t=eL.current,s&&(t.completedKey=s)}}}(),()=>{i=!0}},[a,o,n,r,d,f]);let eq=(0,s.useRef)(y);(0,s.useEffect)(()=>{eq.current=y},[y]);let eO=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!D?.id||!o||eO.current===D.id)return;eO.current=D.id;let e=setTimeout(()=>{(0,N.markInboxRead)(D.id,o).then(()=>eq.current()).catch(()=>{})},1e3);return()=>{eO.current=null,clearTimeout(e)}},[D?.id,o]),(0,s.useEffect)(()=>{Q||!(q.length>0)||eS.current||(eS.current=!0,r||i?(eM.current=!1,ey.current?.scrollTo({top:ey.current.scrollHeight})):l?setTimeout(()=>{let e=ey.current?.querySelectorAll("[data-quote-source]");e&&e.length>0?e[e.length-1].scrollIntoView({behavior:"instant",block:"start"}):ey.current?.scrollTo({top:ey.current.scrollHeight})},50):setTimeout(()=>{ey.current?.scrollTo({top:ey.current.scrollHeight})},50))},[Q,q.length,r,i,l]),(0,s.useEffect)(()=>{let e;if(!r||Q||!D)return;eM.current=!1,eT.current=!0;let t=!1,s=()=>{if(t)return!1;let s=document.querySelector(`[data-task-id="${CSS.escape(r)}"]`);return!!s&&(s.scrollIntoView({behavior:"smooth",block:"center"}),s.classList.add("task-highlight"),e=setTimeout(()=>{s.classList.remove("task-highlight"),t||(eT.current=!1)},1500),!0)},a=setTimeout(async()=>{if(!t&&!s())try{let e=await (0,N.listMessagesAroundTask)(D.id,o,r);if(t)return;e.length>0?(O(t=>m(t,e)),requestAnimationFrame(()=>{setTimeout(()=>{s()||(eT.current=!1)},100)})):eT.current=!1}catch{t||(eT.current=!1)}},100);return()=>{t=!0,clearTimeout(a),e&&clearTimeout(e)}},[r,Q,D,o]),(0,s.useEffect)(()=>{let e;if(!i||r||Q||!D)return;eM.current=!1,eT.current=!0;let t=!1,s=setTimeout(()=>{!t&&((()=>{if(t)return!1;let s=document.querySelector(`[data-message-id="${CSS.escape(i)}"]`);return!!s&&(s.scrollIntoView({behavior:"smooth",block:"center"}),s.classList.add("task-highlight"),e=setTimeout(()=>{s.classList.remove("task-highlight"),t||(eT.current=!1)},1500),!0)})()||(ey.current?.scrollTo({top:ey.current.scrollHeight}),eT.current=!1))},100);return()=>{t=!0,clearTimeout(s),e&&clearTimeout(e)}},[i,r,Q,D]);let eB=H?.status;(0,s.useEffect)(()=>{eT.current||("running"===eB||"queued"===eB)&&eM.current&&eF()},[V.length,eB,eF]),(0,s.useEffect)(()=>{eT.current||eS.current&&eM.current&&eF()},[es.length,q.length,eF]);let eW=(0,s.useMemo)(()=>c.find(e=>e.id===a)?.name??"Agent",[c,a]),eH=b(q),eU=b(J),eV=b(en),eK=b(ei),eQ=b(eW),eX=b(d),eG=(0,s.useCallback)(async(e=!1)=>{if(!D||eI.current)return;eI.current=!0;let t=eH.current,s=eU.current,r=eK.current,i=eQ.current,l=eX.current,c=!!n,d=t[0],u=eE.current?.id??D.id,m=s&&d,f=eV.current;if(!c&&!m&&0===f.length&&r){let e=eE.current??{id:D.id,created_at:D.created_at};try{let t=await (0,N.listPreviousConversations)(a,o,{exclude:D.id,before:e.created_at,channel:l});f=t.conversations,er(t.conversations),el(t.has_more)}catch{el(!1)}}let h=!c&&f.length>0;if(!m&&!h){eI.current=!1;return}et(!0);let p=ey.current;p&&(p.style.overflowAnchor="none");let g=p?.scrollHeight??0;try{let t=[],s=[],n=20,h=!1,x=[],v=!1;if(m){let e=u===D.id?await (0,_.getCachedMessagesBefore)(u,d.created_at,d.id,20,o):null;if(e)t=e.messages,n-=e.messages.length,h=e.hasMore;else{let e=await (0,N.listMessages)(u,o,{limit:20,before:d.created_at,beforeId:d.id});t=e.messages,n-=e.messages.length,h=e.has_more}v=h}if(!c&&!h&&n>0){if(0===f.length&&r){let e=eE.current??{id:D.id,created_at:D.created_at};try{let t=await (0,N.listPreviousConversations)(a,o,{exclude:D.id,before:e.created_at,channel:l});f=t.conversations,er(t.conversations),el(t.has_more)}catch{el(!1)}}let e=0,t=0;for(;e<f.length&&n>0&&t<5;){let a=f[e];e++,t++;let r=await (0,N.listMessages)(a.id,o,{limit:n});if(0===r.messages.length){eE.current=a;continue}let l=eE.current?.created_at??D.created_at;x.push({agentName:i,created_at:l,id:`nap-${a.id}`}),s=[...r.messages,...s],n-=r.messages.length,h=r.has_more,eE.current=a}e>0&&er(t=>t.slice(e))}let b=[...s,...t];if((0,w.flushSync)(()=>{b.length>0?(x.length>0&&ec(e=>{let t=new Set(e.map(e=>e.id)),s=x.filter(e=>!t.has(e.id));return[...e,...s]}),Z(h),O(e=>{let t=new Set(e.map(e=>e.id));return[...b.filter(e=>!t.has(e.id)),...e]})):Z(!1)}),b.length>0&&D){let e=b.filter(e=>e.conversation_id===D.id);e.length>0&&(0,_.mergeCachedMessages)(D.id,e,v,o).catch(()=>{})}if(eI.current=!1,(0,w.flushSync)(()=>et(!1)),p)if(e)p.scrollTop=p.scrollHeight;else{let e=p.scrollHeight;p.scrollTop=e-g}}catch{C.toast.error("Failed to load older messages")}finally{eI.current=!1,et(!1),ey.current&&(ey.current.style.overflowAnchor="")}},[D,o,a,n,eH,eU,eK,eQ,eX,eV]),eY=n?J:J||en.length>0||ei;(0,s.useEffect)(()=>{D?.id!==ez.current&&(ez.current=D?.id,eR.current=0)},[D?.id]),(0,s.useEffect)(()=>{Q||!D||r||n||q.length>=10||!eY||ee||eR.current>=3||(eR.current+=1,eG(!0))},[Q,q.length,eY,ee,D,eG,r,n]);let eJ=(0,s.useCallback)(()=>{let e=ey.current;e&&(eM.current=e.scrollHeight-e.scrollTop-e.clientHeight<100)},[]),eZ=(0,s.useCallback)((e,t,s)=>{ej.current&&clearInterval(ej.current),e_.current=s??0,eC.current=0,Y(!1),eN.current=e,ej.current=setInterval(async()=>{if(eN.current===e)try{let s=await (0,N.getTask)(e,o),a=eN.current!==e;if(eC.current=0,Y(!1),"completed"===s.status||"failed"===s.status||"cancelled"===s.status||"superseded"===s.status){if(a)return void(0,N.listMessages)(t,o).then(({messages:e})=>{O(t=>m(t,e)),(0,_.mergeCachedMessages)(t,e,null,o).catch(()=>{})}).catch(()=>{});ej.current&&clearInterval(ej.current),ej.current=null,ew.current&&clearTimeout(ew.current),ew.current=setTimeout(()=>{(0,N.markInboxRead)(t,o).then(()=>eq.current()).catch(()=>{})},1e3);let n=!eT.current&&eM.current;try{let[e,a]=await Promise.all([(0,N.listMessages)(t,o),(0,N.listArtifacts)(t,o).catch(()=>null)]);O(t=>m(t,e.messages)),(0,_.mergeCachedMessages)(t,e.messages,null,o).catch(()=>{}),a&&(ea(a),eD(t,a)),U(s)}catch{U(s),C.toast.error("Failed to refresh messages")}n&&requestAnimationFrame(()=>{ey.current?.scrollTo({top:ey.current.scrollHeight,behavior:"smooth"})}),setTimeout(async()=>{if(!ej.current)try{let s=await (0,N.getActiveTask)(t,o);if(s&&s.id!==e){let{messages:e}=await (0,N.listMessages)(t,o);O(t=>m(t,e)),(0,_.mergeCachedMessages)(t,e,null,o).catch(()=>{}),U(s),K([]),eA.current?.(s.id,t)}}catch{}},1e3)}else a||U(s)}catch{if(eN.current!==e)return;eC.current+=1,eC.current>=3&&Y(!0),eC.current>=10&&(ej.current&&clearInterval(ej.current),ej.current=null,C.toast.error("Lost connection to agent"))}},3e3)},[o]);(0,s.useEffect)(()=>{eA.current=eZ},[eZ]),(0,s.useEffect)(()=>()=>{ej.current&&clearInterval(ej.current),ew.current&&clearTimeout(ew.current)},[]);let e0=(0,s.useRef)(null);(0,s.useEffect)(()=>{e0.current=H?.id??null},[H]),(0,s.useEffect)(()=>h(e=>{if("task.messages"===e.type&&e.taskId===e0.current){let t=e.messages.filter(e=>e.seq>e_.current);if(t.length>0){let e=t.filter(e=>"error"===e.type);e.length>0&&K(t=>{let s=new Set(t.map(e=>e.seq)),a=e.filter(e=>!s.has(e.seq));return a.length>0?[...t,...a]:t}),e_.current=Math.max(...t.map(e=>e.seq),e_.current)}}if("task.created"===e.type&&e.conversationId===D?.id){(0,N.listMessages)(e.conversationId,o).then(({messages:t})=>{O(e=>m(e,t)),(0,_.mergeCachedMessages)(e.conversationId,t,null,o).catch(()=>{})}).catch(()=>{});let t=e.task;e0.current=t.id,U(t),K([]),e_.current=0,eA.current?.(t.id,e.conversationId)}if("task.created"===e.type){let t=e.task,s=eX.current;(0,_.getLastOpenConversation)(a,s,o).then(e=>{let n=v({task:t,agentId:a,activeChannel:s,currentPointerConvId:e?.conversation_id??null});if(n)return(0,_.getCacheMeta)(n,o).then(e=>(0,_.setLastOpenConversation)(a,s,{conversation_id:n,newestMessageId:e?.newestMessageId??null,serverMessageCount:e?.messageCount??0},o))}).catch(()=>{})}"conversation.message"===e.type&&(e.conversationId===eP.current&&(0,_.appendCachedMessage)(e.conversationId,e.message,o).catch(()=>{}),e.conversationId===D?.id&&O(t=>{let s=new Date(e.message.created_at).getTime(),a=t.findIndex(t=>t.id.startsWith("temp-")&&t.role===e.message.role&&t.content===e.message.content&&2e3>Math.abs(new Date(t.created_at).getTime()-s));if(-1!==a){let s=t[a].id;eu(e=>{if(!e.has(s))return e;let t=new Map(e);return t.delete(s),t});let n=[...t];return n[a]=e.message,n}return m(t,[e.message])})),"task.updated"===e.type&&e.taskId===e0.current&&U(t=>t?{...t,status:e.status}:t),"artifact.uploaded"===e.type&&e.conversationId===D?.id&&ea(t=>{if(t.some(t=>t.id===e.artifact.id))return t;let s=[...t,e.artifact];return eD(e.conversationId,s),s})}),[h,D?.id,o,a,eD]),(0,s.useEffect)(()=>k(()=>{D?.id&&(0,_.getCacheMeta)(D.id,o).then(e=>{(0,N.conversationInit)(D.id,o,{newestMessageId:e?.newestMessageId??void 0,messageCount:e?.serverMessageCount??void 0}).then(e=>{!e.cache_valid&&e.messages&&(O(t=>m(t,e.messages)),ep.current(e.messages,e.has_more_messages,e.message_count).catch(()=>{}))}).catch(()=>{})})}),[k,D?.id,o]);let e1=async()=>{let e=R.current.trim();if(!e&&0===P.current.length||B||!D)return;if(!e)return void C.toast.error("Please type a message");let t=e,s=z.current;L.current&&(t=`/${L.current.name} ${t}`);let n=[...P.current];(0,S.trackMessageSent)({agent_id:a,message_length:t.length}),M(""),I([]),T(null),E(),W(!0);let r=`temp-${Date.now()}`,i={id:r,conversation_id:D.id,role:"user",content:t,task_id:null,attachment_ids:null,...s?{metadata:{quote:{messageId:s.id,excerpt:s.excerpt}}}:{},created_at:new Date().toISOString()};n.length>0&&eu(e=>{let t=new Map(e);return t.set(r,n),t}),O(e=>[...e,i]),eF();try{let{message:e,task:a}=await (0,N.sendMessage)(D.id,t,o,n.length>0?n:void 0,s?{quote:{messageId:s.id,excerpt:s.excerpt}}:void 0);if(eu(e=>{if(!e.has(r))return e;let t=new Map(e);return t.delete(r),t}),O(t=>{if(!t.some(e=>e.id===i.id))return t.some(t=>t.id===e.id)?t:u([...t,e]);let s=t.filter(t=>t.id!==i.id&&t.id!==e.id);return u([...s,e])}),(0,_.appendCachedMessage)(D.id,e,o).catch(()=>{}),e.attachment_ids&&e.attachment_ids.length>0){let e=D.id;(0,N.listArtifacts)(e,o).then(t=>{ea(t),eD(e,t)}).catch(()=>{})}U(a),K([]),eZ(a.id,D.id)}catch{ef(e=>{let s=new Map(e);return s.set(r,{content:t,files:n}),s})}finally{W(!1),e$.current?.focus()}},e2=(0,s.useCallback)(e=>{let t=em.get(e);if(!t||!D||B)return;ef(t=>{let s=new Map(t);return s.delete(e),s}),O(t=>t.filter(t=>t.id!==e)),eu(t=>{if(!t.has(e))return t;let s=new Map(t);return s.delete(e),s}),W(!0);let s=`temp-${Date.now()}`,a={id:s,conversation_id:D.id,role:"user",content:t.content,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};t.files.length>0&&eu(e=>{let a=new Map(e);return a.set(s,t.files),a}),O(e=>[...e,a]),(0,N.sendMessage)(D.id,t.content,o,t.files.length>0?t.files:void 0).then(({message:e,task:t})=>{eu(e=>{if(!e.has(s))return e;let t=new Map(e);return t.delete(s),t}),O(t=>u([...t.filter(t=>t.id!==s&&t.id!==e.id),e])),(0,_.appendCachedMessage)(D.id,e,o).catch(()=>{}),U(t),K([]),eZ(t.id,D.id)}).catch(()=>{ef(e=>{let a=new Map(e);return a.set(s,t),a})}).finally(()=>{W(!1)})},[em,D,B,o,eZ]),e5=(0,s.useCallback)(async()=>{if(!H||!D)return;let e=await (0,N.retryTask)(H.id,o);U(e),K([]),eZ(e.id,D.id)},[H,D,o,eZ]),[e3,e4]=(0,s.useState)(!1),e8=(0,s.useMemo)(()=>!!D&&q.some(e=>e.conversation_id===D.id),[D,q]),e6=async()=>{if(D&&e8&&!e3){e4(!0);try{ej.current&&(clearInterval(ej.current),ej.current=null);let e=await (0,N.createConversation)(a,o,d);ec(t=>[...t,{agentName:eW,created_at:e.created_at,id:`nap-${D.id}`}]),er(e=>[{id:D.id,created_at:D.created_at},...e]),F(e),U(null),K([]),ea([]),I([]),eu(new Map),ef(new Map),e_.current=0,Y(!1),Z(!1),eE.current=null,eF()}catch{C.toast.error("Failed to start new conversation")}finally{e4(!1)}}};return{conversation:D,messages:q,sending:B,activeTask:H,taskMessages:V,messagesLoading:Q,connectionLost:G,hasMore:J,loadingMore:ee,artifacts:es,previousConversations:en,hasMoreConversations:ei,napMarkers:eo,napping:e3,pendingFilesByMessage:ed,failedSends:em,agentArtifacts:ex,agentName:eW,timeline:ev,groupPositions:eb,activeTaskStreamMsgId:ek,canLoadMore:eY,currentConvHasMessages:e8,scrollRef:ey,composerRef:e$,loadOlderMessages:eG,handleScroll:eJ,handleSend:e1,handleRetrySend:e2,handleRetryTask:e5,handleNap:e6,scrollToBottom:eF}}],158571);var I=e.i(74348);e.s(["useMessageFlags",0,function(e){let[t,a]=(0,s.useState)(new Set),n=(0,s.useRef)(t);(0,s.useEffect)(()=>{n.current=t});let{increment:r,decrement:i,refresh:l}=(0,I.useFlagCount)(),o=(0,s.useCallback)(async t=>{let s=n.current.has(t);a(e=>{let a=new Set(e);return s?a.delete(t):a.add(t),a}),s?(i(),(0,N.unflagMessage)(e,t).then(()=>{l()}).catch(()=>{a(e=>new Set(e).add(t)),r()})):(r(),(0,N.flagMessage)(e,t).then(()=>{l()}).catch(()=>{a(e=>{let s=new Set(e);return s.delete(t),s}),i()}))},[e,r,i,l]);return{flaggedIds:t,setFlaggedIds:a,handleToggleFlag:o}}],802634),e.s(["useChatSheets",0,function(e){let[t,a]=(0,s.useState)(!1),[n,r]=(0,s.useState)(null),[i,l]=(0,s.useState)(!1),[o,c]=(0,s.useState)(null),[d,u]=(0,s.useState)(!1),[m,f]=(0,s.useState)(null),[h,p]=(0,s.useState)(!1),[g,x]=(0,s.useState)(null),[v,b]=(0,s.useState)(null),[k,y]=(0,s.useState)(!1),[j,w]=(0,s.useState)(null),[_,S]=(0,s.useState)(null),I=(0,s.useCallback)(async t=>{x(t),p(!0),y(!0),w(null),S(null);try{let s=await (0,N.getIssue)(e,t);b(s),s.issue.latest_task_id&&(0,N.getTask)(s.issue.latest_task_id,e).then(e=>S(e)).catch(()=>S(null)),s.issue.trace_id&&(0,N.getTrace)(s.issue.trace_id,e).then(e=>w(e.tasks)).catch(()=>w(null))}catch(e){C.toast.error(e instanceof Error?e.message:"Failed to load issue"),p(!1)}finally{y(!1)}},[e]),M=v?.issue?.conversation_id??null,T=v?.issue?.latest_task_id??null;return{artifactSheetOpen:t,setArtifactSheetOpen:a,selectedArtifact:n,setSelectedArtifact:r,emailSheetOpen:i,setEmailSheetOpen:l,selectedEmailId:o,setSelectedEmailId:c,calendarEventSheetOpen:d,setCalendarEventSheetOpen:u,selectedCalendarEventId:m,setSelectedCalendarEventId:f,issueSheetOpen:h,setIssueSheetOpen:p,selectedIssueId:g,setSelectedIssueId:x,issueDetail:v,setIssueDetail:b,issueDetailLoading:k,issueTraceTasks:j,issueActiveTask:_,setIssueActiveTask:S,openIssue:I,issueConvId:M,issueTaskId:T}}],431884),e.s(["useFileAttachments",0,function(){let[e,t]=(0,s.useState)([]),a=(0,s.useRef)(null),n=(0,s.useCallback)(e=>{let s=[];for(let t of e)t.size>0xa00000?C.toast.error(`"${t.name}" exceeds 10 MB limit`):s.push(t);s.length>0&&t(e=>[...e,...s])},[]),r=(0,s.useCallback)(e=>{let t=e.target.files;t&&(n(Array.from(t)),e.target.value="")},[n]),i=(0,s.useCallback)(e=>{t(t=>t.filter((t,s)=>s!==e))},[]),[l,o]=(0,s.useState)(!1),c=(0,s.useRef)(0),d=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),c.current++,e.dataTransfer.types.includes("Files")&&o(!0)},[]),u=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),c.current--,0===c.current&&o(!1)},[]),m=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),f=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),o(!1),c.current=0,n(Array.from(e.dataTransfer.files))},[n]);return{pendingFiles:e,setPendingFiles:t,fileInputRef:a,addPendingFiles:n,handleFileSelect:r,removePendingFile:i,dragging:l,handleDragEnter:d,handleDragLeave:u,handleDragOver:m,handleDrop:f}}],184526),e.s(["useTextSelectionQuote",0,function(){let[e,t]=(0,s.useState)(null),a=(0,s.useCallback)(()=>{let e=window.getSelection();if(!e||e.isCollapsed||!e.rangeCount)return void t(null);let s=e.toString().trim();if(!s)return void t(null);let a=e.getRangeAt(0),n=a.commonAncestorContainer instanceof HTMLElement?a.commonAncestorContainer:a.commonAncestorContainer.parentElement,r=n?.closest("[data-quote-source]");if(!r)return void t(null);let i=r.closest("[data-message-id]"),l=i?.getAttribute("data-message-id")??null,o=a.getClientRects(),c=o[o.length-1]||a.getBoundingClientRect();t({text:s,messageId:l,x:c.right,y:c.top-4})},[]);return(0,s.useEffect)(()=>(document.addEventListener("selectionchange",a),()=>document.removeEventListener("selectionchange",a)),[a]),{selectionPopup:e,setSelectionPopup:t}}],773652),e.s(["useSlashCommand",0,function({input:e,caretIndex:t,skills:a,onInputChange:n,initialActiveSkill:r,getAnchorPos:i,onAfterSelect:l}){let[o,c]=(0,s.useState)(!1),[d,u]=(0,s.useState)(""),[m,f]=(0,s.useState)(0),[h,p]=(0,s.useState)({top:0,left:0}),g=(0,s.useRef)(null),x=(0,s.useMemo)(()=>{if(!o)return[];if(!d)return a;let e=d.toLowerCase(),t=[],s=[];for(let n of a){let a=n.name.toLowerCase();a.startsWith(e)?t.push(n):a.includes(e)&&s.push(n)}return[...t,...s]},[o,d,a]);(0,s.useEffect)(()=>{f(0)},[x.length,d]);let[v,b]=(0,s.useState)(r??null);(0,s.useEffect)(()=>{if(v||null===t)return void c(!1);let s=function(e,t){if(!e.startsWith("/")||0===t)return null;let s=t-1;for(;s>=0&&t-s<=30;){let a=e.charCodeAt(s);if(47===a&&0===s)return{start:0,query:e.slice(1,t)};if(10===a||13===a||32===a)break;s--}return null}(e,t);if(s){g.current=s.start,u(s.query),c(!0);let e=i(s.start);e&&p(e)}else c(!1),g.current=null},[e,t,i,v]);let k=(0,s.useCallback)(e=>{b(e),n(""),c(!1),l?.()},[n,l]),y=(0,s.useCallback)(()=>{b(null)},[]),j=(0,s.useCallback)(e=>!!o&&0!==x.length&&!e.isComposing&&("ArrowDown"===e.key?(e.preventDefault(),f(e=>(e+1)%x.length),!0):"ArrowUp"===e.key?(e.preventDefault(),f(e=>(e-1+x.length)%x.length),!0):"Enter"===e.key||"Tab"===e.key?(e.preventDefault(),k(x[m]),!0):"Escape"===e.key&&(e.preventDefault(),c(!1),!0)),[o,x,m,k]);return{isOpen:o,query:d,selectedIndex:m,anchorPos:h,skills:x,activeSkill:v,handleSlashKeyDown:j,selectSkill:k,clearActiveSkill:y,setActiveSkill:b}}],505175);var M=e.i(613349);function T({skill:e,isSelected:s,onSelect:a}){return(0,t.jsxs)("button",{type:"button","data-slash-item":!0,className:(0,M.cn)("flex w-full flex-col gap-0.5 px-3 py-1.5 text-left text-sm transition-colors",s?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:t=>{t.preventDefault(),a(e)},children:[(0,t.jsxs)("span",{className:"flex w-full items-center gap-2",children:[(0,t.jsxs)("span",{className:"min-w-0 flex-1 truncate font-medium",children:["/",e.name]}),e.isGlobal&&(0,t.jsx)("span",{className:"shrink-0 rounded px-1 py-0.5 text-[10px] font-medium bg-muted text-muted-foreground",children:"Global"})]}),e.description&&(0,t.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:e.description.slice(0,80)})]})}e.s(["SlashCommandPopup",0,function({isOpen:e,skills:a,selectedIndex:n,onSelect:r,anchorPos:i}){let l=(0,s.useRef)(null);if((0,s.useEffect)(()=>{if(!l.current)return;let e=l.current.querySelectorAll("[data-slash-item]")[n];e?.scrollIntoView({block:"nearest"})},[n]),!e||0===a.length)return null;let o=Math.max(8,window.innerWidth-280-8),c=Math.min(i.left,o);return(0,w.createPortal)((0,t.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:i.top-4,left:c,transform:"translateY(-100%)"},children:(0,t.jsx)("div",{ref:l,className:"max-h-60 overflow-y-auto py-1 thin-scrollbar",children:a.map((e,s)=>(0,t.jsx)(T,{skill:e,isSelected:s===n,onSelect:r},e.name))})}),document.body)}],684565);var A=e.i(720115),E=e.i(941693),R=e.i(37476),z=e.i(251383);function P(e,t){if(!t)return e;let s=t.toLowerCase(),a=[],n=[];for(let t of e){let e=t.name.toLowerCase();e.startsWith(s)?a.push(t):e.includes(s)&&n.push(t)}return[...a,...n]}var L=e.i(8973);function $(e){return e.replaceAll("&lt;","<").replaceAll("&gt;",">").replaceAll("&amp;","&")}e.i(954194);var D=e.i(439769);let F={items:[],selectedIndex:0,command:null,rect:null};function q({state:e}){let a=(0,s.useRef)(null),{items:n,selectedIndex:r,command:i,rect:l}=e;if((0,s.useEffect)(()=>{if(!a.current)return;let e=a.current.children[r];e?.scrollIntoView({block:"nearest"})},[r]),!l||0===n.length||!i)return null;let o=Math.max(8,window.innerWidth-256-8),c=Math.min(l.left,o);return(0,w.createPortal)((0,t.jsx)("div",{className:"fixed z-100 w-64 rounded-lg border border-border bg-popover text-popover-foreground shadow-md",style:{top:l.top-4,left:c,transform:"translateY(-100%)"},children:(0,t.jsx)("div",{ref:a,className:"max-h-50 overflow-y-auto py-1 thin-scrollbar",children:n.map((e,s)=>(0,t.jsxs)("button",{type:"button",className:(0,M.cn)("flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",s===r?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:t=>{t.preventDefault(),i({id:e.id,label:e.name})},children:[(0,t.jsx)("span",{className:"truncate font-medium",children:e.name}),e.email_handle&&(0,t.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:(0,D.toAlookAddress)(e.email_handle)})]},e.id))})}),document.body)}let O=(0,s.forwardRef)(function({value:e,onChange:a,onEditorState:n,onSend:r,onFocus:i,onBlur:l,overlay:o,disabled:c,onMultiLineChange:d,onFiles:u,agents:m,agentLinks:f,currentAgentId:h,slashIsOpen:p,onSlashKeyDown:g},x){let[v,b]=(0,s.useState)(!1),[k,y]=(0,s.useState)(F),j=(0,s.useRef)(k);(0,s.useEffect)(()=>{j.current=k},[k]);let w=(0,s.useRef)(m),N=(0,s.useRef)(f),_=(0,s.useRef)(h),C=(0,s.useRef)(r),S=(0,s.useRef)(n),I=(0,s.useRef)(a),M=(0,s.useRef)(u),T=(0,s.useRef)(i),D=(0,s.useRef)(l),O=(0,s.useRef)(p),B=(0,s.useRef)(g);(0,s.useEffect)(()=>{w.current=m},[m]),(0,s.useEffect)(()=>{N.current=f},[f]),(0,s.useEffect)(()=>{_.current=h},[h]),(0,s.useEffect)(()=>{C.current=r},[r]),(0,s.useEffect)(()=>{S.current=n},[n]),(0,s.useEffect)(()=>{I.current=a},[a]),(0,s.useEffect)(()=>{M.current=u},[u]),(0,s.useEffect)(()=>{T.current=i},[i]),(0,s.useEffect)(()=>{D.current=l},[l]),(0,s.useEffect)(()=>{O.current=p},[p]),(0,s.useEffect)(()=>{B.current=g},[g]);let W=e=>{S.current(e.getText(),e.state.selection.from-1)},[H]=(0,s.useState)(()=>L.default.extend({markdownName:"mention",renderMarkdown:e=>`@${e.attrs.label??e.attrs.id}`}).configure({HTMLAttributes:{class:"mention-highlight"},renderText:({node:e})=>`@${e.attrs.label??e.attrs.id}`,suggestion:{char:"@",items:({query:e})=>(function(e,t,s,a,n=20){let r=function(e,t){let s=new Set;for(let a of e)a.source_agent_id===t&&s.add(a.target_agent_id),a.target_agent_id===t&&s.add(a.source_agent_id);return s}(t,s),i=[],l=[];for(let t of e)r.has(t.id)?i.push(t):l.push(t);return[...P(i,a),...P(l,a)].slice(0,n)})(w.current,N.current,_.current,e),render:()=>({onStart:e=>{y({items:e.items??[],selectedIndex:0,command:e.command,rect:e.clientRect?.()??null})},onUpdate:e=>{y(t=>({items:e.items??[],selectedIndex:t.selectedIndex<(e.items?.length??0)?t.selectedIndex:0,command:e.command,rect:e.clientRect?.()??null}))},onKeyDown:({event:e})=>{if(e.isComposing)return!1;let t=j.current;if(0===t.items.length)return!1;if("ArrowDown"===e.key)return e.preventDefault(),y(e=>({...e,selectedIndex:(e.selectedIndex+1)%e.items.length})),!0;if("ArrowUp"===e.key)return e.preventDefault(),y(e=>({...e,selectedIndex:(e.selectedIndex-1+e.items.length)%e.items.length})),!0;if("Enter"===e.key){e.preventDefault();let s=t.items[t.selectedIndex];return s&&t.command&&t.command({id:s.id,label:s.name}),y(F),!0}return"Escape"===e.key&&(y(F),!0)},onExit:()=>y(F)})}})),U=(0,A.useEditor)({immediatelyRender:!1,content:e?e.replaceAll("\n","<br>"):void 0,editable:!c,extensions:[E.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}),R.default.configure({placeholder:""}),z.Markdown,H],editorProps:{attributes:{class:"outline-none",enterkeyhint:"send"},handleKeyDown:(e,t)=>(!(j.current.items.length>0)||null===j.current.command)&&(!!(O.current&&B.current({key:t.key,isComposing:t.isComposing,preventDefault:()=>t.preventDefault()}))||"Enter"===t.key&&!t.shiftKey&&!t.isComposing&&!O.current&&(t.preventDefault(),C.current(),!0)),handlePaste:(e,t)=>{let s=t.clipboardData?.items;if(!s)return!1;let a=[];for(let e=0;e<s.length;e++)if("file"===s[e].kind){let t=s[e].getAsFile();t&&a.push(t)}if(a.length>0)return t.preventDefault(),M.current?.(a),!0;let n=t.clipboardData?.getData("text/plain");return!!n&&(t.preventDefault(),e.dispatch(e.state.tr.insertText(n)),!0)},handleDrop:()=>!1},onFocus:()=>{b(!0),T.current?.()},onBlur:()=>{b(!1),D.current?.()},onUpdate:({editor:e})=>{I.current($(e.getMarkdown())),W(e)},onSelectionUpdate:({editor:e})=>{W(e)}});(0,s.useEffect)(()=>{U?.setEditable(!c)},[U,c]),(0,s.useEffect)(()=>{if(!U)return;let t=(e||"").trim();t!==$(U.getMarkdown()||"").trim()&&(t?U.commands.setContent((e||"").replaceAll("\n","<br>"),{emitUpdate:!1}):U.commands.clearContent(),S.current(U.getText(),U.state.selection.from-1))},[e,U]);let V=(0,s.useRef)(null);return(0,s.useEffect)(()=>{if(!U||!d)return;let e=V.current?.querySelector(".ProseMirror");if(!e)return;let t=()=>d(e.scrollHeight>32);t();let s=new ResizeObserver(t);return s.observe(e),()=>s.disconnect()},[U,d]),(0,s.useEffect)(()=>{let e=function(e,t){let s=navigator.virtualKeyboard;if(!s)return null;s.overlaysContent=!0;let a=e()?.closest("[data-keyboard-offset]");if(!a)return null;let n=()=>{if(!t){a.style.transform="",a.removeAttribute("data-keyboard-active");return}let{height:e}=s.boundingRect;e>0?(a.style.transform=`translateY(-${e}px)`,a.setAttribute("data-keyboard-active","")):(a.style.transform="",a.removeAttribute("data-keyboard-active"))};return s.addEventListener("geometrychange",n),()=>{s.removeEventListener("geometrychange",n),a.style.transform="",a.removeAttribute("data-keyboard-active"),s.overlaysContent=!1}}(()=>V.current,v);return e||(function(e,t){let s,a=window.visualViewport;if(!a)return null;let{handler:n,cleanup:r}={handler:()=>{t&&(clearTimeout(s),s=setTimeout(()=>{let t=e();if(!t)return;let s=window.visualViewport;if(!s)return void t.scrollIntoView({block:"end",behavior:"smooth"});let a=window.innerHeight-s.height,n=t.closest("[data-keyboard-offset]");if(n&&a>0){let e=n.getBoundingClientRect().bottom-s.height-s.offsetTop;e>0?(n.style.transform=`translateY(-${e}px)`,n.setAttribute("data-keyboard-active","")):(n.style.transform="",n.removeAttribute("data-keyboard-active"))}else n?(n.style.transform="",n.removeAttribute("data-keyboard-active")):t.scrollIntoView({block:"end",behavior:"smooth"})},150))},cleanup:()=>{clearTimeout(s);let t=e();if(!t)return;let a=t.closest("[data-keyboard-offset]");a&&(a.style.transform="",a.removeAttribute("data-keyboard-active"))}};return a.addEventListener("resize",n),a.addEventListener("scroll",n),()=>{a.removeEventListener("resize",n),a.removeEventListener("scroll",n),r()}}(()=>V.current,v)??void 0)},[V,v]),(0,s.useImperativeHandle)(x,()=>({focus:()=>U?.commands.focus(),clear:()=>U?.commands.clearContent(),isEmpty:()=>U?.isEmpty??!0,coordsAtTextIndex:e=>{if(!U)return null;try{let t=U.view.coordsAtPos(e+1);return{top:t.top,left:t.left}}catch{return null}}}),[U]),(0,t.jsxs)("div",{ref:V,className:"chat-composer relative",children:[(0,t.jsx)(A.EditorContent,{editor:U,className:"max-h-44 overflow-y-auto thin-scrollbar pr-2 text-base chat-input-line-height"}),o,(0,t.jsx)(q,{state:k})]})});e.s(["ChatComposer",0,O,"RotatingPlaceholderOverlay",0,function({hint:e,animate:a}){let[n,r]=(0,s.useState)(e),[i,l]=(0,s.useState)(!0);return(0,s.useEffect)(()=>{if(!a){r(e),l(!0);return}if(e===n)return;l(!1);let t=setTimeout(()=>{r(e),l(!0)},200);return()=>clearTimeout(t)},[e,n,a]),(0,t.jsx)("div",{className:"chat-placeholder-overlay","aria-hidden":"true",children:(0,t.jsx)("span",{className:a?"chat-placeholder-fade":void 0,style:a?{opacity:+!!i}:void 0,children:n})})}],648365);let B=["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"];e.s(["useRotatingPlaceholder",0,function(e){var t;let a=function(){let[e,t]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{if(!window.matchMedia)return;let e=window.matchMedia("(prefers-reduced-motion: reduce)");t(e.matches);let s=e=>t(e.matches);return e.addEventListener("change",s),()=>e.removeEventListener("change",s)},[]),e}(),[n,r]=(0,s.useState)(()=>(function(e,t=Math.random){return e<=0?0:Math.floor(t()*e)%e})(B.length)),i=(t={...e,reducedMotion:a}).isEmpty&&!t.isFocused&&!t.isTaskActive&&!t.reducedMotion,l=(0,s.useRef)(n);return l.current=n,(0,s.useEffect)(()=>{if(!i)return;let e=setInterval(()=>{var e,t;r((e=l.current,(t=B.length)<=0?0:(e+1)%t))},6e3);return()=>clearInterval(e)},[i]),{hint:B[n]??B[0],isRotating:i}}],360315);var W=e.i(288329),H=e.i(332680),U=e.i(186339),V=e.i(692670),K=e.i(896210),Q=e.i(966662),X=e.i(492451),G=e.i(940931);e.s(["EmailEventSheet",0,function({open:e,onOpenChange:a,emailId:n,workspaceId:i}){let[l,o]=(0,s.useState)(null),[c,d]=(0,s.useState)(null),[u,m]=(0,s.useState)(!1),{width:f,onPointerDown:h,onPointerMove:p,onPointerUp:g}=(0,W.useSheetResize)({defaultWidth:500,minWidth:320,maxWidthRatio:.8}),x=(0,s.useRef)(a);(0,s.useEffect)(()=>{x.current=a}),(0,s.useEffect)(()=>{e&&n&&(m(!0),o(null),d(null),Promise.all([(0,N.getEmail)(n,i),(0,N.getEmailBody)(n,i)]).then(([e,t])=>{o(e),d(t)}).catch(()=>{C.toast.error("Email not found"),x.current(!1)}).finally(()=>m(!1)))},[e,n,i]);let v=e=>{a(e),e||setTimeout(()=>{o(null),d(null)},300)};return(0,t.jsx)(H.Sheet,{open:e,onOpenChange:v,children:(0,t.jsxs)(H.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${f}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,t.jsx)(W.SheetResizeHandle,{onPointerDown:h,onPointerMove:p,onPointerUp:g}),(0,t.jsx)(H.SheetHeader,{children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(K.Mail,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,t.jsx)(H.SheetTitle,{className:"truncate flex-1",children:u?"Loading...":l?.subject||"Email"}),(0,t.jsx)(U.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>v(!1),children:(0,t.jsx)(V.X,{className:"h-4 w-4"})})]})}),(0,t.jsx)(H.SheetBody,{className:"flex-1 overflow-y-auto thin-scrollbar",children:u?(0,t.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,t.jsx)(r.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):l?(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsxs)("div",{className:"text-sm space-y-1 border-b pb-3",children:[(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("span",{className:"text-muted-foreground shrink-0",children:"From:"}),(0,t.jsx)("span",{className:"truncate",children:l.from_email})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("span",{className:"text-muted-foreground shrink-0",children:"To:"}),(0,t.jsx)("span",{className:"truncate",children:l.to_email})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Date:"}),(0,t.jsx)("span",{children:new Date(l.created_at).toLocaleString()})]})]}),c?.isHtml?(0,t.jsx)(G.EmailBodyFrame,{html:c.content,className:"max-w-full"}):(0,t.jsx)("pre",{className:"whitespace-pre-wrap text-sm font-mono",children:c?.content}),l.attachments&&l.attachments.length>0&&(0,t.jsxs)("div",{className:"border-t pt-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 mb-2 text-xs text-muted-foreground",children:[(0,t.jsx)(Q.Paperclip,{className:"size-3"}),l.attachments.length," attachment",l.attachments.length>1?"s":""]}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:l.attachments.map((e,s)=>(0,t.jsxs)("a",{href:`/api/email/${l.id}/attachment/${s}?workspace_id=${i}`,target:"_blank",rel:"noopener noreferrer",download:e.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,t.jsx)(X.File,{className:"size-3 text-muted-foreground shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-45",children:e.filename}),(0,t.jsx)("span",{className:"text-muted-foreground shrink-0",children:e.size<1024?`${e.size} B`:e.size<1048576?`${(e.size/1024).toFixed(1)} KB`:`${(e.size/1048576).toFixed(1)} MB`})]},e.key))})]})]}):null})]})})}],544346);var Y=e.i(933253),J=e.i(364079);e.s(["ImageLightbox",0,function({open:e,onClose:a,artifact:n,workspaceId:r}){let i=(0,s.useCallback)(e=>{"Escape"===e.key&&a()},[a]);if((0,s.useEffect)(()=>{if(e)return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[e,i]),!e||!n)return null;let l=(0,J.getArtifactUrl)(n.id,r),o=(0,J.getArtifactUrl)(n.id,r,!0);return(0,w.createPortal)((0,t.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-md animate-in fade-in duration-150",onClick:a,children:[(0,t.jsxs)("div",{className:"absolute top-4 right-4 flex items-center gap-2",children:[(0,t.jsx)("a",{href:o,download:n.filename,onClick:e=>e.stopPropagation(),className:"rounded-full p-2 text-white/70 hover:text-white hover:bg-white/10 transition-colors",children:(0,t.jsx)(Y.Download,{className:"size-5"})}),(0,t.jsx)("button",{type:"button",onClick:a,className:"rounded-full p-2 text-white/70 hover:text-white hover:bg-white/10 transition-colors",children:(0,t.jsx)(V.X,{className:"size-5"})})]}),(0,t.jsx)("img",{src:l,alt:n.filename,onClick:e=>e.stopPropagation(),className:"max-w-[90vw] max-h-[90vh] object-contain rounded-lg"})]}),document.body)}],204799);var Z=e.i(329686);e.i(68322);var ee=e.i(522281),et=e.i(418277),es=e.i(742204);function ea(e,t){if(t>=e.length)return!0;let s=e.charCodeAt(t);return(!(s>=48)||!(s<=57))&&(!(s>=65)||!(s<=90))&&(!(s>=97)||!(s<=122))&&95!==s}function en(e,t){if(!e||0===t.length||!e.includes("@"))return e;let s=t.slice().sort((e,t)=>t.name.length-e.name.length),a=[];for(let t=0;t<e.length;t++){if("@"!==e[t]||!function(e,t){if(0===t)return!0;let s=e.charCodeAt(t-1);return(!(s>=48)||!(s<=57))&&(!(s>=65)||!(s<=90))&&(!(s>=97)||!(s<=122))&&95!==s}(e,t))continue;let n=t+1;for(let r of s){let s=n+r.name.length;if(s>e.length||e.slice(n,s).toLowerCase()!==r.name.toLowerCase())continue;let i=s,l=e.slice(s).match(/^ \([a-zA-Z0-9-]+@alook\.ai\)/);if(l&&(i=s+l[0].length),(l||ea(e,s))&&(!l||ea(e,i))){if(a.some(e=>t>=e.start&&t<e.end))break;a.push({start:t,end:s,name:r.name,agentId:r.id});break}}}let n=e;for(let e=a.length-1;e>=0;e--){let t=a[e],s=n.slice(t.start,t.end);n=n.slice(0,t.start)+`<mention data-agent-id="${t.agentId}">${s}</mention>`+n.slice(t.end)}return n}e.i(400175);var er=e.i(819748),ei=e.i(80137);let el=(0,k.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"}]]);e.s(["Flag",0,el],594518);var eo=e.i(330746),ec=e.i(353155),ed=e.i(758956),eu=e.i(355753),eu=eu,em=e.i(465368);let ef={"1day":"Daily","1week":"Weekly","1month":"Monthly"};function eh({title:e,scheduledAt:s,repeatInterval:a,onClick:n}){let r=s?new Date(s):null,i=r?r.toLocaleDateString("en-US",{weekday:"short"}):null,l=r?r.toLocaleDateString("en-US",{month:"short"}):null,o=r?r.getDate():null,c=r?r.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit"}):null;return(0,t.jsxs)("button",{type:"button",onClick:n,disabled:!n,className:"card-grain w-104 max-w-full overflow-hidden rounded-(--radius) border border-(--border) text-left cursor-pointer [transition:translate_.2s_cubic-bezier(.2,.8,.2,1),box-shadow_.2s_ease] hover:-translate-y-0.5 [box-shadow:var(--e1)] hover:[box-shadow:var(--e2)]",children:[(0,t.jsxs)("span",{className:"h-6 bg-(--tc) flex items-center px-3",children:[r?(0,t.jsxs)("span",{className:"text-[0.62rem] font-semibold uppercase tracking-[0.06em] text-white/85",children:[i," ",l," ",o]}):(0,t.jsx)("span",{className:"text-[0.62rem] font-semibold uppercase tracking-[0.06em] text-white/85",children:"Calendar"}),a&&(0,t.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(e){if(ef[e])return ef[e];let t=/^(\d+)(hour|day|week|month)s?$/.exec(e);return t?`Every ${t[1]} ${t[2]}${Number(t[1])>1?"s":""}`:e}(a)})]}),(0,t.jsxs)("span",{className:"bg-(--paper) p-3 flex gap-3 items-start",children:[null!=o&&(0,t.jsx)("span",{className:"text-[1.8rem] font-bold leading-none tracking-[-0.02em] opacity-80 min-w-8 text-center shrink-0",children:o}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 flex flex-col",children:[(0,t.jsx)("span",{className:"text-[0.92rem] font-semibold tracking-[-0.01em] leading-[1.3]",children:e}),c&&(0,t.jsx)("span",{className:"text-[0.72rem] text-(--muted-foreground) mt-1 font-mono",children:c})]})]})]})}let ep={created:"Issue created",status_changed:"Issue updated",dispatch_failed:"Dispatch failed"};function eg({title:e,event:s,fromStatus:a,toStatus:n,assigneeName:r,onClick:i}){let l="created"===s?"New":"status_changed"===s?n??"Done":null,o="created"===s&&r?`assigned to ${r}`:"status_changed"===s&&a&&n?`${a} → ${n}`:null;return(0,t.jsxs)("button",{type:"button",onClick:i,disabled:!i,className:"card-grain w-104 max-w-full overflow-hidden rounded-(--radius) border border-(--border) bg-(--paper) text-left flex cursor-pointer [transition:translate_.2s_cubic-bezier(.2,.8,.2,1),box-shadow_.2s_ease] hover:-translate-y-0.5 [box-shadow:var(--e1)] hover:[box-shadow:var(--e2)]",children:[(0,t.jsx)("span",{className:"w-1 bg-(--ti) shrink-0 self-stretch"}),(0,t.jsxs)("span",{className:"flex-1 p-3 min-w-0 flex flex-col gap-1 relative",children:[(0,t.jsx)("span",{className:"text-[0.62rem] font-semibold uppercase tracking-wider text-(--ti) leading-none",children:ep[s]??s}),(0,t.jsx)("span",{className:"text-[0.92rem] font-semibold tracking-[-0.01em] leading-[1.3] line-clamp-2 pr-8",children:e}),o&&(0,t.jsx)("span",{className:"text-[0.75rem] text-(--muted-foreground) leading-[1.2]",children:o}),l&&(0,t.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:l})]})]})}var ex=e.i(754902),ev=e.i(855351),eb=e.i(648632);let ek={mention:["data-agent-id"]},ey=["mention"];function ej(e){return"solo"===e?"single":e}function ew({attachmentIds:e,artifacts:s,onArtifactClick:a}){let n=e.map(e=>s.find(t=>t.id===e)).filter(e=>!!e);return 0===n.length?null:(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:n.map(e=>(0,t.jsxs)("button",{type:"button",onClick:t=>{t.stopPropagation(),a(e)},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:[e.content_type.startsWith("image/")?(0,t.jsx)(eu.default,{className:"size-3 shrink-0"}):(0,t.jsx)(ei.FileText,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-37.5",children:e.filename})]},e.id))})}function eN({pendingFiles:e,messageId:s}){let a=e.get(s);return a&&0!==a.length?(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:a.map((e,s)=>(0,t.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,t.jsx)(ei.FileText,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-37.5",children:e.name})]},s))}):null}function e_({groupPosition:e,agentName:s,config:a,forceSpacer:n=!1,children:r}){return(0,t.jsx)(ev.MessageCluster,{avatar:a?(0,t.jsx)(er.AnimatedAvatar,{config:a,size:ev.AVATAR_SIZE,className:"rounded-md",isHovered:!1}):null,name:s,position:n?"middle":e,children:r})}function eC({actions:e}){return 0===e.length?null:(0,t.jsx)("div",{className:(0,M.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:e.map(e=>(0,t.jsxs)(Z.Tooltip,{children:[(0,t.jsx)(Z.TooltipTrigger,{render:(0,t.jsx)(U.Button,{variant:"ghost",size:"icon-xs","aria-label":e.label,onClick:t=>{t.stopPropagation(),e.onClick()},className:(0,M.cn)(e.active?"text-foreground":"text-muted-foreground")}),children:e.icon}),(0,t.jsx)(Z.TooltipContent,{children:e.label})]},e.key))})}function eS({open:e,onOpenChange:s,actions:a}){return(0,t.jsx)(H.Sheet,{open:e,onOpenChange:s,children:(0,t.jsx)(H.SheetContent,{side:"bottom",showCloseButton:!1,className:"rounded-t-2xl p-2",children:(0,t.jsx)("div",{className:"flex flex-col",children:a.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>{e.onClick(),s(!1)},className:(0,M.cn)("flex items-center gap-3 rounded-lg px-3 py-3 text-left text-[0.95rem] active:bg-muted",(e.active,"text-foreground")),children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:e.icon}),e.label]},e.key))})})})}function eI(){return(0,t.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,t.jsx)(el,{className:"size-2 fill-current"})})}function eM(){return(0,t.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,t.jsx)(ed.MessageSquare,{className:"size-2"})})}let eT=(0,s.memo)(function({msg:e,agents:a,artifacts:n,activeTask:r,activeTaskStreamMsgId:i,taskMessages:l,connectionLost:u,conversationType:m,pendingFilesByMessage:f,onArtifactClick:h,onEmailClick:p,onIssueClick:g,onCalendarEventClick:x,onRetry:v,mentionComponents:b,isFlagged:k,onToggleFlag:y,groupPosition:w="solo",provider:N,agentName:_,agentAvatarConfig:S,isSendFailed:I,onRetrySend:T,onQuote:A,onReplyInThread:E,threadSummary:R,isThreadRoot:z,onAgentChatOpen:P}){var L;let $,F,q,O,B,{copy:W,copied:H}=function(e=2e3){let[t,a]=(0,s.useState)(!1),n=(0,s.useRef)(void 0),r=(0,s.useCallback)(async t=>{try{return await navigator.clipboard.writeText(t),a(!0),clearTimeout(n.current),n.current=setTimeout(()=>a(!1),e),!0}catch{return!1}},[e]);return(0,s.useEffect)(()=>()=>clearTimeout(n.current),[]),{copy:r,copied:t}}(),U=!!r&&"assistant"===e.role&&e.task_id===r.id&&e.conversation_id===r.conversation_id&&(null==i||e.id===i)&&l.length>0&&!["completed","cancelled","superseded"].includes(r.status),V=U&&(l.some(e=>"error"===e.type)||"failed"===r.status&&!!r.error||u),K=U&&r?.status==="failed",Q="assistant"===e.role&&(e.metadata?.kind==="lifecycle"||"Task cancelled by you"===e.content||"Task cancelled by user"===e.content),X=function(){let[e,t]=s.useState(!0);return s.useEffect(()=>{if(!window.matchMedia)return;let e=window.matchMedia("(hover: hover) and (pointer: fine)"),s=()=>t(e.matches);return s(),e.addEventListener("change",s),()=>e.removeEventListener("change",s)},[]),e}(),[G,Y]=s.default.useState(!1),J=s.default.useCallback(async()=>{await W(e.content)?C.toast.success("Copied to clipboard"):C.toast.error("Failed to copy")},[W,e.content]),Z="assistant"===e.role||"user"===e.role,ea=[];Z&&ea.push({key:"copy",label:H?"Copied":"Copy",icon:H?(0,t.jsx)(ec.Check,{className:"size-3.5"}):(0,t.jsx)(eo.Copy,{className:"size-3.5"}),onClick:J}),A&&("assistant"===e.role||"user"===e.role)&&ea.push({key:"quote",label:"Quote",icon:(0,t.jsx)(j,{className:"size-3.5"}),onClick:()=>A(e.id,e.content.slice(0,50))}),E&&("assistant"===e.role||"user"===e.role)&&ea.push({key:"thread",label:"Reply in thread",icon:(0,t.jsx)(ed.MessageSquare,{className:"size-3.5"}),onClick:()=>E(e.id)}),"assistant"===e.role&&y&&ea.push({key:"flag",label:k?"Unflag":"Flag",icon:(0,t.jsx)(el,{className:(0,M.cn)("size-3.5",k&&"fill-current")}),onClick:()=>y(e.id),active:k});let er=(0,eb.useLongPress)(()=>{ea.length>0&&Y(!0)}),ei=!X&&ea.length>0?er:{},eu=!X&&ea.length>0?(0,t.jsx)(eS,{open:G,onOpenChange:Y,actions:ea}):null,ef=X&&ea.length>0?(0,t.jsx)(eC,{actions:ea}):null;return(0,t.jsxs)(s.default.Fragment,{children:[U&&V&&(0,t.jsx)("div",{className:(0,M.cn)("group/msg",k&&"bg-muted/30 rounded-lg px-2 -mx-2"),...K?{"data-quote-source":!0}:{},children:(0,t.jsx)(e_,{groupPosition:w,agentName:_,config:S,children:(0,t.jsxs)("div",{className:"relative min-w-0 w-fit max-w-full",...K?ei:{},children:[(0,t.jsx)(c,{task:r,messages:l,connectionLost:u,onRetry:v,provider:N}),K&&ef,K&&eu]})})}),"user"===e.role?($=e.content.match(/^\/(\S+)\s?([\s\S]*)$/),F=$?.[1]??null,q=$?$[2]||"":e.content,(0,t.jsxs)("div",{className:"group/msg flex flex-col items-end","data-message-id":e.id,...e.task_id?{"data-task-id":e.task_id}:{},children:[(O=e.metadata?.quote,(B=O?.messageId)?(0,t.jsxs)("button",{type:"button",onClick:()=>{let e=document.querySelector(`[data-message-id="${CSS.escape(B)}"]`);e?.scrollIntoView({behavior:"smooth",block:"center"})},className:"max-w-[50%] mb-0.5 flex items-center gap-1.5 rounded-lg bg-muted/60 px-2.5 py-1 text-left",children:[(0,t.jsx)(j,{className:"size-3 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:O.excerpt})]}):null),(0,t.jsxs)(ex.MessageBubble,{variant:"user",position:ej(w),className:(0,M.cn)("max-w-[80%] relative",I&&"opacity-60"),...ei,children:[F&&(0,t.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]}),q&&(0,t.jsx)("div",{className:"markdown markdown-user",children:(0,t.jsx)(ee.Streamdown,{plugins:{mermaid:et.mermaid,cjk:es.cjk,math:et.math},controls:{code:{copy:!0,download:!1},table:{copy:!1,download:!1,fullscreen:!1}},linkSafety:{enabled:!1},allowedTags:ek,literalTagContent:ey,components:b,children:en(q,a)})}),e.attachment_ids&&e.attachment_ids.length>0&&e.attachment_ids.some(e=>n.some(t=>t.id===e))?(0,t.jsx)(ew,{attachmentIds:e.attachment_ids,artifacts:n,onArtifactClick:h}):(0,t.jsx)(eN,{pendingFiles:f,messageId:e.id}),ef]}),eu,I&&(0,t.jsx)("button",{type:"button",onClick:()=>T?.(e.id),className:"mt-1 px-1 text-xs text-destructive hover:underline",children:"Not delivered · tap to retry"}),R&&R.reply_count>0&&(0,t.jsxs)("button",{type:"button",onClick:()=>E?.(e.id),className:"flex items-center gap-1.5 pt-1 cursor-pointer hover:opacity-75 transition-opacity",children:[(0,t.jsxs)("span",{className:"text-[11px] font-semibold text-[oklch(0.72_0.19_145)]",children:[R.reply_count," ",1===R.reply_count?"reply":"replies"]}),R.last_reply_at&&(0,t.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:["last reply ",new Date(R.last_reply_at).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})]})]})]})):"event"===e.role?(()=>{let s,n=e.metadata?.emailId,r=e.metadata?.issueId,i=e.metadata?.calendarEventId,l=n?()=>p(n):r?()=>g(r):i?()=>x(i):void 0,o=function(e,t,s){let a=d(e,t,s);if("email"===a){if(e?.subject)return{type:"email",subject:e.subject,address:"inbound"===e.direction?e.from:e.to,direction:e.direction};let s=/^Email sent to (.+?): ([\s\S]+)$/.exec(t);if(s)return{type:"email",subject:s[2],address:s[1],direction:"outbound"};let a=/^New email from (.+?): ([\s\S]+)$/.exec(t);if(a)return{type:"email",subject:a[2],address:a[1],direction:"inbound"};let n=t.indexOf(": ");return{type:"email",subject:n>-1?t.slice(n+2):t,address:"",direction:"inbound"}}if("issue"===a){if(e?.event)return{type:"issue",title:e.title??t.replace(/^Issue (?:created|opened|status changed):?\s*/i,""),event:e.event,fromStatus:e.fromStatus,toStatus:e.toStatus,agentId:e.agentId};let s=/^Issue status changed: ([\s\S]+?) -> ([\s\S]+)$/.exec(t);if(s)return{type:"issue",title:`${s[1]} → ${s[2]}`,event:"status_changed",fromStatus:s[1],toStatus:s[2]};let a=/^Issue (?:created|opened): ([\s\S]+)$/.exec(t);return a?{type:"issue",title:a[1],event:"created"}:/dispatch failed/i.test(t)?{type:"issue",title:t.replace(/^Issue dispatch failed:?\s*/i,""),event:"dispatch_failed"}:{type:"issue",title:t.replace(/^Issue:?\s*/i,""),event:"created"}}return e?.title?{type:"calendar",title:e.title,scheduledAt:e.scheduledAt,repeatInterval:e.repeatInterval}:{type:"calendar",title:t.replace(/^Calendar event:\s*/i,"")}}(e.metadata,e.content,m);if("email"===o.type){let n=(0,D.parseEmailHandle)(o.address),r=e.metadata?.targetConversationId,i=e.metadata?.targetAgentId,c=!!n,d=null;if(c&&!X&&r&&i&&P){let e=a.find(e=>e.email_handle===n)?.name;e&&(d={label:`View ${e}'s conversation`,onClick:()=>P(i,r)})}s=(0,t.jsx)(em.EmailCard,{subject:o.subject,address:o.address,direction:o.direction,onClick:l,timestamp:e.created_at,...X&&c?{isInternal:!0,internalHandle:n||void 0,targetConvId:r,targetAgentId:i,agents:a,onAgentChatOpen:P}:{},touchAction:d})}else s="calendar"===o.type?(0,t.jsx)(eh,{title:o.title,scheduledAt:o.scheduledAt,repeatInterval:o.repeatInterval,onClick:l}):(0,t.jsx)(eg,{title:o.title,event:o.event,fromStatus:o.fromStatus,toStatus:o.toStatus,assigneeName:o.agentId?a.find(e=>e.id===o.agentId)?.name:void 0,onClick:l});return(0,t.jsx)("div",{"data-message-id":e.id,...e.task_id?{"data-task-id":e.task_id}:{},children:(0,t.jsx)(e_,{groupPosition:w,agentName:_,config:S,children:s})})})():Q&&e.metadata?.error_source!=="runtime"?(0,t.jsx)("div",{className:"flex justify-center","data-message-id":e.id,...e.task_id?{"data-task-id":e.task_id}:{},children:(0,t.jsx)("span",{className:"text-xs text-muted-foreground/70 text-center px-2 py-1",children:e.content})}):(L={hasTaskStream:U,isRuntimeError:e.metadata?.error_source==="runtime"}).hasTaskStream&&L.isRuntimeError?null:(0,t.jsx)("div",{className:(0,M.cn)("group/msg overflow-x-clip",k&&e.metadata?.error_source==="runtime"&&"bg-muted/30 rounded-lg px-2 -mx-2"),"data-message-id":e.id,"data-quote-source":!0,...e.task_id?{"data-task-id":e.task_id}:{},children:(0,t.jsxs)(e_,{groupPosition:w,agentName:_,config:S,children:[e.metadata?.error_source==="runtime"?(0,t.jsxs)("div",{className:"relative min-w-0 w-fit max-w-full",...ei,children:[(0,t.jsx)(o,{provider:e.metadata.provider??N,message:e.content}),ef,eu]}):(0,t.jsxs)("div",{className:"relative min-w-0 w-fit max-w-full",...ei,children:[(0,t.jsx)(ex.MessageBubble,{variant:"agent",position:ej(w),className:(0,M.cn)("markdown min-w-0 max-w-full",(k||z)&&"shadow-[inset_2px_0_0_var(--foreground)]"),children:(0,t.jsx)(ee.Streamdown,{plugins:{mermaid:et.mermaid,cjk:es.cjk,math:et.math},controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},allowedTags:ek,literalTagContent:ey,components:b,children:en(e.content,a)})}),k&&!z&&(0,t.jsx)(eI,{}),z&&(0,t.jsx)(eM,{}),ef,eu]}),R&&R.reply_count>0&&(0,t.jsxs)("button",{type:"button",onClick:()=>E?.(e.id),className:"flex items-center gap-1.5 pt-1 cursor-pointer hover:opacity-75 transition-opacity",children:[(0,t.jsxs)("span",{className:"text-[11px] font-semibold text-[oklch(0.72_0.19_145)]",children:[R.reply_count," ",1===R.reply_count?"reply":"replies"]}),R.last_reply_at&&(0,t.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:["last reply ",new Date(R.last_reply_at).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})]})]})]})})]})});e.s(["AgentRow",0,e_,"MessageItem",0,eT],378830)},49879,844010,e=>{"use strict";e.s(["AgentChatView",()=>en],49879);var t=e.i(653772),s=e.i(511043),a=e.i(126942),n=e.i(500324),r=e.i(186339),i=e.i(817988),l=e.i(222862),o=e.i(144516),c=e.i(355578),d=e.i(875494),u=e.i(872937),m=e.i(516266),f=e.i(613349),h=e.i(728886),p=e.i(329686),g=e.i(131890),x=e.i(865145),v=e.i(80137),b=e.i(945074),k=e.i(896210),y=e.i(350780),j=e.i(966662),w=e.i(267007),N=e.i(692670),_=e.i(158571),C=e.i(802634),S=e.i(431884),I=e.i(184526),M=e.i(773652),T=e.i(505175),A=e.i(684565),E=e.i(648365),R=e.i(360315),z=e.i(721387),P=e.i(544346),L=e.i(204799),$=e.i(781360),D=e.i(169678),F=e.i(364079),q=e.i(219658),O=e.i(378830),B=e.i(252304),W=e.i(157349);let H=(0,e.i(419412).default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);function U({open:e}){return(0,t.jsxs)("span",{className:"relative size-4",children:[(0,t.jsx)(H,{className:(0,f.cn)("size-4 absolute transition-all duration-200",e?"opacity-0 rotate-90 scale-75":"opacity-100 rotate-0 scale-100")}),(0,t.jsx)(N.X,{className:(0,f.cn)("size-4 absolute transition-all duration-200",e?"opacity-100 rotate-0 scale-100":"opacity-0 -rotate-90 scale-75")})]})}e.i(400175);var V=e.i(126366);e.i(954194);var K=e.i(439769),Q=e.i(353155),X=e.i(330746),G=e.i(819748),Y=e.i(309475);function J({agent:e,isOnline:a,activeTaskCount:n,variant:r="default",isHovered:i}){let[l,o]=(0,s.useState)(!1),c=e.email_handle?(0,K.toAlookAddress)(e.email_handle):null,d=(0,s.useCallback)(async()=>{if(c)try{await navigator.clipboard.writeText(c),o(!0),m.toast.success("Email copied to clipboard"),setTimeout(()=>o(!1),2e3)}catch{m.toast.error("Failed to copy email")}},[c]);if("compact"===r){let s;return(0,t.jsxs)("div",{className:"flex items-center gap-2 p-0",children:[(s=(0,V.parseAvatarUrl)(e.avatar_url))?(0,t.jsx)(G.AnimatedAvatar,{config:s,size:32,className:"shrink-0 rounded-xl",isHovered:i??!1,isWorking:!!a&&(n??0)>0}):(0,t.jsx)("div",{className:"flex items-center justify-center size-8 rounded-xl bg-secondary text-secondary-foreground text-xs font-medium shrink-0",children:e.name.charAt(0).toUpperCase()}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("p",{className:"text-sm font-medium truncate max-w-35",children:e.name}),c&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:c})]}),void 0!==a&&(0,t.jsx)("div",{className:"pointer-events-none mt-0.5",children:(0,t.jsx)(Y.AgentStatusBadge,{isOnline:a,taskCount:n??0,agentId:e.id})})]})]})}return(0,t.jsxs)("div",{className:"flex flex-col gap-1.5 p-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("p",{className:"text-sm font-medium truncate",children:e.name}),(0,t.jsx)("span",{className:"flex-1"}),void 0!==a&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,t.jsx)("span",{className:(0,f.cn)("size-1.5 rounded-full",a?"bg-status-online":"bg-status-offline")}),a?(n??0)>0?"Working":null:"Offline"]})]}),c&&(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:c}),(0,t.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),d()},className:"shrink-0 p-0.5 rounded-sm text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:l?(0,t.jsx)(Q.Check,{className:"size-3 text-green-500"}):(0,t.jsx)(X.Copy,{className:"size-3"})})]}),e.description&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2",children:e.description})]})}e.s(["AgentPreviewCard",0,J],844010);var Z=e.i(224950);function ee({filename:e,size:s,contentType:a,version:n,hasDuplicates:r,onClick:i}){let l=function(e,t){let s=e.lastIndexOf(".");if(s>-1)return e.slice(s+1).toUpperCase();if(t){let e=t.split("/")[1];if(e)return e.split(";")[0].toUpperCase()}return"FILE"}(e,a);return(0,t.jsxs)("button",{type:"button",onClick:i,disabled:!i,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:translate_.2s_cubic-bezier(.2,.8,.2,1),box-shadow_.2s_ease] hover:-translate-y-0.5 [box-shadow:var(--e1)] hover:[box-shadow:var(--e2)]",children:[(0,t.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,t.jsxs)("span",{className:"flex flex-col gap-0.5 w-4.5",children:[(0,t.jsx)("i",{className:"h-[1.5px] rounded-sm bg-(--tf) opacity-[0.28] w-full"}),(0,t.jsx)("i",{className:"h-[1.5px] rounded-sm bg-(--tf) opacity-[0.28] w-[78%]"}),(0,t.jsx)("i",{className:"h-[1.5px] rounded-sm bg-(--tf) opacity-[0.28] w-[55%]"})]}),(0,t.jsx)("span",{className:"font-mono text-[0.44rem] font-semibold uppercase text-(--tf) mt-px tracking-[0.02em]",children:l})]}),(0,t.jsxs)("span",{className:"p-3 min-w-0 flex flex-col justify-center gap-0.5",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1.5 min-w-0",children:[(0,t.jsx)("span",{className:"text-[0.9rem] font-semibold tracking-[-0.01em] truncate",children:e}),r&&null!=n&&(0,t.jsxs)("span",{className:"shrink-0 text-xs text-(--muted-foreground) bg-(--muted) rounded-full px-1.5 py-0.5 font-normal",children:["v",n]})]}),(0,t.jsx)("span",{className:"text-[0.7rem] text-(--muted-foreground) font-mono",children:(0,z.formatSize)(s)})]})]})}let et={mention:function(e){let{children:s,...a}=e,{agents:n}=(0,c.useAgentContext)(),r=a["data-agent-id"]??a.dataAgentId,i=r?n.find(e=>e.id===r):void 0;if(!i&&"string"==typeof s){let e=s.startsWith("@")?s.slice(1):s;i=n.find(t=>t.name.toLowerCase()===e.toLowerCase())}return i?(0,t.jsxs)(Z.Popover,{children:[(0,t.jsx)(Z.PopoverTrigger,{openOnHover:!0,delay:300,nativeButton:!1,render:(0,t.jsx)("span",{className:"mention-highlight cursor-pointer"}),children:s}),(0,t.jsx)(Z.PopoverContent,{side:"top",className:"w-fit max-w-80",children:(0,t.jsx)(J,{agent:i})})]}):(0,t.jsx)("span",{className:"mention-highlight",children:s})},p:({children:e,node:s,...a})=>(0,t.jsx)("div",{"data-md-p":"",...a,children:e})};function es({agentName:e}){return(0,t.jsxs)("div",{className:"flex items-center gap-3 py-4 select-none","aria-hidden":!0,children:[(0,t.jsx)("div",{className:"flex-1 border-t border-border/40"}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground/60 whitespace-nowrap",children:[e," took a nap 💤"]}),(0,t.jsx)("div",{className:"flex-1 border-t border-border/40"})]})}function ea({artifact:e,version:a,hasDuplicates:n,onClick:r,workspaceId:i}){let[l,o]=(0,s.useState)(!1),c=e.has_thumbnail?(0,F.getArtifactThumbnailUrl)(e.id,i):void 0;return c&&!l?(0,t.jsx)("button",{type:"button",onClick:()=>r(e),className:"max-w-64 overflow-hidden rounded-(--radius) border border-(--border) cursor-pointer [transition:translate_.2s_cubic-bezier(.2,.8,.2,1),box-shadow_.2s_ease] hover:-translate-y-0.5 [box-shadow:var(--e1)] hover:[box-shadow:var(--e2)]",children:(0,t.jsx)("img",{src:c,alt:e.filename,loading:"lazy",onError:()=>o(!0),className:"block w-full h-auto"})}):(0,t.jsx)(ee,{filename:e.filename,size:e.size,contentType:e.content_type??void 0,version:a,hasDuplicates:n,onClick:()=>r(e)})}function en({agentId:e,targetConvId:H,scrollToTaskId:K,scrollToMessageId:Q}){let X,G,Y,J=(0,a.useParams)(),ee=(0,a.useSearchParams)(),{workspaceId:er,slug:ei}=(0,n.useWorkspace)(),{agents:el,runtimes:eo,agentLinks:ec,activeTaskCounts:ed,subscribeWs:eu,subscribeReconnect:em}=(0,c.useAgentContext)(),{refresh:ef}=(0,d.useInboxCount)(),{activeChannel:eh,loading:ep,setAgentId:eg}=(0,u.useChannel)(),ex=e??J.id,ev=el.find(e=>e.id===ex),eb=ev?.runtime_id?eo.find(e=>e.id===ev.runtime_id):null,ek=eb?.provider??null,ey=void 0!==K?K:ee.get("task"),ej=void 0!==Q?Q:ee.get("msg"),ew=void 0!==H?H:ee.get("conv"),[eN,e_]=(0,s.useState)(()=>localStorage.getItem(`chat-draft:${ex}:${ew??"default"}`)??""),[eC,eS]=(0,s.useState)(!1),{artifactSheetOpen:eI,setArtifactSheetOpen:eM,selectedArtifact:eT,setSelectedArtifact:eA,emailSheetOpen:eE,setEmailSheetOpen:eR,selectedEmailId:ez,setSelectedEmailId:eP,calendarEventSheetOpen:eL,setCalendarEventSheetOpen:e$,selectedCalendarEventId:eD,setSelectedCalendarEventId:eF,issueSheetOpen:eq,setIssueSheetOpen:eO,selectedIssueId:eB,setSelectedIssueId:eW,issueDetail:eH,setIssueDetail:eU,issueDetailLoading:eV,issueTraceTasks:eK,issueActiveTask:eQ,setIssueActiveTask:eX,openIssue:eG,issueConvId:eY,issueTaskId:eJ}=(0,S.useChatSheets)(er),[eZ,e0]=(0,s.useState)(null),{pendingFiles:e1,setPendingFiles:e2,fileInputRef:e5,addPendingFiles:e3,handleFileSelect:e4,removePendingFile:e8,dragging:e6,handleDragEnter:e7,handleDragLeave:e9,handleDragOver:te,handleDrop:tt}=(0,I.useFileAttachments)(),[ts,ta]=(0,s.useState)(null),[tn]=(0,s.useState)(()=>Date.now()),[tr,ti]=(0,s.useState)(()=>{try{let e=JSON.parse(localStorage.getItem(`chat-draft-meta:${ex}:${ew??"default"}`)??"null"),t=e?.quote;return t&&"object"==typeof t&&t.id?t:null}catch{return null}}),[tl,to]=(0,s.useState)(!1),{flaggedIds:tc,setFlaggedIds:td,handleToggleFlag:tu}=(0,C.useMessageFlags)(er),{openAgentChat:tm}=(0,B.useAgentChatSheet)(),[tf,th]=(0,s.useState)(new Map),[tp,tg]=(0,s.useState)(null);(0,s.useEffect)(()=>{eg(ex)},[ex,eg]);let tx=(0,s.useRef)(!1),tv=(0,o.useLatest)(eN),tb=(0,o.useLatest)(tr),tk=(0,o.useLatest)(e1),ty=(0,s.useRef)(null),tj=(0,s.useRef)(null),{conversation:tw,messages:tN,sending:t_,activeTask:tC,taskMessages:tS,messagesLoading:tI,connectionLost:tM,loadingMore:tT,artifacts:tA,napping:tE,pendingFilesByMessage:tR,failedSends:tz,agentArtifacts:tP,agentName:tL,timeline:t$,groupPositions:tD,activeTaskStreamMsgId:tF,canLoadMore:tq,currentConvHasMessages:tO,scrollRef:tB,composerRef:tW,loadOlderMessages:tH,handleScroll:tU,handleSend:tV,handleRetrySend:tK,handleRetryTask:tQ,handleNap:tX}=(0,_.useAgentChat)({agentId:ex,targetConvId:ew,scrollToTaskId:ey,scrollToMessageId:ej,propTargetConvId:H,workspaceId:er,agents:el,activeChannel:eh,channelLoading:ep,subscribeWs:eu,subscribeReconnect:em,refreshInboxCount:ef},{setFlaggedIds:td,setPendingFiles:e2,setInput:e_,setQuotedMessage:ti,setActiveSkill:e=>tj.current?.setActiveSkill(e),clearActiveSkill:()=>tj.current?.clearActiveSkill(),inputRef:tv,quotedMessageRef:tb,pendingFilesRef:tk,activeSkillRef:ty,draftMetaRestoredRef:tx}),{versionMap:tG,duplicateFilenames:tY}=(0,s.useMemo)(()=>(0,F.computeArtifactVersions)(tP),[tP]);(0,s.useEffect)(()=>{tw?.parent_message_id&&er?(0,l.conversationInit)(tw.id,er).then(e=>{e.root_message&&tg(e.root_message)}).catch(()=>{}):tg(null)},[tw?.id,tw?.parent_message_id,er]);let tJ=(0,s.useCallback)(()=>{tw?.id&&er&&(0,l.getThreadSummaries)(tw.id,er).then(e=>{let t=new Map;for(let s of e.thread_summaries)t.set(s.parent_message_id,{thread_id:s.thread_id,reply_count:s.reply_count,last_reply_at:s.last_reply_at,thread_title:s.thread_title});th(t)}).catch(()=>{})},[tw?.id,er]);(0,s.useEffect)(()=>{tJ()},[tJ]),(0,s.useEffect)(()=>eu(e=>{("thread.created"===e.type||"thread.reply"===e.type)&&tJ()}),[eu,tJ]);let tZ=(0,s.useMemo)(()=>(0,V.parseAvatarUrl)(el.find(e=>e.id===ex)?.avatar_url??null),[el,ex]),t0=(0,s.useMemo)(()=>tL.split(/\s+/)[0]||tL,[tL]),t1=(0,s.useCallback)(e=>{e.content_type.startsWith("image/")?e0(e):(0,F.isPreviewable)(e)?(eA(e),eM(!0)):window.open((0,F.getArtifactUrl)(e.id,er,!0),"_blank")},[er]),t2=(0,s.useCallback)(e=>{e.content_type.startsWith("image/")?e0(e):(0,F.isPreviewable)(e)?(eA(e),eM(!0)):window.open((0,F.getArtifactUrl)(e.id,er,!0),"_blank")},[er]),[t5,t3]=(0,s.useState)(""),t4=(0,s.useMemo)(()=>el.filter(e=>e.id!==ex),[el,ex]),[t8,t6]=(0,s.useState)([]),t7=(0,s.useRef)(!1);(0,s.useEffect)(()=>{t7.current||(t7.current=!0,(0,l.getAgentSkills)(ex,er).then(e=>t6(e.skills)).catch(()=>{}))},[ex,er]);let[t9]=(0,s.useState)(()=>{try{let e=JSON.parse(localStorage.getItem(`chat-draft-meta:${ex}:${ew??"default"}`)??"null");return e?.skill??null}catch{return null}}),se=(0,T.useSlashCommand)({input:t5,caretIndex:ts,skills:t8,onInputChange:()=>tW.current?.clear(),initialActiveSkill:t9,getAnchorPos:(0,s.useCallback)(e=>tW.current?.coordsAtTextIndex(e)??null,[]),onAfterSelect:(0,s.useCallback)(()=>{requestAnimationFrame(()=>tW.current?.focus())},[])});(0,s.useLayoutEffect)(()=>{tj.current=se,ty.current=se.activeSkill}),(0,s.useEffect)(()=>{0===t8.length||!se.activeSkill||t8.some(e=>e.name===se.activeSkill.name)||se.setActiveSkill(null)},[t8]),(0,s.useEffect)(()=>{let e=`chat-draft:${ex}:${ew??"default"}`;eN?localStorage.setItem(e,eN):localStorage.removeItem(e)},[eN,ex,ew]),(0,s.useEffect)(()=>{if(!tx.current)return;let e=`chat-draft-meta:${ex}:${ew??"default"}`,t={};se.activeSkill&&(t.skill={name:se.activeSkill.name,description:se.activeSkill.description}),tr&&(t.quote=tr),t.skill||t.quote?localStorage.setItem(e,JSON.stringify(t)):localStorage.removeItem(e)},[se.activeSkill,tr,ex,ew]),(0,s.useEffect)(()=>{t_||tW.current?.focus()},[t_]);let{selectionPopup:st,setSelectionPopup:ss}=(0,M.useTextSelectionQuote)(),sa=(0,s.useCallback)(()=>{if(st){let e=st.text.slice(0,100);ti(st.messageId?{id:st.messageId,excerpt:e}:null),ss(null),window.getSelection()?.removeAllRanges(),tW.current?.focus()}},[st]),sn=(0,s.useCallback)((e,t)=>{ti({id:e,excerpt:t}),tW.current?.focus()},[]);(0,s.useEffect)(()=>{if(eq&&eB)return eu(e=>{if("task.updated"===e.type&&eJ&&e.taskId===eJ&&(0,l.getTask)(eJ,er).then(e=>eX(e)).catch(()=>{}),"conversation.message"===e.type&&eY&&e.conversationId===eY&&(eU(t=>!t||t.messages.some(t=>t.id===e.message.id)?t:{...t,messages:[...t.messages,e.message]}),"event"===e.message.role&&e.message.content.startsWith("Issue status changed:"))){let t=e.message.content.match(/-> (\w+)/);t&&eU(e=>e?{...e,issue:{...e.issue,status:t[1]}}:e)}"issue.comment"===e.type&&e.issueId===eB&&eU(t=>!t||t.comments.some(t=>t.id===e.comment.id)?t:{...t,comments:[...t.comments,e.comment]})})},[eq,eB,eY,eJ,er,eu]);let[sr,si]=(0,s.useState)(!1),[sl,so]=(0,s.useState)(!1),sc=!!tC&&!["completed","failed","cancelled","superseded"].includes(tC.status),sd=(0,s.useCallback)(async()=>{if(tw?.id&&!sl){so(!0);try{await (0,l.cancelActiveTask)(tw.id,er)}catch{m.toast.error("Failed to stop the task")}finally{so(!1)}}},[tw?.id,er,sl]),su=(0,R.useRotatingPlaceholder)({isEmpty:""===eN.trim(),isFocused:eC,isTaskActive:sc});return tI?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"flex-1 overflow-y-auto px-3 md:px-5",children:(0,t.jsxs)("div",{className:"mx-auto max-w-3xl py-6 space-y-6 motion-safe:animate-[fade-up_200ms_ease-out_both]",children:[(0,t.jsxs)("div",{className:"flex justify-start items-start gap-2",children:[(0,t.jsx)(h.Skeleton,{className:"size-7.5 shrink-0 rounded-md"}),(0,t.jsxs)("div",{className:"flex flex-col items-start gap-1 max-w-[86%]",children:[(0,t.jsx)(h.Skeleton,{className:"h-3 w-20 rounded mb-0.5"}),(0,t.jsx)(h.Skeleton,{className:"h-9 w-64 rounded-[1.05rem]"}),(0,t.jsx)(h.Skeleton,{className:"h-9 w-48 rounded-[1.05rem]"})]})]}),(0,t.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,t.jsx)(h.Skeleton,{className:"h-9 w-44 rounded-[1.05rem]"}),(0,t.jsx)(h.Skeleton,{className:"h-9 w-32 rounded-[1.05rem]"})]}),(0,t.jsxs)("div",{className:"flex justify-start items-start gap-2",children:[(0,t.jsx)(h.Skeleton,{className:"size-7.5 shrink-0 rounded-md"}),(0,t.jsxs)("div",{className:"flex flex-col items-start gap-1 max-w-[86%]",children:[(0,t.jsx)(h.Skeleton,{className:"h-3 w-20 rounded mb-0.5"}),(0,t.jsx)(h.Skeleton,{className:"h-9 w-56 rounded-[1.05rem]"})]})]})]})}),(0,t.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,t.jsxs)("div",{className:"mx-auto max-w-3xl",children:[(0,t.jsx)("div",{className:"h-5 px-1 mb-2 flex items-center",children:(0,t.jsx)(h.Skeleton,{className:"h-3.5 w-28 rounded"})}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(h.Skeleton,{className:"size-8 shrink-0 rounded-full"}),(0,t.jsx)(h.Skeleton,{className:"h-10 flex-1 rounded-3xl"})]})]})})]}):tI||tw||0!==tN.length?(0,t.jsxs)(t.Fragment,{children:[st&&(0,t.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:st.x,top:st.y,transform:"translate(-100%, -100%)"},onMouseDown:e=>e.preventDefault(),onClick:sa,children:[(0,t.jsx)(y.MessageSquareQuote,{className:"size-3"}),"Quote"]}),(0,t.jsxs)("div",{className:"relative flex-1 min-h-0",children:[(0,t.jsx)("div",{className:"h-full overflow-y-auto overflow-x-hidden px-3 md:px-5 thin-scrollbar",ref:tB,onScroll:tU,onClick:e=>{e.target.closest('[data-streamdown="code-block-actions"] button')&&m.toast.success("Copied to clipboard")},children:(0,t.jsxs)("div",{className:"mx-auto max-w-3xl pt-6 pb-15 min-w-0",children:[tp&&(0,t.jsx)("div",{className:"mb-2",children:(0,t.jsx)(O.MessageItem,{msg:tp,agents:el,artifacts:[],activeTask:null,taskMessages:[],connectionLost:!1,pendingFilesByMessage:new Map,onArtifactClick:()=>{},onEmailClick:()=>{},onIssueClick:()=>{},onCalendarEventClick:()=>{},mentionComponents:et,groupPosition:"solo",agentName:tL,agentAvatarConfig:tZ,isThreadRoot:!0})}),tw&&tq&&!tT&&(0,t.jsx)("div",{className:"flex justify-center py-2",children:(0,t.jsx)("button",{onClick:()=>tH(),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Load earlier messages"})}),tT&&(0,t.jsx)("div",{className:"flex justify-center py-2",children:(0,t.jsx)(b.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}),0===tN.length&&!tC&&(X=el.find(e=>e.id===ex),G=X?.created_at&&tn-new Date(X.created_at).getTime()<3e5,Y=(ed[ex]??0)>0,G&&Y&&"default"===eh?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 gap-3 animate-[fade-up_400ms_ease-out_both]",children:[(0,t.jsxs)("div",{className:"relative animate-bounce",children:[(0,t.jsx)(k.Mail,{className:"size-8 text-primary"}),(0,t.jsxs)("span",{className:"absolute -top-1 -right-1 flex size-3",children:[(0,t.jsx)("span",{className:"animate-ping absolute inline-flex size-full rounded-full bg-primary/60"}),(0,t.jsx)("span",{className:"relative inline-flex size-3 rounded-full bg-primary"})]})]}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground text-center max-w-xs",children:"Your agent is sending you a welcome email."}),(0,t.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,t.jsxs)("p",{className:"text-center text-muted-foreground py-20 text-base animate-[fade-up_400ms_ease-out_both]",children:["Say hi to ",t0,"."]})),t$.map((e,s)=>{let a=tD[s],n="first"===a||"solo"===a||null===a,r=0===s?"":n?"mt-6":"mt-1.5";if("nap"===e.kind)return(0,t.jsx)("div",{className:r,children:(0,t.jsx)(es,{agentName:tL})},e.data.id);if("artifact"===e.kind){let s=a??"solo",n="first"===s||"solo"===s;return(0,t.jsx)("div",{className:r,children:(0,t.jsx)(O.AgentRow,{groupPosition:s,agentName:tL,config:tZ,forceSpacer:!n,children:(0,t.jsx)(ea,{artifact:e.data,version:tG.get(e.data.id)??1,hasDuplicates:tY.has(e.data.filename),onClick:t1,workspaceId:er})})},`artifact-${e.data.id}`)}let i=e.data;return(0,t.jsx)("div",{className:r,children:(0,t.jsx)(O.MessageItem,{msg:i,agents:el,artifacts:tA,activeTask:tC,activeTaskStreamMsgId:tF,taskMessages:tS,connectionLost:tM,conversationType:tw?.type,pendingFilesByMessage:tR,onArtifactClick:t1,onEmailClick:e=>{eP(e),eR(!0)},onCalendarEventClick:e=>{eF(e),e$(!0)},onIssueClick:e=>eG(e),onRetry:tQ,mentionComponents:et,isFlagged:tc.has(i.id),onToggleFlag:"assistant"===i.role?tu:void 0,groupPosition:a??"solo",provider:ek,agentName:tL,agentAvatarConfig:tZ,isSendFailed:tz.has(i.id),onRetrySend:tK,onQuote:sn,onReplyInThread:tw?.parent_message_id?void 0:async e=>{let t=tf.get(e);if(t?.thread_id)tm(ex,{conversationId:t.thread_id});else if(tw)try{let t=await (0,l.createThread)(tw.id,e,"",er);tm(ex,{conversationId:t.conversation.id}),tJ()}catch{}},threadSummary:tw?.parent_message_id?null:tf.get(i.id)??null,onAgentChatOpen:(e,t)=>tm(e,{conversationId:t})})},i.id)}),tC&&tC.conversation_id===tw?.id&&null==tF&&!["completed","failed","cancelled","superseded"].includes(tC.status)&&(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsx)(i.TaskStream,{task:tC,messages:tS,connectionLost:tM,provider:ek})})]})}),(0,t.jsx)(q.ScrollToBottomButton,{scrollRef:tB})]}),(0,t.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,t.jsxs)("div",{className:"mx-auto max-w-3xl relative",children:[tw&&(0,t.jsx)(W.PresenceLine,{agentFirstName:t0,taskStatus:sc?tC?.status:null}),(0,t.jsxs)("div",{className:"flex items-end gap-2",children:[!ew&&(0,t.jsxs)(Z.Popover,{open:sr,onOpenChange:si,children:[(0,t.jsx)(Z.PopoverTrigger,{render:(0,t.jsx)(r.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,t.jsx)(U,{open:sr})}),(0,t.jsxs)(Z.PopoverContent,{side:"top",align:"start",className:"w-auto p-1.5 flex flex-col gap-0.5",children:[(0,t.jsxs)(p.Tooltip,{children:[(0,t.jsx)(p.TooltipTrigger,{render:e=>(0,t.jsx)("span",{...e,className:(0,f.cn)("inline-flex",e.className),children:(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",onClick:()=>{si(!1),tX()},disabled:tE||!tw||!tO||sc,className:"w-full justify-start gap-2 rounded-md text-muted-foreground hover:text-foreground",children:[tE?(0,t.jsx)(b.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(x.BedDouble,{className:"size-3.5"}),(0,t.jsx)("span",{className:"text-xs",children:"Nap"})]})})}),(0,t.jsx)(p.TooltipContent,{side:"right",children:sc?"Wait for the task to finish":tO?"Take a nap and reset the current session":`${tL} is well-rested and ready to go`})]}),(0,t.jsxs)(p.Tooltip,{children:[(0,t.jsx)(p.TooltipTrigger,{render:e=>(0,t.jsx)("span",{...e,className:(0,f.cn)("inline-flex",e.className),children:(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",onClick:()=>{si(!1),sd()},disabled:sl||!sc,className:"w-full justify-start gap-2 rounded-md text-muted-foreground hover:text-foreground",children:[sl?(0,t.jsx)(b.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(w.Square,{className:"size-3.5"}),(0,t.jsx)("span",{className:"text-xs",children:"Stop"})]})})}),(0,t.jsx)(p.TooltipContent,{side:"right",children:sc?"Stop the running task":"No task running"})]})]})]}),(0,t.jsxs)("div",{className:(0,f.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",(tl||tr||se.activeSkill)&&"rounded-2xl",t_&&"opacity-50",e6&&"border-ring ring-3 ring-ring/50"),onDragEnter:e7,onDragLeave:e9,onDragOver:te,onDrop:tt,children:[e6&&(0,t.jsx)("div",{className:(0,f.cn)("absolute inset-0 z-10 flex items-center justify-center bg-background/80 border-2 border-dashed border-ring pointer-events-none",tl||tr||se.activeSkill?"rounded-2xl":"rounded-3xl"),children:(0,t.jsx)("p",{className:"text-sm text-muted-foreground font-medium",children:"Drop files here"})}),se.activeSkill&&(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[(0,t.jsxs)("span",{className:"shrink-0 text-xs font-medium text-primary",children:["/",se.activeSkill.name]}),se.activeSkill.isGlobal&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-muted-foreground bg-muted rounded px-1 py-0.5",children:"Global"}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:se.activeSkill.description})]}),(0,t.jsx)("button",{type:"button",onClick:se.clearActiveSkill,className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,t.jsx)(N.X,{className:"size-3.5"})})]}),tr&&(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0 flex items-start gap-2",children:[(0,t.jsx)(y.MessageSquareQuote,{className:"size-3.5 shrink-0 mt-0.5 text-muted-foreground"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground truncate max-w-50",children:tr.excerpt})]}),(0,t.jsx)("button",{type:"button",onClick:()=>ti(null),className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,t.jsx)(N.X,{className:"size-3.5"})})]}),(0,t.jsx)(A.SlashCommandPopup,{isOpen:se.isOpen,skills:se.skills,selectedIndex:se.selectedIndex,onSelect:se.selectSkill,anchorPos:se.anchorPos}),e1.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 px-3.5 pt-3 pb-0.5",children:e1.map((e,s)=>(0,t.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,t.jsx)(v.FileText,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-30",children:e.name}),(0,t.jsx)("span",{className:"text-muted-foreground/60",children:(0,z.formatSize)(e.size)}),(0,t.jsx)("button",{type:"button",onClick:()=>e8(s),className:"ml-0.5 rounded-sm p-0.5 hover:bg-muted-foreground/20 transition-colors",children:(0,t.jsx)(N.X,{className:"size-3"})})]},`${e.name}-${s}`))}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("input",{ref:e5,type:"file",multiple:!0,className:"hidden",onChange:e4}),(0,t.jsx)("div",{className:"px-13 py-3",children:(0,t.jsx)(E.ChatComposer,{ref:tW,value:eN,onChange:e_,onEditorState:(e,t)=>{t3(e),ta(t)},onSend:tV,onFocus:()=>eS(!0),onBlur:()=>eS(!1),overlay:""===eN.trim()?sc?(0,t.jsx)(E.RotatingPlaceholderOverlay,{hint:`Message ${t0}`,animate:!1}):(0,t.jsx)(E.RotatingPlaceholderOverlay,{hint:su.hint,animate:su.isRotating}):void 0,disabled:t_,onMultiLineChange:to,onFiles:e3,agents:t4,agentLinks:ec,currentAgentId:ex,slashIsOpen:se.isOpen,onSlashKeyDown:se.handleSlashKeyDown})}),(0,t.jsxs)(p.Tooltip,{children:[(0,t.jsx)(p.TooltipTrigger,{render:(0,t.jsx)(r.Button,{variant:"ghost",size:"icon-sm",onPointerDown:e=>e.preventDefault(),onClick:()=>e5.current?.click(),disabled:t_,className:"absolute left-2 bottom-2 size-8 rounded-full text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,t.jsx)(j.Paperclip,{className:"size-3.5"})}),(0,t.jsx)(p.TooltipContent,{side:"top",children:"Attach files"})]}),(0,t.jsxs)(p.Tooltip,{children:[(0,t.jsx)(p.TooltipTrigger,{render:(0,t.jsx)(r.Button,{size:"icon-sm",onClick:tV,disabled:!eN.trim()||t_,className:(0,f.cn)("absolute right-2 bottom-2 size-8 rounded-full bg-primary text-primary-foreground transition-opacity duration-200",!eN.trim()&&"opacity-30")}),children:t_?(0,t.jsx)(b.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(g.ArrowUp,{className:"size-3.5"})}),(0,t.jsx)(p.TooltipContent,{side:"top",children:"Send"})]})]})]})]})]})}),(0,t.jsx)(L.ImageLightbox,{open:null!=eZ,onClose:()=>e0(null),artifact:eZ,workspaceId:er}),(0,t.jsx)(z.ArtifactSheet,{open:eI,onOpenChange:e=>{eM(e),e||setTimeout(()=>{eA(null)},300)},artifacts:eT?[eT]:tP,workspaceId:er,initialArtifact:eT,versionMap:tG,duplicateFilenames:tY}),(0,t.jsx)(P.EmailEventSheet,{open:eE,onOpenChange:e=>{eR(e),e||setTimeout(()=>eP(null),300)},emailId:ez,workspaceId:er}),(0,t.jsx)($.CalendarEventSheet,{readonly:!0,open:eL,onOpenChange:e=>{e$(e),e||setTimeout(()=>eF(null),300)},calendarEventId:eD,workspaceId:er}),(0,t.jsx)(D.IssueSheet,{open:eq,onOpenChange:e=>{eO(e),e||setTimeout(()=>{eW(null),eU(null),eX(null)},300)},agents:el,issue:eH?.issue??null,detail:eH?{messages:eH.messages,comments:eH.comments,artifacts:eH.artifacts,traceId:eH.issue.trace_id}:null,detailLoading:eV,activeTask:eQ,traceTasks:eK,slug:ei,workspaceId:er,onUpdate:async(e,t)=>{try{let s=await (0,l.updateIssue)(er,e,t);eU(a=>a&&a.issue.id===e?{...a,issue:{...a.issue,...t,updated_at:s.updated_at}}:a)}catch(e){m.toast.error(e instanceof Error?e.message:"Failed to update issue")}},onStatusChange:async(e,t)=>{try{await (0,l.updateIssue)(er,e,{status:t}),eU(s=>s&&s.issue.id===e?{...s,issue:{...s.issue,status:t}}:s)}catch(e){m.toast.error(e instanceof Error?e.message:"Failed to update status")}},onCommented:()=>{eB&&eG(eB)},onArtifactClick:t2})]}):(0,t.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:"Failed to load conversation"})}},252304,e=>{"use strict";e.s(["AgentChatSheetProvider",()=>k,"useAgentChatSheet",()=>b],252304);var t=e.i(653772),s=e.i(511043),a=e.i(126942),n=e.i(355578),r=e.i(500324),i=e.i(288329),l=e.i(332680);e.i(954194);var o=e.i(439769);e.i(400175);var c=e.i(819748),d=e.i(126366),u=e.i(988232),m=e.i(49879),f=e.i(345262),h=e.i(887972),p=e.i(186339),g=e.i(329686);function x({open:e,onOpenChange:s,agentId:v,agent:b,targetConvId:k,scrollToTaskId:y,scrollToMessageId:j}){let w,N,_,C,S,I,{runtimes:M,activeTaskCounts:T}=(0,n.useAgentContext)(),{slug:A}=(0,r.useWorkspace)(),E=(0,a.useRouter)(),{width:R,onPointerDown:z,onPointerMove:P,onPointerUp:L}=(0,i.useSheetResize)({defaultWidth:480,minWidth:320,maxWidthRatio:.8});return(0,t.jsx)(l.Sheet,{open:e,onOpenChange:s,children:(0,t.jsxs)(l.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${R}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 flex flex-col",children:[(0,t.jsx)(i.SheetResizeHandle,{onPointerDown:z,onPointerMove:P,onPointerUp:L}),(0,t.jsxs)("div",{className:"absolute top-3 right-3 z-10 flex items-center gap-1",children:[v&&(w=new URLSearchParams,y&&w.set("task",y),j&&w.set("msg",j),k&&w.set("conv",k),N=w.toString(),_=`/w/${A}/agents/${v}${N?`?${N}`:""}`,(0,t.jsxs)(g.Tooltip,{children:[(0,t.jsx)(g.TooltipTrigger,{render:(0,t.jsx)("a",{href:_,onClick:e=>{e.metaKey||e.ctrlKey||e.shiftKey||(e.preventDefault(),s(!1),E.push(_))},className:(0,p.buttonVariants)({variant:"ghost",size:"icon-sm"})}),children:(0,t.jsx)(f.ArrowUpRight,{})}),(0,t.jsx)(g.TooltipContent,{children:"Open full page"})]})),(0,t.jsxs)(l.SheetClose,{render:(0,t.jsx)(p.Button,{variant:"ghost",size:"icon-sm"}),children:[(0,t.jsx)(h.XIcon,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]}),(0,t.jsx)(l.SheetHeader,{children:(0,t.jsxs)("div",{className:"flex items-center gap-3 pr-16",children:[b&&(C=(0,d.parseAvatarUrl)(b.avatar_url),S=M.find(e=>e.id===b.runtime_id),I=S?.status==="online"&&(T[b.id]??0)>0,C?(0,t.jsx)(c.AnimatedAvatar,{config:C,size:28,className:"shrink-0 rounded-lg",isHovered:!1,isWorking:I}):null),(0,t.jsxs)("div",{className:"flex items-baseline gap-2 min-w-0",children:[(0,t.jsx)(l.SheetTitle,{className:"truncate shrink-0",children:b?.name??"Chat"}),b?.email_handle&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:(0,o.toAlookAddress)(b.email_handle)})]})]})}),!k&&(0,t.jsx)("div",{className:"px-4 pb-2",children:(0,t.jsx)(u.ChannelBar,{})}),v&&(0,t.jsx)("div",{className:"flex-1 overflow-hidden flex flex-col",children:(0,t.jsx)(m.AgentChatView,{agentId:v,targetConvId:k,scrollToTaskId:y,scrollToMessageId:j},`${v}-${k??""}`)})]})})}let v=(0,s.createContext)(null);function b(){let e=(0,s.useContext)(v);if(!e)throw Error("useAgentChatSheet must be used within AgentChatSheetProvider");return e}function k({children:e}){let i=(0,a.useRouter)(),{agents:l}=(0,n.useAgentContext)(),{slug:o}=(0,r.useWorkspace)(),[c,d]=(0,s.useState)(!1),[u,m]=(0,s.useState)(null),[f,h]=(0,s.useState)(null),[p,g]=(0,s.useState)(null),[b,y]=(0,s.useState)(null),j=u?l.find(e=>e.id===u)??null:null,w=(0,s.useRef)(l);(0,s.useEffect)(()=>{w.current=l});let N=(0,s.useCallback)((e,t)=>{w.current.find(t=>t.id===e)?(m(e),h(t?.conversationId??null),g(t?.taskId??null),y(t?.messageId??null),d(!0)):i.push(`/w/${o}/agents/${e}`)},[i,o]),_=(0,s.useCallback)(e=>{d(e),e||(h(null),g(null),y(null))},[]);return(0,t.jsxs)(v.Provider,{value:{openAgentChat:N},children:[e,(0,t.jsx)(x,{open:c,onOpenChange:_,agentId:u,agent:j,targetConvId:f,scrollToTaskId:p,scrollToMessageId:b})]})}}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,222862,636557,e=>{"use strict";var t=e.i(811374);class n extends Error{status;details;constructor(e,t,n){super(e),this.name="ApiError",this.status=t,this.details=n}get isNetworkError(){return 0===this.status}get isRateLimit(){return 429===this.status}get isUnauthorized(){return 401===this.status}}function a(e,t){return"validation error"===e&&t?.length?function(e){let[t,...n]=e.split(":"),a=n.join(":").trim();if(!a)return e;let r=t.trim(),i=r.trim().replace(/[_-]+/g," ").replace(/\b\w/g,e=>e.toUpperCase()),s=a.replace(/^required$/i,"is required"),o=s.toLowerCase().replace(/[_-]+/g," "),l=r.toLowerCase().replace(/[_-]+/g," ");return l&&o.startsWith(`${l} `)&&(s=s.slice(r.length).trimStart()),i?`${i} ${s}`:s}(t[0]):e}async function r(e,t){let r;try{r=await fetch(""+e,{...t,credentials:"include",headers:{"Content-Type":"application/json",...t?.headers}})}catch(e){if(e instanceof TypeError)throw new n("Unable to connect — check your network",0);throw e}if(401===r.status)throw window.location.href="/sign-in",new n("Unauthorized",401);if(!r.ok){let e,t;try{let n=await r.json();e=n.error,t=n.details}catch{}if(429===r.status)throw new n("Please wait a moment before trying again",429);if(r.status>=500)throw new n(a(e,t)||"Something went wrong — please try again",r.status,t);throw new n(a(e,t)||"Something went wrong",r.status,t)}if(204!==r.status)return r.json()}function i(e,t){let n=new URLSearchParams({workspace_id:e,...t});return`?${n.toString()}`}e.s(["ApiError",0,n],636557),parseInt(t.default.env.NEXT_PUBLIC_MOCK_NETWORK_DELAY_MS||"300",10);let s=async(e,t,a,s,o)=>{let l;if(!s||0===s.length)return r(`/api/conversations/${e}/messages${i(a)}`,{method:"POST",body:JSON.stringify({content:t,...o?{metadata:o}:{}})});let c=new FormData;for(let e of(c.append("content",t),o&&c.append("metadata",JSON.stringify(o)),s))c.append("file",e);try{l=await fetch(`/api/conversations/${e}/messages${i(a)}`,{method:"POST",credentials:"include",body:c})}catch(e){if(e instanceof TypeError)throw new n("Unable to connect — check your network",0);throw e}if(401===l.status)throw window.location.href="/sign-in",new n("Unauthorized",401);if(!l.ok){let e,t;try{let n=await l.json();e=n.error,t=n.details}catch{}if(429===l.status)throw new n("Please wait a moment before trying again",429);if(l.status>=500)throw new n(e||"Something went wrong — please try again",l.status,t);throw new n(e||"Something went wrong",l.status,t)}return l.json()},o=async(e,t)=>{let n=new URLSearchParams({workspace_id:t}),a=await fetch(`/api/email/${e}/body?${n}`,{credentials:"include"});if(!a.ok)return{content:"(body not available)",isHtml:!1};let r=a.headers.get("Content-Type")??"";return{content:await a.text(),isHtml:r.includes("text/html")}},l=async(e,t)=>{let a=new FormData;a.append("file",e);let r=await fetch(`/api/email/upload${i(t)}`,{method:"POST",credentials:"include",body:a});if(!r.ok)throw new n(await r.text().catch(()=>"Upload failed"),r.status);return r.json()},c=async(e,t)=>{let a;if(!t.files||0===t.files.length)return r(`/api/issues${i(e)}`,{method:"POST",body:JSON.stringify({agent_id:t.agent_id,title:t.title,description:t.description})});let s=new FormData;for(let e of(t.agent_id&&s.append("agent_id",t.agent_id),s.append("title",t.title),s.append("description",t.description??""),t.files))s.append("file",e);try{a=await fetch(`/api/issues${i(e)}`,{method:"POST",credentials:"include",body:s})}catch(e){if(e instanceof TypeError)throw new n("Unable to connect — check your network",0);throw e}if(401===a.status)throw window.location.href="/sign-in",new n("Unauthorized",401);if(!a.ok){let e,t;try{let n=await a.json();e=n.error,t=n.details}catch{}if(429===a.status)throw new n("Please wait a moment before trying again",429);if(a.status>=500)throw new n(e||"Something went wrong — please try again",a.status,t);throw new n(e||"Something went wrong",a.status,t)}return a.json()},u=async(e,t)=>{let n=new URLSearchParams({workspace_id:t}),a=await fetch(`/api/artifacts/${e}/content?${n}`,{credentials:"include"});return a.ok?a.text():"(content not available)"};e.s(["acceptInvite",0,e=>r(`/api/invite/${e}`,{method:"POST"}),"addWhitelistEmail",0,(e,t,n)=>r(`/api/agents/${e}/whitelist${i(n)}`,{method:"POST",body:JSON.stringify({email:t})}),"approveMeeting",0,(e,t,n)=>r(`/api/agents/${e}/meetings/${t}/approve${i(n)}`,{method:"POST"}),"cancelActiveTask",0,(e,t)=>r(`/api/conversations/${e}/active-task${i(t)}`,{method:"DELETE"}),"chatInit",0,(e,t,n)=>r(`/api/agents/${e}/chat-init${i(t)}`,{method:"POST",body:JSON.stringify({...n?{channel:n}:{}})}),"checkFreshness",0,(e,t)=>{let n={};return e.conversationId&&(n.conversation_id=e.conversationId),e.agentId&&(n.agent_id=e.agentId),e.channel&&(n.channel=e.channel),r(`/api/conversations/check-fresh${i(t,n)}`)},"conversationInit",0,(e,t,n)=>{let a={};return n?.newestMessageId&&(a.newest_message_id=n.newestMessageId),n?.messageCount&&(a.message_count=String(n.messageCount)),r(`/api/conversations/${e}/init${i(t,a)}`)},"createAgent",0,(e,t)=>r(`/api/agents${i(t)}`,{method:"POST",body:JSON.stringify(e)}),"createAgentLink",0,(e,t)=>r(`/api/agent-links${i(t)}`,{method:"POST",body:JSON.stringify(e)}),"createCalendarEvent",0,(e,t)=>r(`/api/calendar${i(t)}`,{method:"POST",body:JSON.stringify(e)}),"createChannelApi",0,(e,t)=>r(`/api/channels${i(e)}`,{method:"POST",body:JSON.stringify({name:t})}),"createConversation",0,(e,t,n)=>r(`/api/conversations${i(t)}`,{method:"POST",body:JSON.stringify({agent_id:e,...n?{channel:n}:{}})}),"createEmailAccount",0,(e,t,n)=>r(`/api/agents/${e}/email-accounts${i(n)}`,{method:"POST",body:JSON.stringify(t)}),"createInvite",0,e=>r(`/api/workspaces/${e}/invites${i(e)}`,{method:"POST"}),"createIssue",0,c,"createMachineToken",0,(e,t)=>r(`/api/machine-tokens${t?i(t):""}`,{method:"POST",body:JSON.stringify({name:e||"default"})}),"createMeeting",0,(e,t,n)=>r(`/api/agents/${e}/meetings${i(t)}`,{method:"POST",body:JSON.stringify(n)}),"createThread",0,(e,t,n,a)=>r(`/api/conversations/${e}/threads${i(a)}`,{method:"POST",body:JSON.stringify({parent_message_id:t,content:n})}),"deleteAgent",0,(e,t)=>r(`/api/agents/${e}${i(t)}`,{method:"DELETE"}),"deleteAgentLink",0,(e,t)=>r(`/api/agent-links/${e}${i(t)}`,{method:"DELETE"}),"deleteCalendarEvent",0,(e,t,n)=>r(`/api/calendar/${e}${i(t)}`,{method:"DELETE",...n&&n.scope?{headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}:{}}),"deleteChannelApi",0,(e,t)=>r(`/api/channels/${e}${i(t)}`,{method:"DELETE"}),"deleteEmail",0,(e,t)=>r(`/api/email/${e}${i(t)}`,{method:"DELETE"}),"deleteEmailAccount",0,(e,t,n)=>r(`/api/agents/${e}/email-accounts/${t}${i(n)}`,{method:"DELETE"}),"deleteIssue",0,(e,t)=>r(`/api/issues/${t}${i(e)}`,{method:"DELETE"}),"deleteMachine",0,(e,t)=>r(`/api/runtimes/machine${i(t,{daemon_id:e})}`,{method:"DELETE"}),"deleteMeeting",0,(e,t,n)=>r(`/api/agents/${e}/meetings/${t}${i(n)}`,{method:"DELETE"}),"deleteWorkspace",0,(e,t)=>r(`/api/workspaces/${e}${i(e)}`,{method:"DELETE",body:JSON.stringify({confirm_name:t})}),"fetchLatestCliVersion",0,()=>r("/api/cli/latest-version"),"fetchModelOptions",0,()=>r("/api/config/model-options"),"flagMessage",0,(e,t)=>r(`/api/flags${i(e)}`,{method:"POST",body:JSON.stringify({messageId:t})}),"getActiveTask",0,(e,t)=>r(`/api/conversations/${e}/active-task${i(t)}`),"getAgentSkills",0,(e,t)=>r(`/api/agents/${e}/skills${i(t)}`),"getArtifactContent",0,u,"getCalendarEvent",0,(e,t)=>r(`/api/calendar/${e}${i(t)}`),"getEmail",0,(e,t)=>r(`/api/email/${e}${i(t)}`),"getEmailBody",0,o,"getEmailThread",0,(e,t)=>r(`/api/email/${e}/thread${i(t)}`),"getFlaggedCount",0,e=>r(`/api/flags/count${i(e)}`),"getInboxCount",0,(e,t)=>{let n={};return t?.types?.length&&(n.types=t.types.join(",")),r(`/api/inbox/count${i(e,n)}`)},"getInviteInfo",0,e=>r(`/api/invite/${e}`),"getIssue",0,(e,t)=>r(`/api/issues/${t}${i(e)}`),"getMemberMe",0,e=>r(`/api/members/me${i(e)}`),"getMinCliVersion",0,()=>r("/api/config/min-version"),"getTask",0,(e,t)=>r(`/api/tasks/${e}${i(t)}`),"getTaskMessages",0,(e,t,n)=>r(`/api/tasks/${e}/messages${i(t,n?{since:String(n)}:void 0)}`),"getThreadSummaries",0,(e,t)=>r(`/api/conversations/${e}/threads${i(t)}`),"getTrace",0,(e,t)=>r(`/api/traces/${e}${i(t)}`),"getWorkspaceOverview",0,e=>r(`/api/workspaces/${e}/overview${i(e)}`),"grantAgentAccess",0,(e,t,n)=>r(`/api/agents/${t}/access${i(e)}`,{method:"POST",body:JSON.stringify({user_id:n})}),"listAgentAccess",0,(e,t)=>r(`/api/agents/${t}/access${i(e)}`),"listAgentActiveTaskCounts",0,e=>r(`/api/agents/active-task-counts${i(e)}`),"listAgentActivity",0,(e,t,n)=>{let a={};return n?.limit&&(a.limit=String(n.limit)),n?.before&&(a.before=n.before),n?.beforeId&&(a.before_id=n.beforeId),n?.status&&(a.status=n.status),n?.type&&(a.type=n.type),r(`/api/agents/${e}/activity${i(t,a)}`)},"listAgentLinks",0,e=>r(`/api/agent-links${i(e)}`),"listAgentPins",0,e=>r(`/api/agents/pins${i(e)}`),"listAgents",0,e=>r(`/api/agents${i(e)}`),"listArtifacts",0,(e,t)=>r(`/api/artifacts${i(t,{conversation_id:e})}`),"listCalendarEvents",0,(e,t)=>{let n={};return t?.agentId&&(n.agentId=t.agentId),t?.from&&(n.from=t.from),t?.to&&(n.to=t.to),r(`/api/calendar${i(e,n)}`)},"listChannels",0,e=>r(`/api/channels${i(e)}`),"listEmailAccounts",0,(e,t)=>r(`/api/agents/${e}/email-accounts${i(t)}`),"listEmails",0,(e,t,n,a)=>r(`/api/email${i(t,{agentId:e,...n?{folder:n}:{},...a?{address:a}:{}})}`),"listFlaggedItems",0,(e,t)=>{let n={};return t?.limit&&(n.limit=String(t.limit)),t?.before&&(n.before=t.before),r(`/api/flags${i(e,n)}`)},"listFlaggedMessageIds",0,(e,t)=>r(`/api/flags${i(e,{conversation_id:t,ids_only:"true"})}`),"listInboxItems",0,(e,t)=>{let n={};return t?.limit&&(n.limit=String(t.limit)),t?.before&&(n.before=t.before),t?.types?.length&&(n.types=t.types.join(",")),r(`/api/inbox${i(e,n)}`)},"listInvites",0,e=>r(`/api/workspaces/${e}/invites${i(e)}`),"listIssues",0,(e,t)=>{let n={};return t?.agentId&&(n.agentId=t.agentId),t?.status&&(n.status=t.status),t?.terminal!==void 0&&(n.terminal=String(t.terminal)),r(`/api/issues${i(e,n)}`)},"listMeetings",0,(e,t)=>r(`/api/agents/${e}/meetings${i(t)}`),"listMembers",0,e=>r(`/api/workspaces/${e}/members${i(e)}`),"listMessages",0,(e,t,n)=>{let a={};return n?.limit&&(a.limit=String(n.limit)),n?.before&&(a.before=n.before),n?.beforeId&&(a.before_id=n.beforeId),r(`/api/conversations/${e}/messages${i(t,a)}`)},"listMessagesAroundTask",0,(e,t,n)=>r(`/api/conversations/${e}/messages${i(t,{around_task:n})}`),"listPreviousConversations",0,(e,t,n)=>{let a={exclude:n.exclude,before:n.before};return n.channel&&(a.channel=n.channel),n.limit&&(a.limit=String(n.limit)),r(`/api/agents/${e}/conversations${i(t,a)}`)},"listRuntimes",0,e=>r(`/api/runtimes${i(e)}`),"listTraces",0,(e,t)=>{let n={};return t?.limit&&(n.limit=String(t.limit)),t?.before&&(n.before=t.before),t?.status&&(n.status=t.status),t?.multiAgent&&(n.multiAgent="true"),t?.agentId&&(n.agentId=t.agentId),t?.channel&&(n.channel=t.channel),r(`/api/traces${i(e,n)}`)},"listWhitelist",0,(e,t)=>r(`/api/agents/${e}/whitelist${i(t)}`),"listWorkspaceActiveTasks",0,e=>r(`/api/agents/active-tasks${i(e)}`),"listWorkspaces",0,()=>r("/api/workspaces"),"markAllInboxRead",0,e=>r(`/api/inbox/read-all${i(e)}`,{method:"POST"}),"markInboxRead",0,(e,t)=>r(`/api/inbox/read${i(t)}`,{method:"POST",body:JSON.stringify({conversationId:e})}),"pinAgent",0,(e,t)=>r(`/api/agents/${t}/pin${i(e)}`,{method:"POST"}),"removeMember",0,(e,t)=>r(`/api/workspaces/${e}/members/${t}${i(e)}`,{method:"DELETE"}),"removeWhitelistEmail",0,(e,t,n)=>r(`/api/agents/${e}/whitelist/${t}${i(n)}`,{method:"DELETE"}),"renameChannelApi",0,(e,t,n)=>r(`/api/channels/${e}${i(t)}`,{method:"PATCH",body:JSON.stringify({name:n})}),"reorderAgentPins",0,(e,t)=>r(`/api/agents/pins/reorder${i(e)}`,{method:"PUT",body:JSON.stringify({ordered_agent_ids:t})}),"reorderChannelsApi",0,(e,t)=>r(`/api/channels/reorder${i(e)}`,{method:"PUT",body:JSON.stringify({ordered_channel_ids:t})}),"reorderUnpinnedAgents",0,(e,t)=>r(`/api/agents/sidebar/reorder${i(e)}`,{method:"PUT",body:JSON.stringify({ordered_agent_ids:t})}),"requestWorkspaceBrowse",0,(e,t,n,a)=>r(`/api/agents/${e}/workspace/browse${i(t)}`,{method:"POST",body:JSON.stringify({request_type:n,path:a})}),"retryTask",0,(e,t)=>r(`/api/tasks/${e}/retry${i(t)}`,{method:"POST"}),"revokeAgentAccess",0,(e,t,n,a=!1)=>r(`/api/agents/${t}/access/${n}${i(e)}${a?"&remove_whitelist=true":""}`,{method:"DELETE"}),"revokeInvite",0,(e,t)=>r(`/api/workspaces/${e}/invites/${t}${i(e)}`,{method:"DELETE"}),"sendEmail",0,(e,t,n,a,s,o,l,c)=>r(`/api/email/send${i(s)}`,{method:"POST",body:JSON.stringify({agentId:e,to:t,subject:n,htmlBody:a,attachments:o,...l,customAccountId:c})}),"sendMessage",0,s,"stopMeeting",0,(e,t,n)=>r(`/api/agents/${e}/meetings/${t}/stop${i(n)}`,{method:"POST"}),"syncEmailAccount",0,(e,t,n)=>r(`/api/agents/${e}/email-accounts/${t}/sync${i(n)}`,{method:"POST"}),"triggerRuntimeRescan",0,(e,t)=>r(`/api/runtimes/${e}/rescan${i(t)}`,{method:"POST"}),"triggerRuntimeUpdate",0,(e,t)=>r(`/api/runtimes/${e}/update${i(t)}`,{method:"POST"}),"trustEmail",0,(e,t)=>r(`/api/email/${e}/trust${i(t)}`,{method:"POST"}),"unflagMessage",0,(e,t)=>r(`/api/flags/${t}${i(e)}`,{method:"DELETE"}),"unpinAgent",0,(e,t)=>r(`/api/agents/${t}/pin${i(e)}`,{method:"DELETE"}),"updateAgent",0,(e,t,n)=>r(`/api/agents/${e}${i(n)}`,{method:"PATCH",body:JSON.stringify(t)}),"updateAgentLink",0,(e,t,n)=>r(`/api/agent-links/${e}${i(n)}`,{method:"PATCH",body:JSON.stringify(t)}),"updateCalendarEvent",0,(e,t,n)=>r(`/api/calendar/${e}${i(n)}`,{method:"PATCH",body:JSON.stringify(t)}),"updateEmailStatus",0,(e,t,n)=>r(`/api/email/${e}${i(t)}`,{method:"PATCH",body:JSON.stringify({status:n})}),"updateIssue",0,(e,t,n)=>r(`/api/issues/${t}${i(e)}`,{method:"PATCH",body:JSON.stringify(n)}),"updateMemberMe",0,(e,t)=>r(`/api/members/me${i(e)}`,{method:"PATCH",body:JSON.stringify({global_instruction:t})}),"updateWorkspace",0,(e,t)=>r(`/api/workspaces/${e}${i(e)}`,{method:"PATCH",body:JSON.stringify(t)}),"uploadEmailAttachment",0,l],222862)},500324,e=>{"use strict";var t=e.i(653772),n=e.i(511043);let a=(0,n.createContext)(null);e.s(["WorkspaceProvider",0,function({workspaceId:e,slug:r,children:i}){return(0,n.useEffect)(()=>{try{localStorage.setItem("lastWorkspace",r)}catch{}},[r]),(0,t.jsx)(a.Provider,{value:{workspaceId:e,slug:r},children:i})},"useWorkspace",0,function(){let e=(0,n.useContext)(a);if(!e)throw Error("useWorkspace must be used within WorkspaceProvider");return e}])},642342,e=>{"use strict";var t=e.i(811374),n=e.i(511043);let a=(0,e.i(613349).isLocalMode)(),r=Number(t.default.env.NEXT_PUBLIC_WS_DO_PORT)||8789,i=Number(t.default.env.NEXT_PUBLIC_WS_RECONNECT_DELAY_MS)||1e3,s=Number(t.default.env.NEXT_PUBLIC_WS_RECONNECT_MAX_DELAY_MS)||3e4;e.s(["useUserWs",0,function(e,t){let o=(0,n.useRef)(null),l=(0,n.useRef)(i),c=(0,n.useRef)(e),u=(0,n.useRef)(t?.onReconnect),d=(0,n.useRef)(null),g=(0,n.useRef)(!1),p=(0,n.useRef)(0),f=(0,n.useRef)(null),m=(0,n.useRef)(null);(0,n.useEffect)(()=>{c.current=e},[e]),(0,n.useEffect)(()=>{u.current=t?.onReconnect},[t?.onReconnect]);let h=(0,n.useRef)(null),$=(0,n.useCallback)(()=>{let e=Math.min(l.current,s);l.current=Math.min(2*e,s),d.current=setTimeout(()=>{h.current?.()},e+500*Math.random())},[]),y=(0,n.useCallback)(async()=>{let e,t,n,s=r;try{let n=await fetch("/api/ws/token");if(!n.ok){console.warn("[ws] token fetch failed:",n.status),$();return}let a=await n.json();e=a.userId,t=a.token,a.wsPort&&(s=a.wsPort)}catch(e){console.warn("[ws] token fetch error:",e),$();return}let d=a?`ws://localhost:${s}/?userId=${e}`:`${location.origin.replace("http","ws")}/api/ws/user?userId=${e}`;try{n=new WebSocket(d)}catch(e){console.warn("[ws] WebSocket creation failed:",e),$();return}o.current=n,n.onopen=()=>{l.current=i,n.send(JSON.stringify({type:"auth",token:t})),g.current&&u.current?.(),g.current=!0,p.current=Date.now(),f.current=setInterval(()=>{n.readyState===WebSocket.OPEN&&n.send("ping")},25e3),m.current=setInterval(()=>{Date.now()-p.current>3e4&&n.close()},5e3)},n.onmessage=e=>{p.current=Date.now();try{let t=JSON.parse(e.data);if("auth.ok"===t.type)return void n.send(JSON.stringify({type:"check_daemon_status"}));c.current(t)}catch{}},n.onerror=()=>{},n.onclose=()=>{n===o.current&&(f.current&&(clearInterval(f.current),f.current=null),m.current&&(clearInterval(m.current),m.current=null),$())}},[$]);return(0,n.useEffect)(()=>{h.current=y},[y]),(0,n.useEffect)(()=>(y(),()=>{null!==d.current&&(clearTimeout(d.current),d.current=null),f.current&&(clearInterval(f.current),f.current=null),m.current&&(clearInterval(m.current),m.current=null);let e=o.current;o.current=null,e?.close()}),[y]),{send:(0,n.useCallback)(e=>{let t=o.current;t&&t.readyState===WebSocket.OPEN&&t.send(JSON.stringify(e))},[])}}])},355578,e=>{"use strict";var t=e.i(653772),n=e.i(511043),a=e.i(222862),r=e.i(516266),i=e.i(642342);let s=(0,n.createContext)(null);e.s(["AgentProvider",0,function({workspaceId:e,children:o}){let[l,c]=(0,n.useState)([]),[u,d]=(0,n.useState)([]),[g,p]=(0,n.useState)(!0),[f,m]=(0,n.useState)({}),[h,$]=(0,n.useState)([]),y=(0,n.useRef)(!1),[w,b]=(0,n.useState)([]),[k,S]=(0,n.useState)(null),E=(0,n.useCallback)(()=>S(null),[]),[v,T]=(0,n.useState)(new Map),[O,I]=(0,n.useState)(new Map),_=(0,n.useRef)(!1),C=(0,n.useRef)(new Set),A=(0,n.useRef)(new Set),N=(0,n.useRef)(!0),P=(0,n.useRef)(!1),M=(0,n.useCallback)(e=>(C.current.add(e),()=>{C.current.delete(e)}),[]),L=(0,n.useCallback)(e=>(A.current.add(e),()=>{A.current.delete(e)}),[]),R=(0,n.useRef)(!1),J=(0,n.useCallback)(async()=>{if(!R.current){R.current=!0;try{if(y.current){let t=await (0,a.listWorkspaceActiveTasks)(e);if(!N.current)return;$(t.tasks);let n={};for(let e of t.tasks)n[e.agent_id]=(n[e.agent_id]??0)+1;m(n),y.current=t.tasks.length>0}else{let t=await (0,a.listAgentActiveTaskCounts)(e);if(!N.current)return;if(m(t.counts),Object.values(t.counts).some(e=>e>0)){y.current=!0;let t=await (0,a.listWorkspaceActiveTasks)(e);N.current&&$(t.tasks)}else $([])}}catch{}finally{R.current=!1}}},[e]);(0,n.useEffect)(()=>{N.current=!0,J();let e=setInterval(J,15e3);return()=>{N.current=!1,clearInterval(e)}},[J]);let x=(0,n.useCallback)(async()=>{try{let[t,n,r,i]=await Promise.all([(0,a.listAgents)(e),(0,a.listRuntimes)(e),(0,a.listAgentPins)(e),(0,a.listAgentLinks)(e)]);c(t),d(n),b(i),T(new Map(r.pins.map(e=>[e.agent_id,{created_at:e.created_at,position:e.position}]))),I(new Map(r.sidebar_order.map(e=>[e.agent_id,e.position])))}catch(e){r.toast.error(e instanceof Error?e.message:"Failed to load data")}finally{p(!1),_.current=!0}},[e]),D=(0,n.useCallback)(async()=>{if(!P.current){P.current=!0;try{let t=await (0,a.listRuntimes)(e);d(t)}catch{}finally{P.current=!1}}},[e]);(0,n.useEffect)(()=>{x()},[x]),(0,n.useEffect)(()=>{let e=null,t=setInterval(()=>{"visible"===document.visibilityState&&D()},3e4),n=()=>{"visible"===document.visibilityState&&(e=setTimeout(()=>D(),2e3*Math.random()))};return document.addEventListener("visibilitychange",n),()=>{clearInterval(t),e&&clearTimeout(e),document.removeEventListener("visibilitychange",n)}},[D]);let W=(0,n.useCallback)(t=>{for(let e of C.current)e(t);switch(t.type){case"runtime.registered":if(t.workspaceId!==e)break;x();break;case"runtime.deleted":x();break;case"runtime.status":if(t.workspaceId!==e)break;D();break;case"agent.created":if(t.workspaceId!==e)break;S({agentId:t.agentId,parentAgentId:t.parentAgentId}),x();break;case"task.updated":J()}},[x,D,J,e]),U=(0,n.useCallback)(()=>{for(let e of(D(),A.current))e()},[D]);(0,i.useUserWs)(W,{onReconnect:U});let F=(0,n.useCallback)(async t=>{try{let n=await (0,a.createAgent)(t,e);return await x(),n}catch(e){return r.toast.error(e instanceof Error?e.message:"Failed to create agent"),null}},[x,e]),j=(0,n.useCallback)(async(t,n)=>{try{return await (0,a.updateAgent)(t,n,e),await x(),!0}catch(e){return r.toast.error(e instanceof Error?e.message:"Failed to update agent"),!1}},[x,e]),B=(0,n.useCallback)(async t=>{try{return await (0,a.deleteAgent)(t,e),await x(),!0}catch(e){return r.toast.error(e instanceof Error?e.message:"Failed to remove agent"),!1}},[x,e]),H=(0,n.useCallback)(async t=>{T(e=>{let n=Math.max(-1,...[...e.values()].map(e=>e.position));return new Map(e).set(t,{created_at:new Date().toISOString(),position:n+1})});try{await (0,a.pinAgent)(e,t)}catch{T(e=>{let n=new Map(e);return n.delete(t),n}),r.toast.error("Failed to pin agent")}},[e]),X=(0,n.useCallback)(async t=>{let n;T(e=>{n=e.get(t);let a=new Map(e);return a.delete(t),a});try{await (0,a.unpinAgent)(e,t)}catch{void 0!==n&&T(e=>new Map(e).set(t,n)),r.toast.error("Failed to unpin agent")}},[e]),q=(0,n.useCallback)(async t=>{let n=new Map(v);T(e=>{let n=new Map(e);return t.forEach((e,t)=>{let a=n.get(e);a&&n.set(e,{...a,position:t})}),n});try{await (0,a.reorderAgentPins)(e,t)}catch{T(n),r.toast.error("Failed to reorder pins")}},[e,v]),Y=(0,n.useCallback)(async t=>{let n=new Map(O);I(new Map(t.map((e,t)=>[e,t])));try{await (0,a.reorderUnpinnedAgents)(e,t)}catch{I(n),r.toast.error("Failed to reorder agents")}},[e,O]),z=(0,n.useCallback)(()=>{let e=u.find(e=>"online"===e.status);return e?.id??""},[u]),K=(0,n.useCallback)(async()=>{try{return(await (0,a.createMachineToken)("cli",e)).token}catch(e){return r.toast.error(e instanceof Error?e.message:"Failed to generate token"),null}},[e]),V=(0,n.useCallback)(async t=>{try{return await (0,a.deleteMachine)(t,e),await x(),!0}catch(e){return r.toast.error(e instanceof Error?e.message:"Failed to remove machine"),!1}},[x,e]);return(0,t.jsx)(s.Provider,{value:{workspaceId:e,agents:l,agentLinks:w,runtimes:u,loading:g,activeTaskCounts:f,activeTaskDetails:h,pendingNewAgent:k,clearPendingNewAgent:E,pins:v,reload:x,subscribeWs:M,subscribeReconnect:L,handleCreateAgent:F,handleUpdateAgent:j,handleDeleteAgent:B,handlePinAgent:H,handleUnpinAgent:X,handleReorderPins:q,unpinnedOrder:O,handleReorderUnpinned:Y,getFirstOnlineRuntimeId:z,handleGenerateToken:K,handleDeleteMachine:V},children:o})},"useAgentContext",0,function(){let e=(0,n.useContext)(s);if(!e)throw Error("useAgentContext must be used within AgentProvider");return e},"useAgentContextSafe",0,function(){return(0,n.useContext)(s)}])},899746,e=>{"use strict";let t="browser-notification-enabled",n="browser-notification-events",a=["completed","failed"],r={completed:"Task Completed",failed:"Task Failed"};function i(){return"Notification"in window}function s(){return"true"===localStorage.getItem(t)}function o(){try{let e=localStorage.getItem(n);if(e)return JSON.parse(e)}catch{}return[...a]}async function l(){return!!i()&&("granted"===Notification.permission||"denied"!==Notification.permission&&"granted"===await Notification.requestPermission())}e.s(["NOTIFICATION_EVENTS",0,a,"NOTIFICATION_EVENT_LABELS",0,r,"getNotificationEnabled",0,s,"getNotificationEvents",0,o,"isNotificationSupported",0,i,"requestNotificationPermission",0,l,"sendTaskNotification",0,function(e,t,n){if(!i()||"granted"!==Notification.permission||!s()||!o().includes(e))return;let a=r[e]??`Task ${e}`;new Notification(t?`${t} — ${a}`:a,{body:n??"",icon:"/alook.svg"})},"setNotificationEnabled",0,function(e){localStorage.setItem(t,String(e))},"setNotificationEvents",0,function(e){localStorage.setItem(n,JSON.stringify(e))}])},875494,685835,e=>{"use strict";var t=e.i(653772),n=e.i(511043),a=e.i(222862),r=e.i(355578),i=e.i(500324),s=e.i(899746);let o="inbox-filter-types",l=["user_dm_message","calendar_event","email_notification"],c=["user_dm_message"],u=["user_dm_message"];function d(){try{let e=localStorage.getItem(o);if(!e)return c;let t=JSON.parse(e).filter(e=>l.includes(e));if(0===t.length)return c;for(let e of u)t.includes(e)||t.unshift(e);return t}catch{return c}}e.s(["INBOX_FILTER_LABELS",0,{user_dm_message:"DM",calendar_event:"Calendar",email_notification:"Email"},"INBOX_FILTER_TYPES",0,l,"MANDATORY_INBOX_TYPES",0,u,"getInboxFilterTypes",0,d,"setInboxFilterTypes",0,function(e){let t=[...e];for(let e of u)t.includes(e)||t.unshift(e);localStorage.setItem(o,JSON.stringify(t))}],685835);let g=(0,n.createContext)(null),p={count:0,notificationToken:0,refresh:()=>{},decrement:()=>{}};e.s(["InboxCountProvider",0,function({children:e}){let{workspaceId:o}=(0,i.useWorkspace)(),{subscribeWs:l,agents:c}=(0,r.useAgentContext)(),[u,p]=(0,n.useState)(0),[f,m]=(0,n.useState)(0),h=(0,n.useRef)(null),$=(0,n.useRef)(null),y=(0,n.useRef)(c);(0,n.useEffect)(()=>{y.current=c});let w=(0,n.useCallback)(()=>{let e=d();(0,a.getInboxCount)(o,{types:e}).then(e=>{let t=h.current;if(h.current=e.count,p(e.count),null!==t&&e.count>t){m(e=>e+1);let e=$.current?y.current.find(e=>e.id===$.current):void 0;(0,s.sendTaskNotification)("completed",e?.name)}$.current=null}).catch(()=>{})},[o]),b=(0,n.useCallback)(()=>{p(e=>Math.max(0,e-1))},[]);return(0,n.useEffect)(()=>{w()},[w]),(0,n.useEffect)(()=>l(e=>{"task.updated"===e.type&&("completed"===e.status||"failed"===e.status)&&($.current=e.agentId,w())}),[l,w]),(0,n.useEffect)(()=>{let e=setInterval(w,6e4);return()=>clearInterval(e)},[w]),(0,t.jsx)(g.Provider,{value:{count:u,notificationToken:f,refresh:w,decrement:b},children:e})},"useInboxCount",0,function(){return(0,n.useContext)(g)??p}],875494)},631822,e=>{e.v(t=>Promise.all(["static/chunks/3c9-pu4v167fy.js"].map(t=>e.l(t))).then(()=>t(70725)))}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,879486,384265,e=>{"use strict";e.i(811374);var t=e.i(511043),a=e.i(92615),i=e.i(298604),n=e.i(990966),s=e.i(372252),r=e.i(154680);let o=t.createContext(void 0);function d(e=!1){let a=t.useContext(o);if(void 0===a&&!e)throw Error((0,r.default)(16));return a}function l(e){return(0,a.isHTMLElement)(e)&&"BUTTON"===e.tagName}e.s(["CompositeRootContext",0,o,"useCompositeRootContext",0,d],384265),e.s(["useButton",0,function(e={}){let{disabled:a=!1,focusableWhenDisabled:r,tabIndex:o=0,native:c=!0,composite:u}=e,p=t.useRef(null),g=d(!0),m=u??void 0!==g,{props:h}=function(e){let{focusableWhenDisabled:a,disabled:i,composite:n=!1,tabIndex:s=0,isNativeButton:r}=e,o=n&&!1!==a,d=n&&!1===a;return{props:t.useMemo(()=>{let e={onKeyDown(e){i&&a&&"Tab"!==e.key&&e.preventDefault()}};return n||(e.tabIndex=s,!r&&i&&(e.tabIndex=a?s:-1)),(r&&(a||o)||!r&&i)&&(e["aria-disabled"]=i),r&&(!a||d)&&(e.disabled=i),e},[n,i,a,o,d,r,s])}}({focusableWhenDisabled:r,disabled:a,composite:m,tabIndex:o,isNativeButton:c}),f=t.useCallback(()=>{let e=p.current;l(e)&&m&&a&&void 0===h.disabled&&e.disabled&&(e.disabled=!1)},[a,h.disabled,m]);return(0,n.useIsoLayoutEffect)(f,[f]),{getButtonProps:t.useCallback((e={})=>{let{onClick:t,onMouseDown:i,onKeyUp:n,onKeyDown:r,onPointerDown:o,...d}=e;return(0,s.mergeProps)({onClick(e){a?e.preventDefault():t?.(e)},onMouseDown(e){a||i?.(e)},onKeyDown(e){var i;if(a||((0,s.makeEventPreventable)(e),r?.(e),e.baseUIHandlerPrevented))return;let n=e.target===e.currentTarget,o=e.currentTarget,d=l(o),u=!c&&(i=o,!!(i?.tagName==="A"&&i?.href)),p=n&&(c?d:!u),g="Enter"===e.key,h=" "===e.key,f=o.getAttribute("role"),$=f?.startsWith("menuitem")||"option"===f||"gridcell"===f;if(n&&m&&h){if(e.defaultPrevented&&$)return;e.preventDefault(),u||c&&d?(o.click(),e.preventBaseUIHandler()):p&&(t?.(e),e.preventBaseUIHandler());return}p&&(!c&&(h||g)&&e.preventDefault(),!c&&g&&t?.(e))},onKeyUp(e){a||(((0,s.makeEventPreventable)(e),n?.(e),e.target===e.currentTarget&&c&&m&&l(e.currentTarget)&&" "===e.key)?e.preventDefault():!e.baseUIHandlerPrevented&&(e.target!==e.currentTarget||c||m||" "!==e.key||t?.(e)))},onPointerDown(e){a?e.preventDefault():o?.(e)}},c?{type:"button"}:{role:"button"},h,d)},[a,h,m,c]),buttonRef:(0,i.useStableCallback)(e=>{p.current=e,f()})}}],879486)},294237,e=>{"use strict";var t=e.i(7284);let a=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,i=t.clsx;e.s(["cva",0,(e,t)=>n=>{var s;if((null==t?void 0:t.variants)==null)return i(e,null==n?void 0:n.class,null==n?void 0:n.className);let{variants:r,defaultVariants:o}=t,d=Object.keys(r).map(e=>{let t=null==n?void 0:n[e],i=null==o?void 0:o[e];if(null===t)return null;let s=a(t)||a(i);return r[e][s]}),l=n&&Object.entries(n).reduce((e,t)=>{let[a,i]=t;return void 0===i||(e[a]=i),e},{});return i(e,d,null==t||null==(s=t.compoundVariants)?void 0:s.reduce((e,t)=>{let{class:a,className:i,...n}=t;return Object.entries(n).every(e=>{let[t,a]=e;return Array.isArray(a)?a.includes({...o,...l}[t]):({...o,...l})[t]===a})?[...e,a,i]:e},[]),null==n?void 0:n.class,null==n?void 0:n.className)}])},186339,e=>{"use strict";var t=e.i(653772);e.i(811374);var a=e.i(511043),i=e.i(879486),n=e.i(695681);let s=a.forwardRef(function(e,t){let{render:a,className:s,disabled:r=!1,focusableWhenDisabled:o=!1,nativeButton:d=!0,style:l,...c}=e,{getButtonProps:u,buttonRef:p}=(0,i.useButton)({disabled:r,focusableWhenDisabled:o,native:d});return(0,n.useRenderElement)("button",e,{state:{disabled:r},ref:[t,p],props:[c,u]})});var r=e.i(294237),o=e.i(613349);let d=(0,r.cva)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});e.s(["Button",0,function({className:e,variant:a="default",size:i="default",...n}){return(0,t.jsx)(s,{"data-slot":"button",className:(0,o.cn)(d({variant:a,size:i,className:e})),...n})},"buttonVariants",0,d],186339)},126942,(e,t,a)=>{t.exports=e.r(871628)},222862,636557,e=>{"use strict";var t=e.i(811374);class a extends Error{status;details;constructor(e,t,a){super(e),this.name="ApiError",this.status=t,this.details=a}get isNetworkError(){return 0===this.status}get isRateLimit(){return 429===this.status}get isUnauthorized(){return 401===this.status}}function i(e,t){return"validation error"===e&&t?.length?function(e){let[t,...a]=e.split(":"),i=a.join(":").trim();if(!i)return e;let n=t.trim(),s=n.trim().replace(/[_-]+/g," ").replace(/\b\w/g,e=>e.toUpperCase()),r=i.replace(/^required$/i,"is required"),o=r.toLowerCase().replace(/[_-]+/g," "),d=n.toLowerCase().replace(/[_-]+/g," ");return d&&o.startsWith(`${d} `)&&(r=r.slice(n.length).trimStart()),s?`${s} ${r}`:r}(t[0]):e}async function n(e,t){let n;try{n=await fetch(""+e,{...t,credentials:"include",headers:{"Content-Type":"application/json",...t?.headers}})}catch(e){if(e instanceof TypeError)throw new a("Unable to connect — check your network",0);throw e}if(401===n.status)throw window.location.href="/sign-in",new a("Unauthorized",401);if(!n.ok){let e,t;try{let a=await n.json();e=a.error,t=a.details}catch{}if(429===n.status)throw new a("Please wait a moment before trying again",429);if(n.status>=500)throw new a(i(e,t)||"Something went wrong — please try again",n.status,t);throw new a(i(e,t)||"Something went wrong",n.status,t)}if(204!==n.status)return n.json()}function s(e,t){let a=new URLSearchParams({workspace_id:e,...t});return`?${a.toString()}`}e.s(["ApiError",0,a],636557),parseInt(t.default.env.NEXT_PUBLIC_MOCK_NETWORK_DELAY_MS||"300",10);let r=async(e,t,i,r,o)=>{let d;if(!r||0===r.length)return n(`/api/conversations/${e}/messages${s(i)}`,{method:"POST",body:JSON.stringify({content:t,...o?{metadata:o}:{}})});let l=new FormData;for(let e of(l.append("content",t),o&&l.append("metadata",JSON.stringify(o)),r))l.append("file",e);try{d=await fetch(`/api/conversations/${e}/messages${s(i)}`,{method:"POST",credentials:"include",body:l})}catch(e){if(e instanceof TypeError)throw new a("Unable to connect — check your network",0);throw e}if(401===d.status)throw window.location.href="/sign-in",new a("Unauthorized",401);if(!d.ok){let e,t;try{let a=await d.json();e=a.error,t=a.details}catch{}if(429===d.status)throw new a("Please wait a moment before trying again",429);if(d.status>=500)throw new a(e||"Something went wrong — please try again",d.status,t);throw new a(e||"Something went wrong",d.status,t)}return d.json()},o=async(e,t)=>{let a=new URLSearchParams({workspace_id:t}),i=await fetch(`/api/email/${e}/body?${a}`,{credentials:"include"});if(!i.ok)return{content:"(body not available)",isHtml:!1};let n=i.headers.get("Content-Type")??"";return{content:await i.text(),isHtml:n.includes("text/html")}},d=async(e,t)=>{let i=new FormData;i.append("file",e);let n=await fetch(`/api/email/upload${s(t)}`,{method:"POST",credentials:"include",body:i});if(!n.ok)throw new a(await n.text().catch(()=>"Upload failed"),n.status);return n.json()},l=async(e,t)=>{let i;if(!t.files||0===t.files.length)return n(`/api/issues${s(e)}`,{method:"POST",body:JSON.stringify({agent_id:t.agent_id,title:t.title,description:t.description})});let r=new FormData;for(let e of(t.agent_id&&r.append("agent_id",t.agent_id),r.append("title",t.title),r.append("description",t.description??""),t.files))r.append("file",e);try{i=await fetch(`/api/issues${s(e)}`,{method:"POST",credentials:"include",body:r})}catch(e){if(e instanceof TypeError)throw new a("Unable to connect — check your network",0);throw e}if(401===i.status)throw window.location.href="/sign-in",new a("Unauthorized",401);if(!i.ok){let e,t;try{let a=await i.json();e=a.error,t=a.details}catch{}if(429===i.status)throw new a("Please wait a moment before trying again",429);if(i.status>=500)throw new a(e||"Something went wrong — please try again",i.status,t);throw new a(e||"Something went wrong",i.status,t)}return i.json()},c=async(e,t)=>{let a=new URLSearchParams({workspace_id:t}),i=await fetch(`/api/artifacts/${e}/content?${a}`,{credentials:"include"});return i.ok?i.text():"(content not available)"};e.s(["acceptInvite",0,e=>n(`/api/invite/${e}`,{method:"POST"}),"addWhitelistEmail",0,(e,t,a)=>n(`/api/agents/${e}/whitelist${s(a)}`,{method:"POST",body:JSON.stringify({email:t})}),"approveMeeting",0,(e,t,a)=>n(`/api/agents/${e}/meetings/${t}/approve${s(a)}`,{method:"POST"}),"cancelActiveTask",0,(e,t)=>n(`/api/conversations/${e}/active-task${s(t)}`,{method:"DELETE"}),"chatInit",0,(e,t,a)=>n(`/api/agents/${e}/chat-init${s(t)}`,{method:"POST",body:JSON.stringify({...a?{channel:a}:{}})}),"checkFreshness",0,(e,t)=>{let a={};return e.conversationId&&(a.conversation_id=e.conversationId),e.agentId&&(a.agent_id=e.agentId),e.channel&&(a.channel=e.channel),n(`/api/conversations/check-fresh${s(t,a)}`)},"conversationInit",0,(e,t,a)=>{let i={};return a?.newestMessageId&&(i.newest_message_id=a.newestMessageId),a?.messageCount&&(i.message_count=String(a.messageCount)),n(`/api/conversations/${e}/init${s(t,i)}`)},"createAgent",0,(e,t)=>n(`/api/agents${s(t)}`,{method:"POST",body:JSON.stringify(e)}),"createAgentLink",0,(e,t)=>n(`/api/agent-links${s(t)}`,{method:"POST",body:JSON.stringify(e)}),"createCalendarEvent",0,(e,t)=>n(`/api/calendar${s(t)}`,{method:"POST",body:JSON.stringify(e)}),"createChannelApi",0,(e,t)=>n(`/api/channels${s(e)}`,{method:"POST",body:JSON.stringify({name:t})}),"createConversation",0,(e,t,a)=>n(`/api/conversations${s(t)}`,{method:"POST",body:JSON.stringify({agent_id:e,...a?{channel:a}:{}})}),"createEmailAccount",0,(e,t,a)=>n(`/api/agents/${e}/email-accounts${s(a)}`,{method:"POST",body:JSON.stringify(t)}),"createInvite",0,e=>n(`/api/workspaces/${e}/invites${s(e)}`,{method:"POST"}),"createIssue",0,l,"createMachineToken",0,(e,t)=>n(`/api/machine-tokens${t?s(t):""}`,{method:"POST",body:JSON.stringify({name:e||"default"})}),"createMeeting",0,(e,t,a)=>n(`/api/agents/${e}/meetings${s(t)}`,{method:"POST",body:JSON.stringify(a)}),"createThread",0,(e,t,a,i)=>n(`/api/conversations/${e}/threads${s(i)}`,{method:"POST",body:JSON.stringify({parent_message_id:t,content:a})}),"deleteAgent",0,(e,t)=>n(`/api/agents/${e}${s(t)}`,{method:"DELETE"}),"deleteAgentLink",0,(e,t)=>n(`/api/agent-links/${e}${s(t)}`,{method:"DELETE"}),"deleteCalendarEvent",0,(e,t,a)=>n(`/api/calendar/${e}${s(t)}`,{method:"DELETE",...a&&a.scope?{headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}:{}}),"deleteChannelApi",0,(e,t)=>n(`/api/channels/${e}${s(t)}`,{method:"DELETE"}),"deleteEmail",0,(e,t)=>n(`/api/email/${e}${s(t)}`,{method:"DELETE"}),"deleteEmailAccount",0,(e,t,a)=>n(`/api/agents/${e}/email-accounts/${t}${s(a)}`,{method:"DELETE"}),"deleteIssue",0,(e,t)=>n(`/api/issues/${t}${s(e)}`,{method:"DELETE"}),"deleteMachine",0,(e,t)=>n(`/api/runtimes/machine${s(t,{daemon_id:e})}`,{method:"DELETE"}),"deleteMeeting",0,(e,t,a)=>n(`/api/agents/${e}/meetings/${t}${s(a)}`,{method:"DELETE"}),"deleteWorkspace",0,(e,t)=>n(`/api/workspaces/${e}${s(e)}`,{method:"DELETE",body:JSON.stringify({confirm_name:t})}),"fetchLatestCliVersion",0,()=>n("/api/cli/latest-version"),"fetchModelOptions",0,()=>n("/api/config/model-options"),"flagMessage",0,(e,t)=>n(`/api/flags${s(e)}`,{method:"POST",body:JSON.stringify({messageId:t})}),"getActiveTask",0,(e,t)=>n(`/api/conversations/${e}/active-task${s(t)}`),"getAgentSkills",0,(e,t)=>n(`/api/agents/${e}/skills${s(t)}`),"getArtifactContent",0,c,"getCalendarEvent",0,(e,t)=>n(`/api/calendar/${e}${s(t)}`),"getEmail",0,(e,t)=>n(`/api/email/${e}${s(t)}`),"getEmailBody",0,o,"getEmailThread",0,(e,t)=>n(`/api/email/${e}/thread${s(t)}`),"getFlaggedCount",0,e=>n(`/api/flags/count${s(e)}`),"getInboxCount",0,(e,t)=>{let a={};return t?.types?.length&&(a.types=t.types.join(",")),n(`/api/inbox/count${s(e,a)}`)},"getInviteInfo",0,e=>n(`/api/invite/${e}`),"getIssue",0,(e,t)=>n(`/api/issues/${t}${s(e)}`),"getMemberMe",0,e=>n(`/api/members/me${s(e)}`),"getMinCliVersion",0,()=>n("/api/config/min-version"),"getTask",0,(e,t)=>n(`/api/tasks/${e}${s(t)}`),"getTaskMessages",0,(e,t,a)=>n(`/api/tasks/${e}/messages${s(t,a?{since:String(a)}:void 0)}`),"getThreadSummaries",0,(e,t)=>n(`/api/conversations/${e}/threads${s(t)}`),"getTrace",0,(e,t)=>n(`/api/traces/${e}${s(t)}`),"getWorkspaceOverview",0,e=>n(`/api/workspaces/${e}/overview${s(e)}`),"grantAgentAccess",0,(e,t,a)=>n(`/api/agents/${t}/access${s(e)}`,{method:"POST",body:JSON.stringify({user_id:a})}),"listAgentAccess",0,(e,t)=>n(`/api/agents/${t}/access${s(e)}`),"listAgentActiveTaskCounts",0,e=>n(`/api/agents/active-task-counts${s(e)}`),"listAgentActivity",0,(e,t,a)=>{let i={};return a?.limit&&(i.limit=String(a.limit)),a?.before&&(i.before=a.before),a?.beforeId&&(i.before_id=a.beforeId),a?.status&&(i.status=a.status),a?.type&&(i.type=a.type),n(`/api/agents/${e}/activity${s(t,i)}`)},"listAgentLinks",0,e=>n(`/api/agent-links${s(e)}`),"listAgentPins",0,e=>n(`/api/agents/pins${s(e)}`),"listAgents",0,e=>n(`/api/agents${s(e)}`),"listArtifacts",0,(e,t)=>n(`/api/artifacts${s(t,{conversation_id:e})}`),"listCalendarEvents",0,(e,t)=>{let a={};return t?.agentId&&(a.agentId=t.agentId),t?.from&&(a.from=t.from),t?.to&&(a.to=t.to),n(`/api/calendar${s(e,a)}`)},"listChannels",0,e=>n(`/api/channels${s(e)}`),"listEmailAccounts",0,(e,t)=>n(`/api/agents/${e}/email-accounts${s(t)}`),"listEmails",0,(e,t,a,i)=>n(`/api/email${s(t,{agentId:e,...a?{folder:a}:{},...i?{address:i}:{}})}`),"listFlaggedItems",0,(e,t)=>{let a={};return t?.limit&&(a.limit=String(t.limit)),t?.before&&(a.before=t.before),n(`/api/flags${s(e,a)}`)},"listFlaggedMessageIds",0,(e,t)=>n(`/api/flags${s(e,{conversation_id:t,ids_only:"true"})}`),"listInboxItems",0,(e,t)=>{let a={};return t?.limit&&(a.limit=String(t.limit)),t?.before&&(a.before=t.before),t?.types?.length&&(a.types=t.types.join(",")),n(`/api/inbox${s(e,a)}`)},"listInvites",0,e=>n(`/api/workspaces/${e}/invites${s(e)}`),"listIssues",0,(e,t)=>{let a={};return t?.agentId&&(a.agentId=t.agentId),t?.status&&(a.status=t.status),t?.terminal!==void 0&&(a.terminal=String(t.terminal)),n(`/api/issues${s(e,a)}`)},"listMeetings",0,(e,t)=>n(`/api/agents/${e}/meetings${s(t)}`),"listMembers",0,e=>n(`/api/workspaces/${e}/members${s(e)}`),"listMessages",0,(e,t,a)=>{let i={};return a?.limit&&(i.limit=String(a.limit)),a?.before&&(i.before=a.before),a?.beforeId&&(i.before_id=a.beforeId),n(`/api/conversations/${e}/messages${s(t,i)}`)},"listMessagesAroundTask",0,(e,t,a)=>n(`/api/conversations/${e}/messages${s(t,{around_task:a})}`),"listPreviousConversations",0,(e,t,a)=>{let i={exclude:a.exclude,before:a.before};return a.channel&&(i.channel=a.channel),a.limit&&(i.limit=String(a.limit)),n(`/api/agents/${e}/conversations${s(t,i)}`)},"listRuntimes",0,e=>n(`/api/runtimes${s(e)}`),"listTraces",0,(e,t)=>{let a={};return t?.limit&&(a.limit=String(t.limit)),t?.before&&(a.before=t.before),t?.status&&(a.status=t.status),t?.multiAgent&&(a.multiAgent="true"),t?.agentId&&(a.agentId=t.agentId),t?.channel&&(a.channel=t.channel),n(`/api/traces${s(e,a)}`)},"listWhitelist",0,(e,t)=>n(`/api/agents/${e}/whitelist${s(t)}`),"listWorkspaceActiveTasks",0,e=>n(`/api/agents/active-tasks${s(e)}`),"listWorkspaces",0,()=>n("/api/workspaces"),"markAllInboxRead",0,e=>n(`/api/inbox/read-all${s(e)}`,{method:"POST"}),"markInboxRead",0,(e,t)=>n(`/api/inbox/read${s(t)}`,{method:"POST",body:JSON.stringify({conversationId:e})}),"pinAgent",0,(e,t)=>n(`/api/agents/${t}/pin${s(e)}`,{method:"POST"}),"removeMember",0,(e,t)=>n(`/api/workspaces/${e}/members/${t}${s(e)}`,{method:"DELETE"}),"removeWhitelistEmail",0,(e,t,a)=>n(`/api/agents/${e}/whitelist/${t}${s(a)}`,{method:"DELETE"}),"renameChannelApi",0,(e,t,a)=>n(`/api/channels/${e}${s(t)}`,{method:"PATCH",body:JSON.stringify({name:a})}),"reorderAgentPins",0,(e,t)=>n(`/api/agents/pins/reorder${s(e)}`,{method:"PUT",body:JSON.stringify({ordered_agent_ids:t})}),"reorderChannelsApi",0,(e,t)=>n(`/api/channels/reorder${s(e)}`,{method:"PUT",body:JSON.stringify({ordered_channel_ids:t})}),"reorderUnpinnedAgents",0,(e,t)=>n(`/api/agents/sidebar/reorder${s(e)}`,{method:"PUT",body:JSON.stringify({ordered_agent_ids:t})}),"requestWorkspaceBrowse",0,(e,t,a,i)=>n(`/api/agents/${e}/workspace/browse${s(t)}`,{method:"POST",body:JSON.stringify({request_type:a,path:i})}),"retryTask",0,(e,t)=>n(`/api/tasks/${e}/retry${s(t)}`,{method:"POST"}),"revokeAgentAccess",0,(e,t,a,i=!1)=>n(`/api/agents/${t}/access/${a}${s(e)}${i?"&remove_whitelist=true":""}`,{method:"DELETE"}),"revokeInvite",0,(e,t)=>n(`/api/workspaces/${e}/invites/${t}${s(e)}`,{method:"DELETE"}),"sendEmail",0,(e,t,a,i,r,o,d,l)=>n(`/api/email/send${s(r)}`,{method:"POST",body:JSON.stringify({agentId:e,to:t,subject:a,htmlBody:i,attachments:o,...d,customAccountId:l})}),"sendMessage",0,r,"stopMeeting",0,(e,t,a)=>n(`/api/agents/${e}/meetings/${t}/stop${s(a)}`,{method:"POST"}),"syncEmailAccount",0,(e,t,a)=>n(`/api/agents/${e}/email-accounts/${t}/sync${s(a)}`,{method:"POST"}),"triggerRuntimeRescan",0,(e,t)=>n(`/api/runtimes/${e}/rescan${s(t)}`,{method:"POST"}),"triggerRuntimeUpdate",0,(e,t)=>n(`/api/runtimes/${e}/update${s(t)}`,{method:"POST"}),"trustEmail",0,(e,t)=>n(`/api/email/${e}/trust${s(t)}`,{method:"POST"}),"unflagMessage",0,(e,t)=>n(`/api/flags/${t}${s(e)}`,{method:"DELETE"}),"unpinAgent",0,(e,t)=>n(`/api/agents/${t}/pin${s(e)}`,{method:"DELETE"}),"updateAgent",0,(e,t,a)=>n(`/api/agents/${e}${s(a)}`,{method:"PATCH",body:JSON.stringify(t)}),"updateAgentLink",0,(e,t,a)=>n(`/api/agent-links/${e}${s(a)}`,{method:"PATCH",body:JSON.stringify(t)}),"updateCalendarEvent",0,(e,t,a)=>n(`/api/calendar/${e}${s(a)}`,{method:"PATCH",body:JSON.stringify(t)}),"updateEmailStatus",0,(e,t,a)=>n(`/api/email/${e}${s(t)}`,{method:"PATCH",body:JSON.stringify({status:a})}),"updateIssue",0,(e,t,a)=>n(`/api/issues/${t}${s(e)}`,{method:"PATCH",body:JSON.stringify(a)}),"updateMemberMe",0,(e,t)=>n(`/api/members/me${s(e)}`,{method:"PATCH",body:JSON.stringify({global_instruction:t})}),"updateWorkspace",0,(e,t)=>n(`/api/workspaces/${e}${s(e)}`,{method:"PATCH",body:JSON.stringify(t)}),"uploadEmailAttachment",0,d],222862)},728886,e=>{"use strict";var t=e.i(653772),a=e.i(613349);e.s(["Skeleton",0,function({className:e,...i}){return(0,t.jsx)("div",{"data-slot":"skeleton",className:(0,a.cn)("animate-pulse rounded-md bg-muted",e),...i})}])},29437,e=>{"use strict";var t=e.i(653772),a=e.i(511043),i=e.i(126942),n=e.i(516266),s=e.i(222862),r=e.i(205189),o=e.i(186339),d=e.i(728886);e.s(["default",0,function(){let{token:e}=(0,i.useParams)(),l=(0,i.useRouter)(),[c,u]=(0,a.useState)("loading"),[p,g]=(0,a.useState)(null),[m,h]=(0,a.useState)("");(0,a.useEffect)(()=>{e&&(0,s.getInviteInfo)(e).then(e=>{g(e),u("ready")}).catch(e=>{h(e instanceof Error?e.message:"Invalid or expired invite link"),u("error")})},[e]);let f=async()=>{if(e){u("accepting");try{let t=await (0,s.acceptInvite)(e);(0,r.trackInviteAccepted)({workspace_id:t.workspace_id??""}),u("done"),n.toast.success(`Joined ${p?.workspace_name??"workspace"}`),l.replace(`/w/${t.workspace_slug}/home`)}catch(e){h(e instanceof Error?e.message:"Failed to join workspace"),u("error")}}};return(0,t.jsx)("div",{className:"min-h-screen flex items-center justify-center p-6",children:(0,t.jsxs)("div",{className:"w-full max-w-sm space-y-6 text-center",children:["loading"===c&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(d.Skeleton,{className:"h-6 w-48 mx-auto"}),(0,t.jsx)(d.Skeleton,{className:"h-4 w-64 mx-auto"}),(0,t.jsx)(d.Skeleton,{className:"h-9 w-32 mx-auto"})]}),"ready"===c&&p&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h1",{className:"text-xl font-semibold",children:"You've been invited"}),(0,t.jsxs)("p",{className:"text-sm text-muted-foreground",children:[p.invited_by," invited you to join"]})]}),(0,t.jsxs)("div",{className:"rounded-md border border-border/50 px-4 py-3 text-left space-y-0.5",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:p.workspace_name}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Workspace"})]}),(0,t.jsx)(o.Button,{className:"w-full",onClick:f,children:"Join Workspace"})]}),"accepting"===c&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(d.Skeleton,{className:"h-6 w-48 mx-auto"}),(0,t.jsx)(d.Skeleton,{className:"h-4 w-64 mx-auto"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Joining workspace…"})]}),"error"===c&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h1",{className:"text-xl font-semibold",children:"Invite unavailable"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:m})]}),(0,t.jsx)(o.Button,{variant:"outline",onClick:()=>l.replace("/workspaces"),children:"Go to workspaces"})]})]})})}])}]);