@alook/app 0.0.68 → 0.0.69

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 (240) hide show
  1. package/bundled/email-worker/index.js +9 -1
  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/0.vi-1cgnne0e.css +1 -0
  5. package/bundled/web/.open-next/assets/_next/static/chunks/{0vob59t.w8yuf.js → 060hy1yx9.8u4.js} +2 -2
  6. package/bundled/web/.open-next/assets/_next/static/chunks/08u3p1v8e1gxg.js +63 -0
  7. package/bundled/web/.open-next/assets/_next/static/chunks/{13fkss9rmgdqw.js → 0fmcohc0raah~.js} +22 -22
  8. package/bundled/web/.open-next/assets/_next/static/chunks/0or01.vb5l38_.js +3 -0
  9. package/bundled/web/.open-next/assets/_next/static/chunks/0vb-n1ns9b-93.js +1 -0
  10. package/bundled/web/.open-next/assets/_next/static/chunks/0ymb~iviyjlb_.js +3 -0
  11. package/bundled/web/.open-next/assets/_next/static/chunks/13lom177x6744.js +1 -0
  12. package/bundled/web/.open-next/cache/{d6FEqIY-HdfUib-E9v9dt → -lo-xBQBmp_D6Nf6J9S7y}/_global-error.cache +1 -1
  13. package/bundled/web/.open-next/cache/{d6FEqIY-HdfUib-E9v9dt → -lo-xBQBmp_D6Nf6J9S7y}/_not-found.cache +1 -1
  14. package/bundled/web/.open-next/cache/{d6FEqIY-HdfUib-E9v9dt → -lo-xBQBmp_D6Nf6J9S7y}/sitemap.xml.cache +1 -1
  15. package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
  16. package/bundled/web/.open-next/cloudflare/init.js +1 -1
  17. package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
  18. package/bundled/web/.open-next/middleware/handler.mjs +3 -3
  19. package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
  20. package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
  21. package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
  22. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
  23. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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
  30. 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
  31. 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
  32. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
  33. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
  34. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
  35. 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
  36. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
  37. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
  38. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
  39. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
  40. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/[traceId]/page_client-reference-manifest.js +1 -1
  41. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/page_client-reference-manifest.js +1 -1
  42. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
  43. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
  44. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
  45. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  46. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agent-links/[id]/route.js +2 -2
  47. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agent-links/route.js +1 -1
  48. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/access/[userId]/route.js +3 -3
  49. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/access/route.js +3 -3
  50. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/active-tasks/route.js +3 -3
  51. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/activity/route.js +2 -2
  52. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/chat-init/route.js +1 -1
  53. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/conversation/route.js +2 -2
  54. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/conversations/route.js +2 -2
  55. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/[accountId]/route.js +2 -2
  56. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/[accountId]/sync/route.js +3 -3
  57. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/[accountId]/test/route.js +3 -3
  58. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/route.js +2 -2
  59. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/[meetingId]/approve/route.js +2 -2
  60. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/[meetingId]/route.js +2 -2
  61. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/[meetingId]/stop/route.js +2 -2
  62. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/route.js +2 -2
  63. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/pin/route.js +3 -3
  64. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/route.js +2 -2
  65. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/whitelist/[whitelistId]/route.js +3 -3
  66. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/whitelist/route.js +4 -4
  67. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/workspace/browse/route.js +3 -3
  68. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/active-task-counts/route.js +3 -3
  69. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/active-tasks/route.js +6 -6
  70. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/pins/reorder/route.js +3 -3
  71. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/pins/route.js +3 -3
  72. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/route.js +6 -6
  73. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/sidebar/reorder/route.js +3 -3
  74. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/[id]/content/route.js +3 -3
  75. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/[id]/route.js +3 -3
  76. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/route.js +3 -3
  77. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/upload/route.js +3 -3
  78. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/[id]/route.js +4 -4
  79. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/route.js +3 -3
  80. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/[id]/route.js +1 -1
  81. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/reorder/route.js +3 -3
  82. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/route.js +1 -1
  83. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/config/min-version/route.js +3 -3
  84. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/config/model-options/route.js +3 -3
  85. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/active-task/route.js +1 -1
  86. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/[messageId]/route.js +3 -3
  87. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/route.js +4 -4
  88. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/messages/route.js +3 -3
  89. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/route.js +2 -2
  90. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/route.js +2 -2
  91. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/deregister/route.js +2 -2
  92. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/register/route.js +1 -1
  93. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/complete/route.js +1 -1
  94. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/fail/route.js +1 -1
  95. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/messages/route.js +3 -3
  96. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/progress/route.js +1 -1
  97. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/start/route.js +1 -1
  98. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/status/route.js +3 -3
  99. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/supersede/route.js +1 -1
  100. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/poll/route.js +3 -3
  101. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/workspace/report/route.js +1 -1
  102. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/attachment/[index]/route.js +4 -4
  103. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/body/route.js +4 -4
  104. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/raw/route.js +3 -3
  105. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/route.js +2 -2
  106. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/thread/route.js +2 -2
  107. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/notify/route.js +2 -2
  108. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/route.js +2 -2
  109. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/send/route.js +3 -3
  110. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/upload/route.js +4 -4
  111. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/flags/[messageId]/route.js +4 -4
  112. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/flags/count/route.js +3 -3
  113. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/flags/route.js +2 -2
  114. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/count/route.js +3 -3
  115. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/read/route.js +1 -1
  116. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/read-all/route.js +1 -1
  117. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/route.js +2 -2
  118. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/invite/[token]/route.js +3 -3
  119. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/comments/route.js +4 -4
  120. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/route.js +2 -2
  121. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/route.js +1 -1
  122. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/machine-tokens/[id]/route.js +3 -3
  123. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/machine-tokens/activate/route.js +1 -1
  124. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/machine-tokens/route.js +3 -3
  125. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/me/route.js +5 -5
  126. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/meeting/callback/route.js +3 -3
  127. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/members/me/route.js +3 -3
  128. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/[runtimeId]/rescan/route.js +3 -3
  129. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/[runtimeId]/update/route.js +1 -1
  130. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/machine/route.js +1 -1
  131. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/route.js +1 -1
  132. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/check-handles/route.js +1 -1
  133. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/check-name/route.js +3 -3
  134. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/route.js +4 -4
  135. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/messages/route.js +2 -2
  136. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/retry/route.js +1 -1
  137. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/route.js +2 -2
  138. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/step-counts/route.js +3 -3
  139. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/traces/[traceId]/route.js +6 -6
  140. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/traces/route.js +6 -6
  141. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/invites/[inviteId]/route.js +3 -3
  142. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/invites/route.js +2 -2
  143. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/members/[memberId]/route.js +3 -3
  144. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/members/route.js +2 -2
  145. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/overview/route.js +6 -6
  146. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/route.js +1 -1
  147. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/route.js +3 -3
  148. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
  149. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
  150. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
  151. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0.1vmoe._.js +85 -0
  152. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__009_wu3._.js +1 -1
  153. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__01crkpf._.js +1 -1
  154. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__01~--ue._.js +3 -0
  155. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{[root-of-the-server]__0~4t--s._.js → [root-of-the-server]__027mioa._.js} +8 -8
  156. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__09cer93._.js +3 -0
  157. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0dy~25_._.js +3 -0
  158. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0faxj6t._.js +1 -1
  159. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0k4l9.h._.js +1 -1
  160. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0m5a1_f._.js +1 -1
  161. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0m_ya4f._.js +3 -0
  162. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0niqi98._.js +85 -0
  163. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ntc1ld._.js +1 -1
  164. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ud56v.._.js +1 -1
  165. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +16 -16
  166. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0266t8u._.js +2 -2
  167. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_02t7kem._.js +1 -1
  168. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_06imn.m._.js +1 -1
  169. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_07-798_._.js +1 -1
  170. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08xh_f8._.js +2 -2
  171. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_09j_99x._.js +2 -2
  172. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0c9~wb-._.js +1 -1
  173. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0exm5_w._.js +2 -2
  174. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0gqpz7w._.js +1 -1
  175. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j1t6f2._.js +1 -1
  176. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0k3wl-3._.js +1 -1
  177. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0l1m9wf._.js +2 -2
  178. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0lmedw9._.js +1 -1
  179. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ow_nxn._.js +1 -1
  180. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0piy2kq._.js +1 -1
  181. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0r0h9so._.js +3 -3
  182. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0s4qnoj._.js +1 -1
  183. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0sj8mn_._.js +3 -0
  184. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0s~hhx-._.js +1 -1
  185. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0tarogd._.js +1 -1
  186. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0tcd35h._.js +1 -1
  187. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0u3tu2x._.js +2 -2
  188. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0w6dw.t._.js +2 -2
  189. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0y3~9l1._.js +1 -1
  190. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0z.s70x._.js +1 -1
  191. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_122y7jv._.js +1 -1
  192. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0q3gvkd._.js +3 -0
  193. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0ppv-5d._.js → [root-of-the-server]__099etsu._.js} +1 -1
  194. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0r2s1aj._.js +3 -0
  195. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0xzp3_y._.js +3 -0
  196. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +16 -16
  197. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_063q-hj._.js +2 -2
  198. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0gm0lpi._.js → _091qk6t._.js} +1 -1
  199. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_09b8fgg._.js +1 -1
  200. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0e7_cpm._.js → _0xcw94t._.js} +1 -1
  201. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_11~t2ti._.js +3 -0
  202. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_12e18r-._.js +2 -2
  203. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_13__3im._.js +1 -1
  204. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_13cbsrm._.js +65 -0
  205. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0~23g-y._.js +2 -2
  206. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_home_page_tsx_0lkx78f._.js +1 -1
  207. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
  208. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
  209. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
  210. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
  211. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +68 -150
  212. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +302 -338
  213. package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +3 -3
  214. package/bundled/web/wrangler.toml +1 -1
  215. package/bundled/ws-do/index.js +9 -1
  216. package/dist/cli/index.js +2424 -426
  217. package/dist/cli/session-runner.js +183 -33
  218. package/package.json +1 -1
  219. package/bundled/web/.open-next/assets/_next/static/chunks/02xsv1h-9twmr.js +0 -3
  220. package/bundled/web/.open-next/assets/_next/static/chunks/085gv~jsjhgvo.js +0 -3
  221. package/bundled/web/.open-next/assets/_next/static/chunks/0csp6ncjhvojv.js +0 -63
  222. package/bundled/web/.open-next/assets/_next/static/chunks/0lf.3fdr8qzrz.css +0 -1
  223. package/bundled/web/.open-next/assets/_next/static/chunks/0u1.3sr-iag4j.js +0 -1
  224. package/bundled/web/.open-next/assets/_next/static/chunks/0v0kh80r40w4f.js +0 -1
  225. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0axs-gp._.js +0 -3
  226. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0kvsfuj._.js +0 -85
  227. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0l3u9pl._.js +0 -85
  228. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0lvfzvr._.js +0 -3
  229. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0n_hjiv._.js +0 -3
  230. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ug4a08._.js +0 -85
  231. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0~jiu74._.js +0 -3
  232. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0jx_8bw._.js +0 -3
  233. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0-jf-76._.js +0 -3
  234. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0-uhgif._.js +0 -3
  235. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0oe.0yf._.js +0 -3
  236. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0ohl~vp._.js +0 -65
  237. /package/bundled/web/.open-next/assets/_next/static/{d6FEqIY-HdfUib-E9v9dt → -lo-xBQBmp_D6Nf6J9S7y}/_buildManifest.js +0 -0
  238. /package/bundled/web/.open-next/assets/_next/static/{d6FEqIY-HdfUib-E9v9dt → -lo-xBQBmp_D6Nf6J9S7y}/_clientMiddlewareManifest.js +0 -0
  239. /package/bundled/web/.open-next/assets/_next/static/{d6FEqIY-HdfUib-E9v9dt → -lo-xBQBmp_D6Nf6J9S7y}/_ssgManifest.js +0 -0
  240. /package/bundled/web/.open-next/cache/{d6FEqIY-HdfUib-E9v9dt → -lo-xBQBmp_D6Nf6J9S7y}/robots.txt.cache +0 -0
@@ -0,0 +1,3 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,875494,685835,e=>{"use strict";var t=e.i(368075),s=e.i(298699),a=e.i(222862),r=e.i(355578),n=e.i(500324),l=e.i(980630);let i="inbox-filter-types",o=["user_dm_message","calendar_event","email_notification"],c=["user_dm_message"],d=["user_dm_message"];function u(){try{let e=localStorage.getItem(i);if(!e)return c;let t=JSON.parse(e).filter(e=>o.includes(e));if(0===t.length)return c;for(let e of d)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,o,"MANDATORY_INBOX_TYPES",0,d,"getInboxFilterTypes",0,u,"setInboxFilterTypes",0,function(e){let t=[...e];for(let e of d)t.includes(e)||t.unshift(e);localStorage.setItem(i,JSON.stringify(t))}],685835);let m=(0,s.createContext)(null);e.s(["InboxCountProvider",0,function({children:e}){let{workspaceId:i}=(0,n.useWorkspace)(),{subscribeWs:o,agents:c}=(0,r.useAgentContext)(),[d,h]=(0,s.useState)(0),p=(0,s.useRef)(null),f=(0,s.useRef)(null),g=(0,s.useRef)(c);(0,s.useEffect)(()=>{g.current=c});let x=(0,s.useCallback)(()=>{let e=u();(0,a.getInboxCount)(i,{types:e}).then(e=>{let t=p.current;if(p.current=e.count,h(e.count),null!==t&&e.count>t){let e=f.current?g.current.find(e=>e.id===f.current):void 0;(0,l.sendTaskNotification)("completed",e?.name)}f.current=null}).catch(()=>{})},[i]),v=(0,s.useCallback)(()=>{h(e=>{let t=Math.max(0,e-1);return p.current=t,t})},[]);return(0,s.useEffect)(()=>{x()},[x]),(0,s.useEffect)(()=>o(e=>{"task.updated"===e.type&&("completed"===e.status||"failed"===e.status)&&(f.current=e.agentId,x())}),[o,x]),(0,s.useEffect)(()=>{let e=setInterval(x,3e4);return()=>clearInterval(e)},[x]),(0,t.jsx)(m.Provider,{value:{count:d,refresh:x,decrement:v},children:e})},"useInboxCount",0,function(){let e=(0,s.useContext)(m);if(!e)throw Error("useInboxCount must be used within InboxCountProvider");return e}],875494)},74348,e=>{"use strict";var t=e.i(368075),s=e.i(298699),a=e.i(222862),r=e.i(500324);let n=(0,s.createContext)(null);e.s(["FlagCountProvider",0,function({children:e}){let{workspaceId:l}=(0,r.useWorkspace)(),[i,o]=(0,s.useState)(0),c=(0,s.useCallback)(()=>{(0,a.getFlaggedCount)(l).then(e=>o(e.count)).catch(()=>{})},[l]),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)(n.Provider,{value:{count:i,refresh:c,increment:d,decrement:u},children:e})},"useFlagCount",0,function(){let e=(0,s.useContext)(n);if(!e)throw Error("useFlagCount must be used within FlagCountProvider");return e}])},49879,618615,844010,e=>{"use strict";e.s(["AgentChatView",()=>eC,"getEventIconType",()=>ej],49879);var t=e.i(368075),s=e.i(298699),a=e.i(550008),r=e.i(208020),n=e.i(500324),l=e.i(186339),i=e.i(875061),o=e.i(613349),c=e.i(541544),d=e.i(64873),u=e.i(406963);let m=(0,u.default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);var h=e.i(108281),p=e.i(140483),f=e.i(371522);e.i(112946);var g=e.i(164300);function x(e){return e.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase())}let v=new Set(["status","log"]);function j({item:e,isRunning:a,isLast:r}){let n=(0,s.useMemo)(()=>{if(!e.input)return null;try{return JSON.stringify(e.input,null,2)}catch{return String(e.input)}},[e.input]);return n?(0,t.jsxs)("details",{className:"group/tool",children:[(0,t.jsxs)("summary",{className:(0,o.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md cursor-pointer select-none","text-sm text-muted-foreground transition-colors duration-150","hover:bg-muted/60 hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,t.jsx)(d.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/tool:rotate-90"}),(0,t.jsx)("span",{className:"font-medium text-foreground/80",children:x(e.tool)}),a&&r&&(0,t.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),a&&!r&&(0,t.jsx)(c.Check,{className:"ml-auto size-3 text-emerald-500"})]}),(0,t.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,t.jsx)("pre",{className:"task-stream-pre overflow-x-auto rounded-md bg-muted/40 p-2.5 font-mono text-xs leading-relaxed text-muted-foreground max-h-48 max-w-full min-w-0 overflow-y-auto",children:n})})]}):(0,t.jsxs)("div",{className:(0,o.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground"),children:[(0,t.jsx)("span",{className:"font-medium text-foreground/80",children:x(e.tool)}),a&&r&&(0,t.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),a&&!r&&(0,t.jsx)(c.Check,{className:"ml-auto size-3 text-emerald-500"})]})}function y({item:e}){return e.content?(0,t.jsxs)("details",{className:"group/think",children:[(0,t.jsxs)("summary",{className:(0,o.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md cursor-pointer select-none","text-sm text-muted-foreground/60 italic transition-colors duration-150","hover:bg-muted/60 hover:text-muted-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,t.jsx)(d.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/40 transition-transform duration-150 group-open/think:rotate-90"}),(0,t.jsx)(m,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{children:"Thinking..."})]}),(0,t.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,t.jsx)("p",{className:"text-sm italic text-muted-foreground/60 whitespace-pre-wrap",children:e.content})})]}):(0,t.jsxs)("div",{className:(0,o.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground/60 italic"),children:[(0,t.jsx)(m,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{children:"Thinking..."})]})}function k({value:e}){let a=(0,s.useRef)(e),[r,n]=(0,s.useState)({current:e,previous:null}),[l,i]=(0,s.useState)("idle");return(0,s.useEffect)(()=>{if(e===a.current)return;let t=a.current;a.current=e,n({current:e,previous:t}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i("animating")})});let s=setTimeout(()=>{i("idle"),n(e=>({...e,previous:null}))},300);return()=>clearTimeout(s)},[e]),(0,t.jsxs)("span",{style:{display:"inline-block",position:"relative",overflow:"hidden",height:"1.2em",lineHeight:"1.2em",verticalAlign:"bottom"},children:[null!==r.previous&&(0,t.jsx)("span",{style:{display:"block",position:"absolute",inset:"0",transition:"animating"===l?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:"animating"===l?"translateY(-100%)":"translateY(0)",opacity:+("animating"!==l)},children:r.previous}),(0,t.jsx)("span",{style:{display:"block",transition:"animating"===l?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:null!==r.previous&&"animating"!==l?"translateY(100%)":"translateY(0)",opacity:+(null===r.previous||"animating"===l)},children:r.current})]})}function b({task:e,messages:a,connectionLost:r,onRetry:n,stepCountHint:l,onExpandSteps:c,stepsLoading:u}){let[m,x]=(0,s.useState)(!1),w=(0,s.useMemo)(()=>(function(e){let t=[],s=new Map;for(let a of e){if(v.has(a.type))continue;let e=a.id||`seq-${a.seq}`;switch(a.type){case"tool-use":{let r=a.call_id,n={kind:"tool-call",id:e,tool:a.tool,input:a.input};r&&s.set(r,n),t.push(n);break}case"tool-result":break;case"text":t.push({kind:"text",id:e,content:a.content});break;case"thinking":t.push({kind:"thinking",id:e,content:a.content});break;case"error":t.push({kind:"status",id:e,content:a.content||a.output,type:"error"})}}return t})(a),[a]),N="completed"!==e.status&&"failed"!==e.status&&"cancelled"!==e.status&&"superseded"!==e.status,C=w.filter(e=>"text"!==e.kind),S=w.filter(e=>"text"===e.kind),_=S.length>0?S[S.length-1]:null,T=(0,s.useRef)(null),M=(0,s.useRef)(null),I=(0,s.useRef)(!1);(0,s.useEffect)(()=>{N&&T.current&&(T.current.scrollTop=T.current.scrollHeight)},[C.length,N]),(0,s.useEffect)(()=>{N&&M.current&&(M.current.scrollTop=M.current.scrollHeight)},[S.length,N]);let A=N?S:S.slice(0,-1),z=!N&&null!==_,E=C.length>0?C.length:l??0,R=C.length>0||l&&l>0;return(0,t.jsxs)("div",{className:"space-y-3 min-w-0 max-w-full",children:[(0,t.jsx)("div",{className:"flex items-center gap-2",children:"running"===e.status?(0,t.jsxs)(i.Badge,{variant:"secondary",className:"gap-1.5 relative overflow-hidden",children:[(0,t.jsx)("span",{className:"size-1.5 rounded-full bg-primary animate-pulse"}),"Working",(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite]",style:{background:"linear-gradient(90deg, transparent 0%, var(--shimmer) 40%, var(--shimmer-peak) 50%, var(--shimmer) 60%, transparent 100%)"}})]}):N?(0,t.jsxs)(i.Badge,{variant:"secondary",className:"relative overflow-hidden",children:[e.status,(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite]",style:{background:"linear-gradient(90deg, transparent 0%, var(--shimmer) 40%, var(--shimmer-peak) 50%, var(--shimmer) 60%, transparent 100%)"}})]}):(0,t.jsx)(i.Badge,{variant:"secondary",children:e.status})}),R&&(0,t.jsxs)("details",{className:"group/stream pl-1",onToggle:e=>{e.currentTarget.open&&!I.current&&c&&(I.current=!0,c())},children:[(0,t.jsxs)("summary",{className:(0,o.cn)("flex items-center gap-1.5 py-1 cursor-pointer select-none","text-xs text-muted-foreground transition-colors duration-150","hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,t.jsx)(d.ChevronRight,{className:(0,o.cn)("size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/stream:rotate-90",N&&"animate-pulse text-primary")}),(0,t.jsxs)("span",{children:[(0,t.jsx)(k,{value:E})," ",1===E?"step":"steps"]})]}),(0,t.jsxs)("div",{ref:T,className:"mt-1 max-h-80 overflow-y-auto overflow-x-hidden thin-scrollbar space-y-0.5 pl-1",children:[u&&0===C.length&&(0,t.jsxs)("div",{className:"flex items-center gap-2 py-2 text-xs text-muted-foreground",children:[(0,t.jsx)(f.Loader2,{className:"size-3 animate-spin"}),(0,t.jsx)("span",{children:"Loading steps..."})]}),C.map((e,s)=>{switch(e.kind){case"tool-call":return(0,t.jsx)(j,{item:e,isRunning:N,isLast:s===C.length-1},e.id);case"thinking":return(0,t.jsx)(y,{item:e},e.id);case"status":return(0,t.jsxs)("p",{className:"text-xs text-muted-foreground px-1 wrap-anywhere",children:["error"===e.type&&(0,t.jsx)(h.AlertCircle,{className:"inline size-3 mr-1 -mt-0.5 text-destructive"}),e.content]},e.id);default:return null}})]})]}),A.length>0&&(0,t.jsxs)("details",{className:"group/midtext pl-1",open:!z||void 0,children:[(0,t.jsxs)("summary",{className:(0,o.cn)("flex items-center gap-1.5 py-1 cursor-pointer select-none","text-xs text-muted-foreground transition-colors duration-150","hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,t.jsx)(d.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/midtext:rotate-90"}),(0,t.jsxs)("span",{children:[(0,t.jsx)(k,{value:A.length})," thinking"]})]}),(0,t.jsx)("div",{ref:M,className:"mt-1 space-y-2 pl-1",children:A.map(e=>(0,t.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-0.5 text-sm text-muted-foreground",children:(0,t.jsx)(g.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:e.content})},e.id))})]}),z&&!c&&(0,t.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,t.jsx)(g.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:_.content})}),"failed"===e.status&&e.error&&(0,t.jsxs)("div",{className:"flex items-start gap-2 mt-2 max-w-full overflow-hidden",children:[(0,t.jsxs)("p",{className:"text-sm text-destructive flex items-start gap-1.5 min-w-0",children:[(0,t.jsx)(h.AlertCircle,{className:"size-3.5 shrink-0 mt-0.5"}),(0,t.jsx)("span",{className:"wrap-anywhere",children:e.error})]}),n&&(0,t.jsxs)("button",{type:"button",onClick:async()=>{x(!0);try{await n()}finally{x(!1)}},disabled:m,className:"shrink-0 text-xs text-muted-foreground hover:text-foreground transition-colors cursor-pointer disabled:opacity-50 flex items-center gap-1",children:[m?(0,t.jsx)(f.Loader2,{className:"size-3 animate-spin"}):(0,t.jsx)(p.RotateCw,{className:"size-3"}),"Retry"]})]}),r&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground animate-pulse mt-1",children:"Connection lost — retrying..."})]})}var w=e.i(222862),N=e.i(275351),C=e.i(355578),S=e.i(875494),_=e.i(74348),T=e.i(872937),M=e.i(880932),I=e.i(728886),A=e.i(329686),z=e.i(36303);let E=(0,u.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"}]]),R=(0,u.default)("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);var F=e.i(872057),P=e.i(6131);let D=(0,u.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"}]]),L=(0,u.default)("mic",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]]);var q=e.i(554468),B=e.i(745925),$=e.i(937091);function W(){let e=window;return e.SpeechRecognition??e.webkitSpeechRecognition??null}function H({agent:e,isSelected:s,onSelect:a}){return(0,t.jsxs)("button",{type:"button","data-mention-item":!0,className:(0,o.cn)("flex w-full items-center gap-2 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.jsx)("span",{className:"truncate font-medium",children:e.name}),e.email_handle&&(0,t.jsxs)("span",{className:"truncate text-xs text-muted-foreground",children:[e.email_handle,"@alook.ai"]})]})}function O({isOpen:e,relatedAgents:a,otherAgents:r,selectedIndex:n,onSelect:l,anchorPos:i}){let o=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!o.current)return;let e=o.current.querySelectorAll("[data-mention-item]")[n];e?.scrollIntoView({block:"nearest"})},[n]);let c=a.length+r.length;if(!e||0===c)return null;let d=a.length>0&&r.length>0;return(0,t.jsx)("div",{className:"absolute z-50 w-64 rounded-lg border border-border bg-popover text-popover-foreground shadow-md transition-opacity duration-150",style:{top:i.top-4,left:i.left,transform:"translateY(-100%)"},children:(0,t.jsxs)("div",{ref:o,className:"max-h-50 overflow-y-auto py-1 thin-scrollbar",children:[a.map((e,s)=>(0,t.jsx)(H,{agent:e,isSelected:s===n,onSelect:l},e.id)),d&&(0,t.jsx)("div",{className:"mx-3 my-1 border-t border-border"}),r.map((e,s)=>(0,t.jsx)(H,{agent:e,isSelected:a.length+s===n,onSelect:l},e.id))]})})}function V(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 U(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 r=t+1;for(let n of s){let s=r+n.name.length;if(s>e.length||e.slice(r,s).toLowerCase()!==n.name.toLowerCase())continue;let l=s,i=e.slice(s).match(/^ \([a-zA-Z0-9-]+@alook\.ai\)/);if(i&&(l=s+i[0].length),(i||V(e,s))&&(!i||V(e,l))){if(a.some(e=>t>=e.start&&t<e.end))break;a.push({start:t,end:s,name:n.name,agentId:n.id});break}}}let r=e;for(let e=a.length-1;e>=0;e--){let t=a[e],s=r.slice(t.start,t.end);r=r.slice(0,t.start)+`<mention data-agent-id="${t.agentId}">${s}</mention>`+r.slice(t.end)}return r}var Y=e.i(721387),X=e.i(332680),K=e.i(940931);function J({open:e,onOpenChange:a,emailId:r,workspaceId:n}){let[i,o]=(0,s.useState)(null),[c,d]=(0,s.useState)(null),[u,m]=(0,s.useState)(!1),[h,p]=(0,s.useState)(500),g=(0,s.useRef)(!1),x=(0,s.useRef)(a);(0,s.useEffect)(()=>{x.current=a}),(0,s.useEffect)(()=>{e&&r&&(m(!0),o(null),d(null),Promise.all([(0,w.getEmail)(r,n),(0,w.getEmailBody)(r,n)]).then(([e,t])=>{o(e),d(t)}).catch(()=>{M.toast.error("Email not found"),x.current(!1)}).finally(()=>m(!1)))},[e,r,n]);let v=e=>{a(e),e||setTimeout(()=>{o(null),d(null)},300)},j=(0,s.useCallback)(e=>{e.preventDefault(),g.current=!0,e.target.setPointerCapture(e.pointerId)},[]),y=(0,s.useCallback)(e=>{g.current&&p(Math.min(.8*window.innerWidth,Math.max(320,window.innerWidth-e.clientX)))},[]),k=(0,s.useCallback)(()=>{g.current=!1},[]);return(0,t.jsx)(X.Sheet,{open:e,onOpenChange:v,children:(0,t.jsxs)(X.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${h}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)("div",{onPointerDown:j,onPointerMove:y,onPointerUp:k,className:"hidden sm:block absolute left-0 top-0 bottom-0 w-1.5 cursor-col-resize z-10 hover:bg-primary/20 active:bg-primary/30 transition-colors rounded-l-xl"}),(0,t.jsx)(X.SheetHeader,{children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(P.Mail,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,t.jsx)(X.SheetTitle,{className:"truncate flex-1",children:u?"Loading...":i?.subject||"Email"}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>v(!1),children:(0,t.jsx)($.X,{className:"h-4 w-4"})})]})}),(0,t.jsx)(X.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)(f.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):i?(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:i.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:i.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(i.created_at).toLocaleString()})]})]}),c?.isHtml?(0,t.jsx)(K.EmailBodyFrame,{html:c.content,className:"max-w-full"}):(0,t.jsx)("pre",{className:"whitespace-pre-wrap text-sm font-mono",children:c?.content}),i.attachments&&i.attachments.length>0&&(0,t.jsxs)("div",{className:"border-t pt-3",children:[(0,t.jsxs)("p",{className:"text-xs text-muted-foreground mb-2",children:[i.attachments.length," attachment",i.attachments.length>1?"s":""]}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:i.attachments.map(e=>(0,t.jsx)("span",{className:"inline-flex items-center gap-1 text-xs bg-muted rounded px-2 py-1",children:e.filename},e.key))})]})]}):null})]})})}var Z=e.i(169678),Q=e.i(364079);function G({bufferedMessages:e,onDelete:a}){let[r,n]=(0,s.useState)(!1),l=e.length;if(0===l)return null;let i=Math.min(l,3);return(0,t.jsx)("div",{className:"relative px-5 pb-1",children:(0,t.jsx)("div",{className:"mx-auto max-w-2xl flex justify-center",children:(0,t.jsxs)("div",{className:"relative w-full max-w-lg transition-[height] duration-200 ease-out",style:{height:r?32*l+(l-1)*4:32+(i-1)*6},onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),children:[e.map((e,s)=>{var n;let c=l-1-s,d=s>=l-i;return(0,t.jsx)("div",{className:"absolute right-0 left-0 transition-all duration-200 ease-out",style:{height:32,zIndex:s+1,bottom:r?36*c:d?6*c:0,transform:r?"scale(1)":`scale(${d?1-.03*c:.91})`,opacity:r?1:d?1-.2*c:0,pointerEvents:r||d?"auto":"none"},children:(0,t.jsxs)("div",{className:"h-full rounded-lg border bg-background/95 backdrop-blur-sm shadow-sm flex items-center gap-2 px-3",children:[(0,t.jsx)("span",{className:"shrink-0 text-[11px] text-primary/60 tabular-nums w-4 text-center",children:s+1}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 flex items-center gap-1.5",children:[(0,t.jsx)("p",{className:"text-[13px] text-muted-foreground leading-snug truncate",children:(n=e.content).length<=80?n:n.slice(0,80).trimEnd()+"…"}),e.attachment_ids&&e.attachment_ids.length>0&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-0.5 shrink-0 text-[11px] text-muted-foreground/50",children:[(0,t.jsx)(q.Paperclip,{className:"size-2.5"}),e.attachment_ids.length]})]}),(0,t.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),a(e.id)},className:(0,o.cn)("shrink-0 rounded-sm p-0.5 transition-all duration-150","text-muted-foreground/30 hover:text-foreground hover:bg-muted",r?"opacity-100":"opacity-0"),tabIndex:r?0:-1,children:(0,t.jsx)($.X,{className:"size-3"})})]})},e.id)}),!r&&l>i&&(0,t.jsxs)("span",{className:"absolute -top-4 right-1 text-[10px] text-muted-foreground/40 tabular-nums",children:["+",l-i," more"]})]})})})}var ee=e.i(219658);let et={id:"",agent_id:"",runtime_id:"",conversation_id:"",workspace_id:"",prompt:"",status:"completed",priority:0,dispatched_at:null,started_at:null,completed_at:null,result:null,error:null,created_at:"",type:""};function es({taskId:e,stepCount:a,workspaceId:r}){let[n,l]=(0,s.useState)([]),[i,o]=(0,s.useState)(!1),[c,d]=(0,s.useState)(!1),u=(0,s.useCallback)(async()=>{if(!c&&!i){o(!0);try{let t=await (0,w.getTaskMessages)(e,r);l(t)}catch{l([])}finally{o(!1),d(!0)}}},[c,i,e,r]);return(0,t.jsx)(b,{task:et,messages:n,stepCountHint:a,onExpandSteps:u,stepsLoading:i})}let ea=(0,u.default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);var er=e.i(251638);let en=(0,u.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,en],618615);var el=e.i(89440);let ei={mention:["data-agent-id"]},eo=["mention"];function ec({content:e,conversationType:s}){let a=ej(e,s),r="h-4 w-4 mt-0.5 shrink-0";return"issue"===a?(0,t.jsx)(er.CircleDot,{className:r}):"email"===a?(0,t.jsx)(P.Mail,{className:r}):(0,t.jsx)(ea,{className:r})}function ed({attachmentIds:e,artifacts:s,onArtifactClick:a}){let r=e.map(e=>s.find(t=>t.id===e)).filter(e=>!!e);return 0===r.length?null:(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:r.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:[(0,t.jsx)(F.FileText,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-37.5",children:e.filename})]},e.id))})}function eu({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)(F.FileText,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-37.5",children:e.name})]},s))}):null}let em=(0,s.memo)(function({msg:e,agents:a,artifacts:r,activeTask:n,taskMessages:i,connectionLost:d,isLastMessage:u,stepCount:m,targetConvId:h,workspaceId:p,conversationType:f,pendingFilesByMessage:x,onArtifactClick:v,onEmailClick:j,onIssueClick:y,onRetry:k,mentionComponents:w,isFlagged:N,onToggleFlag:C}){let S,_,T,[I,z]=(0,s.useState)(!1),E=n&&"assistant"===e.role&&e.task_id===n.id&&e.conversation_id===n.conversation_id&&i.length>0,R=!E&&h&&"assistant"===e.role&&e.task_id&&m>0?m:0,F=E&&n&&["completed","failed","cancelled","superseded"].includes(n.status),P="assistant"===e.role?(0,t.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[(0,t.jsxs)(A.Tooltip,{children:[(0,t.jsx)(A.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-xs","aria-label":I?"Copied":"Copy message",onClick:async t=>{t.stopPropagation();try{await navigator.clipboard.writeText(e.content),z(!0),M.toast.success("Copied to clipboard"),setTimeout(()=>z(!1),2e3)}catch{M.toast.error("Failed to copy")}},className:(0,o.cn)("self-start mb-1",I?"text-green-500 opacity-100":"text-muted-foreground opacity-0 group-hover/msg:opacity-100")}),children:I?(0,t.jsx)(c.Check,{className:"size-3.5"}):(0,t.jsx)(el.Copy,{className:"size-3.5"})}),(0,t.jsx)(A.TooltipContent,{children:I?"Copied":"Copy"})]}),C&&(0,t.jsxs)(A.Tooltip,{children:[(0,t.jsx)(A.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-xs",onClick:()=>C(e.id),className:(0,o.cn)("self-start mb-1",N?"text-primary opacity-100":"text-muted-foreground opacity-0 group-hover/msg:opacity-100")}),children:(0,t.jsx)(en,{className:(0,o.cn)("size-3.5",N&&"fill-current")})}),(0,t.jsx)(A.TooltipContent,{children:N?"Unflag":"Flag"})]})]}):null;return(0,t.jsxs)(s.default.Fragment,{children:[E&&(0,t.jsxs)("div",{className:(0,o.cn)("group/msg",N&&"bg-muted/30 rounded-lg px-2 -mx-2"),children:[(0,t.jsx)(b,{task:n,messages:i,connectionLost:d,onRetry:k}),F&&P]}),R>0&&e.task_id&&(0,t.jsx)(es,{taskId:e.task_id,stepCount:R,workspaceId:p}),"user"===e.role?(S=u&&!!n&&"running"!==n.status&&!["completed","failed","cancelled","superseded"].includes(n.status),(0,t.jsx)("div",{className:"flex justify-end","data-message-id":e.id,...e.task_id?{"data-task-id":e.task_id}:{},children:(0,t.jsxs)("div",{className:(0,o.cn)("max-w-[80%] rounded-lg px-4 py-2 bg-primary text-primary-foreground text-base relative"),children:[S&&(0,t.jsx)("div",{className:"absolute inset-0 rounded-lg animate-pulse pointer-events-none",style:{boxShadow:"0 0 0 2px var(--bubble-glow)"}}),(0,t.jsx)("div",{className:"markdown markdown-user",children:(0,t.jsx)(g.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!1,download:!1,fullscreen:!1}},linkSafety:{enabled:!1},allowedTags:ei,literalTagContent:eo,components:w,children:U(e.content,a)})}),e.attachment_ids&&e.attachment_ids.length>0&&(0,t.jsx)(ed,{attachmentIds:e.attachment_ids,artifacts:r,onArtifactClick:v}),!e.attachment_ids&&(0,t.jsx)(eu,{pendingFiles:x,messageId:e.id})]})})):"event"===e.role?(_=e.metadata?.emailId,T=e.metadata?.issueId,(0,t.jsx)("div",{className:"flex justify-start","data-message-id":e.id,...e.task_id?{"data-task-id":e.task_id}:{},children:(0,t.jsxs)("div",{className:(0,o.cn)("w-full rounded-md border bg-muted/50 text-muted-foreground text-sm px-3 py-2 flex items-start gap-2",(!!_||!!T)&&"cursor-pointer hover:bg-muted transition-colors"),onClick:_?()=>j(_):T?()=>y(T):void 0,children:[(0,t.jsx)(ec,{content:e.content,conversationType:f}),(0,t.jsx)("span",{className:"min-w-0 wrap-anywhere",children:e.content})]})})):E?null:(0,t.jsxs)("div",{className:(0,o.cn)("group/msg flex flex-col justify-start min-w-0 overflow-hidden",N&&"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.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,t.jsx)(g.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},allowedTags:ei,literalTagContent:eo,components:w,children:U(e.content,a)})}),P]})]})});e.i(400175);var eh=e.i(819748),ep=e.i(126366),ef=e.i(309475);function eg({agent:e,isOnline:a,activeTaskCount:r,variant:n="default",isHovered:l}){let[i,d]=(0,s.useState)(!1),u=e.email_handle?`${e.email_handle}@alook.ai`:null,m=(0,s.useCallback)(async()=>{if(u)try{await navigator.clipboard.writeText(u),d(!0),M.toast.success("Email copied to clipboard"),setTimeout(()=>d(!1),2e3)}catch{M.toast.error("Failed to copy email")}},[u]);if("compact"===n){let s;return(0,t.jsxs)("div",{className:"flex items-center gap-2 p-0",children:[(s=(0,ep.parseAvatarUrl)(e.avatar_url))?(0,t.jsx)(eh.AnimatedAvatar,{config:s,size:32,className:"shrink-0 rounded-xl",isHovered:l??!1,isWorking:!!a&&(r??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}),u&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:u})]}),void 0!==a&&(0,t.jsx)("div",{className:"pointer-events-none mt-0.5",children:(0,t.jsx)(ef.AgentStatusBadge,{isOnline:a,taskCount:r??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,o.cn)("size-1.5 rounded-full",a?"bg-status-online":"bg-status-offline")}),a?(r??0)>0?"Working":null:"Offline"]})]}),u&&(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:u}),(0,t.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),m()},className:"shrink-0 p-0.5 rounded-sm text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:i?(0,t.jsx)(c.Check,{className:"size-3 text-green-500"}):(0,t.jsx)(el.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,eg],844010);var ex=e.i(224950);let ev={mention:function(e){let{children:s,...a}=e,{agents:r}=(0,C.useAgentContext)(),n=a["data-agent-id"]??a.dataAgentId,l=n?r.find(e=>e.id===n):void 0;if(!l&&"string"==typeof s){let e=s.startsWith("@")?s.slice(1):s;l=r.find(t=>t.name.toLowerCase()===e.toLowerCase())}return l?(0,t.jsxs)(ex.Popover,{children:[(0,t.jsx)(ex.PopoverTrigger,{openOnHover:!0,delay:300,nativeButton:!1,render:(0,t.jsx)("span",{className:"mention-highlight cursor-pointer"}),children:s}),(0,t.jsx)(ex.PopoverContent,{side:"top",className:"w-fit max-w-80",children:(0,t.jsx)(eg,{agent:l})})]}):(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 ej(e,t){if("issue_event"===t)return"issue";if("email_notification"===t)return"email";if("calendar_event"===t)return"calendar";let s=e.toLowerCase();return s.startsWith("issue ")||s.startsWith("issue:")?"issue":s.includes("email")?"email":"calendar"}function ey(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[...s.values()].slice().sort((e,t)=>{let s=e.created_at.localeCompare(t.created_at);return 0!==s?s:e.id.localeCompare(t.id)})}function ek(e){let t=[],s=[],a=!1;for(let r of e)"message"===r.kind&&"user"===r.data.role?(a=!0,t.push(r)):"message"===r.kind&&"assistant"===r.data.role?(t.push(r),t.push(...s),s=[],a=!1):a&&"artifact"===r.kind?s.push(r):t.push(r);return t.push(...s),t}function eb(e){let t=(0,s.useRef)(e);return(0,s.useEffect)(()=>{t.current=e},[e]),t}function ew({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 eN({artifact:e,version:s,hasDuplicates:a,onClick:r}){return(0,t.jsxs)("button",{onClick:()=>r(e),className:(0,o.cn)("flex items-center gap-3 w-full max-w-sm rounded-lg border border-border/60 bg-muted/30","px-3.5 py-2.5 text-left transition-colors duration-150","hover:bg-muted/60 hover:border-border"),children:[(0,t.jsx)(F.FileText,{className:"size-4 shrink-0 text-muted-foreground"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("p",{className:"text-sm font-medium truncate",children:[e.filename,a&&(0,t.jsxs)("span",{className:"ml-1.5 text-xs text-muted-foreground bg-muted rounded-full px-1.5 py-0.5 font-normal",children:["v",s]})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:(0,Y.formatSize)(e.size)})]})]})}function eC({agentId:e,targetConvId:i,scrollToTaskId:c,scrollToMessageId:d}){let u,m,h,p=(0,r.useParams)(),g=(0,r.useSearchParams)(),{workspaceId:x,slug:v}=(0,n.useWorkspace)(),{agents:j,agentLinks:y,activeTaskCounts:k,subscribeWs:H}=(0,C.useAgentContext)(),{refresh:V}=(0,S.useInboxCount)(),{activeChannel:X,loading:K,setAgentId:et}=(0,T.useChannel)(),es=e??p.id,ea=void 0!==c?c:g.get("task"),er=void 0!==d?d:g.get("msg"),en=void 0!==i?i:g.get("conv"),[el,ei]=(0,s.useState)(null),[eo,ec]=(0,s.useState)([]),[ed,eu]=(0,s.useState)(()=>localStorage.getItem(`chat-draft:${es}:${en??"default"}`)??""),[eh,ep]=(0,s.useState)(!1),[ef,eg]=(0,s.useState)(!1),[ex,ej]=(0,s.useState)(null),[eS,e_]=(0,s.useState)([]),[eT,eM]=(0,s.useState)(!0),[eI,eA]=(0,s.useState)(!1),[ez,eE]=(0,s.useState)(!1),[eR,eF]=(0,s.useState)(!1),[eP,eD]=(0,s.useState)([]),[eL,eq]=(0,s.useState)(!1),[eB,e$]=(0,s.useState)(null),[eW,eH]=(0,s.useState)(null),[eO,eV]=(0,s.useState)(!1),[eU,eY]=(0,s.useState)(null),[eX,eK]=(0,s.useState)(!1),[eJ,eZ]=(0,s.useState)(null),[eQ,eG]=(0,s.useState)(null),[e0,e1]=(0,s.useState)(!1),[e2,e5]=(0,s.useState)(null),[e3,e4]=(0,s.useState)(null),[e6,e8]=(0,s.useState)(448),[e7,e9]=(0,s.useState)([]),[te,tt]=(0,s.useState)([]),[ts,ta]=(0,s.useState)(null),[tr,tn]=(0,s.useState)([]),[tl,ti]=(0,s.useState)(!1),[to,tc]=(0,s.useState)([]),[td,tu]=(0,s.useState)({}),[tm]=(0,s.useState)(()=>Date.now()),[th,tp]=(0,s.useState)(()=>new Map),[tf,tg]=(0,s.useState)(null),[tx,tv]=(0,s.useState)(null),[tj,ty]=(0,s.useState)(new Set),tk=(0,s.useRef)(tj);(0,s.useEffect)(()=>{tk.current=tj});let{increment:tb,decrement:tw,refresh:tN}=(0,_.useFlagCount)(),{cachedMessages:tC,isFromCache:tS,writeToCache:t_}=function(e,t){let[a,r]=(0,s.useState)(null),[n,l]=(0,s.useState)(!1),i=(0,s.useRef)(e);return(0,s.useEffect)(()=>{if(i.current=e,!e||!t){r(null),l(!1);return}(0,N.openCacheDB)(t);let s=!1;return(0,N.getCachedMessages)(e,t).then(t=>{s||i.current!==e||(t&&t.length>0?(r(t),l(!0)):(r(null),l(!1)))}),()=>{s=!0}},[e,t]),{cachedMessages:a,isFromCache:n,writeToCache:(0,s.useCallback)(async(e,s)=>{i.current&&t&&await (0,N.mergeCachedMessages)(i.current,e,s,t)},[t])}}(en??null,x),tT=(0,s.useRef)(tC),tM=(0,s.useRef)(tS),tI=(0,s.useRef)(t_);(0,s.useEffect)(()=>{tT.current=tC,tM.current=tS,tI.current=t_},[tC,tS,t_]),(0,s.useEffect)(()=>{et(es)},[es,et]);let{listening:tA,supported:tz,toggle:tE}=function(e){let[t,a]=(0,s.useState)(!1),[r,n]=(0,s.useState)(!1),l=(0,s.useRef)(null);(0,s.useEffect)(()=>{n(!!W())},[]);let i=(0,s.useCallback)(()=>{let t=W();if(!t)return;let s=new t;s.lang=navigator.language||"zh-CN",s.interimResults=!1,s.continuous=!1,s.onresult=t=>{let s=t.results,a="";for(let e=0;e<s.length;e++)a+=s[e][0].transcript;a&&e(a)},s.onend=()=>{a(!1),l.current=null},s.onerror=()=>{a(!1),l.current=null},l.current=s,s.start(),a(!0)},[e]),o=(0,s.useCallback)(()=>{l.current?.stop()},[]),c=(0,s.useCallback)(()=>{t?o():i()},[t,i,o]);return(0,s.useEffect)(()=>()=>{l.current?.abort()},[]),{listening:t,supported:r,toggle:c}}((0,s.useCallback)(e=>{eu(t=>t?t+" "+e:e)},[])),tR=(0,s.useMemo)(()=>eP.filter(e=>"agent"===e.source),[eP]),{versionMap:tF,duplicateFilenames:tP}=(0,s.useMemo)(()=>(0,Q.computeArtifactVersions)(tR),[tR]),tD=(0,s.useMemo)(()=>"agent"===eW?tR:"issue"===eW?eQ?.artifacts??[]:[],[eW,tR,eQ?.artifacts]),{versionMap:tL,duplicateFilenames:tq}=(0,s.useMemo)(()=>(0,Q.computeArtifactVersions)(tD),[tD]),tB=(0,s.useMemo)(()=>(function(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)}),ek(a)}let r=new Set(s.map(e=>e.id.replace(/^nap-/,""))),n=[...s].sort((e,t)=>e.created_at.localeCompare(t.created_at)),l=s=>ek([...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)})),i=[];for(let e of n){let t=e.id.replace(/^nap-/,"");i.push(...l(t)),i.push({kind:"nap",data:e})}i.push(...l(a));let o=new Set([...r,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=ek(e),s=i.findIndex(e=>"nap"===e.kind);s>=0?i.splice(s,0,...t):i.push(...t)}return i})(eo,tR,to,el?.id),[eo,tR,to,el?.id]),t$=(0,s.useCallback)(e=>{(0,Q.isPreviewable)(e)?(e$(e),eH("agent"),eq(!0)):window.open((0,Q.getArtifactUrl)(e.id,x,!0),"_blank")},[x]),tW=(0,s.useCallback)(e=>{(0,Q.isPreviewable)(e)?(e$(e),eH("issue"),eq(!0)):window.open((0,Q.getArtifactUrl)(e.id,x,!0),"_blank")},[x]),tH=(0,s.useRef)(null),tO=(0,s.useRef)(null),tV=(0,s.useRef)(null),tU=(0,s.useRef)(null),tY=(0,s.useRef)(0),tX=(0,s.useRef)(0),tK=(0,s.useRef)(!1),tJ=(0,s.useRef)(!1),tZ=(0,s.useRef)(!0),tQ=(0,s.useRef)(!1),tG=(0,s.useRef)(null),t0=(0,s.useRef)(null),t1=(0,s.useRef)(0),t2=(0,s.useRef)(void 0),t5=(0,s.useRef)(null),t3=(0,s.useRef)(null),t4=function({input:e,caretIndex:t,textareaRef:a,agents:r,agentLinks:n,currentAgentId:l,onInputChange:i}){let[o,c]=(0,s.useState)(!1),[d,u]=(0,s.useState)(""),[m,h]=(0,s.useState)(0),[p,f]=(0,s.useState)({top:0,left:0}),g=(0,s.useRef)(null),x=(0,s.useMemo)(()=>{let e=new Set;for(let t of n)t.source_agent_id===l&&e.add(t.target_agent_id),t.target_agent_id===l&&e.add(t.source_agent_id);return e},[n,l]),{relatedAgents:v,otherAgents:j,allAgents:y}=(0,s.useMemo)(()=>{if(!o)return{relatedAgents:[],otherAgents:[],allAgents:[]};let e=e=>{if(!d)return e.slice(0,20);let t=d.toLowerCase(),s=[],a=[];for(let r of e){let e=r.name.toLowerCase();e.startsWith(t)?s.push(r):e.includes(t)&&a.push(r)}return[...s,...a]},t=[],s=[];for(let e of r)x.has(e.id)?t.push(e):s.push(e);let a=e(t),n=e(s);return{relatedAgents:a,otherAgents:n,allAgents:[...a,...n]}},[o,d,r,x]);(0,s.useEffect)(()=>{h(0)},[y.length,d]),(0,s.useEffect)(()=>{if(null===t)return void c(!1);let s=function(e,t){let s=t-1;for(;s>=0&&t-s<=30;){let a=e.charCodeAt(s);if(64===a)return{start:s,query:e.slice(s+1,t)};if(10===a||13===a)break;s--}return null}(e,t);s?(g.current=s.start,u(s.query),c(!0),a.current&&f(function(e,t){let s=document.createElement("div"),a=window.getComputedStyle(e);for(let t of(s.style.position="absolute",s.style.top="-9999px",s.style.left="-9999px",s.style.visibility="hidden",s.style.overflow="hidden",s.style.width=`${e.offsetWidth}px`,["fontFamily","fontSize","fontWeight","fontStyle","letterSpacing","textTransform","wordSpacing","textIndent","lineHeight","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","boxSizing","whiteSpace","wordWrap","overflowWrap"]))s.style[t]=a.getPropertyValue(t.replace(/([A-Z])/g,"-$1").toLowerCase());s.textContent=e.value.slice(0,t);let r=document.createElement("span");r.textContent="​",s.appendChild(r),document.body.appendChild(s);let n=r.offsetTop-e.scrollTop,l=Math.max(0,Math.min(r.offsetLeft,e.offsetWidth-256));return document.body.removeChild(s),{top:n,left:l}}(a.current,s.start))):(c(!1),g.current=null)},[e,t,a]);let k=(0,s.useCallback)(s=>{if(null===t||null===g.current)return;let r=e.slice(0,g.current),n=e.slice(t);i(`${r}@${s.name} ${n}`),c(!1);let l=r.length+1+s.name.length+1;requestAnimationFrame(()=>{let e=a.current;e&&(e.focus(),e.setSelectionRange(l,l))})},[e,t,a,i]),b=(0,s.useCallback)(e=>!!o&&0!==y.length&&!e.nativeEvent.isComposing&&("ArrowDown"===e.key?(e.preventDefault(),h(e=>(e+1)%y.length),!0):"ArrowUp"===e.key?(e.preventDefault(),h(e=>(e-1+y.length)%y.length),!0):"Enter"===e.key?(e.preventDefault(),k(y[m]),!0):"Escape"===e.key&&(e.preventDefault(),c(!1),!0)),[o,y,m,k]);return{isOpen:o,query:d,selectedIndex:m,anchorPos:p,relatedAgents:v,otherAgents:j,allAgents:y,handleMentionKeyDown:b,selectAgent:k}}({input:ed,caretIndex:ts,textareaRef:t3,agents:(0,s.useMemo)(()=>j.filter(e=>e.id!==es),[j,es]),agentLinks:y,currentAgentId:es,onInputChange:eu});(0,s.useEffect)(()=>{let e=`chat-draft:${es}:${en??"default"}`;ed?localStorage.setItem(e,ed):localStorage.removeItem(e)},[ed,es,en]),(0,s.useEffect)(()=>{eh||t3.current?.focus()},[eh]);let t6=(0,s.useCallback)(()=>{tZ.current=!0,setTimeout(()=>{tH.current?.scrollTo({top:tH.current.scrollHeight,behavior:"smooth"})},50)},[]);(0,s.useEffect)(()=>{if(K)return;tO.current&&clearInterval(tO.current),tO.current=null,tU.current=null;let e=!1,t=tT.current,s=tM.current&&t&&t.length>0;return queueMicrotask(()=>{!e&&(eM(!s),tK.current=!1,ej(null),e_([]),tt([]),tp(new Map),tc([]),tu({}),tn([]),ti(!1),t0.current=null,eu(localStorage.getItem(`chat-draft:${es}:${en??"default"}`)??""),s&&ec(t))}),async function(){try{if(en)try{let[t,s,a,r]=await Promise.all([(0,w.getConversation)(en,x),(0,w.listMessages)(en,x),(0,w.listArtifacts)(en,x).catch(()=>[]),(0,w.listBufferedMessages)(en,x).catch(()=>[])]);if(e)return;ei(t),ec(e=>ey(e,s.messages)),eE(s.has_more),eD(a),tt(r),tI.current(s.messages,s.has_more).catch(()=>{});let n=[...new Set(s.messages.filter(e=>"assistant"===e.role&&e.task_id).map(e=>e.task_id))];if(n.length>0&&(0,w.getTaskStepCounts)(n,x).then(t=>{e||tu(t)}).catch(()=>{}),(0,w.listFlaggedMessageIds)(x,en).then(t=>{e||ty(new Set(t.message_ids))}).catch(()=>{}),ea){let t=await (0,w.getTask)(ea,x).catch(()=>null);if(e)return;if(t&&!["completed","failed","cancelled","superseded"].includes(t.status)){ej(t);let s=await (0,w.getTaskMessages)(ea,x).catch(()=>[]);if(e)return;e_(s),s.length>0&&(tY.current=Math.max(...s.map(e=>e.seq))),tG.current?.(t.id,en,tY.current)}}}catch{let t=await (0,w.chatInit)(es,x,X);if(e)return;ei(t.conversation),ec(e=>e.length>0?ey(e,t.messages):t.messages),eE(t.has_more_messages),eD(t.artifacts),tt(t.buffered_messages),ti(t.has_more_conversations),tI.current(t.messages,t.has_more_messages).catch(()=>{}),(0,w.listFlaggedMessageIds)(x,t.conversation.id).then(t=>{e||ty(new Set(t.message_ids))}).catch(()=>{})}else{let t=await (0,w.chatInit)(es,x,X);if(e)return;ei(t.conversation),ec(e=>e.length>0?ey(e,t.messages):t.messages),eE(t.has_more_messages),eD(t.artifacts),tt(t.buffered_messages),ti(t.has_more_conversations),tI.current(t.messages,t.has_more_messages).catch(()=>{}),(0,w.listFlaggedMessageIds)(x,t.conversation.id).then(t=>{e||ty(new Set(t.message_ids))}).catch(()=>{}),t.active_task&&(ej(t.active_task),t.task_messages.length>0&&(e_(t.task_messages),tY.current=Math.max(...t.task_messages.map(e=>e.seq))),["completed","failed","cancelled","superseded"].includes(t.active_task.status)||tG.current?.(t.active_task.id,t.conversation.id,tY.current))}}catch{M.toast.error("Failed to load conversation")}finally{e||eM(!1)}}(),()=>{e=!0}},[es,x,en,ea,X,K]);let t8=(0,s.useRef)(V);(0,s.useEffect)(()=>{t8.current=V},[V]);let t7=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!el?.id||!x||t7.current===el.id)return;t7.current=el.id;let e=setTimeout(()=>{(0,w.markInboxRead)(el.id,x).then(()=>t8.current()).catch(()=>{})},1e3);return()=>{t7.current=null,clearTimeout(e)}},[el?.id,x]),(0,s.useEffect)(()=>{eT||!(eo.length>0)||tK.current||(tK.current=!0,ea||er?tZ.current=!1:i?setTimeout(()=>{let e=tH.current?.querySelectorAll("[data-quote-source]");e&&e.length>0?e[e.length-1].scrollIntoView({behavior:"instant",block:"start"}):tH.current?.scrollTo({top:tH.current.scrollHeight})},50):setTimeout(()=>{tH.current?.scrollTo({top:tH.current.scrollHeight})},50))},[eT,eo.length,ea,er,i]),(0,s.useEffect)(()=>{let e;if(!ea||eT||!el)return;tZ.current=!1,tQ.current=!0;let t=!1,s=()=>{if(t)return!1;let s=document.querySelector(`[data-task-id="${CSS.escape(ea)}"]`);return!!s&&(s.scrollIntoView({behavior:"smooth",block:"start"}),s.classList.add("task-highlight"),e=setTimeout(()=>{s.classList.remove("task-highlight"),t||(tQ.current=!1)},1500),!0)},a=setTimeout(async()=>{if(!t&&!s())try{let e=await (0,w.listMessagesAroundTask)(el.id,x,ea);if(t)return;e.length>0?(ec(t=>ey(t,e)),requestAnimationFrame(()=>{setTimeout(()=>{s()||(tQ.current=!1)},100)})):tQ.current=!1}catch{t||(tQ.current=!1)}},100);return()=>{t=!0,clearTimeout(a),e&&clearTimeout(e)}},[ea,eT,el,x]),(0,s.useEffect)(()=>{let e;if(!er||ea||eT||!el)return;tZ.current=!1,tQ.current=!0;let t=!1,s=setTimeout(()=>{!t&&((()=>{if(t)return!1;let s=document.querySelector(`[data-message-id="${CSS.escape(er)}"]`);return!!s&&(s.scrollIntoView({behavior:"smooth",block:"start"}),s.classList.add("task-highlight"),e=setTimeout(()=>{s.classList.remove("task-highlight"),t||(tQ.current=!1)},1500),!0)})()||(tH.current?.scrollTo({top:tH.current.scrollHeight}),tQ.current=!1))},100);return()=>{t=!0,clearTimeout(s),e&&clearTimeout(e)}},[er,ea,eT,el]);let t9=ex?.status;(0,s.useEffect)(()=>{tQ.current||("running"===t9||"queued"===t9)&&tZ.current&&t6()},[eS.length,t9,t6]);let se=(0,s.useMemo)(()=>j.find(e=>e.id===es)?.name??"Agent",[j,es]),st=eb(eo),ss=eb(ez),sa=eb(tr),sr=eb(tl),sn=eb(se),sl=eb(X),si=(0,s.useCallback)(async(e=!1)=>{if(!el||tJ.current)return;tJ.current=!0;let t=st.current,s=ss.current,r=sr.current,n=sn.current,l=sl.current,i=t[0],o=t0.current?.id??el.id,c=s&&i,d=sa.current;if(!c&&0===d.length&&r){let e=t0.current??{id:el.id,created_at:el.created_at};try{let t=await (0,w.listPreviousConversations)(es,x,{exclude:el.id,before:e.created_at,channel:l});d=t.conversations,tn(t.conversations),ti(t.has_more)}catch{ti(!1)}}let u=d.length>0;if(!c&&!u){tJ.current=!1;return}eF(!0);let m=tH.current;m&&(m.style.overflowAnchor="none");let h=m?.scrollHeight??0;try{let t=[],s=[],u=20,p=!1,f=[];if(c){let e=await (0,w.listMessages)(o,x,{limit:20,before:i.created_at,beforeId:i.id});t=e.messages,u-=e.messages.length,p=e.has_more}if(!p&&u>0){if(0===d.length&&r){let e=t0.current??{id:el.id,created_at:el.created_at};try{let t=await (0,w.listPreviousConversations)(es,x,{exclude:el.id,before:e.created_at,channel:l});d=t.conversations,tn(t.conversations),ti(t.has_more)}catch{ti(!1)}}let e=0,t=0;for(;e<d.length&&u>0&&t<5;){let a=d[e];e++,t++;let r=await (0,w.listMessages)(a.id,x,{limit:u});if(0===r.messages.length){t0.current=a;continue}let l=t0.current?.created_at??el.created_at;f.push({agentName:n,created_at:l,id:`nap-${a.id}`}),s=[...r.messages,...s],u-=r.messages.length,p=r.has_more,t0.current=a}e>0&&tn(t=>t.slice(e))}let g=[...s,...t];if((0,a.flushSync)(()=>{g.length>0?(f.length>0&&tc(e=>{let t=new Set(e.map(e=>e.id)),s=f.filter(e=>!t.has(e.id));return[...e,...s]}),eE(p),ec(e=>{let t=new Set(e.map(e=>e.id));return[...g.filter(e=>!t.has(e.id)),...e]})):eE(!1)}),g.length>0&&el){let e=g.filter(e=>e.conversation_id===el.id);e.length>0&&(0,N.mergeCachedMessages)(el.id,e,p,x).catch(()=>{})}if(tJ.current=!1,(0,a.flushSync)(()=>eF(!1)),m)if(e)m.scrollTop=m.scrollHeight;else{let e=m.scrollHeight;m.scrollTop=e-h}}catch{M.toast.error("Failed to load older messages")}finally{tJ.current=!1,eF(!1),tH.current&&(tH.current.style.overflowAnchor="")}},[el,x,es,st,ss,sr,sn,sl,sa]),so=ez||tr.length>0||tl;(0,s.useEffect)(()=>{el?.id!==t2.current&&(t2.current=el?.id,t1.current=0)},[el?.id]),(0,s.useEffect)(()=>{eT||!el||eo.length>=10||!so||eR||t1.current>=3||(t1.current+=1,si(!0))},[eT,eo.length,so,eR,el,si]);let sc=(0,s.useCallback)(()=>{let e=tH.current;e&&(tZ.current=e.scrollHeight-e.scrollTop-e.clientHeight<100)},[]),sd=(0,s.useCallback)((e,t,s)=>{tO.current&&clearInterval(tO.current),tY.current=s??0,tX.current=0,eA(!1),tU.current=e,tO.current=setInterval(async()=>{if(tU.current===e)try{let[s,a]=await Promise.all([(0,w.getTask)(e,x),(0,w.getTaskMessages)(e,x,tY.current||void 0)]),r=tU.current!==e;if(tX.current=0,eA(!1),a.length>0&&!r&&(e_(e=>{let t=new Set(e.map(e=>e.seq)),s=a.filter(e=>!t.has(e.seq));return s.length>0?[...e,...s]:e}),tY.current=Math.max(...a.map(e=>e.seq),tY.current)),"completed"===s.status||"failed"===s.status||"cancelled"===s.status||"superseded"===s.status){if(r)return void(0,w.listMessages)(t,x).then(({messages:e})=>ec(t=>ey(t,e))).catch(()=>{});tO.current&&clearInterval(tO.current),tO.current=null,tV.current&&clearTimeout(tV.current),tV.current=setTimeout(()=>{(0,w.markInboxRead)(t,x).then(()=>t8.current()).catch(()=>{})},1e3);let a=!tQ.current&&tZ.current;try{let[e,a]=await Promise.all([(0,w.listMessages)(t,x),(0,w.listArtifacts)(t,x).catch(()=>null)]);ec(t=>ey(t,e.messages)),a&&eD(a),ej(s)}catch{ej(s),M.toast.error("Failed to refresh messages")}a&&requestAnimationFrame(()=>{tH.current?.scrollTo({top:tH.current.scrollHeight,behavior:"smooth"})}),setTimeout(async()=>{if(!tO.current)try{let[s,a]=await Promise.all([(0,w.getActiveTask)(t,x),(0,w.listBufferedMessages)(t,x)]);if(tt(a),s&&s.id!==e){let{messages:e}=await (0,w.listMessages)(t,x);ec(t=>ey(t,e)),ej(s),e_([]),tG.current?.(s.id,t)}}catch{}},1e3)}else r||ej(s)}catch{if(tU.current!==e)return;tX.current+=1,tX.current>=3&&eA(!0),tX.current>=10&&(tO.current&&clearInterval(tO.current),tO.current=null,M.toast.error("Lost connection to agent"))}},3e3)},[x]);(0,s.useEffect)(()=>{tG.current=sd},[sd]),(0,s.useEffect)(()=>()=>{tO.current&&clearInterval(tO.current),tV.current&&clearTimeout(tV.current)},[]);let su=(0,s.useRef)(null);(0,s.useEffect)(()=>{su.current=ex?.id??null},[ex]),(0,s.useEffect)(()=>H(e=>{if("task.messages"===e.type&&e.taskId===su.current){let t=e.messages.filter(e=>e.seq>tY.current);t.length>0&&(e_(e=>{let s=new Set(e.map(e=>e.seq)),a=t.filter(e=>!s.has(e.seq));return a.length>0?[...e,...a]:e}),tY.current=Math.max(...t.map(e=>e.seq),tY.current))}if("task.created"===e.type&&e.conversationId===el?.id){(0,w.listMessages)(e.conversationId,x).then(({messages:e})=>ec(t=>ey(t,e))).catch(()=>{});let t=e.task;su.current=t.id,ej(t),e_([]),tY.current=0,tG.current?.(t.id,e.conversationId)}if("conversation.message"===e.type&&e.conversationId===el?.id&&(ec(t=>ey(t,[e.message])),(0,N.appendCachedMessage)(e.conversationId,e.message,x).catch(()=>{})),"artifact.uploaded"===e.type&&e.conversationId===el?.id&&eD(t=>t.some(t=>t.id===e.artifact.id)?t:[...t,e.artifact]),"followup.dispatched"===e.type&&e.conversationId===el?.id){tt(t=>t.filter(t=>t.id!==e.message.id)),(0,w.listBufferedMessages)(e.conversationId,x).then(tt).catch(()=>{}),(0,w.listMessages)(e.conversationId,x).then(({messages:e})=>ec(t=>ey(t,e))).catch(()=>{}),(0,N.appendCachedMessage)(e.conversationId,e.message,x).catch(()=>{});let t=e.task;su.current=t.id,ej(t),e_([]),tG.current?.(t.id,e.conversationId)}"followup.created"===e.type&&e.conversationId===el?.id&&tt(t=>(function(e,t){if(e.some(e=>e.id===t.id))return e;let s=new Date(t.created_at).getTime();return e.some(e=>e.id.startsWith("temp-")&&2e3>Math.abs(new Date(e.created_at).getTime()-s))?e:[...e,t]})(t,e.message)),"followup.deleted"===e.type&&e.conversationId===el?.id&&tt(t=>t.filter(t=>t.id!==e.messageId)),"followup.dispatch_failed"===e.type&&e.conversationId===el?.id&&M.toast.error(e.error||"Failed to dispatch follow-up")}),[H,el?.id,x]);let sm=(0,s.useCallback)(e=>{let t=e.target.files;if(!t)return;let s=[];for(let e of Array.from(t))e.size>0xa00000?M.toast.error(`"${e.name}" exceeds 10 MB limit`):s.push(e);s.length>0&&e9(e=>[...e,...s]),e.target.value=""},[]),sh=(0,s.useCallback)(e=>{e9(t=>t.filter((t,s)=>s!==e))},[]),sp=(0,s.useCallback)(()=>{let e=window.getSelection();if(!e||e.isCollapsed||!e.rangeCount)return void tv(null);let t=e.toString().trim();if(!t)return void tv(null);let s=e.getRangeAt(0),a=s.commonAncestorContainer instanceof HTMLElement?s.commonAncestorContainer:s.commonAncestorContainer.parentElement;if(!a?.closest("[data-quote-source]"))return void tv(null);let r=s.getClientRects(),n=r[r.length-1]||s.getBoundingClientRect();tv({text:t,x:n.right,y:n.top-4})},[]);(0,s.useEffect)(()=>(document.addEventListener("selectionchange",sp),()=>document.removeEventListener("selectionchange",sp)),[sp]);let sf=(0,s.useCallback)(()=>{tx&&(tg(tx.text),tv(null),window.getSelection()?.removeAllRanges(),t3.current?.focus())},[tx]),[sg,sx]=(0,s.useState)(!1),sv=(0,s.useRef)(0),sj=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),sv.current++,e.dataTransfer.types.includes("Files")&&sx(!0)},[]),sy=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),sv.current--,0===sv.current&&sx(!1)},[]),sk=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),sb=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),sx(!1),sv.current=0;let t=Array.from(e.dataTransfer.files),s=[];for(let e of t)e.size>0xa00000?M.toast.error(`"${e.name}" exceeds 10 MB limit`):s.push(e);s.length>0&&e9(e=>[...e,...s])},[]),sw=(0,s.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let s=[];for(let e=0;e<t.length;e++){let a=t[e];if("file"===a.kind){let e=a.getAsFile();e&&s.push(e)}}if(0===s.length)return;e.preventDefault();let a=[];for(let e of s)e.size>0xa00000?M.toast.error(`"${e.name}" exceeds 10 MB limit`):a.push(e);a.length>0&&e9(e=>[...e,...a])},[]),sN=async()=>{if(el&&!ef){eg(!0);try{let e=await (0,w.cancelActiveTask)(el.id,x);if(e){if(su.current&&su.current!==e.id)return;tO.current&&clearInterval(tO.current),tO.current=null;let[t,s]=await Promise.all([(0,w.listMessages)(el.id,x),(0,w.listBufferedMessages)(el.id,x)]);ec(e=>ey(e,t.messages)),tt(s),ej(e),e_([])}}catch{M.toast.error("Failed to cancel task")}finally{eg(!1)}}},sC=async()=>{let e=ed.trim();if(!e&&0===e7.length||eh||!el)return;if(!e)return void M.toast.error("Please type a message");let t=tf?`> ${tf.split("\n").join("\n> ")}
2
+
3
+ ${e}`:e,s=[...e7];if(eu(""),e9([]),tg(null),ep(!0),ex&&!["completed","failed","cancelled","superseded"].includes(ex.status)){let e=`temp-${Date.now()}`,a={id:e,conversation_id:el.id,role:"user",content:t,task_id:null,attachment_ids:null,status:"buffered",created_at:new Date().toISOString()};tt(e=>[...e,a]);try{let{message:a}=await (0,w.createBufferedMessage)(el.id,t,x,s.length>0?s:void 0);tt(t=>t.some(e=>e.id===a.id)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?a:t))}catch(a){tt(t=>t.filter(t=>t.id!==e)),eu(t),e9(s),M.toast.error(a instanceof Error?a.message:"Failed to queue follow-up")}finally{ep(!1)}return}let a=`temp-${Date.now()}`,r={id:a,conversation_id:el.id,role:"user",content:t,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};s.length>0&&tp(e=>{let t=new Map(e);return t.set(a,s),t}),ec(e=>[...e,r]),t6();try{let{message:e,task:n}=await (0,w.sendMessage)(el.id,t,x,s.length>0?s:void 0);tp(e=>{if(!e.has(a))return e;let t=new Map(e);return t.delete(a),t}),ec(t=>t.map(t=>t.id===r.id?e:t)),e.attachment_ids&&e.attachment_ids.length>0&&(0,w.listArtifacts)(el.id,x).then(e=>eD(e)).catch(()=>{}),ej(n),e_([]),sd(n.id,el.id)}catch(e){tp(e=>{if(!e.has(a))return e;let t=new Map(e);return t.delete(a),t}),ec(e=>e.filter(e=>e.id!==r.id)),eu(t),e9(s),M.toast.error(e instanceof Error?e.message:"Failed to send message")}finally{ep(!1),t3.current?.focus()}},sS=(0,s.useCallback)(async()=>{if(!ex||!el)return;let e=await (0,w.retryTask)(ex.id,x);ej(e),e_([]),sd(e.id,el.id)},[ex,el,x,sd]),s_=(0,s.useCallback)(async e=>{let t=tk.current.has(e);ty(s=>{let a=new Set(s);return t?a.delete(e):a.add(e),a}),t?(tw(),(0,w.unflagMessage)(x,e).then(()=>{tN()}).catch(()=>{ty(t=>new Set(t).add(e)),tb()})):(tb(),(0,w.flagMessage)(x,e).then(()=>{tN()}).catch(()=>{ty(t=>{let s=new Set(t);return s.delete(e),s}),tw()}))},[x,tb,tw,tN]),sT=(0,s.useCallback)(async e=>{eZ(e),eK(!0),e1(!0),e5(null),e4(null);try{let t=await (0,w.getIssue)(x,e);eG(t),t.issue.latest_task_id&&(0,w.getTask)(t.issue.latest_task_id,x).then(e=>e4(e)).catch(()=>e4(null)),t.issue.trace_id&&(0,w.getTrace)(t.issue.trace_id,x).then(e=>e5(e.tasks)).catch(()=>e5(null))}catch(e){M.toast.error(e instanceof Error?e.message:"Failed to load issue"),eK(!1)}finally{e1(!1)}},[x]),sM=eQ?.issue?.conversation_id??null,sI=eQ?.issue?.latest_task_id??null;(0,s.useEffect)(()=>{if(eX&&eJ)return H(e=>{if("task.updated"===e.type&&sI&&e.taskId===sI&&(0,w.getTask)(sI,x).then(e=>e4(e)).catch(()=>{}),"conversation.message"===e.type&&sM&&e.conversationId===sM&&(eG(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&&eG(e=>e?{...e,issue:{...e.issue,status:t[1]}}:e)}"issue.comment"===e.type&&e.issueId===eJ&&eG(t=>!t||t.comments.some(t=>t.id===e.comment.id)?t:{...t,comments:[...t.comments,e.comment]})})},[eX,eJ,sM,sI,x,H]);let[sA,sz]=(0,s.useState)(!1),sE=(0,s.useMemo)(()=>!!el&&eo.some(e=>e.conversation_id===el.id),[el,eo]),sR=async()=>{if(el&&sE&&!sA){sz(!0);try{tO.current&&(clearInterval(tO.current),tO.current=null);let e=await (0,w.createConversation)(es,x,X);tc(t=>[...t,{agentName:se,created_at:e.created_at,id:`nap-${el.id}`}]),tn(e=>[{id:el.id,created_at:el.created_at},...e]),ei(e),ej(null),e_([]),eD([]),tt([]),e9([]),tp(new Map),tY.current=0,eA(!1),eE(!1),t0.current=null,t6()}catch{M.toast.error("Failed to start new conversation")}finally{sz(!1)}}},sF=!!ex&&!["completed","failed","cancelled","superseded"].includes(ex.status);return eT?(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-2xl py-6 space-y-4",children:[(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(I.Skeleton,{className:"h-10 w-48 rounded-lg"})}),(0,t.jsx)("div",{className:"flex justify-start",children:(0,t.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,t.jsx)(I.Skeleton,{className:"h-4 w-72"}),(0,t.jsx)(I.Skeleton,{className:"h-4 w-56"}),(0,t.jsx)(I.Skeleton,{className:"h-4 w-64"})]})}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(I.Skeleton,{className:"h-10 w-36 rounded-lg"})}),(0,t.jsx)("div",{className:"flex justify-start",children:(0,t.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,t.jsx)(I.Skeleton,{className:"h-4 w-64"}),(0,t.jsx)(I.Skeleton,{className:"h-4 w-48"})]})})]})}),(0,t.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,t.jsx)("div",{className:"mx-auto max-w-2xl",children:(0,t.jsx)(I.Skeleton,{className:"h-18 w-full rounded-xl"})})})]}):el?(0,t.jsxs)(t.Fragment,{children:[tx&&(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:tx.x,top:tx.y,transform:"translate(-100%, -100%)"},onMouseDown:e=>e.preventDefault(),onClick:sf,children:[(0,t.jsx)(D,{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:tH,onScroll:sc,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-2xl py-6 space-y-4 min-w-0",children:[so&&!eR&&(0,t.jsx)("div",{className:"flex justify-center py-2",children:(0,t.jsx)("button",{onClick:()=>si(),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Load earlier messages"})}),eR&&(0,t.jsx)("div",{className:"flex justify-center py-2",children:(0,t.jsx)(f.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}),0===eo.length&&!ex&&(u=j.find(e=>e.id===es),m=u?.created_at&&tm-new Date(u.created_at).getTime()<3e5,h=(k[es]??0)>0,m&&h&&"default"===X?(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)(P.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.jsx)("p",{className:"text-center text-muted-foreground py-20 text-sm",children:"Send a message to start chatting with the agent."})),tB.map(e=>{if("nap"===e.kind)return(0,t.jsx)(ew,{agentName:se},e.data.id);if("artifact"===e.kind)return(0,t.jsx)(eN,{artifact:e.data,version:tF.get(e.data.id)??1,hasDuplicates:tP.has(e.data.filename),onClick:t$},`artifact-${e.data.id}`);let s=e.data;return(0,t.jsx)(em,{msg:s,agents:j,artifacts:eP,activeTask:ex,taskMessages:eS,connectionLost:eI,isLastMessage:eo.length>0&&eo[eo.length-1].id===s.id,stepCount:s.task_id?td[s.task_id]??0:0,targetConvId:en,workspaceId:x,conversationType:el?.type,pendingFilesByMessage:th,onArtifactClick:t$,onEmailClick:e=>{eY(e),eV(!0)},onIssueClick:e=>sT(e),onRetry:sS,mentionComponents:ev,isFlagged:tj.has(s.id),onToggleFlag:"assistant"===s.role?s_:void 0},s.id)}),ex&&ex.conversation_id===el?.id&&!["completed","failed","cancelled","superseded"].includes(ex.status)&&(0,t.jsx)(b,{task:ex,messages:eS,connectionLost:eI})]})}),(0,t.jsx)(ee.ScrollToBottomButton,{scrollRef:tH})]}),el&&(0,t.jsx)(G,{bufferedMessages:te,onDelete:e=>{tt(t=>t.filter(t=>t.id!==e)),(0,w.deleteBufferedMessage)(el.id,e,x).catch(()=>{tt(te),M.toast.error("Failed to delete follow-up")})}}),(0,t.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,t.jsx)("div",{className:"mx-auto max-w-2xl relative",children:(0,t.jsxs)("div",{className:(0,o.cn)("relative flex flex-col rounded-xl border bg-background/60 transition-colors duration-200","focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50",eh&&"opacity-50",sg&&"border-ring ring-3 ring-ring/50"),onDragEnter:sj,onDragLeave:sy,onDragOver:sk,onDrop:sb,children:[sg&&(0,t.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center rounded-xl bg-background/80 border-2 border-dashed border-ring pointer-events-none",children:(0,t.jsx)("p",{className:"text-sm text-muted-foreground font-medium",children:"Drop files here"})}),tf&&(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)(D,{className:"size-3.5 shrink-0 mt-0.5 text-muted-foreground"}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground truncate",children:[tf.slice(0,120),tf.length>120?"...":""]})]}),(0,t.jsx)("button",{type:"button",onClick:()=>tg(null),className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,t.jsx)($.X,{className:"size-3.5"})})]}),(0,t.jsx)(O,{isOpen:t4.isOpen,relatedAgents:t4.relatedAgents,otherAgents:t4.otherAgents,selectedIndex:t4.selectedIndex,onSelect:t4.selectAgent,anchorPos:t4.anchorPos}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("div",{"aria-hidden":!0,className:"mention-backdrop absolute inset-0 px-3.5 py-2.5 text-base chat-input-line-height whitespace-pre-wrap wrap-break-word pointer-events-none overflow-y-auto thin-scrollbar",dangerouslySetInnerHTML:{__html:ed?U(ed.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),j).replace(/<mention[^>]*>/g,'<span class="mention-highlight">').replace(/<\/mention>/g,"</span>")+(ed.endsWith("\n")?"\n":""):""}}),(0,t.jsx)("textarea",{ref:t3,value:ed,onChange:e=>{eu(e.target.value),ta(e.target.selectionStart),requestAnimationFrame(()=>{let t=e.target.previousElementSibling;t&&(t.scrollTop=e.target.scrollTop)})},onKeyDown:e=>{!t4.handleMentionKeyDown(e)&&("Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),sC()))},onPaste:sw,onKeyUp:e=>ta(e.target.selectionStart),onClick:e=>ta(e.target.selectionStart),onSelect:e=>ta(e.target.selectionStart),onScroll:e=>{let t=e.target.previousElementSibling;t&&(t.scrollTop=e.target.scrollTop)},placeholder:sF?"Type a follow-up...":"Type a message...",rows:1,disabled:eh,className:(0,o.cn)("relative field-sizing-content w-full resize-none bg-transparent px-3.5 py-2.5 text-base chat-input-line-height outline-none","placeholder:text-muted-foreground disabled:cursor-not-allowed","min-h-9.5 max-h-50 thin-scrollbar","caret-foreground textarea-text-hidden")})]}),e7.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 px-3.5 pb-1",children:e7.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)(F.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,Y.formatSize)(e.size)}),(0,t.jsx)("button",{type:"button",onClick:()=>sh(s),className:"ml-0.5 rounded-sm p-0.5 hover:bg-muted-foreground/20 transition-colors",children:(0,t.jsx)($.X,{className:"size-3"})})]},`${e.name}-${s}`))}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-2 pb-2 pt-0.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[!en&&(0,t.jsxs)(A.Tooltip,{children:[(0,t.jsx)(A.TooltipTrigger,{render:e=>(0,t.jsx)("span",{...e,className:(0,o.cn)("inline-flex",e.className),children:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onClick:sR,disabled:sA||!el||!sE||sF,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200",children:sA?(0,t.jsx)(f.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(E,{className:"size-3.5"})})})}),(0,t.jsx)(A.TooltipContent,{side:"top",children:sF?"Wait for the task to finish":sE?"Take a nap":`${se} is well-rested and ready to go`})]}),(0,t.jsxs)(A.Tooltip,{children:[(0,t.jsxs)(A.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{eH("agent"),eq(!0)},className:"relative rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:[(0,t.jsx)(R,{className:"size-3.5"}),tR.length>0&&(0,t.jsx)("span",{className:"absolute -top-0.5 -right-0.5 flex size-3.5 items-center justify-center rounded-full bg-primary text-[9px] font-medium text-primary-foreground",children:tR.length})]}),(0,t.jsx)(A.TooltipContent,{side:"top",children:"Artifacts"})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("input",{ref:t5,type:"file",multiple:!0,className:"hidden",onChange:sm}),(0,t.jsxs)(A.Tooltip,{children:[(0,t.jsx)(A.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onPointerDown:e=>e.preventDefault(),onClick:()=>t5.current?.click(),disabled:eh,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,t.jsx)(q.Paperclip,{className:"size-3.5"})}),(0,t.jsx)(A.TooltipContent,{side:"top",children:"Attach files"})]}),tz&&(0,t.jsxs)(A.Tooltip,{children:[(0,t.jsx)(A.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onPointerDown:e=>e.preventDefault(),onClick:tE,disabled:eh,className:(0,o.cn)("rounded-lg transition-colors duration-200",tA?"text-red-500 hover:text-red-600 bg-red-500/10":"text-muted-foreground/60 hover:text-foreground")}),children:(0,t.jsx)(L,{className:(0,o.cn)("size-3.5",tA&&"animate-pulse")})}),(0,t.jsx)(A.TooltipContent,{side:"top",children:tA?"Stop recording":"Voice input"})]}),!sF||ed.trim()||eh?(0,t.jsxs)(A.Tooltip,{children:[(0,t.jsx)(A.TooltipTrigger,{render:(0,t.jsx)(l.Button,{size:"icon-sm",onClick:sC,disabled:!ed.trim()||eh,className:(0,o.cn)("rounded-lg transition-opacity duration-200",!ed.trim()&&"opacity-40")}),children:eh?(0,t.jsx)(f.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(z.ArrowUp,{className:"size-3.5"})}),(0,t.jsx)(A.TooltipContent,{side:"top",children:"Send"})]}):(0,t.jsxs)(A.Tooltip,{children:[(0,t.jsx)(A.TooltipTrigger,{render:(0,t.jsx)(l.Button,{size:"icon-sm",onClick:sN,disabled:ef,className:"rounded-lg bg-red-500/10 text-red-500 hover:bg-red-500/20 transition-colors duration-200"}),children:ef?(0,t.jsx)(f.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(B.Square,{className:"size-3.5 fill-current"})}),(0,t.jsx)(A.TooltipContent,{side:"top",children:"Stop task"})]})]})]})]})})}),(0,t.jsx)(Y.ArtifactSheet,{open:eL,onOpenChange:e=>{eq(e),e||setTimeout(()=>{e$(null),eH(null)},300)},artifacts:tD,workspaceId:x,initialArtifact:eB,versionMap:tL,duplicateFilenames:tq}),(0,t.jsx)(J,{open:eO,onOpenChange:e=>{eV(e),e||setTimeout(()=>eY(null),300)},emailId:eU,workspaceId:x}),(0,t.jsx)(Z.IssueSheet,{open:eX,onOpenChange:e=>{eK(e),e||setTimeout(()=>{eZ(null),eG(null),e4(null)},300)},agents:j,issue:eQ?.issue??null,detail:eQ?{messages:eQ.messages,comments:eQ.comments,artifacts:eQ.artifacts,traceId:eQ.issue.trace_id}:null,detailLoading:e0,activeTask:e3,traceTasks:e2,slug:v,workspaceId:x,width:e6,onWidthChange:e8,onUpdate:async(e,t)=>{try{let s=await (0,w.updateIssue)(x,e,t);eG(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,w.updateIssue)(x,e,{status:t}),eG(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:()=>{eJ&&sT(eJ)},onArtifactClick:tW})]}):(0,t.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:"Failed to load conversation"})}}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,539817,e=>{"use strict";e.s(["WorkspaceShell",()=>eT,"useSidebarTrigger",()=>eS],539817);var t=e.i(368075),n=e.i(298699),r=e.i(208020),s=e.i(355578),i=e.i(500324),o=e.i(224950),a=e.i(728886),l=e.i(613349),d=e.i(222862),c=e.i(875494),u=e.i(252304);e.i(400175);var x=e.i(261819),m=e.i(450463),g=e.i(685835),h=e.i(329686),f=e.i(804865),p=e.i(970019),j=e.i(789994);function v({item:e,slug:n,onClick:r}){return(0,t.jsx)("a",{href:`/w/${n}/agents/${e.agent_id}?conv=${e.id}`,onClick:r,className:"block w-full py-1.5 px-2 hover:bg-muted rounded-md transition-colors cursor-pointer",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(x.AgentAvatar,{name:e.agent_name,avatarUrl:e.agent_avatar_url,size:24}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-xs font-medium truncate flex-1 min-w-0",children:e.agent_name}),(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground whitespace-nowrap shrink-0",children:(0,m.relativeTime)(e.latest_response_at)})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground truncate mt-0.5",children:e.root_prompt??e.title})]})]})})}function b({isActive:e,onNavigate:r}){let{slug:s,workspaceId:x}=(0,i.useWorkspace)(),{count:m,decrement:y,refresh:N}=(0,c.useInboxCount)(),{openAgentChat:C}=(0,u.useAgentChatSheet)(),[k,w]=(0,n.useState)(null),[z,S]=(0,n.useState)(!1),[T,I]=(0,n.useState)(!1),[A,M]=(0,n.useState)(!1),D=(0,n.useCallback)(async()=>{w(null),S(!0);try{let e=await (0,d.listInboxItems)(x,{limit:30,types:(0,g.getInboxFilterTypes)()});w(e.items)}catch{w([])}finally{S(!1)}},[x]),$=(0,n.useCallback)((e,t)=>{t.metaKey||t.ctrlKey||t.shiftKey||0!==t.button||(t.preventDefault(),y(),I(!1),r?.(),C(e.agent_id,{conversationId:e.id}))},[y,r,C]);return(0,t.jsxs)(o.Popover,{open:T,onOpenChange:e=>{I(e),e&&(D(),N())},children:[(0,t.jsxs)(h.Tooltip,{open:!T&&A,onOpenChange:M,children:[(0,t.jsxs)(o.PopoverTrigger,{render:(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",className:(0,l.cn)("relative flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",e&&"bg-accent text-foreground")})}),children:[(0,t.jsx)(f.Inbox,{className:"size-4"}),m>0&&(0,t.jsx)("span",{className:"absolute top-1 right-1 flex items-center justify-center min-w-3.5 h-3.5 rounded-full bg-primary text-primary-foreground text-[9px] font-bold px-0.5",children:m>99?"99+":m})]}),(0,t.jsx)(h.TooltipContent,{side:"right",children:"Unread"})]}),(0,t.jsxs)(o.PopoverContent,{side:"right",className:"w-80 p-0",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-border/50",children:[(0,t.jsx)("span",{className:"text-xs font-medium",children:"Unread"}),(0,t.jsx)(j.default,{href:`/w/${s}/unread`,onClick:()=>{I(!1),r?.()},className:"flex items-center justify-center size-6 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:(0,t.jsx)(p.ArrowUpRight,{className:"size-3.5"})})]}),(0,t.jsx)("div",{className:"p-1",children:z?(0,t.jsx)("div",{className:"space-y-1",children:Array.from({length:3}).map((e,n)=>(0,t.jsxs)("div",{className:"py-1.5 px-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(a.Skeleton,{className:"size-6 rounded-full shrink-0"}),(0,t.jsx)(a.Skeleton,{className:"h-3 w-20"}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsx)(a.Skeleton,{className:"h-2.5 w-8"})]}),(0,t.jsx)(a.Skeleton,{className:"h-3 w-3/4 mt-1.5 ml-8"})]},n))}):k&&0!==k.length?(0,t.jsx)("div",{className:"max-h-96 overflow-y-auto",children:k.map(e=>(0,t.jsx)(v,{item:e,slug:s,onClick:t=>$(e,t)},e.id))}):(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2 py-6 text-muted-foreground",children:[(0,t.jsx)(f.Inbox,{className:"size-6 opacity-30"}),(0,t.jsx)("p",{className:"text-xs",children:"No unread messages"})]})})]})]})}var y=e.i(74348),N=e.i(618615);function C({item:e,slug:n,onClick:r}){return(0,t.jsx)("a",{href:`/w/${n}/agents/${e.agent_id}?conv=${e.conversation_id}`,onClick:r,className:"block w-full py-1.5 px-2 hover:bg-muted rounded-md transition-colors cursor-pointer",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(x.AgentAvatar,{name:e.agent_name,avatarUrl:e.agent_avatar_url,size:24}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-xs font-medium truncate flex-1 min-w-0",children:e.agent_name}),(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground whitespace-nowrap shrink-0",children:(0,m.relativeTime)(e.flagged_at)})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground truncate mt-0.5",children:e.message_content})]})]})})}function k({isActive:e,onNavigate:r}){let{slug:s,workspaceId:c}=(0,i.useWorkspace)(),{count:x}=(0,y.useFlagCount)(),{openAgentChat:m}=(0,u.useAgentChatSheet)(),[g,f]=(0,n.useState)(null),[v,b]=(0,n.useState)(!1),[w,z]=(0,n.useState)(!1),[S,T]=(0,n.useState)(!1),I=(0,n.useCallback)(async()=>{f(null),b(!0);try{let e=await (0,d.listFlaggedItems)(c,{limit:30});f(e.items)}catch{f([])}finally{b(!1)}},[c]),A=(0,n.useCallback)((e,t)=>{t.metaKey||t.ctrlKey||t.shiftKey||0!==t.button||(t.preventDefault(),z(!1),r?.(),m(e.agent_id,{conversationId:e.conversation_id,messageId:e.message_id}))},[r,m]);return(0,t.jsxs)(o.Popover,{open:w,onOpenChange:e=>{z(e),e&&I()},children:[(0,t.jsxs)(h.Tooltip,{open:!w&&S,onOpenChange:T,children:[(0,t.jsxs)(o.PopoverTrigger,{render:(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",className:(0,l.cn)("relative flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",e&&"bg-accent text-foreground")})}),children:[(0,t.jsx)(N.Flag,{className:"size-4"}),x>0&&(0,t.jsx)("span",{className:"absolute top-1 right-1 flex items-center justify-center min-w-3.5 h-3.5 rounded-full bg-primary text-primary-foreground text-[9px] font-bold px-0.5",children:x>99?"99+":x})]}),(0,t.jsx)(h.TooltipContent,{side:"right",children:"Flagged"})]}),(0,t.jsxs)(o.PopoverContent,{side:"right",className:"w-80 p-0",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-border/50",children:[(0,t.jsx)("span",{className:"text-xs font-medium",children:"Flagged"}),(0,t.jsx)(j.default,{href:`/w/${s}/flags`,onClick:()=>{z(!1),r?.()},className:"flex items-center justify-center size-6 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:(0,t.jsx)(p.ArrowUpRight,{className:"size-3.5"})})]}),(0,t.jsx)("div",{className:"p-1",children:v?(0,t.jsx)("div",{className:"space-y-1",children:Array.from({length:3}).map((e,n)=>(0,t.jsxs)("div",{className:"py-1.5 px-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(a.Skeleton,{className:"size-6 rounded-full shrink-0"}),(0,t.jsx)(a.Skeleton,{className:"h-3 w-20"}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsx)(a.Skeleton,{className:"h-2.5 w-8"})]}),(0,t.jsx)(a.Skeleton,{className:"h-3 w-3/4 mt-1.5 ml-8"})]},n))}):g&&0!==g.length?(0,t.jsx)("div",{className:"max-h-96 overflow-y-auto thin-scrollbar",children:g.map(e=>(0,t.jsx)(C,{item:e,slug:s,onClick:t=>A(e,t)},e.id))}):(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2 py-6 text-muted-foreground",children:[(0,t.jsx)(N.Flag,{className:"size-6 opacity-30"}),(0,t.jsx)("p",{className:"text-xs",children:"No flagged messages"})]})})]})]})}var w=e.i(643486),z=e.i(323550),S=e.i(406963);let T=(0,S.default)("sun-moon",[["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715",key:"xlf6rm"}],["path",{d:"M16 12a4 4 0 0 0-4-4",key:"6vsxu"}],["path",{d:"m19 5-1.256 1.256",key:"1yg6a6"}],["path",{d:"M20 12h2",key:"1q8mjw"}]]);var I=e.i(949035),A=e.i(265481);let M=(0,S.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),D=(0,S.default)("arrow-left-right",[["path",{d:"M8 3 4 7l4 4",key:"9rb6wj"}],["path",{d:"M4 7h16",key:"6tx8e3"}],["path",{d:"m16 21 4-4-4-4",key:"siv7j2"}],["path",{d:"M20 17H4",key:"h6l3hr"}]]),$=(0,S.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);var P=e.i(251638),_=e.i(788666);let U=(0,S.default)("ungroup",[["rect",{width:"8",height:"6",x:"5",y:"4",rx:"1",key:"nzclkv"}],["rect",{width:"8",height:"6",x:"11",y:"14",rx:"1",key:"4tytwb"}]]),O=(0,S.default)("arrow-right-to-line",[["path",{d:"M17 12H3",key:"8awo09"}],["path",{d:"m11 18 6-6-6-6",key:"8c2y43"}],["path",{d:"M21 5v14",key:"nzette"}]]);var R=e.i(635790),E=e.i(23055),L=e.i(275351),F=e.i(89164),H=e.i(866519),B=e.i(430744);function K(){let{data:e,isPending:s}=(0,E.useSession)(),i=(0,r.useRouter)(),[o,l]=(0,n.useState)(!1);(0,n.useEffect)(()=>{l(!0)},[]);let d=e?.user;if(!o||s||!d)return(0,t.jsx)(a.Skeleton,{className:"size-10 rounded-xl"});let c=(d.name||d.email||"?").charAt(0).toUpperCase();return(0,t.jsxs)(F.DropdownMenu,{children:[(0,t.jsx)(F.DropdownMenuTrigger,{render:(0,t.jsx)("button",{type:"button",title:d.name??d.email??"Account",className:"flex items-center justify-center size-10 rounded-xl text-muted-foreground hover:text-foreground hover:bg-accent transition-colors duration-200 cursor-pointer"}),children:(0,t.jsx)(B.User,{className:"size-4"})}),(0,t.jsxs)(F.DropdownMenuContent,{className:"min-w-52 rounded-lg",side:"right",align:"end",sideOffset:8,children:[(0,t.jsx)(F.DropdownMenuGroup,{children:(0,t.jsx)(F.DropdownMenuLabel,{className:"p-0 font-normal",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 text-left text-sm",children:[(0,t.jsx)("div",{className:"flex items-center justify-center size-7 rounded-full bg-primary text-primary-foreground text-xs font-medium shrink-0",children:c}),(0,t.jsxs)("div",{className:"grid flex-1 text-left text-sm leading-tight",children:[(0,t.jsx)("span",{className:"truncate font-medium",children:d.name??"User"}),(0,t.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:d.email})]})]})})}),(0,t.jsx)(F.DropdownMenuSeparator,{}),(0,t.jsx)(F.DropdownMenuGroup,{children:(0,t.jsxs)(F.DropdownMenuItem,{onClick:async()=>{await (0,L.clearAllCache)(),await (0,E.signOut)(),i.push("/sign-in")},children:[(0,t.jsx)(H.LogOut,{className:"size-4"}),"Log out"]})})]})]})}var q=e.i(607711),V=e.i(126366),W=e.i(819748),G=e.i(595107),Y=e.i(140434),J=e.i(172635),Q=e.i(532394),X=e.i(855062);let Z={folders:[]},ee=(0,S.default)("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]),et=(0,S.default)("pin-off",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);var en=e.i(844010);function er({agent:e,isActive:r,isPinned:s,isOnline:i,taskCount:a,onClick:d,onPin:c,onUnpin:u,extraContextMenuItems:x,hidePin:m}){let g,[h,f]=(0,n.useState)(!1);return(0,t.jsxs)(o.Popover,{open:h,onOpenChange:(e,t)=>{e&&"trigger-press"===t.reason||f(e)},children:[(0,t.jsxs)(q.ContextMenu,{children:[(0,t.jsxs)(o.PopoverTrigger,{openOnHover:!0,delay:10,render:(0,t.jsx)(q.ContextMenuTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>{f(!1),d()},className:(0,l.cn)("relative flex shrink-0 items-center justify-center size-10 rounded-xl text-sm font-medium transition-all duration-200 cursor-pointer",r?"ring-2 ring-primary shadow-sm":"ring-0 bg-secondary text-secondary-foreground hover:bg-accent")})}),children:[(g=(0,V.parseAvatarUrl)(e.avatar_url))?(0,t.jsx)(W.AnimatedAvatar,{config:g,size:40,className:"rounded-xl",isHovered:!1}):e.name.charAt(0).toUpperCase(),(0,t.jsx)("span",{className:(0,l.cn)("absolute bottom-0 right-0 size-2 rounded-full ring-2 ring-background",i?"bg-status-online":"bg-status-offline")})]}),(0,t.jsxs)(q.ContextMenuContent,{children:[!m&&(s?(0,t.jsxs)(q.ContextMenuItem,{onClick:u,children:[(0,t.jsx)(et,{className:"size-3.5 mr-1.5"}),"Unpin"]}):(0,t.jsxs)(q.ContextMenuItem,{onClick:c,children:[(0,t.jsx)(ee,{className:"size-3.5 mr-1.5"}),"Pin to top"]})),x]})]}),(0,t.jsx)(o.PopoverContent,{side:"right",className:"w-fit max-w-80",children:(0,t.jsx)(en.AgentPreviewCard,{agent:e,isOnline:i,activeTaskCount:a})})]})}function es({folder:e,agents:n,isActive:r,onClick:s}){let i=e.agentIds.map(e=>n.find(t=>t.id===e)).filter(Boolean),o=i.slice(0,3),a=i.length-o.length;return(0,t.jsxs)("button",{type:"button",onClick:s,className:(0,l.cn)("relative flex shrink-0 items-center justify-center size-10 rounded-xl transition-all duration-200 cursor-pointer","bg-secondary/50 border border-border/30",r?"ring-2 ring-primary shadow-sm":"hover:bg-accent"),children:[(0,t.jsx)("div",{className:"relative flex items-center justify-center",style:{width:30,height:20},children:o.map((e,n)=>{let r=(0,V.parseAvatarUrl)(e.avatar_url);return(0,t.jsx)("div",{className:"absolute rounded-full overflow-hidden ring-1 ring-background",style:{width:20,height:20,left:6*n,zIndex:n+1},children:r?(0,t.jsx)(W.AnimatedAvatar,{config:r,size:20,className:"rounded-full",isHovered:!1}):(0,t.jsx)("div",{className:"flex items-center justify-center size-full bg-muted text-[8px] font-medium",children:e.name.charAt(0).toUpperCase()})},e.id)})}),a>0&&(0,t.jsxs)("span",{className:"absolute bottom-0 right-0 flex items-center justify-center min-w-3.5 h-3.5 rounded-full bg-muted text-muted-foreground text-[8px] font-bold ring-1 ring-background",children:["+",a]})]})}function ei({folder:e,agents:n,isActive:r,isMergeTarget:s,dragActiveId:i,onExpand:o,nodeRefCallback:a}){let{attributes:l,listeners:d,setNodeRef:c,transform:u,transition:x,isDragging:m}=(0,J.useSortable)({id:e.id}),g={transform:Q.CSS.Transform.toString(u),transition:x,opacity:m?.5:1,zIndex:m?10:void 0};return(0,t.jsx)("div",{ref:e=>{c(e),a?.(e)},style:g,...l,...d,className:"transition-all duration-200",children:(0,t.jsx)(es,{folder:s&&i?{...e,agentIds:[...e.agentIds,i]}:e,agents:n,isActive:r,onClick:o})})}function eo({id:e,children:n}){let{attributes:r,listeners:s,setNodeRef:i,transform:o,transition:a,isDragging:l}=(0,J.useSortable)({id:e}),d={transform:Q.CSS.Transform.toString(o),transition:a,opacity:l?.5:1,zIndex:l?10:void 0};return(0,t.jsx)("div",{ref:i,style:d,...r,...s,children:n})}function ea({folder:e,agents:r,activeAgentId:s,isOnline:i,taskCounts:o,anchorRef:a,onAgentClick:l,onRemoveFromFolder:d,onPinAgent:c,onReorder:u,onClose:x}){let m=(0,n.useRef)(null),[g,h]=(0,n.useState)(null),f=(0,n.useCallback)(()=>{if(!a)return;let e=a.getBoundingClientRect();h({left:e.right+8,top:e.top})},[a]);(0,n.useEffect)(()=>{f()},[f]),(0,n.useEffect)(()=>{function e(e){let t=e.target;!m.current||m.current.contains(t)||!a||a.contains(t)||t.closest?.('[data-slot="context-menu-content"]')||x()}function t(e){"Escape"===e.key&&x()}let n=a?.closest("[class*='overflow']")??window;return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),window.addEventListener("resize",f),n.addEventListener("scroll",f,{passive:!0}),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t),window.removeEventListener("resize",f),n.removeEventListener("scroll",f)}},[a,x,f]);let p=(0,G.useSensors)((0,G.useSensor)(G.PointerSensor,{activationConstraint:{distance:5}})),j=e.agentIds.map(e=>r.find(t=>t.id===e)).filter(Boolean);return a&&g?(0,t.jsx)("div",{ref:m,className:"fixed z-50 bg-popover border rounded-xl shadow-md p-1.5 animate-in fade-in-0 zoom-in-95",style:{left:g.left,top:g.top},children:(0,t.jsx)(G.DndContext,{sensors:p,collisionDetection:G.closestCenter,modifiers:[Y.restrictToVerticalAxis],onDragEnd:function(t){let{active:n,over:r}=t;if(!r||n.id===r.id)return;let s=e.agentIds.indexOf(n.id),i=e.agentIds.indexOf(r.id);u((0,J.arrayMove)(e.agentIds,s,i))},children:(0,t.jsx)(J.SortableContext,{items:e.agentIds,strategy:J.verticalListSortingStrategy,children:(0,t.jsx)("div",{className:"flex flex-col gap-1",children:j.map(e=>(0,t.jsx)(eo,{id:e.id,children:(0,t.jsx)(er,{agent:e,isActive:s===e.id,isPinned:!1,isOnline:i,taskCount:o[e.id]??0,hidePin:!0,onClick:()=>{l(e.id),x()},onPin:()=>{c(e.id),x()},onUnpin:()=>{},extraContextMenuItems:(0,t.jsxs)(q.ContextMenuItem,{onClick:()=>d(e.id),children:[(0,t.jsx)(et,{className:"size-3.5 mr-1.5"}),"Remove from group"]})})},e.id))})})})}):null}function el({id:e,children:n}){let{attributes:r,listeners:s,setNodeRef:i,transform:o,transition:a,isDragging:l}=(0,J.useSortable)({id:e}),d={transform:Q.CSS.Transform.toString(o),transition:a,opacity:l?.5:1,zIndex:l?10:void 0};return(0,t.jsx)("div",{ref:i,style:d,...r,...s,children:n})}function ed({onNavigate:e}={}){let o,d=(0,r.useRouter)(),c=(0,r.usePathname)(),u=(0,r.useSearchParams)(),{agents:x,runtimes:m,loading:g,pins:f,unpinnedOrder:p,handlePinAgent:j,handleUnpinAgent:v,handleReorderPins:y,handleReorderUnpinned:N}=(0,s.useAgentContext)(),{slug:C,workspaceId:S}=(0,i.useWorkspace)(),{resolvedTheme:E,setTheme:L}=(0,R.useTheme)(),{activeTaskCounts:F}=(0,s.useAgentContext)(),{folders:H,expandedFolderId:B,setExpandedFolderId:Q,createFolder:ee,addToFolder:et,removeFromFolder:en,dissolveFolder:eo,reorderInFolder:ec,cleanupStaleAgents:eu,getTopLevelItems:ex,removeAgentFromAnyFolder:em,mergeFolders:eg}=function(e){let[t,r]=(0,X.useLocalStorage)(`agent-sidebar-folders:${e}`,Z),[s,i]=(0,n.useState)(null),o=t.folders,a=(0,n.useCallback)(e=>o.find(t=>t.agentIds.includes(e))??null,[o]),l=(0,n.useCallback)(e=>{if(e.length<2)return;let t=crypto.randomUUID();r(n=>{let r=new Set(n.folders.flatMap(e=>e.agentIds)),s=e.filter(e=>!r.has(e));return s.length<2?n:{folders:[...n.folders,{id:t,agentIds:s}]}}),i(t)},[r]),d=(0,n.useCallback)((e,t)=>{r(n=>n.folders.some(e=>e.agentIds.includes(t))?n:{folders:n.folders.map(n=>n.id===e?{...n,agentIds:[...n.agentIds,t]}:n)})},[r]),c=(0,n.useCallback)((e,t)=>{r(n=>({folders:n.folders.map(n=>n.id===e?{...n,agentIds:n.agentIds.filter(e=>e!==t)}:n).filter(e=>e.agentIds.length>1)}))},[r]),u=(0,n.useCallback)(e=>{r(t=>({folders:t.folders.filter(t=>t.id!==e)})),s===e&&i(null)},[r,s]),x=(0,n.useCallback)((e,t)=>{r(n=>({folders:n.folders.map(n=>n.id===e?{...n,agentIds:t}:n)}))},[r]),m=(0,n.useCallback)(e=>{let t=new Set(e);r(e=>{let n=e.folders.map(e=>({...e,agentIds:e.agentIds.filter(e=>t.has(e))})).filter(e=>e.agentIds.length>1);return n.length!==e.folders.length||e.folders.some(e=>e.agentIds.some(e=>!t.has(e)))?{folders:n}:e})},[r]),g=(0,n.useCallback)(e=>{let t=new Map;for(let e of o)for(let n of e.agentIds)t.set(n,e);let n=new Set,r=[];for(let s of e){let e=t.get(s);e?n.has(e.id)||(n.add(e.id),r.push({type:"folder",folder:e})):r.push({type:"agent",id:s})}return r},[o]),h=(0,n.useCallback)((e,t)=>{r(n=>{let r=n.folders.find(t=>t.id===e);return r?{folders:n.folders.map(e=>e.id===t?{...e,agentIds:[...e.agentIds,...r.agentIds]}:e).filter(t=>t.id!==e)}:n})},[r]);return{folders:o,expandedFolderId:s,setExpandedFolderId:i,createFolder:l,addToFolder:d,removeFromFolder:c,dissolveFolder:u,reorderInFolder:x,cleanupStaleAgents:m,getFolderForAgent:a,getTopLevelItems:g,removeAgentFromAnyFolder:(0,n.useCallback)(e=>{r(t=>{let n=t.folders.find(t=>t.agentIds.includes(e));return n?{folders:t.folders.map(t=>t.id===n.id?{...t,agentIds:t.agentIds.filter(t=>t!==e)}:t).filter(e=>e.agentIds.length>1)}:t})},[r]),mergeFolders:h}}(S),[eh,ef]=(0,n.useState)(!1),[ep,ej]=(0,n.useState)(new Set),ev=x.filter(e=>f.has(e.id)).sort((e,t)=>f.get(e.id).position-f.get(t.id).position),eb=x.filter(e=>!f.has(e.id)).sort((e,t)=>{let n=p.get(e.id),r=p.get(t.id);return void 0!==n&&void 0!==r?n-r:void 0!==n?-1:void 0!==r?1:e.name.localeCompare(t.name)}),ey=ex(eb.map(e=>e.id));(0,n.useEffect)(()=>{x.length>0&&eu(x.map(e=>e.id))},[x,eu]);let[eN,eC]=(0,n.useState)(null),[ek,ew]=(0,n.useState)(null),[ez,eS]=(0,n.useState)(!1),eT=(0,n.useRef)(null),eI=(0,n.useRef)(null);(0,n.useEffect)(()=>()=>{eT.current&&clearTimeout(eT.current)},[]);let eA=(0,n.useRef)(new Map),eM=(0,G.useSensors)((0,G.useSensor)(G.PointerSensor,{activationConstraint:{distance:5}})),eD=ey.map(e=>"agent"===e.type?e.id:e.folder.id);function e$(){eT.current&&(clearTimeout(eT.current),eT.current=null),eI.current=null,ew(null),eS(!1)}let eP=(0,n.useCallback)(e=>{em(e),j(e)},[em,j]),e_=`/w/${C}`,eU=c===`${e_}/home`,eO=c===`${e_}/runtimes`,eR=c===`${e_}/calendar`,eE=c.startsWith(`${e_}/unread`),eL=c.startsWith(`${e_}/flags`),eF=c.startsWith(`${e_}/issues`),eH=c===`${e_}/settings`,eB=c===`${e_}/agents/new`,eK=u.get("agent"),eq=c.match(/^\/w\/[^/]+\/agents\/([^/]+)/),eV=eK??eq?.[1]??null,eW=t=>{d.push(`${e_}/agents/${t}`),e?.()},eG=m.some(e=>"online"===e.status),[eY,eJ]=(0,n.useState)(!1),eQ=(0,n.useRef)(!1),eX=(0,n.useRef)(null);(0,n.useEffect)(()=>()=>{eX.current&&clearTimeout(eX.current)},[]);let eZ=(0,n.useCallback)(()=>{eQ.current||(eQ.current=!0,eJ(!0),eX.current=setTimeout(()=>{eQ.current=!1,eJ(!1)},60*Math.max(0,ev.length+eb.length-1)+250))},[ev.length,eb.length]),e0=eN?x.find(e=>e.id===eN):null,e1=eN?H.find(e=>e.id===eN):null,e2=(e,n,r)=>(0,t.jsx)("div",{className:(0,l.cn)(eY&&"sidebar-agent-pop"),style:eY?{animationDelay:`${60*n}ms`}:void 0,children:(0,t.jsx)(er,{agent:e,isActive:eV===e.id,isPinned:f.has(e.id),isOnline:eG,taskCount:F[e.id]??0,onClick:()=>eW(e.id),onPin:()=>eP(e.id),onUnpin:()=>v(e.id),extraContextMenuItems:r})}),e5=(0,n.useCallback)(()=>Q(null),[Q]),e3=B?H.find(e=>e.id===B)??null:null;return(0,t.jsxs)("nav",{className:(0,l.cn)("flex h-full w-14 flex-col items-center pt-1 pb-2 gap-0.5",eY&&"relative z-10"),children:[(0,t.jsx)("div",{className:"pb-1.5 mb-1",children:(0,t.jsx)("div",{className:"flex shrink-0 items-center justify-center size-8 [&>button]:pointer-events-none cursor-pointer active:scale-90 transition-transform",onClick:eZ,children:(0,t.jsx)(w.Logo,{size:"sm",iconOnly:!0})})}),(0,t.jsxs)("div",{className:"flex flex-col items-center gap-1.5 pb-1.5 border-b border-border/50 mb-1",children:[(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>{d.push(`${e_}/home`),e?.()},className:(0,l.cn)("flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",eU&&"bg-accent text-foreground")}),children:(0,t.jsx)($,{className:"size-4"})}),(0,t.jsx)(h.TooltipContent,{side:"right",children:"Home"})]}),(0,t.jsx)(b,{isActive:eE,onNavigate:e}),(0,t.jsx)(k,{isActive:eL,onNavigate:e}),(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>{d.push(`${e_}/issues`),e?.()},className:(0,l.cn)("flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",eF&&"bg-accent text-foreground")}),children:(0,t.jsx)(P.CircleDot,{className:"size-4"})}),(0,t.jsx)(h.TooltipContent,{side:"right",children:"Issues"})]}),(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>{d.push(`${e_}/calendar`),e?.()},className:(0,l.cn)("flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",eR&&"bg-accent text-foreground")}),children:(0,t.jsx)(A.CalendarDays,{className:"size-4"})}),(0,t.jsx)(h.TooltipContent,{side:"right",children:"Calendar"})]})]}),(0,t.jsxs)("div",{className:(0,l.cn)("flex flex-1 w-full flex-col items-center gap-1.5 py-1 scrollbar-none",eY?"overflow-visible":"overflow-y-auto"),children:[g?(0,t.jsx)(a.Skeleton,{className:"size-10 rounded-xl"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(G.DndContext,{sensors:eM,collisionDetection:G.closestCenter,modifiers:[Y.restrictToVerticalAxis],onDragEnd:function(e){let{active:t,over:n}=e;if(!n||t.id===n.id)return;let r=ev.findIndex(e=>e.id===t.id),s=ev.findIndex(e=>e.id===n.id);y((0,J.arrayMove)(ev,r,s).map(e=>e.id))},children:(0,t.jsx)(J.SortableContext,{items:ev.map(e=>e.id),strategy:J.verticalListSortingStrategy,children:ev.map((e,n)=>(0,t.jsx)(el,{id:e.id,children:e2(e,n)},e.id))})}),ev.length>0&&eb.length>0&&(0,t.jsx)("div",{className:"w-6 border-t border-border/50"}),(0,t.jsxs)(G.DndContext,{sensors:eM,collisionDetection:G.closestCenter,modifiers:[Y.restrictToVerticalAxis],onDragStart:function(e){eC(e.active.id),Q(null)},onDragOver:function(e){let{over:t}=e;if(!t)return void e$();let n=t.id;n===eN?e$():eI.current!==n&&(e$(),eI.current=n,eT.current=setTimeout(()=>{eS(!0),ew(n)},300))},onDragEnd:function(e){let{active:t,over:n}=e;if(e$(),eC(null),!n||t.id===n.id)return;let r=t.id,s=n.id;if(ek===s){var i,o;i=r,o=s,H.find(e=>e.id===o)?H.find(e=>e.id===i)?eg(i,o):(em(i),et(o,i)):H.find(e=>e.id===i)?et(i,o):ee([o,i]),ew(null);return}let a=eD.indexOf(r),l=eD.indexOf(s);if(-1===a||-1===l)return;let d=(0,J.arrayMove)(ey,a,l),c=[];for(let e of d)"agent"===e.type?c.push(e.id):c.push(...e.folder.agentIds);N(c)},onDragCancel:function(){e$(),eC(null)},children:[(0,t.jsx)(J.SortableContext,{items:eD,strategy:ez?void 0:J.verticalListSortingStrategy,children:ey.map((e,n)=>{let r;if("folder"===e.type){let n=e.folder,r=n.agentIds.includes(eV??"");return(0,t.jsxs)(q.ContextMenu,{children:[(0,t.jsx)(q.ContextMenuTrigger,{render:(0,t.jsx)("div",{}),children:(0,t.jsx)(ei,{folder:n,agents:x,isActive:r,isMergeTarget:ek===n.id,dragActiveId:eN,onExpand:()=>Q(B===n.id?null:n.id),nodeRefCallback:e=>eA.current.set(n.id,e)})}),(0,t.jsx)(q.ContextMenuContent,{children:(0,t.jsxs)(q.ContextMenuItem,{onClick:()=>eo(n.id),children:[(0,t.jsx)(U,{className:"size-3.5 mr-1.5"}),"Ungroup agents"]})})]},n.id)}if(eh){let r=x.find(t=>t.id===e.id);if(!r)return null;let s=ep.has(r.id);return(0,t.jsxs)("div",{className:"relative cursor-pointer",onClick:()=>{var e;return e=r.id,void ej(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},children:[(0,t.jsx)("div",{className:(0,l.cn)("transition-all duration-150",s&&"ring-2 ring-primary rounded-xl"),children:e2(r,ev.length+n)}),s&&(0,t.jsx)("span",{className:"absolute -top-0.5 -right-0.5 size-3 rounded-full bg-primary ring-2 ring-background"})]},r.id)}let s=x.find(t=>t.id===e.id);return s?(0,t.jsx)(el,{id:s.id,children:ek===s.id&&eN?(0,t.jsx)(es,{folder:{id:"merge-preview",agentIds:[s.id,eN]},agents:x,isActive:!1,onClick:()=>{}}):e2(s,ev.length+n,(r=s.id,(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(q.ContextMenuSeparator,{}),(0,t.jsxs)(q.ContextMenuItem,{onClick:()=>{ej(new Set([r])),ef(!0)},children:[(0,t.jsx)(_.Folder,{className:"size-3.5 mr-1.5"}),"Create group"]}),H.length>0&&(0,t.jsx)(t.Fragment,{children:H.map(e=>{let n=e.agentIds.map(e=>x.find(t=>t.id===e)).filter(Boolean),s=n.slice(0,2).map(e=>e.name).join(", ");return(0,t.jsxs)(q.ContextMenuItem,{onClick:()=>et(e.id,r),children:[(0,t.jsx)(O,{className:"size-3.5 mr-1.5"}),"Move to ",s,n.length>2?"…":""]},e.id)})})]})))},s.id):null})}),(0,t.jsx)(G.DragOverlay,{children:e0?(0,t.jsx)("div",{className:"opacity-80",children:(o=(0,V.parseAvatarUrl)(e0.avatar_url))?(0,t.jsx)(W.AnimatedAvatar,{config:o,size:40,className:"rounded-xl",isHovered:!1}):(0,t.jsx)("div",{className:"flex items-center justify-center size-10 rounded-xl bg-secondary text-sm font-medium",children:e0.name.charAt(0).toUpperCase()})}):e1?(0,t.jsx)("div",{className:"opacity-80",children:(0,t.jsx)(es,{folder:e1,agents:x,isActive:!1,onClick:()=>{}})}):null})]}),eh&&(0,t.jsxs)("div",{className:"flex flex-col gap-1 w-full px-1",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>{ep.size>=2&&ee(Array.from(ep)),ef(!1),ej(new Set)},disabled:ep.size<2,className:"flex items-center justify-center h-7 rounded-lg bg-primary text-primary-foreground text-xs font-medium disabled:opacity-40 cursor-pointer disabled:cursor-not-allowed",children:["Done (",ep.size,")"]}),(0,t.jsx)("button",{type:"button",onClick:()=>{ef(!1),ej(new Set)},className:"flex items-center justify-center h-7 rounded-lg bg-secondary text-secondary-foreground text-xs cursor-pointer hover:bg-accent",children:"Cancel"})]})]}),!g&&0===x.length&&m.some(e=>"online"===e.status)?(0,t.jsxs)(h.Tooltip,{open:!0,children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>{d.push(`${e_}/agents/new`),e?.()},className:(0,l.cn)("relative flex shrink-0 items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","border border-dashed border-primary/50 text-primary","hover:border-primary hover:bg-primary/10","animate-pulse",eB&&"border-solid border-primary bg-primary/10 animate-none")}),children:(0,t.jsx)(I.Plus,{className:"size-4"})}),(0,t.jsx)(h.TooltipContent,{side:"right",sideOffset:8,children:"Create your first agent"})]}):(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>{d.push(`${e_}/agents/new`),e?.()},className:(0,l.cn)("flex shrink-0 items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","border border-dashed border-foreground/15 text-muted-foreground","hover:border-foreground/30 hover:text-foreground hover:bg-accent",eB&&"border-solid border-foreground/25 bg-accent text-foreground")}),children:(0,t.jsx)(I.Plus,{className:"size-4"})}),(0,t.jsx)(h.TooltipContent,{children:"New agent"})]})]}),e3&&(0,t.jsx)(ea,{folder:e3,agents:x,activeAgentId:eV,isOnline:eG,taskCounts:F,anchorRef:eA.current.get(e3.id)??null,onAgentClick:eW,onRemoveFromFolder:e=>en(e3.id,e),onPinAgent:eP,onReorder:e=>ec(e3.id,e),onClose:e5}),(0,t.jsxs)("div",{className:"flex flex-col items-center gap-1 pt-2 border-t border-border/50 mt-1",children:[(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>{d.push(`${e_}/runtimes`),e?.()},className:(0,l.cn)("flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",eO&&"bg-accent text-foreground")}),children:(0,t.jsx)(z.Monitor,{className:"size-4"})}),(0,t.jsx)(h.TooltipContent,{side:"right",children:"Runtimes"})]}),(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>L("dark"===E?"light":"dark"),className:"flex items-center justify-center size-10 rounded-xl text-muted-foreground hover:text-foreground hover:bg-accent transition-colors duration-200 cursor-pointer"}),children:(0,t.jsx)(T,{className:"size-4"})}),(0,t.jsx)(h.TooltipContent,{side:"right",children:"Toggle theme"})]}),(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>{d.push(`${e_}/settings`),e?.()},className:(0,l.cn)("flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",eH&&"bg-accent text-foreground")}),children:(0,t.jsx)(M,{className:"size-4"})}),(0,t.jsx)(h.TooltipContent,{side:"right",children:"Settings"})]}),(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>{d.push("/workspaces"),e?.()},className:"flex items-center justify-center size-10 rounded-xl text-muted-foreground hover:text-foreground hover:bg-accent transition-colors duration-200 cursor-pointer"}),children:(0,t.jsx)(D,{className:"size-4"})}),(0,t.jsx)(h.TooltipContent,{side:"right",children:"Switch workspace"})]}),(0,t.jsx)(K,{})]})]})}function ec(){let e=(0,r.useRouter)(),n=(0,r.usePathname)(),o=eS(),{slug:d}=(0,i.useWorkspace)(),{agents:c,pins:u,unpinnedOrder:x,runtimes:m,loading:g}=(0,s.useAgentContext)(),h=n===`/w/${d}/home`,f=n.includes("/calendar"),p=n.includes("/issues"),j=n.match(/^\/w\/[^/]+\/agents\/([^/]+)/),v=j?.[1]??null,b=[...c.filter(e=>u.has(e.id)).sort((e,t)=>u.get(e.id).position-u.get(t.id).position),...c.filter(e=>!u.has(e.id)).sort((e,t)=>{let n=x.get(e.id),r=x.get(t.id);return void 0!==n&&void 0!==r?n-r:void 0!==n?-1:void 0!==r?1:e.name.localeCompare(t.name)})];return(0,t.jsxs)("div",{className:"h-10 flex items-center gap-2 px-2 shrink-0",children:[o&&(0,t.jsx)("div",{role:"button",tabIndex:0,"aria-label":"Open sidebar",onClick:o,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),o())},className:"shrink-0 cursor-pointer transition-opacity hover:opacity-70 [&>button]:pointer-events-none",children:(0,t.jsx)(w.Logo,{size:"sm",iconOnly:!0})}),(0,t.jsx)("button",{onClick:()=>e.push(`/w/${d}/home`),"aria-label":"Home",className:(0,l.cn)("shrink-0 p-1 rounded-md transition-colors",h?"text-foreground bg-muted":"text-muted-foreground hover:text-foreground"),children:(0,t.jsx)($,{className:"size-4"})}),(0,t.jsx)("button",{onClick:()=>e.push(`/w/${d}/calendar`),"aria-label":"Calendar",className:(0,l.cn)("shrink-0 p-1 rounded-md transition-colors",f?"text-foreground bg-muted":"text-muted-foreground hover:text-foreground"),children:(0,t.jsx)(A.CalendarDays,{className:"size-4"})}),(0,t.jsx)("button",{onClick:()=>e.push(`/w/${d}/issues`),"aria-label":"Issues",className:(0,l.cn)("shrink-0 p-1 rounded-md transition-colors",p?"text-foreground bg-muted":"text-muted-foreground hover:text-foreground"),children:(0,t.jsx)(P.CircleDot,{className:"size-4"})}),(0,t.jsx)("div",{className:"flex-1 overflow-x-auto flex items-center gap-1.5 py-1 px-0.5 scrollbar-none",children:g?(0,t.jsx)(a.Skeleton,{className:"size-7 rounded-full"}):b.map(n=>{let r=m.find(e=>e.id===n.runtime_id),s=r?.status==="online",i=v===n.id,o=(0,V.parseAvatarUrl)(n.avatar_url);return(0,t.jsxs)("button",{onClick:()=>e.push(`/w/${d}/agents/${n.id}`),"aria-label":n.name,className:(0,l.cn)("shrink-0 relative rounded-full transition-all",i&&"ring-2 ring-primary"),children:[(0,t.jsx)("div",{className:"size-7",children:o?(0,t.jsx)(W.AnimatedAvatar,{config:o,size:28,className:"rounded-full",isHovered:!1}):(0,t.jsx)("div",{className:"size-7 rounded-full bg-muted flex items-center justify-center text-[10px] font-medium",children:n.name.charAt(0).toUpperCase()})}),(0,t.jsx)("span",{className:(0,l.cn)("absolute -bottom-0.5 -right-0.5 size-2 rounded-full border border-background",s?"bg-emerald-500":"bg-muted-foreground/40")})]},n.id)})})]})}var eu=e.i(898707),ex=e.i(996718),em=e.i(332680);e.i(459119),e.i(954194);var eg=e.i(907903),eh=e.i(824863),ef=e.i(779646),ep=e.i(186339),ej=e.i(875061);let ev=(0,S.default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var eb=e.i(4581);let ey=(0,S.default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);var eN=e.i(880932);let eC=(0,eh.resolveMode)({nodeEnv:"production",hostname:window.location.hostname}),ek="app"===eC?"npx @alook/app stop && npx @alook/app@latest update && npx @alook/app start":"npx @alook/cli@latest daemon stop && npx @alook/cli@latest daemon start";function ew(){let{runtimes:e,workspaceId:r}=(0,s.useAgentContext)(),[i,o]=(0,n.useState)(null),[a,l]=(0,n.useState)(new Set),[c,u]=(0,n.useState)(!1),x=(0,n.useRef)(null);if((0,n.useEffect)(()=>{(0,d.getMinCliVersion)().then(e=>o(e.min_cli_version)).catch(()=>{})},[]),(0,n.useEffect)(()=>()=>{x.current&&clearTimeout(x.current)},[]),"dev"===eC||!i)return null;let m=e.filter(e=>{if("online"!==e.status)return!1;let t=e.metadata?.cli_version;return"string"!=typeof t||!t||!(0,eg.semverGte)(t,i)}),g=new Map;for(let e of m){let t=e.daemon_id??e.id;g.has(t)||g.set(t,e)}if(0===g.size)return null;let f=async e=>{if("app"===eC)return void u(!0);l(t=>new Set(t).add(e.id)),x.current||(x.current=setTimeout(()=>{u(!0)},5e3));try{await (0,d.triggerRuntimeUpdate)(e.id,r)}catch{l(t=>{let n=new Set(t);return n.delete(e.id),n})}};return(0,t.jsx)(ef.Dialog,{open:!0,modal:!0,disablePointerDismissal:!0,onOpenChange:()=>{},children:(0,t.jsxs)(ef.DialogContent,{showCloseButton:!1,children:[(0,t.jsxs)(ef.DialogHeader,{children:[(0,t.jsxs)(ef.DialogTitle,{className:"flex items-center gap-2",children:[(0,t.jsx)(ev,{className:"size-5 text-amber-500"}),"Runtime Update Required"]}),(0,t.jsx)(ef.DialogDescription,{children:"app"===eC?`Your local Alook app is running an outdated version (minimum required: v${i}). Please update to continue.`:`The following machine(s) are running an outdated CLI version (minimum required: v${i}). Please update to continue.`})]}),(0,t.jsx)("div",{className:"space-y-3 mt-2",children:[...g.entries()].map(([e,n])=>{let r=n.metadata?.cli_version,s=a.has(n.id);return(0,t.jsxs)("div",{className:"flex items-center justify-between rounded-lg border p-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,t.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-emerald-500"}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"text-sm font-medium truncate",children:n.device_info||e.slice(0,12)}),(0,t.jsxs)("div",{className:"text-xs text-muted-foreground flex items-center gap-2 mt-0.5",children:[(0,t.jsxs)("span",{children:["v",r||"unknown"]}),(0,t.jsxs)(ej.Badge,{variant:"outline",className:"text-[10px] px-1.5 py-0 text-amber-500 border-amber-500/30",children:["requires v",i]})]})]})]}),(0,t.jsxs)(ep.Button,{size:"sm",variant:"outline",disabled:s,onClick:()=>f(n),children:[(0,t.jsx)(eb.RefreshCw,{className:`size-3.5 ${s?"animate-spin":""}`}),s?"Updating...":"Update"]})]},e)})}),c&&(0,t.jsxs)("div",{className:"mt-3 rounded-md bg-muted/50 border border-dashed p-2.5 text-xs text-muted-foreground",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 font-medium text-foreground mb-1",children:[(0,t.jsx)(ey,{className:"size-3"}),"Update taking too long?"]}),(0,t.jsx)("p",{className:"mb-1",children:"Run this command on the machine to update manually:"}),(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("code",{className:"block rounded bg-background px-2 py-1 font-mono text-[11px] cursor-pointer hover:bg-background/80 transition-colors",onClick:()=>{navigator.clipboard.writeText(ek),eN.toast.success("Copied to clipboard")}}),children:ek}),(0,t.jsx)(h.TooltipContent,{children:"Click to copy"})]})]})]})})}let ez=(0,n.createContext)(null);function eS(){return(0,n.useContext)(ez)}function eT({children:e}){let r=(0,ex.useIsMobile)(),[s,i]=(0,n.useState)(!1);return r?(0,t.jsx)(ez.Provider,{value:()=>i(!0),children:(0,t.jsx)(u.AgentChatSheetProvider,{children:(0,t.jsxs)("div",{className:"flex flex-col h-dvh overflow-hidden relative",children:[(0,t.jsx)(eu.GradientBackground,{}),(0,t.jsxs)("div",{className:"flex-1 min-h-0 px-2 pb-2 pt-2 flex flex-col",children:[(0,t.jsx)(ec,{}),(0,t.jsx)("main",{className:"flex-1 min-h-0 rounded-xl bg-card/80 backdrop-blur-xl shadow-lg ring-1 ring-border/40 overflow-hidden flex flex-col",children:e})]}),(0,t.jsx)(em.Sheet,{open:s,onOpenChange:i,children:(0,t.jsx)(em.SheetContent,{side:"left",showCloseButton:!1,style:{width:56},className:"p-0",children:(0,t.jsx)(ed,{onNavigate:()=>i(!1)})})}),(0,t.jsx)(ew,{})]})})}):(0,t.jsx)(u.AgentChatSheetProvider,{children:(0,t.jsxs)("div",{className:"flex h-dvh overflow-hidden relative",children:[(0,t.jsx)(eu.GradientBackground,{}),(0,t.jsx)(ed,{}),(0,t.jsx)("div",{className:"flex-1 flex flex-col min-w-0 pt-2 pr-2 pb-2",children:(0,t.jsx)("main",{className:"flex-1 min-h-0 rounded-xl bg-card/80 backdrop-blur-xl shadow-lg ring-1 ring-border/40 overflow-hidden flex flex-col",children:e})}),(0,t.jsx)(ew,{})]})})}}]);
@@ -0,0 +1,3 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,949035,e=>{"use strict";let t=(0,e.i(406963).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],949035)},208020,(e,t,r)=>{t.exports=e.r(170928)},406963,e=>{"use strict";var t=e.i(298699);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,t.createContext)({}),s=(0,t.forwardRef)(({color:e,size:n,strokeWidth:s,absoluteStrokeWidth:o,className:l="",children:d,iconNode:u,...c},f)=>{let{size:p=24,strokeWidth:g=2,absoluteStrokeWidth:m=!1,color:h="currentColor",className:v=""}=(0,t.useContext)(i)??{},b=o??m?24*Number(s??g)/Number(n??p):s??g;return(0,t.createElement)("svg",{ref:f,...a,width:n??p??a.width,height:n??p??a.height,stroke:e??h,strokeWidth:b,className:r("lucide",v,l),...!d&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(c)&&{"aria-hidden":"true"},...c},[...u.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(d)?d:[d]])});e.s(["default",0,(e,a)=>{let i=(0,t.forwardRef)(({className:i,...o},l)=>(0,t.createElement)(s,{ref:l,iconNode:a,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...o}));return i.displayName=n(e),i}],406963)},616117,484665,e=>{"use strict";e.i(459119);var t=e.i(298699),r=e.i(92615),n=e.i(773825),a=e.i(389068),i=e.i(943891),s=e.i(398258);let o=t.createContext(void 0);function l(e=!1){let r=t.useContext(o);if(void 0===r&&!e)throw Error((0,s.default)(16));return r}function d(e){return(0,r.isHTMLElement)(e)&&"BUTTON"===e.tagName}e.s(["CompositeRootContext",0,o,"useCompositeRootContext",0,l],484665),e.s(["useButton",0,function(e={}){let{disabled:r=!1,focusableWhenDisabled:s,tabIndex:o=0,native:u=!0,composite:c}=e,f=t.useRef(null),p=l(!0),g=c??void 0!==p,{props:m}=function(e){let{focusableWhenDisabled:r,disabled:n,composite:a=!1,tabIndex:i=0,isNativeButton:s}=e,o=a&&!1!==r,l=a&&!1===r;return{props:t.useMemo(()=>{let e={onKeyDown(e){n&&r&&"Tab"!==e.key&&e.preventDefault()}};return a||(e.tabIndex=i,!s&&n&&(e.tabIndex=r?i:-1)),(s&&(r||o)||!s&&n)&&(e["aria-disabled"]=n),s&&(!r||l)&&(e.disabled=n),e},[a,n,r,o,l,s,i])}}({focusableWhenDisabled:s,disabled:r,composite:g,tabIndex:o,isNativeButton:u}),h=t.useCallback(()=>{let e=f.current;d(e)&&g&&r&&void 0===m.disabled&&e.disabled&&(e.disabled=!1)},[r,m.disabled,g]);return(0,a.useIsoLayoutEffect)(h,[h]),{getButtonProps:t.useCallback((e={})=>{let{onClick:t,onMouseDown:n,onKeyUp:a,onKeyDown:s,onPointerDown:o,...l}=e,c=u?"button":void 0;return(0,i.mergeProps)({type:c,onClick(e){r?e.preventDefault():t?.(e)},onMouseDown(e){r||n?.(e)},onKeyDown(e){var n;if(r||((0,i.makeEventPreventable)(e),s?.(e),e.baseUIHandlerPrevented))return;let a=e.target===e.currentTarget,o=e.currentTarget,l=d(o),c=!u&&(n=o,!!(n?.tagName==="A"&&n?.href)),f=a&&(u?l:!c),p="Enter"===e.key,m=" "===e.key,h=o.getAttribute("role"),v=h?.startsWith("menuitem")||"option"===h||"gridcell"===h;if(a&&g&&m){if(e.defaultPrevented&&v)return;e.preventDefault(),c||u&&l?(o.click(),e.preventBaseUIHandler()):f&&(t?.(e),e.preventBaseUIHandler());return}f&&(!u&&(m||p)&&e.preventDefault(),!u&&p&&t?.(e))},onKeyUp(e){r||(((0,i.makeEventPreventable)(e),a?.(e),e.target===e.currentTarget&&u&&g&&d(e.currentTarget)&&" "===e.key)?e.preventDefault():!e.baseUIHandlerPrevented&&(e.target!==e.currentTarget||u||g||" "!==e.key||t?.(e)))},onPointerDown(e){r?e.preventDefault():o?.(e)}},u?void 0:{role:"button"},m,l)},[r,m,g,u]),buttonRef:(0,n.useStableCallback)(e=>{f.current=e,h()})}}],616117)},294237,e=>{"use strict";var t=e.i(7284);let r=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,n=t.clsx;e.s(["cva",0,(e,t)=>a=>{var i;if((null==t?void 0:t.variants)==null)return n(e,null==a?void 0:a.class,null==a?void 0:a.className);let{variants:s,defaultVariants:o}=t,l=Object.keys(s).map(e=>{let t=null==a?void 0:a[e],n=null==o?void 0:o[e];if(null===t)return null;let i=r(t)||r(n);return s[e][i]}),d=a&&Object.entries(a).reduce((e,t)=>{let[r,n]=t;return void 0===n||(e[r]=n),e},{});return n(e,l,null==t||null==(i=t.compoundVariants)?void 0:i.reduce((e,t)=>{let{class:r,className:n,...a}=t;return Object.entries(a).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...o,...d}[t]):({...o,...d})[t]===r})?[...e,r,n]:e},[]),null==a?void 0:a.class,null==a?void 0:a.className)}])},186339,e=>{"use strict";var t=e.i(368075);e.i(459119);var r=e.i(298699),n=e.i(616117),a=e.i(597849);let i=r.forwardRef(function(e,t){let{render:r,className:i,disabled:s=!1,focusableWhenDisabled:o=!1,nativeButton:l=!0,style:d,...u}=e,{getButtonProps:c,buttonRef:f}=(0,n.useButton)({disabled:s,focusableWhenDisabled:o,native:l});return(0,a.useRenderElement)("button",e,{state:{disabled:s},ref:[t,f],props:[u,c]})});var s=e.i(294237),o=e.i(613349);let l=(0,s.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:r="default",size:n="default",...a}){return(0,t.jsx)(i,{"data-slot":"button",className:(0,o.cn)(l({variant:r,size:n,className:e})),...a})},"buttonVariants",0,l],186339)},70738,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return a}});let n=e.r(298699);function a(e,t){let r=(0,n.useRef)(null),a=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(r.current=i(e,n)),t&&(a.current=i(t,n))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},275351,e=>{"use strict";let t,r,n,a,i=(e,t)=>t.some(t=>e instanceof t),s=new WeakMap,o=new WeakMap,l=new WeakMap,d={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return s.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return u(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function u(e){if(e instanceof IDBRequest){let t;return t=new Promise((t,r)=>{let n=()=>{e.removeEventListener("success",a),e.removeEventListener("error",i)},a=()=>{t(u(e.result)),n()},i=()=>{r(e.error),n()};e.addEventListener("success",a),e.addEventListener("error",i)}),l.set(t,e),t}if(o.has(e))return o.get(e);let t=function(e){if("function"==typeof e)return(a||(a=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(c(this),t),u(this.request)}:function(...t){return u(e.apply(c(this),t))};return(e instanceof IDBTransaction&&function(e){if(s.has(e))return;let t=new Promise((t,r)=>{let n=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",i),e.removeEventListener("abort",i)},a=()=>{t(),n()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",a),e.addEventListener("error",i),e.addEventListener("abort",i)});s.set(e,t)}(e),i(e,n||(n=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(e,d):e}(e);return t!==e&&(o.set(e,t),l.set(t,e)),t}let c=e=>l.get(e),f=["get","getKey","getAll","getAllKeys","count"],p=["put","add","delete","clear"],g=new Map;function m(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(g.get(t))return g.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,a=p.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(a||f.includes(r)))return;let i=async function(e,...t){let i=this.transaction(e,a?"readwrite":"readonly"),s=i.store;return n&&(s=s.index(t.shift())),(await Promise.all([s[r](...t),a&&i.done]))[0]};return g.set(t,i),i}d={...t=d,get:(e,r,n)=>m(e,r)||t.get(e,r,n),has:(e,r)=>!!m(e,r)||t.has(e,r)};let h=["continue","continuePrimaryKey","advance"],v={},b=new WeakMap,y=new WeakMap,x={get(e,t){if(!h.includes(t))return e[t];let r=v[t];return r||(r=v[t]=function(...e){b.set(this,y.get(this)[t](...e))}),r}};async function*w(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;let r=new Proxy(t,x);for(y.set(r,t),l.set(r,c(t));t;)yield r,t=await (b.get(r)||t.continue()),b.delete(r)}function _(e,t){return t===Symbol.asyncIterator&&i(e,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===t&&i(e,[IDBIndex,IDBObjectStore])}d={...r=d,get:(e,t,n)=>_(e,t)?w:r.get(e,t,n),has:(e,t)=>_(e,t)||r.has(e,t)};let j=null,C=null;function k(e){return"u"<typeof indexedDB?null:j&&C===e?j:(C=e,j=function(e,{blocked:t,upgrade:r,blocking:n,terminated:a}={}){let i=indexedDB.open(e,1),s=u(i);return r&&i.addEventListener("upgradeneeded",e=>{r(u(i.result),e.oldVersion,e.newVersion,u(i.transaction),e)}),t&&i.addEventListener("blocked",e=>t(e.oldVersion,e.newVersion,e)),s.then(e=>{a&&e.addEventListener("close",()=>a()),n&&e.addEventListener("versionchange",e=>n(e.oldVersion,e.newVersion,e))}).catch(()=>{}),s}(`alook-chat-cache-${e}`,{upgrade(e){let t=e.createObjectStore("messages",{keyPath:["conversation_id","id"]});t.createIndex("by-conversation","conversation_id",{unique:!1}),t.createIndex("by-created",["conversation_id","created_at"],{unique:!1}),e.createObjectStore("cache_meta",{keyPath:"conversation_id"})}}))}function P(e){return e?k(e):j}async function E(e,t){let r=P(t);if(!r)return null;try{let t=await r,n=await t.getAllFromIndex("messages","by-conversation",e);if(0===n.length)return null;let a=n.filter(e=>"buffered"!==e.status&&!e.id.startsWith("temp-"));a.sort((e,t)=>{let r=e.created_at.localeCompare(t.created_at);return 0!==r?r:e.id.localeCompare(t.id)});let i=await t.get("cache_meta",e);return i&&await t.put("cache_meta",{...i,lastAccessedAt:Date.now()}),a}catch{return null}}async function O(e,t,r,n){let a=P(n);if(a)try{let n=await a,i=t.filter(e=>"buffered"!==e.status&&!e.id.startsWith("temp-"));if(0===i.length)return;let s=n.transaction(["messages","cache_meta"],"readwrite"),o=s.objectStore("messages"),l=s.objectStore("cache_meta");for(let e of i)await o.put(e);let d=await o.index("by-conversation").getAllKeys(e),u=Date.now(),c=i.reduce((e,t)=>e.created_at>t.created_at?e:t),f={conversation_id:e,lastFetchedAt:u,lastAccessedAt:u,messageCount:d.length,newestMessageId:c.id,hasMore:r};await l.put(f),await s.done,I().catch(()=>{})}catch{}}async function S(e,t,r){let n=P(r);if(n&&!("buffered"===t.status||t.id.startsWith("temp-")))try{let r=await n,a=await r.get("messages",[e,t.id]);await r.put("messages",t);let i=await r.get("cache_meta",e);i&&await r.put("cache_meta",{...i,lastAccessedAt:Date.now(),messageCount:a?i.messageCount:i.messageCount+1,newestMessageId:t.id})}catch{}}async function I(e=50){let t=P();if(t)try{let r=await t,n=await r.getAll("cache_meta");if(n.length<=e)return;n.sort((e,t)=>e.lastAccessedAt-t.lastAccessedAt);let a=n.slice(0,n.length-e),i=r.transaction(["messages","cache_meta"],"readwrite"),s=i.objectStore("messages"),o=i.objectStore("cache_meta");for(let e of a){for(let t of(await s.index("by-conversation").getAllKeys(e.conversation_id)))await s.delete(t);await o.delete(e.conversation_id)}await i.done}catch{}}async function D(){if("u">typeof indexedDB)try{j&&((await j).close(),j=null),C&&(await z(`alook-chat-cache-${C}`),C=null)}catch{}}async function z(e){return new Promise((t,r)=>{let n=indexedDB.deleteDatabase(e);n.onsuccess=()=>t(),n.onerror=()=>r(n.error),n.onblocked=()=>t()})}e.s(["appendCachedMessage",0,S,"clearAllCache",0,D,"getCachedMessages",0,E,"mergeCachedMessages",0,O,"openCacheDB",0,k],275351)},934351,e=>{"use strict";var t=e.i(368075),r=e.i(613349);e.s(["Card",0,function({className:e,size:n="default",...a}){return(0,t.jsx)("div",{"data-slot":"card","data-size":n,className:(0,r.cn)("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",e),...a})},"CardAction",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-action",className:(0,r.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",e),...n})},"CardContent",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,r.cn)("px-4 group-data-[size=sm]/card:px-3",e),...n})},"CardHeader",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,r.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",e),...n})},"CardTitle",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,r.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",e),...n})}])},821752,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:a,blurDataURL:i,objectFit:s}){let o=r?40*r:e,l=a?40*a:t,d=o&&l?`viewBox='0 0 ${o} ${l}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${d}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${d?"none":"contain"===s?"xMidYMid":"cover"===s?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${i}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},498074,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return i},imageConfigDefault:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=["default","imgix","cloudinary","akamai","custom"],s={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},355477,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return d}}),e.r(611134);let n=e.r(641894),a=e.r(821752),i=e.r(498074),s=["-moz-initial","fill","none","scale-down",void 0];function o(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function d({src:e,sizes:t,unoptimized:r=!1,priority:u=!1,preload:c=!1,loading:f,className:p,quality:g,width:m,height:h,fill:v=!1,style:b,overrideSrc:y,onLoad:x,onLoadingComplete:w,placeholder:_="empty",blurDataURL:j,fetchPriority:C,decoding:k="async",layout:P,objectFit:E,objectPosition:O,lazyBoundary:S,lazyRoot:I,...D},z){var R;let M,N,A,{imgConf:B,showAltText:L,blurComplete:T,defaultLoader:$}=z,W=B||i.imageConfigDefault;if("allSizes"in W)M=W;else{let e=[...W.deviceSizes,...W.imageSizes].sort((e,t)=>e-t),t=W.deviceSizes.sort((e,t)=>e-t),r=W.qualities?.sort((e,t)=>e-t);M={...W,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===$)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let U=D.loader||$;delete D.loader,delete D.srcSet;let q="__next_img_default"in U;if(q){if("custom"===M.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
2
+ Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=U;U=t=>{let{config:r,...n}=t;return e(n)}}if(P){"fill"===P&&(v=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[P];e&&(b={...b,...e});let r={responsive:"100vw",fill:"100vw"}[P];r&&!t&&(t=r)}let F="",V=l(m),H=l(h);if((R=e)&&"object"==typeof R&&(o(R)||void 0!==R.src)){let t=o(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(N=t.blurWidth,A=t.blurHeight,j=j||t.blurDataURL,F=t.src,!v)if(V||H){if(V&&!H){let e=V/t.width;H=Math.round(t.height*e)}else if(!V&&H){let e=H/t.height;V=Math.round(t.width*e)}}else V=t.width,H=t.height}let K=!u&&!c&&("lazy"===f||void 0===f);(!(e="string"==typeof e?e:F)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,K=!1),M.unoptimized&&(r=!0),q&&!M.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let G=l(g),X=Object.assign(v?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:E,objectPosition:O}:{},L?{}:{color:"transparent"},b),J=T||"empty"===_?null:"blur"===_?`url("data:image/svg+xml;charset=utf-8,${(0,a.getImageBlurSvg)({widthInt:V,heightInt:H,blurWidth:N,blurHeight:A,blurDataURL:j||"",objectFit:X.objectFit})}")`:`url("${_}")`,Q=s.includes(X.objectFit)?"fill"===X.objectFit?"100% 100%":"cover":X.objectFit,Y=J?{backgroundSize:Q,backgroundPosition:X.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:J}:{},Z=function({config:e,src:t,unoptimized:r,width:a,quality:i,sizes:s,loader:o}){if(r){if(t.startsWith("/")&&!t.startsWith("//")){let e=(0,n.getDeploymentId)();if(e){let r=t.indexOf("?");if(-1!==r){let n=new URLSearchParams(t.slice(r+1));n.get("dpl")||(n.append("dpl",e),t=t.slice(0,r)+"?"+n.toString())}else t+=`?dpl=${e}`}}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:l,kind:d}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,a=[];for(let e;e=r.exec(n);)a.push(parseInt(e[2]));if(a.length){let r=.01*Math.min(...a);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,a,s),u=l.length-1;return{sizes:s||"w"!==d?s:"100vw",srcSet:l.map((r,n)=>`${o({config:e,src:t,quality:i,width:r})} ${"w"===d?r:n+1}${d}`).join(", "),src:o({config:e,src:t,quality:i,width:l[u]})}}({config:M,src:e,unoptimized:r,width:V,quality:G,sizes:t,loader:U}),ee=K?"lazy":f;return{props:{...D,loading:ee,fetchPriority:C,width:V,height:H,decoding:k,className:p,style:{...X,...Y},sizes:Z.sizes,srcSet:Z.srcSet,src:y||Z.src},meta:{unoptimized:r,preload:c||u,placeholder:_,fill:v}}}},477847,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return o}});let n=e.r(298699),a="u"<typeof window,i=a?()=>{}:n.useLayoutEffect,s=a?()=>{}:n.useEffect;function o(e){let{headManager:t,reduceComponentsToState:r}=e;function o(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return a&&(t?.mountedInstances?.add(e.children),o()),i(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),i(()=>(t&&(t._pendingUpdate=o),()=>{t&&(t._pendingUpdate=o)})),s(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},769049,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return m},defaultHead:function(){return c}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(481258),s=e.r(744066),o=e.r(368075),l=s._(e.r(298699)),d=i._(e.r(477847)),u=e.r(951024);function c(){return[(0,o.jsx)("meta",{charSet:"utf-8"},"charset"),(0,o.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(611134);let p=["name","httpEquiv","charSet","itemProp"];function g(e){let t,r,n,a;return e.reduce(f,[]).reverse().concat(c().reverse()).filter((t=new Set,r=new Set,n=new Set,a={},e=>{let i=!0,s=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){s=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?i=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?i=!1:r.add(e.type);break;case"meta":for(let t=0,r=p.length;t<r;t++){let r=p[t];if(e.props.hasOwnProperty(r))if("charSet"===r)n.has(r)?i=!1:n.add(r);else{let t=e.props[r],n=a[r]||new Set;("name"!==r||!s)&&n.has(t)?i=!1:(n.add(t),a[r]=n)}}}return i})).reverse().map((e,t)=>{let r=e.key||t;return l.default.cloneElement(e,{key:r})})}let m=function({children:e}){let t=(0,l.useContext)(u.HeadManagerContext);return(0,o.jsx)(d.default,{reduceComponentsToState:g,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},703694,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return i}});let n=e.r(481258)._(e.r(298699)),a=e.r(498074),i=n.default.createContext(a.imageConfigDefault)},507585,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(481258)._(e.r(298699)).default.createContext(null)},246955,(e,t,r)=>{"use strict";function n(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,t.qualities[0]):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return n}})},107475,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return s}});let n=e.r(246955),a=e.r(641894);function i({config:e,src:t,width:r,quality:s}){let o=(0,a.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")){let e=t.indexOf("?");if(-1!==e){let r=new URLSearchParams(t.slice(e+1)),n=r.get("dpl");if(n){o=n,r.delete("dpl");let a=r.toString();t=t.slice(0,e)+(a?"?"+a:"")}}}if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
3
+ Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let l=(0,n.findClosestQuality)(s,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${l}${t.startsWith("/")&&o?`&dpl=${o}`:""}`}i.__next_img_default=!0;let s=i},730145,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return x}});let n=e.r(481258),a=e.r(744066),i=e.r(368075),s=a._(e.r(298699)),o=n._(e.r(550008)),l=n._(e.r(769049)),d=e.r(355477),u=e.r(498074),c=e.r(703694);e.r(611134);let f=e.r(507585),p=n._(e.r(107475)),g=e.r(70738),m={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function h(e,t,r,n,a,i,s){let o=e?.src;e&&e["data-loaded-src"]!==o&&(e["data-loaded-src"]=o,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&a(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,a=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>a,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{a=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function v(e){return s.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let b=(0,s.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:a,decoding:o,className:l,style:d,fetchPriority:u,placeholder:c,loading:f,unoptimized:p,fill:m,onLoadRef:b,onLoadingCompleteRef:y,setBlurComplete:x,setShowAltText:w,sizesInput:_,onLoad:j,onError:C,...k},P)=>{let E=(0,s.useCallback)(e=>{e&&(C&&(e.src=e.src),e.complete&&h(e,c,b,y,x,p,_))},[e,c,b,y,x,C,p,_]),O=(0,g.useMergedRef)(P,E);return(0,i.jsx)("img",{...k,...v(u),loading:f,width:a,height:n,decoding:o,"data-nimg":m?"fill":"1",className:l,style:d,sizes:r,srcSet:t,src:e,ref:O,onLoad:e=>{h(e.currentTarget,c,b,y,x,p,_)},onError:e=>{w(!0),"empty"!==c&&x(!0),C&&C(e)}})});function y({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...v(t.fetchPriority)};return e&&o.default.preload?(o.default.preload(t.src,r),null):(0,i.jsx)(l.default,{children:(0,i.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let x=(0,s.forwardRef)((e,t)=>{let r=(0,s.useContext)(f.RouterContext),n=(0,s.useContext)(c.ImageConfigContext),a=(0,s.useMemo)(()=>{let e=m||n||u.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),a=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:a,localPatterns:"u"<typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:o,onLoadingComplete:l}=e,g=(0,s.useRef)(o);(0,s.useEffect)(()=>{g.current=o},[o]);let h=(0,s.useRef)(l);(0,s.useEffect)(()=>{h.current=l},[l]);let[v,x]=(0,s.useState)(!1),[w,_]=(0,s.useState)(!1),{props:j,meta:C}=(0,d.getImgProps)(e,{defaultLoader:p.default,imgConf:a,blurComplete:v,showAltText:w});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b,{...j,unoptimized:C.unoptimized,placeholder:C.placeholder,fill:C.fill,onLoadRef:g,onLoadingCompleteRef:h,setBlurComplete:x,setShowAltText:_,sizesInput:e.sizes,ref:t}),C.preload?(0,i.jsx)(y,{isAppRouter:!r,imgAttributes:j}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},851287,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return u},getImageProps:function(){return d}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(481258),s=e.r(355477),o=e.r(730145),l=i._(e.r(107475));function d(e){let{props:t}=(0,s.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let u=o.Image},736956,(e,t,r)=>{t.exports=e.r(851287)},866519,e=>{"use strict";let t=(0,e.i(406963).default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);e.s(["LogOut",0,t],866519)},898707,e=>{"use strict";var t=e.i(368075);e.s(["GradientBackground",0,function(){return(0,t.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none fixed inset-0 -z-10 overflow-hidden bg-[oklch(0.93_0.015_80)] dark:bg-transparent"})}])},643486,e=>{"use strict";var t=e.i(368075),r=e.i(298699),n=e.i(635790),a=e.i(736956),i=e.i(613349);let s={sm:{icon:28,text:"text-2xl"},lg:{icon:36,text:"text-4xl"}};e.s(["Logo",0,function({size:e="sm",className:o,iconOnly:l=!1}){let{icon:d,text:u}=s[e],{resolvedTheme:c,setTheme:f}=(0,n.useTheme)(),[p,g]=(0,r.useState)(!1),m=(0,r.useRef)(g);return(0,r.useEffect)(()=>{m.current(!0)},[]),(0,t.jsxs)("button",{type:"button",onClick:()=>{f("dark"===c?"light":"dark")},"aria-label":"Toggle theme",className:(0,i.cn)("flex items-center gap-1.5 cursor-pointer select-none transition-opacity hover:opacity-70",o),children:[p?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.default,{src:"/alook.svg",alt:"Alook",width:d,height:d,className:"dark:hidden"}),(0,t.jsx)(a.default,{src:"/alook-dark.svg",alt:"Alook",width:d,height:d,className:"hidden dark:block"})]}):(0,t.jsx)("span",{style:{width:d,height:d}}),!l&&(0,t.jsx)("span",{className:(0,i.cn)(u,"font-black tracking-tight"),style:{fontFamily:"var(--font-brand)"},children:"Alook"})]})}])},12338,e=>{"use strict";var t=e.i(368075),r=e.i(208020),n=e.i(186339),a=e.i(934351),i=e.i(898707),s=e.i(643486),o=e.i(949035);let l=(0,e.i(406963).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var d=e.i(866519),u=e.i(23055),c=e.i(275351);e.s(["WorkspaceListClient",0,function({workspaces:e}){let f=(0,r.useRouter)();return(0,t.jsxs)("div",{className:"relative flex min-h-dvh flex-col items-center justify-center p-6",children:[(0,t.jsx)(i.GradientBackground,{}),(0,t.jsxs)(n.Button,{variant:"ghost",size:"sm",className:"absolute top-4 right-4 text-muted-foreground",onClick:async()=>{await (0,c.clearAllCache)(),await (0,u.signOut)(),f.push("/sign-in")},children:[(0,t.jsx)(d.LogOut,{className:"size-4"}),"Log out"]}),(0,t.jsxs)("div",{className:"w-full max-w-md space-y-8",children:[(0,t.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,t.jsx)(s.Logo,{size:"lg"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Choose a workspace to continue."})]}),(0,t.jsx)("div",{className:"space-y-3",children:e.map(e=>(0,t.jsx)(a.Card,{className:"cursor-pointer transition-colors duration-200 hover:bg-accent/50",onClick:()=>f.push(`/w/${e.slug}/home`),children:(0,t.jsxs)(a.CardContent,{className:"flex items-center justify-between px-3 py-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,t.jsx)("p",{className:"text-sm font-medium truncate",children:e.name}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e.slug})]}),(0,t.jsx)(l,{className:"size-3.5 text-muted-foreground shrink-0"})]})},e.id))}),(0,t.jsxs)(n.Button,{variant:"outline",className:"w-full",onClick:()=>f.push("/studio/new"),children:[(0,t.jsx)(o.Plus,{className:"size-4"}),"New workspace"]})]})]})}],12338)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,113354,e=>{"use strict";let t=(0,e.i(406963).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],113354)},541544,e=>{"use strict";var t=e.i(297925);e.s(["Check",()=>t.default])},642342,e=>{"use strict";var t=e.i(459119),r=e.i(298699);let a=(0,e.i(613349).isLocalMode)(),n=Number(t.default.env.NEXT_PUBLIC_WS_DO_PORT)||8789,s=Number(t.default.env.NEXT_PUBLIC_WS_RECONNECT_DELAY_MS)||1e3,o=Number(t.default.env.NEXT_PUBLIC_WS_RECONNECT_MAX_DELAY_MS)||3e4;e.s(["useUserWs",0,function(e){let t=(0,r.useRef)(null),i=(0,r.useRef)(s),c=(0,r.useRef)(e),l=(0,r.useRef)(null);(0,r.useEffect)(()=>{c.current=e},[e]);let d=(0,r.useRef)(null),u=(0,r.useCallback)(()=>{let e=Math.min(i.current,o);i.current=Math.min(2*e,o),l.current=setTimeout(()=>{d.current?.()},e+500*Math.random())},[]),f=(0,r.useCallback)(async()=>{let e,r,o,l=n;try{let t=await fetch("/api/ws/token");if(!t.ok){console.warn("[ws] token fetch failed:",t.status),u();return}let a=await t.json();e=a.userId,r=a.token,a.wsPort&&(l=a.wsPort)}catch(e){console.warn("[ws] token fetch error:",e),u();return}let d=a?`ws://localhost:${l}/?userId=${e}`:`${location.origin.replace("http","ws")}/api/ws/user?userId=${e}`;try{o=new WebSocket(d)}catch(e){console.warn("[ws] WebSocket creation failed:",e),u();return}t.current=o,o.onopen=()=>{i.current=s,o.send(JSON.stringify({type:"auth",token:r}))},o.onmessage=e=>{try{let t=JSON.parse(e.data);if("auth.ok"===t.type)return;c.current(t)}catch{}},o.onerror=()=>{},o.onclose=()=>{o===t.current&&u()}},[u]);(0,r.useEffect)(()=>{d.current=f},[f]),(0,r.useEffect)(()=>(f(),()=>{null!==l.current&&(clearTimeout(l.current),l.current=null);let e=t.current;t.current=null,e?.close()}),[f])}])},297925,e=>{"use strict";let t=(0,e.i(406963).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",0,t])},371522,e=>{"use strict";let t=(0,e.i(406963).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",0,t],371522)},275351,e=>{"use strict";let t,r,a,n,s=(e,t)=>t.some(t=>e instanceof t),o=new WeakMap,i=new WeakMap,c=new WeakMap,l={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return o.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return d(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function d(e){if(e instanceof IDBRequest){let t;return t=new Promise((t,r)=>{let a=()=>{e.removeEventListener("success",n),e.removeEventListener("error",s)},n=()=>{t(d(e.result)),a()},s=()=>{r(e.error),a()};e.addEventListener("success",n),e.addEventListener("error",s)}),c.set(t,e),t}if(i.has(e))return i.get(e);let t=function(e){if("function"==typeof e)return(n||(n=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(u(this),t),d(this.request)}:function(...t){return d(e.apply(u(this),t))};return(e instanceof IDBTransaction&&function(e){if(o.has(e))return;let t=new Promise((t,r)=>{let a=()=>{e.removeEventListener("complete",n),e.removeEventListener("error",s),e.removeEventListener("abort",s)},n=()=>{t(),a()},s=()=>{r(e.error||new DOMException("AbortError","AbortError")),a()};e.addEventListener("complete",n),e.addEventListener("error",s),e.addEventListener("abort",s)});o.set(e,t)}(e),s(e,a||(a=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(e,l):e}(e);return t!==e&&(i.set(e,t),c.set(t,e)),t}let u=e=>c.get(e),f=["get","getKey","getAll","getAllKeys","count"],m=["put","add","delete","clear"],p=new Map;function h(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(p.get(t))return p.get(t);let r=t.replace(/FromIndex$/,""),a=t!==r,n=m.includes(r);if(!(r in(a?IDBIndex:IDBObjectStore).prototype)||!(n||f.includes(r)))return;let s=async function(e,...t){let s=this.transaction(e,n?"readwrite":"readonly"),o=s.store;return a&&(o=o.index(t.shift())),(await Promise.all([o[r](...t),n&&s.done]))[0]};return p.set(t,s),s}l={...t=l,get:(e,r,a)=>h(e,r)||t.get(e,r,a),has:(e,r)=>!!h(e,r)||t.has(e,r)};let g=["continue","continuePrimaryKey","advance"],x={},y=new WeakMap,w=new WeakMap,b={get(e,t){if(!g.includes(t))return e[t];let r=x[t];return r||(r=x[t]=function(...e){y.set(this,w.get(this)[t](...e))}),r}};async function*v(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;let r=new Proxy(t,b);for(w.set(r,t),c.set(r,u(t));t;)yield r,t=await (y.get(r)||t.continue()),y.delete(r)}function C(e,t){return t===Symbol.asyncIterator&&s(e,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===t&&s(e,[IDBIndex,IDBObjectStore])}l={...r=l,get:(e,t,a)=>C(e,t)?v:r.get(e,t,a),has:(e,t)=>C(e,t)||r.has(e,t)};let j=null,k=null;function I(e){return"u"<typeof indexedDB?null:j&&k===e?j:(k=e,j=function(e,{blocked:t,upgrade:r,blocking:a,terminated:n}={}){let s=indexedDB.open(e,1),o=d(s);return r&&s.addEventListener("upgradeneeded",e=>{r(d(s.result),e.oldVersion,e.newVersion,d(s.transaction),e)}),t&&s.addEventListener("blocked",e=>t(e.oldVersion,e.newVersion,e)),o.then(e=>{n&&e.addEventListener("close",()=>n()),a&&e.addEventListener("versionchange",e=>a(e.oldVersion,e.newVersion,e))}).catch(()=>{}),o}(`alook-chat-cache-${e}`,{upgrade(e){let t=e.createObjectStore("messages",{keyPath:["conversation_id","id"]});t.createIndex("by-conversation","conversation_id",{unique:!1}),t.createIndex("by-created",["conversation_id","created_at"],{unique:!1}),e.createObjectStore("cache_meta",{keyPath:"conversation_id"})}}))}function N(e){return e?I(e):j}async function _(e,t){let r=N(t);if(!r)return null;try{let t=await r,a=await t.getAllFromIndex("messages","by-conversation",e);if(0===a.length)return null;let n=a.filter(e=>"buffered"!==e.status&&!e.id.startsWith("temp-"));n.sort((e,t)=>{let r=e.created_at.localeCompare(t.created_at);return 0!==r?r:e.id.localeCompare(t.id)});let s=await t.get("cache_meta",e);return s&&await t.put("cache_meta",{...s,lastAccessedAt:Date.now()}),n}catch{return null}}async function D(e,t,r,a){let n=N(a);if(n)try{let a=await n,s=t.filter(e=>"buffered"!==e.status&&!e.id.startsWith("temp-"));if(0===s.length)return;let o=a.transaction(["messages","cache_meta"],"readwrite"),i=o.objectStore("messages"),c=o.objectStore("cache_meta");for(let e of s)await i.put(e);let l=await i.index("by-conversation").getAllKeys(e),d=Date.now(),u=s.reduce((e,t)=>e.created_at>t.created_at?e:t),f={conversation_id:e,lastFetchedAt:d,lastAccessedAt:d,messageCount:l.length,newestMessageId:u.id,hasMore:r};await c.put(f),await o.done,E().catch(()=>{})}catch{}}async function B(e,t,r){let a=N(r);if(a&&!("buffered"===t.status||t.id.startsWith("temp-")))try{let r=await a,n=await r.get("messages",[e,t.id]);await r.put("messages",t);let s=await r.get("cache_meta",e);s&&await r.put("cache_meta",{...s,lastAccessedAt:Date.now(),messageCount:n?s.messageCount:s.messageCount+1,newestMessageId:t.id})}catch{}}async function E(e=50){let t=N();if(t)try{let r=await t,a=await r.getAll("cache_meta");if(a.length<=e)return;a.sort((e,t)=>e.lastAccessedAt-t.lastAccessedAt);let n=a.slice(0,a.length-e),s=r.transaction(["messages","cache_meta"],"readwrite"),o=s.objectStore("messages"),i=s.objectStore("cache_meta");for(let e of n){for(let t of(await o.index("by-conversation").getAllKeys(e.conversation_id)))await o.delete(t);await i.delete(e.conversation_id)}await s.done}catch{}}async function A(){if("u">typeof indexedDB)try{j&&((await j).close(),j=null),k&&(await T(`alook-chat-cache-${k}`),k=null)}catch{}}async function T(e){return new Promise((t,r)=>{let a=indexedDB.deleteDatabase(e);a.onsuccess=()=>t(),a.onerror=()=>r(a.error),a.onblocked=()=>t()})}e.s(["appendCachedMessage",0,B,"clearAllCache",0,A,"getCachedMessages",0,_,"mergeCachedMessages",0,D,"openCacheDB",0,I],275351)},934351,e=>{"use strict";var t=e.i(368075),r=e.i(613349);e.s(["Card",0,function({className:e,size:a="default",...n}){return(0,t.jsx)("div",{"data-slot":"card","data-size":a,className:(0,r.cn)("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",e),...n})},"CardAction",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-action",className:(0,r.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",e),...a})},"CardContent",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,r.cn)("px-4 group-data-[size=sm]/card:px-3",e),...a})},"CardHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,r.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",e),...a})},"CardTitle",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,r.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",e),...a})}])},866519,e=>{"use strict";let t=(0,e.i(406963).default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);e.s(["LogOut",0,t],866519)},371406,e=>{"use strict";var t=e.i(368075),r=e.i(298699),a=e.i(186339),n=e.i(329686),s=e.i(541544),o=e.i(880932),i=e.i(613349);function c({step:e,completed:r}){return r?(0,t.jsx)("span",{className:"flex items-center justify-center size-5 rounded-full bg-emerald-500 text-white transition-all duration-300",children:(0,t.jsx)(s.Check,{className:"size-3",strokeWidth:3})}):(0,t.jsx)("span",{className:"flex items-center justify-center size-5 rounded-full bg-foreground text-background text-xs font-semibold",children:e})}e.s(["ConnectMachineSteps",0,function({generatedToken:e,generatingToken:s,onGenerateToken:l,registered:d}){let u=(0,r.useRef)(!1);(0,r.useEffect)(()=>{e||s||u.current||(u.current=!0,l())},[e,s,l]);let f=()=>{navigator.clipboard.writeText(`${(0,i.cliCmd)()} register --token ${e}`),o.toast.success("Copied to clipboard")},m=(0,i.daemonStartCmd)(),p=()=>{navigator.clipboard.writeText(m),o.toast.success("Copied to clipboard")};return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("p",{className:"text-sm font-medium flex items-center gap-2",children:[(0,t.jsx)(c,{step:1,completed:d}),"Register your CLI",d&&(0,t.jsx)("span",{className:"text-xs text-emerald-500 font-normal",children:"Done"})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground pl-7",children:"Run this in your terminal to link your machine."}),s?(0,t.jsx)("div",{className:"pl-7",children:(0,t.jsx)("div",{className:"rounded-md bg-muted p-2.5 font-mono text-xs text-muted-foreground animate-pulse",children:"Generating token..."})}):e?(0,t.jsxs)("div",{className:"pl-7 space-y-2",children:[(0,t.jsxs)(n.Tooltip,{children:[(0,t.jsxs)(n.TooltipTrigger,{render:(0,t.jsx)("div",{className:"rounded-md bg-muted p-2.5 font-mono text-xs text-muted-foreground cursor-pointer hover:bg-muted/80 transition-colors break-all",onClick:f}),children:[(0,i.cliCmd)()," register --token"," ",(0,t.jsx)("span",{className:"text-foreground/70",children:e})]}),(0,t.jsx)(n.TooltipContent,{children:"Click to copy"})]}),!d&&(0,t.jsx)(a.Button,{size:"sm",onClick:f,className:"w-full",children:"Copy Command"})]}):null]}),(0,t.jsxs)("div",{className:`space-y-2 transition-opacity duration-300 ${!d?"opacity-40 pointer-events-none":""}`,children:[(0,t.jsxs)("p",{className:"text-sm font-medium flex items-center gap-2",children:[(0,t.jsx)(c,{step:2,completed:!1}),"Start the daemon"]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground pl-7",children:"The daemon connects your local agents to Alook."}),(0,t.jsxs)(n.Tooltip,{children:[(0,t.jsx)(n.TooltipTrigger,{render:(0,t.jsx)("div",{className:"ml-7 rounded-md bg-muted p-2.5 font-mono text-xs text-muted-foreground cursor-pointer hover:bg-muted/80 transition-colors",onClick:p}),children:m}),(0,t.jsx)(n.TooltipContent,{children:"Click to copy"})]}),d&&(0,t.jsx)("div",{className:"pl-7",children:(0,t.jsx)(a.Button,{size:"sm",onClick:p,className:"w-full",children:"Copy Command"})})]})]})}])}]);