@alook/app 0.0.68 → 0.0.70
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.
- package/bundled/email-worker/index.js +9 -1
- package/bundled/web/.open-next/.build/durable-objects/queue.js +5 -5
- package/bundled/web/.open-next/assets/BUILD_ID +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0.vi-1cgnne0e.css +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{0vob59t.w8yuf.js → 060hy1yx9.8u4.js} +2 -2
- package/bundled/web/.open-next/assets/_next/static/chunks/08u3p1v8e1gxg.js +63 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{13fkss9rmgdqw.js → 0fmcohc0raah~.js} +22 -22
- package/bundled/web/.open-next/assets/_next/static/chunks/0va5axmz5ywg8.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0vb-n1ns9b-93.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0ymb~iviyjlb_.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/13lom177x6744.js +1 -0
- package/bundled/web/.open-next/cache/{d6FEqIY-HdfUib-E9v9dt → P_a_AT2D4owiIED7-cUYg}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/{d6FEqIY-HdfUib-E9v9dt → P_a_AT2D4owiIED7-cUYg}/_not-found.cache +1 -1
- package/bundled/web/.open-next/cache/{d6FEqIY-HdfUib-E9v9dt → P_a_AT2D4owiIED7-cUYg}/sitemap.xml.cache +1 -1
- package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
- package/bundled/web/.open-next/cloudflare/init.js +1 -1
- package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
- package/bundled/web/.open-next/middleware/handler.mjs +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
- 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
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
- 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
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agent-links/[id]/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agent-links/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/access/[userId]/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/access/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/active-tasks/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/activity/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/chat-init/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/conversation/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/conversations/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/[accountId]/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/[accountId]/sync/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/[accountId]/test/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/[meetingId]/approve/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/[meetingId]/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/[meetingId]/stop/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/pin/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/whitelist/[whitelistId]/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/whitelist/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/workspace/browse/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/active-task-counts/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/active-tasks/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/pins/reorder/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/pins/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/sidebar/reorder/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/[id]/content/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/[id]/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/upload/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/[id]/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/[id]/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/reorder/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/config/min-version/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/config/model-options/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/active-task/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/[messageId]/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/messages/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/deregister/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/register/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/complete/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/fail/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/messages/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/progress/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/start/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/status/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/supersede/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/poll/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/workspace/report/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/attachment/[index]/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/body/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/raw/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/thread/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/notify/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/send/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/upload/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/flags/[messageId]/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/flags/count/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/flags/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/count/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/read/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/read-all/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/invite/[token]/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/comments/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/machine-tokens/[id]/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/machine-tokens/activate/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/machine-tokens/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/me/route.js +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/meeting/callback/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/members/me/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/[runtimeId]/rescan/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/[runtimeId]/update/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/machine/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/check-handles/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/check-name/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/messages/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/retry/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/step-counts/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/traces/[traceId]/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/traces/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/invites/[inviteId]/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/invites/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/members/[memberId]/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/members/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/overview/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0.1vmoe._.js +85 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__009_wu3._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__01crkpf._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__01~--ue._.js +3 -0
- 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
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__09cer93._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0dy~25_._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0faxj6t._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0k4l9.h._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0m5a1_f._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0m_ya4f._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0niqi98._.js +85 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ntc1ld._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ud56v.._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +16 -16
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0266t8u._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_02t7kem._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_06imn.m._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_07-798_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08xh_f8._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_09j_99x._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0c9~wb-._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0exm5_w._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0gqpz7w._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j1t6f2._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0k3wl-3._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0l1m9wf._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0lmedw9._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ow_nxn._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0piy2kq._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0r0h9so._.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0s4qnoj._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0sj8mn_._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0s~hhx-._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0tarogd._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0tcd35h._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0u3tu2x._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0w6dw.t._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0y3~9l1._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0z.s70x._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_122y7jv._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0q3gvkd._.js +3 -0
- 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
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0r2s1aj._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0xzp3_y._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +16 -16
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_063q-hj._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0gm0lpi._.js → _091qk6t._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_09b8fgg._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0e7_cpm._.js → _0xcw94t._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_11~t2ti._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_12e18r-._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_13__3im._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_13cbsrm._.js +65 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0~23g-y._.js +2 -2
- 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
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +68 -150
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +294 -330
- package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +3 -3
- package/bundled/web/wrangler.toml +1 -1
- package/bundled/ws-do/index.js +9 -1
- package/dist/cli/index.js +2427 -426
- package/dist/cli/session-runner.js +189 -36
- package/package.json +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/02xsv1h-9twmr.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/085gv~jsjhgvo.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/0csp6ncjhvojv.js +0 -63
- package/bundled/web/.open-next/assets/_next/static/chunks/0lf.3fdr8qzrz.css +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0u1.3sr-iag4j.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0v0kh80r40w4f.js +0 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0axs-gp._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0kvsfuj._.js +0 -85
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0l3u9pl._.js +0 -85
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0lvfzvr._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0n_hjiv._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ug4a08._.js +0 -85
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0~jiu74._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0jx_8bw._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0-jf-76._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0-uhgif._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0oe.0yf._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0ohl~vp._.js +0 -65
- /package/bundled/web/.open-next/assets/_next/static/{d6FEqIY-HdfUib-E9v9dt → P_a_AT2D4owiIED7-cUYg}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{d6FEqIY-HdfUib-E9v9dt → P_a_AT2D4owiIED7-cUYg}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{d6FEqIY-HdfUib-E9v9dt → P_a_AT2D4owiIED7-cUYg}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{d6FEqIY-HdfUib-E9v9dt → P_a_AT2D4owiIED7-cUYg}/robots.txt.cache +0 -0
|
@@ -323,6 +323,6 @@ Report additionally:
|
|
|
323
323
|
- Don't make policy exceptions without escalating to the leader.
|
|
324
324
|
- Don't send a response you're unsure about — flag it as DONE_WITH_CONCERNS.
|
|
325
325
|
|
|
326
|
-
${i}`;a.s(["SCENARIO_PRESETS",0,[{id:"software-dev",label:"Software Development",description:"Build and ship code with a coordinated dev team",icon:"🖥",members:[{role:"leader",description:"Coordinates work, summarizes results, and replies to you",instructions:j},{role:"engineer",description:"Writes code, runs tests, and verifies implementations",instructions:m},{role:"researcher",description:"Reads code, explores APIs, and gathers technical context",instructions:k}]},{id:"content-research",label:"Content & Research",description:"Research topics, write content, and manage publishing",icon:"📝",members:[{role:"leader",description:"Coordinates work, shapes content direction, and delivers output",instructions:j},{role:"researcher",description:"Finds sources, verifies facts, and organizes references",instructions:l},{role:"assistant",description:"Handles formatting, publishing workflows, and follow-ups",instructions:n}]},{id:"personal-assistant",label:"Personal Assistant",description:"One AI that handles your everyday tasks and communications",icon:"🤖",members:[{role:"leader",description:"Handles all tasks directly — emails, research, scheduling, and more",instructions:o}]},{id:"sales-outreach",label:"Sales & Outreach",description:"Prospect, follow up, and close deals as a team",icon:"📈",members:[{role:"leader",description:"Coordinates outreach strategy and manages deal flow",instructions:j},{role:"researcher",description:"Researches prospects, companies, and market intelligence",instructions:p},{role:"assistant",description:"Handles outreach emails, follow-ups, and pipeline tracking",instructions:q}]},{id:"customer-support",label:"Customer Support",description:"Handle tickets, draft replies, and track resolutions",icon:"🎧",members:[{role:"leader",description:"Coordinates support queue and handles escalations",instructions:j},{role:"assistant",description:"Drafts customer responses and tracks open issues",instructions:r}]},{id:"custom",label:"Custom",description:"Build your own team from scratch",icon:"✨",members:[{role:"leader",description:"Coordinates work and replies to you",instructions:j}]}],"shuffleMembers",0,function(a){let b=new Set,c=[];for(let d=0;d<a;d++){let a,d=0;do a=e({dictionaries:[f],length:1,style:"capital"}),d++;while(b.has(a)&&d<100)b.add(a),c.push({name:a,avatarUrl:(0,g.serializeAvatarConfig)((0,g.randomConfig)())})}return c}],762276)},212484,a=>{"use strict";var b=a.i(749314),c=a.i(75118),d=a.i(762276);a.s(["ScenarioPicker",0,function({selected:a,onSelect:e,onBrowseTemplates:f}){return(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("h2",{className:"text-base font-semibold tracking-tight",children:"What will your company focus on?"}),f&&(0,b.jsxs)("button",{type:"button",onClick:f,className:"text-[11px] text-muted-foreground hover:text-foreground transition-colors underline underline-offset-2",children:["Browse templates ",(0,b.jsx)("span",{"aria-hidden":"true",children:"›"})]})]}),(0,b.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:d.SCENARIO_PRESETS.map(d=>(0,b.jsxs)("button",{onClick:()=>e(d.id),className:(0,c.cn)("flex flex-col items-start gap-1 rounded-lg border p-4 text-left transition-all hover:border-foreground/30",a===d.id?"border-foreground/50 bg-muted/50":"border-border"),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(0,b.jsx)("span",{className:"text-lg",children:d.icon}),(0,b.jsxs)("span",{className:"text-[10px] text-muted-foreground/70",children:[d.members.length," agent",d.members.length>1?"s":""]})]}),(0,b.jsx)("span",{className:"text-sm font-medium",children:d.label}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground leading-tight",children:d.description})]},d.id))})]})}])},263233,a=>{"use strict";var b=a.i(749314),c=a.i(75118),d=a.i(732254),e=a.i(439882),f=a.i(877014);a.i(735132);var g=a.i(325848),h=a.i(354498),i=a.i(74414);let j={leader:"Lead",researcher:"Researcher",engineer:"Engineer",assistant:"Assistant"};a.s(["TeamPreview",0,function({members:a,runtimes:k,onShuffle:l,onAssignRuntime:m}){let n=k.length>1&&m;return(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("h2",{className:"text-base font-semibold tracking-tight",children:"Your company"}),(0,b.jsxs)(d.Button,{variant:"ghost",size:"sm",onClick:l,className:"h-7 text-xs gap-1.5",children:[(0,b.jsx)(f.RefreshCw,{className:"size-3"}),"Shuffle"]})]}),(0,b.jsx)("div",{className:(0,c.cn)("grid gap-3 grid-cols-1",2===a.length&&"sm:grid-cols-2",3===a.length&&"sm:grid-cols-2 md:grid-cols-3",a.length>=4&&"sm:grid-cols-2 md:grid-cols-4"),children:a.map((a,c)=>{let d,f=a.avatarUrl?(0,g.parseAvatarUrl)(a.avatarUrl):null;return(0,b.jsxs)(e.Card,{size:"sm",className:"flex flex-col px-3 py-4 gap-2 h-full",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5",children:[f?(0,b.jsx)(g.AvatarRenderer,{config:f,size:36,className:"rounded-xl shrink-0"}):(0,b.jsx)("div",{className:"size-9 rounded-xl bg-muted flex items-center justify-center text-sm font-semibold shrink-0",children:a.name.charAt(0)}),(0,b.jsxs)("div",{className:"flex flex-col items-start gap-0.5",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:a.name}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground bg-muted/60 px-1.5 py-0.5 rounded",children:j[a.role]})]})]}),(0,b.jsxs)("p",{className:"text-[10px] text-muted-foreground/70 font-mono truncate",children:[a.emailHandle||a.name.toLowerCase(),"@alook.ai"]}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground leading-snug flex-1",children:a.description}),n&&(d=k.find(b=>b.id===a.runtimeId),(0,b.jsx)("div",{className:"mt-1",children:(0,b.jsxs)(h.Select,{value:a.runtimeId,onValueChange:a=>{a&&m(c,a)},children:[(0,b.jsx)(h.SelectTrigger,{className:"h-7 text-[11px]",children:(0,b.jsxs)("div",{className:"flex items-center gap-1.5 truncate",children:[d&&(0,b.jsx)(i.ProviderLogo,{provider:d.provider||"",className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:d?.provider||d?.runtime_mode||"Select"})]})}),(0,b.jsx)(h.SelectPopup,{children:k.map(a=>(0,b.jsx)(h.SelectItem,{value:a.id,children:a.provider||a.runtime_mode},a.id))})]})}))]},c)})})]})}])},927981,a=>a.a(async(b,c)=>{try{var d=a.i(749314),e=a.i(437199),f=a.i(207058),g=a.i(732254),h=a.i(334235),i=a.i(16831),j=a.i(940723),k=a.i(113046),l=a.i(388425),m=a.i(321932),n=a.i(671465),o=a.i(921584),p=a.i(454607),q=a.i(561101),r=a.i(212484),s=a.i(263233),t=a.i(762276),u=a.i(588339),v=a.i(171492),w=b([p]);[p]=w.then?(await w)():w,a.s(["StudioOnboardingClient",0,function({workspaceId:a,workspaceSlug:b,workspaceName:c,initialTemplate:w}){let x=(0,f.useRouter)(),y=!a,[z,A]=(0,e.useState)(a),B=(0,e.useRef)(z);(0,e.useEffect)(()=>{B.current=z},[z]);let[C,D]=(0,e.useState)([]),[E,F]=(0,e.useState)(!!a),[G,H]=(0,e.useState)(w?w.baseScenario:null),[I,J]=(0,e.useState)(y||"Personal"===c?"":c),[K,L]=(0,e.useState)(null),[M,N]=(0,e.useState)(!1),[O,P]=(0,e.useState)([]),[Q,R]=(0,e.useState)(!1),[S,T]=(0,e.useState)(""),[U,V]=(0,e.useState)(!1),[W,X]=(0,e.useState)(!1),[Y,Z]=(0,e.useState)(!1),$=C.filter(a=>"online"===a.status),_=$.length>0,aa=new Set($.map(a=>a.daemon_id).filter(Boolean)).size;(0,e.useEffect)(()=>{z&&(0,u.listRuntimes)(z).then(D).catch(()=>{}).finally(()=>F(!1))},[z]);let ab=(0,e.useCallback)(a=>{let b=B.current;if("runtime.registered"===a.type){X(!0);let c=a.workspaceId;c&&!b?(A(c),(0,u.listRuntimes)(c).then(D).catch(()=>{})):b&&(0,u.listRuntimes)(b).then(D).catch(()=>{})}else if("runtime.status"===a.type&&a.payload?.status==="online"){X(!0);let a=B.current;a&&(0,u.listRuntimes)(a).then(D).catch(()=>{})}},[]);(0,v.useUserWs)(ab),(0,e.useEffect)(()=>{let a=$[0]?.id;a&&P(b=>0!==b.length&&b.some(a=>!a.runtimeId)?b.map(b=>b.runtimeId?b:{...b,runtimeId:a}):b)},[$]);let ac=(0,e.useCallback)(async a=>{try{let b=await fetch("/api/studios/check-handles",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({names:a})});if(!b.ok)return null;return await b.json()}catch{return null}},[]);(0,e.useEffect)(()=>{if(!w||E||O.length>0)return;let a=(0,t.shuffleMembers)(w.members.length),b=$[0]?.id||"",c=w.members.map((c,d)=>({name:a[d].name,role:c.role,description:c.description,instructions:c.instructions,avatarUrl:a[d].avatarUrl,runtimeId:b}));P(c),ac(c.map(a=>a.name)).then(a=>{a&&P(b=>b.map(b=>{let c=a.find(a=>a.name===b.name);return c?{...b,emailHandle:c.handle}:b}))})},[w,E]);let ad=async a=>{H(a);let b=t.SCENARIO_PRESETS.find(b=>b.id===a),c=(0,t.shuffleMembers)(b.members.length),d=$[0]?.id||"",e=b.members.map((a,b)=>({name:c[b].name,role:a.role,description:a.description,instructions:a.instructions,avatarUrl:c[b].avatarUrl,runtimeId:d}));P(e);let f=await ac(e.map(a=>a.name));f&&P(a=>a.map(a=>{let b=f.find(b=>b.name===a.name);return b?{...a,emailHandle:b.handle}:a}))},ae=async()=>{let a=(0,t.shuffleMembers)(O.length),b=O.map((b,c)=>({...b,name:a[c].name,avatarUrl:a[c].avatarUrl,emailHandle:void 0}));P(b);let c=await ac(b.map(a=>a.name));c&&P(a=>a.map(a=>{let b=c.find(b=>b.name===a.name);return b?{...a,emailHandle:b.handle}:a}))},af=async()=>{if(I.trim()){N(!0),L(null);try{let a=z?`/api/studios/check-name?name=${encodeURIComponent(I.trim())}&workspace_id=${z}`:`/api/studios/check-name?name=${encodeURIComponent(I.trim())}`,b=await fetch(a),c=await b.json();L(c.available)}catch{L(null),o.toast.error("Failed to check name availability")}finally{N(!1)}}},ag=(0,e.useCallback)(async()=>{V(!0);try{let a=await (0,u.createMachineToken)("cli",z||void 0);T(a.token)}catch{o.toast.error("Failed to generate token")}finally{V(!1)}},[z]),ah=async()=>{R(!0);try{if(!z){o.toast.error("Please connect a computer first"),R(!1);return}let a=await fetch("/api/studios",{method:"POST",headers:{"Content-Type":"application/json","X-Workspace-ID":z},body:JSON.stringify({name:I.trim()||void 0,scenario:G,members:O.map(a=>({name:a.name,role:a.role,runtime_id:a.runtimeId,description:a.description,instructions:a.instructions,avatar_url:a.avatarUrl||null,email_handle:a.emailHandle||void 0}))})});if(!a.ok){let b=await a.json();throw Error(b.error||"Failed to create company")}let b=await a.json();o.toast.success("Company created!"),x.push(`/w/${b.workspace.slug}/agents/${b.leader_agent_id}`)}catch(a){o.toast.error(a instanceof Error?a.message:"Failed to create company"),R(!1)}},ai=y?I.trim()&&!0===K:!1!==K,aj=G&&O.length>0&&O.every(a=>a.runtimeId)&&ai&&(_||W);return G?(0,d.jsxs)("div",{className:"relative flex min-h-dvh flex-col items-center p-6",children:[(0,d.jsxs)("div",{className:"absolute top-4 left-4 flex items-center gap-1",children:[(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground",onClick:()=>x.push("/workspaces"),children:[(0,d.jsx)(n.LayoutGrid,{className:"size-3 mr-1.5"}),"Workspaces"]}),(0,d.jsx)("span",{className:"text-muted-foreground/40",children:"/"}),(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground",onClick:()=>H(null),children:[(0,d.jsx)(m.ArrowLeft,{className:"size-3 mr-1.5"}),"Back"]})]}),(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"absolute top-4 right-4 text-xs text-muted-foreground",onClick:()=>(0,p.signOut)({fetchOptions:{onSuccess:()=>x.push("/sign-in")}}),children:[(0,d.jsx)(l.LogOut,{className:"size-3 mr-1.5"}),"Sign out"]}),(0,d.jsxs)("div",{className:"w-full max-w-3xl space-y-10 py-14",children:[(0,d.jsx)("div",{className:"text-center",children:(0,d.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",style:{fontFamily:"var(--font-news)"},children:"Build your company"})}),E?(0,d.jsx)("div",{className:"flex justify-center py-8",children:(0,d.jsx)(i.Loader2,{className:"size-5 animate-spin text-muted-foreground"})}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h2",{className:"text-base font-semibold tracking-tight",children:"Company name"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.Input,{value:I,onChange:a=>{J(a.target.value),L(null)},placeholder:"e.g. Atlas Lab",className:"text-sm"}),(0,d.jsx)(g.Button,{variant:"outline",size:"sm",onClick:af,disabled:!I.trim()||M,className:"shrink-0",children:M?(0,d.jsx)(i.Loader2,{className:"size-3 animate-spin"}):"Check"})]}),!1===K&&(0,d.jsxs)("p",{className:"text-xs text-red-500 flex items-center gap-1",children:[(0,d.jsx)(k.XCircle,{className:"size-3"})," Name is taken, try another"]}),(0,d.jsxs)("p",{className:"text-xs text-muted-foreground flex items-center gap-1.5",children:[!0===K&&(0,d.jsxs)("span",{className:"text-emerald-600 flex items-center gap-0.5",children:[(0,d.jsx)(j.CheckCircle2,{className:"size-3"})," Available"]}),!0===K&&(0,d.jsx)("span",{children:"·"}),y?(0,d.jsx)("span",{children:"Required — pick a name for your company."}):(0,d.jsx)("span",{children:"Optional — you can always rename later."})]})]}),(0,d.jsx)(s.TeamPreview,{members:O,runtimes:$,onShuffle:ae,onAssignRuntime:(a,b)=>{P(c=>c.map((c,d)=>d===a?{...c,runtimeId:b}:c))}}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)("h2",{className:"text-base font-semibold tracking-tight",children:"Connect a computer"}),_?(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("p",{className:"text-xs text-emerald-600 flex items-center gap-1",children:[(0,d.jsx)(j.CheckCircle2,{className:"size-3"})," ",aa," computer",aa>1?"s":""," connected"]}),(0,d.jsx)("button",{type:"button",className:"text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:()=>Z(a=>!a),children:"Register another"})]}),Y&&(0,d.jsx)("div",{className:"rounded-xl bg-muted/40 p-5",children:(0,d.jsx)(q.ConnectMachineSteps,{generatedToken:S,generatingToken:U,onGenerateToken:ag,registered:W})})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Your company needs a connected computer to run tasks."}),(0,d.jsx)("div",{className:"rounded-xl bg-muted/40 p-5",children:(0,d.jsx)(q.ConnectMachineSteps,{generatedToken:S,generatingToken:U,onGenerateToken:ag,registered:W})})]})]}),(0,d.jsx)(g.Button,{onClick:ah,disabled:!aj||Q,className:"w-full",size:"lg",children:Q?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.Loader2,{className:"size-4 animate-spin mr-2"}),"Launching..."]}):y&&I.trim()&&!0!==K?"Check company name first":"Launch company"})]})]})]}):(0,d.jsxs)("div",{className:"relative flex min-h-dvh flex-col items-center justify-center p-6",children:[(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"absolute top-4 left-4 text-xs text-muted-foreground",onClick:()=>x.push("/workspaces"),children:[(0,d.jsx)(n.LayoutGrid,{className:"size-3 mr-1.5"}),"Workspaces"]}),(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"absolute top-4 right-4 text-xs text-muted-foreground",onClick:()=>(0,p.signOut)({fetchOptions:{onSuccess:()=>x.push("/sign-in")}}),children:[(0,d.jsx)(l.LogOut,{className:"size-3 mr-1.5"}),"Sign out"]}),(0,d.jsxs)("div",{className:"w-full max-w-3xl space-y-8",children:[(0,d.jsxs)("div",{className:"text-center space-y-2",children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",style:{fontFamily:"var(--font-news)"},children:"What will your company do?"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Pick a focus area. You can always add more agents later."})]}),(0,d.jsx)(r.ScenarioPicker,{selected:G,onSelect:ad,onBrowseTemplates:()=>x.push(z?`/templates?workspace_id=${z}`:"/templates")}),z&&(0,d.jsx)("div",{className:"flex justify-center pt-2",children:(0,d.jsx)("button",{type:"button",onClick:()=>{document.cookie=`skip_init=${z};path=/;max-age=86400`,x.push(`/w/${b}/home`)},className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Skip for now"})})]})]})}]),c()}catch(a){c(a)}},!1)];
|
|
326
|
+
${i}`;a.s(["SCENARIO_PRESETS",0,[{id:"software-dev",label:"Software Development",description:"Build and ship code with a coordinated dev team",icon:"🖥",members:[{role:"leader",description:"Coordinates work, summarizes results, and replies to you",instructions:j},{role:"engineer",description:"Writes code, runs tests, and verifies implementations",instructions:m},{role:"researcher",description:"Reads code, explores APIs, and gathers technical context",instructions:k}]},{id:"content-research",label:"Content & Research",description:"Research topics, write content, and manage publishing",icon:"📝",members:[{role:"leader",description:"Coordinates work, shapes content direction, and delivers output",instructions:j},{role:"researcher",description:"Finds sources, verifies facts, and organizes references",instructions:l},{role:"assistant",description:"Handles formatting, publishing workflows, and follow-ups",instructions:n}]},{id:"personal-assistant",label:"Personal Assistant",description:"One AI that handles your everyday tasks and communications",icon:"🤖",members:[{role:"leader",description:"Handles all tasks directly — emails, research, scheduling, and more",instructions:o}]},{id:"sales-outreach",label:"Sales & Outreach",description:"Prospect, follow up, and close deals as a team",icon:"📈",members:[{role:"leader",description:"Coordinates outreach strategy and manages deal flow",instructions:j},{role:"researcher",description:"Researches prospects, companies, and market intelligence",instructions:p},{role:"assistant",description:"Handles outreach emails, follow-ups, and pipeline tracking",instructions:q}]},{id:"customer-support",label:"Customer Support",description:"Handle tickets, draft replies, and track resolutions",icon:"🎧",members:[{role:"leader",description:"Coordinates support queue and handles escalations",instructions:j},{role:"assistant",description:"Drafts customer responses and tracks open issues",instructions:r}]},{id:"custom",label:"Custom",description:"Build your own team from scratch",icon:"✨",members:[{role:"leader",description:"Coordinates work and replies to you",instructions:j}]}],"shuffleMembers",0,function(a){let b=new Set,c=[];for(let d=0;d<a;d++){let a,d=0;do a=e({dictionaries:[f],length:1,style:"capital"}),d++;while(b.has(a)&&d<100)b.add(a),c.push({name:a,avatarUrl:(0,g.serializeAvatarConfig)((0,g.randomConfig)())})}return c}],762276)},212484,a=>{"use strict";var b=a.i(749314),c=a.i(75118),d=a.i(762276);a.s(["ScenarioPicker",0,function({selected:a,onSelect:e,onBrowseTemplates:f}){return(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("h2",{className:"text-base font-semibold tracking-tight",children:"What will your company focus on?"}),f&&(0,b.jsxs)("button",{type:"button",onClick:f,className:"text-[11px] text-muted-foreground hover:text-foreground transition-colors underline underline-offset-2",children:["Browse templates ",(0,b.jsx)("span",{"aria-hidden":"true",children:"›"})]})]}),(0,b.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:d.SCENARIO_PRESETS.map(d=>(0,b.jsxs)("button",{onClick:()=>e(d.id),className:(0,c.cn)("flex flex-col items-start gap-1 rounded-lg border p-4 text-left transition-all hover:border-foreground/30",a===d.id?"border-foreground/50 bg-muted/50":"border-border"),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(0,b.jsx)("span",{className:"text-lg",children:d.icon}),(0,b.jsxs)("span",{className:"text-[10px] text-muted-foreground/70",children:[d.members.length," agent",d.members.length>1?"s":""]})]}),(0,b.jsx)("span",{className:"text-sm font-medium",children:d.label}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground leading-tight",children:d.description})]},d.id))})]})}])},263233,a=>{"use strict";var b=a.i(749314),c=a.i(75118),d=a.i(732254),e=a.i(439882),f=a.i(877014);a.i(735132);var g=a.i(325848),h=a.i(354498),i=a.i(74414);let j={leader:"Lead",researcher:"Researcher",engineer:"Engineer",assistant:"Assistant"};a.s(["TeamPreview",0,function({members:a,runtimes:k,onShuffle:l,onAssignRuntime:m}){let n=k.length>1&&m;return(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("h2",{className:"text-base font-semibold tracking-tight",children:"Your company"}),(0,b.jsxs)(d.Button,{variant:"ghost",size:"sm",onClick:l,className:"h-7 text-xs gap-1.5",children:[(0,b.jsx)(f.RefreshCw,{className:"size-3"}),"Shuffle"]})]}),(0,b.jsx)("div",{className:(0,c.cn)("grid gap-3 grid-cols-1",2===a.length&&"sm:grid-cols-2",3===a.length&&"sm:grid-cols-2 md:grid-cols-3",a.length>=4&&"sm:grid-cols-2 md:grid-cols-4"),children:a.map((a,c)=>{let d,f=a.avatarUrl?(0,g.parseAvatarUrl)(a.avatarUrl):null;return(0,b.jsxs)(e.Card,{size:"sm",className:"flex flex-col px-3 py-4 gap-2 h-full",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5",children:[f?(0,b.jsx)(g.AvatarRenderer,{config:f,size:36,className:"rounded-xl shrink-0"}):(0,b.jsx)("div",{className:"size-9 rounded-xl bg-muted flex items-center justify-center text-sm font-semibold shrink-0",children:a.name.charAt(0)}),(0,b.jsxs)("div",{className:"flex flex-col items-start gap-0.5",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:a.name}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground bg-muted/60 px-1.5 py-0.5 rounded",children:j[a.role]})]})]}),(0,b.jsxs)("p",{className:"text-[10px] text-muted-foreground/70 font-mono truncate",children:[a.emailHandle||a.name.toLowerCase(),"@alook.ai"]}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground leading-snug flex-1",children:a.description}),n&&(d=k.find(b=>b.id===a.runtimeId),(0,b.jsx)("div",{className:"mt-1",children:(0,b.jsxs)(h.Select,{value:a.runtimeId,onValueChange:a=>{a&&m(c,a)},children:[(0,b.jsx)(h.SelectTrigger,{className:"h-7 text-[11px]",children:(0,b.jsxs)("div",{className:"flex items-center gap-1.5 truncate",children:[d&&(0,b.jsx)(i.ProviderLogo,{provider:d.provider||"",className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:d?.provider||d?.runtime_mode||"Select"})]})}),(0,b.jsx)(h.SelectPopup,{children:k.map(a=>(0,b.jsx)(h.SelectItem,{value:a.id,children:a.provider||a.runtime_mode},a.id))})]})}))]},c)})})]})}])},927981,a=>a.a(async(b,c)=>{try{var d=a.i(749314),e=a.i(437199),f=a.i(207058),g=a.i(732254),h=a.i(334235),i=a.i(16831),j=a.i(940723),k=a.i(113046),l=a.i(388425),m=a.i(321932),n=a.i(671465),o=a.i(921584),p=a.i(454607),q=a.i(562706),r=a.i(561101),s=a.i(212484),t=a.i(263233),u=a.i(762276),v=a.i(588339),w=a.i(171492),x=b([p]);[p]=x.then?(await x)():x,a.s(["StudioOnboardingClient",0,function({workspaceId:a,workspaceSlug:b,workspaceName:c,initialTemplate:x}){let y=(0,f.useRouter)(),z=!a,[A,B]=(0,e.useState)(a),C=(0,e.useRef)(A);(0,e.useEffect)(()=>{C.current=A},[A]);let[D,E]=(0,e.useState)([]),[F,G]=(0,e.useState)(!!a),[H,I]=(0,e.useState)(x?x.baseScenario:null),[J,K]=(0,e.useState)(z||"Personal"===c?"":c),[L,M]=(0,e.useState)(null),[N,O]=(0,e.useState)(!1),[P,Q]=(0,e.useState)([]),[R,S]=(0,e.useState)(!1),[T,U]=(0,e.useState)(""),[V,W]=(0,e.useState)(!1),[X,Y]=(0,e.useState)(!1),[Z,$]=(0,e.useState)(!1),_=D.filter(a=>"online"===a.status),aa=_.length>0,ab=new Set(_.map(a=>a.daemon_id).filter(Boolean)).size;(0,e.useEffect)(()=>{A&&(0,v.listRuntimes)(A).then(E).catch(()=>{}).finally(()=>G(!1))},[A]);let ac=(0,e.useCallback)(a=>{let b=C.current;if("runtime.registered"===a.type){Y(!0);let c=a.workspaceId;c&&!b?(B(c),(0,v.listRuntimes)(c).then(E).catch(()=>{})):b&&(0,v.listRuntimes)(b).then(E).catch(()=>{})}else if("runtime.status"===a.type&&a.payload?.status==="online"){Y(!0);let a=C.current;a&&(0,v.listRuntimes)(a).then(E).catch(()=>{})}},[]);(0,w.useUserWs)(ac),(0,e.useEffect)(()=>{let a=_[0]?.id;a&&Q(b=>0!==b.length&&b.some(a=>!a.runtimeId)?b.map(b=>b.runtimeId?b:{...b,runtimeId:a}):b)},[_]);let ad=(0,e.useCallback)(async a=>{try{let b=await fetch("/api/studios/check-handles",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({names:a})});if(!b.ok)return null;return await b.json()}catch{return null}},[]);(0,e.useEffect)(()=>{if(!x||F||P.length>0)return;let a=(0,u.shuffleMembers)(x.members.length),b=_[0]?.id||"",c=x.members.map((c,d)=>({name:a[d].name,role:c.role,description:c.description,instructions:c.instructions,avatarUrl:a[d].avatarUrl,runtimeId:b}));Q(c),ad(c.map(a=>a.name)).then(a=>{a&&Q(b=>b.map(b=>{let c=a.find(a=>a.name===b.name);return c?{...b,emailHandle:c.handle}:b}))})},[x,F]);let ae=async a=>{I(a);let b=u.SCENARIO_PRESETS.find(b=>b.id===a),c=(0,u.shuffleMembers)(b.members.length),d=_[0]?.id||"",e=b.members.map((a,b)=>({name:c[b].name,role:a.role,description:a.description,instructions:a.instructions,avatarUrl:c[b].avatarUrl,runtimeId:d}));Q(e);let f=await ad(e.map(a=>a.name));f&&Q(a=>a.map(a=>{let b=f.find(b=>b.name===a.name);return b?{...a,emailHandle:b.handle}:a}))},af=async()=>{let a=(0,u.shuffleMembers)(P.length),b=P.map((b,c)=>({...b,name:a[c].name,avatarUrl:a[c].avatarUrl,emailHandle:void 0}));Q(b);let c=await ad(b.map(a=>a.name));c&&Q(a=>a.map(a=>{let b=c.find(b=>b.name===a.name);return b?{...a,emailHandle:b.handle}:a}))},ag=async()=>{if(J.trim()){O(!0),M(null);try{let a=A?`/api/studios/check-name?name=${encodeURIComponent(J.trim())}&workspace_id=${A}`:`/api/studios/check-name?name=${encodeURIComponent(J.trim())}`,b=await fetch(a),c=await b.json();M(c.available)}catch{M(null),o.toast.error("Failed to check name availability")}finally{O(!1)}}},ah=(0,e.useCallback)(async()=>{W(!0);try{let a=await (0,v.createMachineToken)("cli",A||void 0);U(a.token)}catch{o.toast.error("Failed to generate token")}finally{W(!1)}},[A]),ai=async()=>{S(!0);try{if(!A){o.toast.error("Please connect a computer first"),S(!1);return}let a=await fetch("/api/studios",{method:"POST",headers:{"Content-Type":"application/json","X-Workspace-ID":A},body:JSON.stringify({name:J.trim()||void 0,scenario:H,members:P.map(a=>({name:a.name,role:a.role,runtime_id:a.runtimeId,description:a.description,instructions:a.instructions,avatar_url:a.avatarUrl||null,email_handle:a.emailHandle||void 0}))})});if(!a.ok){let b=await a.json();throw Error(b.error||"Failed to create company")}let b=await a.json();o.toast.success("Company created!"),y.push(`/w/${b.workspace.slug}/agents/${b.leader_agent_id}`)}catch(a){o.toast.error(a instanceof Error?a.message:"Failed to create company"),S(!1)}},aj=z?J.trim()&&!0===L:!1!==L,ak=H&&P.length>0&&P.every(a=>a.runtimeId)&&aj&&(aa||X);return H?(0,d.jsxs)("div",{className:"relative flex min-h-dvh flex-col items-center p-6",children:[(0,d.jsxs)("div",{className:"absolute top-4 left-4 flex items-center gap-1",children:[(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground",onClick:()=>y.push("/workspaces"),children:[(0,d.jsx)(n.LayoutGrid,{className:"size-3 mr-1.5"}),"Workspaces"]}),(0,d.jsx)("span",{className:"text-muted-foreground/40",children:"/"}),(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground",onClick:()=>I(null),children:[(0,d.jsx)(m.ArrowLeft,{className:"size-3 mr-1.5"}),"Back"]})]}),(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"absolute top-4 right-4 text-xs text-muted-foreground",onClick:async()=>{await (0,q.clearAllCache)(),(0,p.signOut)({fetchOptions:{onSuccess:()=>y.push("/sign-in")}})},children:[(0,d.jsx)(l.LogOut,{className:"size-3 mr-1.5"}),"Sign out"]}),(0,d.jsxs)("div",{className:"w-full max-w-3xl space-y-10 py-14",children:[(0,d.jsx)("div",{className:"text-center",children:(0,d.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",style:{fontFamily:"var(--font-news)"},children:"Build your company"})}),F?(0,d.jsx)("div",{className:"flex justify-center py-8",children:(0,d.jsx)(i.Loader2,{className:"size-5 animate-spin text-muted-foreground"})}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h2",{className:"text-base font-semibold tracking-tight",children:"Company name"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.Input,{value:J,onChange:a=>{K(a.target.value),M(null)},placeholder:"e.g. Atlas Lab",className:"text-sm"}),(0,d.jsx)(g.Button,{variant:"outline",size:"sm",onClick:ag,disabled:!J.trim()||N,className:"shrink-0",children:N?(0,d.jsx)(i.Loader2,{className:"size-3 animate-spin"}):"Check"})]}),!1===L&&(0,d.jsxs)("p",{className:"text-xs text-red-500 flex items-center gap-1",children:[(0,d.jsx)(k.XCircle,{className:"size-3"})," Name is taken, try another"]}),(0,d.jsxs)("p",{className:"text-xs text-muted-foreground flex items-center gap-1.5",children:[!0===L&&(0,d.jsxs)("span",{className:"text-emerald-600 flex items-center gap-0.5",children:[(0,d.jsx)(j.CheckCircle2,{className:"size-3"})," Available"]}),!0===L&&(0,d.jsx)("span",{children:"·"}),z?(0,d.jsx)("span",{children:"Required — pick a name for your company."}):(0,d.jsx)("span",{children:"Optional — you can always rename later."})]})]}),(0,d.jsx)(t.TeamPreview,{members:P,runtimes:_,onShuffle:af,onAssignRuntime:(a,b)=>{Q(c=>c.map((c,d)=>d===a?{...c,runtimeId:b}:c))}}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)("h2",{className:"text-base font-semibold tracking-tight",children:"Connect a computer"}),aa?(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("p",{className:"text-xs text-emerald-600 flex items-center gap-1",children:[(0,d.jsx)(j.CheckCircle2,{className:"size-3"})," ",ab," computer",ab>1?"s":""," connected"]}),(0,d.jsx)("button",{type:"button",className:"text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:()=>$(a=>!a),children:"Register another"})]}),Z&&(0,d.jsx)("div",{className:"rounded-xl bg-muted/40 p-5",children:(0,d.jsx)(r.ConnectMachineSteps,{generatedToken:T,generatingToken:V,onGenerateToken:ah,registered:X})})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Your company needs a connected computer to run tasks."}),(0,d.jsx)("div",{className:"rounded-xl bg-muted/40 p-5",children:(0,d.jsx)(r.ConnectMachineSteps,{generatedToken:T,generatingToken:V,onGenerateToken:ah,registered:X})})]})]}),(0,d.jsx)(g.Button,{onClick:ai,disabled:!ak||R,className:"w-full",size:"lg",children:R?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.Loader2,{className:"size-4 animate-spin mr-2"}),"Launching..."]}):z&&J.trim()&&!0!==L?"Check company name first":"Launch company"})]})]})]}):(0,d.jsxs)("div",{className:"relative flex min-h-dvh flex-col items-center justify-center p-6",children:[(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"absolute top-4 left-4 text-xs text-muted-foreground",onClick:()=>y.push("/workspaces"),children:[(0,d.jsx)(n.LayoutGrid,{className:"size-3 mr-1.5"}),"Workspaces"]}),(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"absolute top-4 right-4 text-xs text-muted-foreground",onClick:async()=>{await (0,q.clearAllCache)(),(0,p.signOut)({fetchOptions:{onSuccess:()=>y.push("/sign-in")}})},children:[(0,d.jsx)(l.LogOut,{className:"size-3 mr-1.5"}),"Sign out"]}),(0,d.jsxs)("div",{className:"w-full max-w-3xl space-y-8",children:[(0,d.jsxs)("div",{className:"text-center space-y-2",children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",style:{fontFamily:"var(--font-news)"},children:"What will your company do?"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Pick a focus area. You can always add more agents later."})]}),(0,d.jsx)(s.ScenarioPicker,{selected:H,onSelect:ae,onBrowseTemplates:()=>y.push(A?`/templates?workspace_id=${A}`:"/templates")}),A&&(0,d.jsx)("div",{className:"flex justify-center pt-2",children:(0,d.jsx)("button",{type:"button",onClick:()=>{document.cookie=`skip_init=${A};path=/;max-age=86400`,y.push(`/w/${b}/home`)},className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Skip for now"})})]})]})}]),c()}catch(a){c(a)}},!1)];
|
|
327
327
|
|
|
328
328
|
//# sourceMappingURL=_13__3im._.js.map
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
module.exports=[562706,a=>{"use strict";let b,c,d,e,f=(a,b)=>b.some(b=>a instanceof b),g=new WeakMap,h=new WeakMap,i=new WeakMap,j={get(a,b,c){if(a instanceof IDBTransaction){if("done"===b)return g.get(a);if("store"===b)return c.objectStoreNames[1]?void 0:c.objectStore(c.objectStoreNames[0])}return k(a[b])},set:(a,b,c)=>(a[b]=c,!0),has:(a,b)=>a instanceof IDBTransaction&&("done"===b||"store"===b)||b in a};function k(a){if(a instanceof IDBRequest){let b;return b=new Promise((b,c)=>{let d=()=>{a.removeEventListener("success",e),a.removeEventListener("error",f)},e=()=>{b(k(a.result)),d()},f=()=>{c(a.error),d()};a.addEventListener("success",e),a.addEventListener("error",f)}),i.set(b,a),b}if(h.has(a))return h.get(a);let b=function(a){if("function"==typeof a)return(e||(e=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(a)?function(...b){return a.apply(l(this),b),k(this.request)}:function(...b){return k(a.apply(l(this),b))};return(a instanceof IDBTransaction&&function(a){if(g.has(a))return;let b=new Promise((b,c)=>{let d=()=>{a.removeEventListener("complete",e),a.removeEventListener("error",f),a.removeEventListener("abort",f)},e=()=>{b(),d()},f=()=>{c(a.error||new DOMException("AbortError","AbortError")),d()};a.addEventListener("complete",e),a.addEventListener("error",f),a.addEventListener("abort",f)});g.set(a,b)}(a),f(a,d||(d=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(a,j):a}(a);return b!==a&&(h.set(a,b),i.set(b,a)),b}let l=a=>i.get(a),m=["get","getKey","getAll","getAllKeys","count"],n=["put","add","delete","clear"],o=new Map;function p(a,b){if(!(a instanceof IDBDatabase&&!(b in a)&&"string"==typeof b))return;if(o.get(b))return o.get(b);let c=b.replace(/FromIndex$/,""),d=b!==c,e=n.includes(c);if(!(c in(d?IDBIndex:IDBObjectStore).prototype)||!(e||m.includes(c)))return;let f=async function(a,...b){let f=this.transaction(a,e?"readwrite":"readonly"),g=f.store;return d&&(g=g.index(b.shift())),(await Promise.all([g[c](...b),e&&f.done]))[0]};return o.set(b,f),f}j={...b=j,get:(a,c,d)=>p(a,c)||b.get(a,c,d),has:(a,c)=>!!p(a,c)||b.has(a,c)};let q=["continue","continuePrimaryKey","advance"],r={},s=new WeakMap,t=new WeakMap,u={get(a,b){if(!q.includes(b))return a[b];let c=r[b];return c||(c=r[b]=function(...a){s.set(this,t.get(this)[b](...a))}),c}};async function*v(...a){let b=this;if(b instanceof IDBCursor||(b=await b.openCursor(...a)),!b)return;let c=new Proxy(b,u);for(t.set(c,b),i.set(c,l(b));b;)yield c,b=await (s.get(c)||b.continue()),s.delete(c)}function w(a,b){return b===Symbol.asyncIterator&&f(a,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===b&&f(a,[IDBIndex,IDBObjectStore])}j={...c=j,get:(a,b,d)=>w(a,b)?v:c.get(a,b,d),has:(a,b)=>w(a,b)||c.has(a,b)};let x=null,y=null;function z(a){return"u"<typeof indexedDB?null:x&&y===a?x:(y=a,x=function(a,{blocked:b,upgrade:c,blocking:d,terminated:e}={}){let f=indexedDB.open(a,1),g=k(f);return c&&f.addEventListener("upgradeneeded",a=>{c(k(f.result),a.oldVersion,a.newVersion,k(f.transaction),a)}),b&&f.addEventListener("blocked",a=>b(a.oldVersion,a.newVersion,a)),g.then(a=>{e&&a.addEventListener("close",()=>e()),d&&a.addEventListener("versionchange",a=>d(a.oldVersion,a.newVersion,a))}).catch(()=>{}),g}(`alook-chat-cache-${a}`,{upgrade(a){let b=a.createObjectStore("messages",{keyPath:["conversation_id","id"]});b.createIndex("by-conversation","conversation_id",{unique:!1}),b.createIndex("by-created",["conversation_id","created_at"],{unique:!1}),a.createObjectStore("cache_meta",{keyPath:"conversation_id"})}}))}function A(a){return a?z(a):x}async function B(a,b){let c=A(b);if(!c)return null;try{let b=await c,d=await b.getAllFromIndex("messages","by-conversation",a);if(0===d.length)return null;let e=d.filter(a=>"buffered"!==a.status&&!a.id.startsWith("temp-"));e.sort((a,b)=>{let c=a.created_at.localeCompare(b.created_at);return 0!==c?c:a.id.localeCompare(b.id)});let f=await b.get("cache_meta",a);return f&&await b.put("cache_meta",{...f,lastAccessedAt:Date.now()}),e}catch{return null}}async function C(a,b,c,d){let e=A(d);if(e)try{let d=await e,f=b.filter(a=>"buffered"!==a.status&&!a.id.startsWith("temp-"));if(0===f.length)return;let g=d.transaction(["messages","cache_meta"],"readwrite"),h=g.objectStore("messages"),i=g.objectStore("cache_meta");for(let a of f)await h.put(a);let j=await h.index("by-conversation").getAllKeys(a),k=Date.now(),l=f.reduce((a,b)=>a.created_at>b.created_at?a:b),m={conversation_id:a,lastFetchedAt:k,lastAccessedAt:k,messageCount:j.length,newestMessageId:l.id,hasMore:c};await i.put(m),await g.done,E().catch(()=>{})}catch{}}async function D(a,b,c){let d=A(c);if(d&&!("buffered"===b.status||b.id.startsWith("temp-")))try{let c=await d,e=await c.get("messages",[a,b.id]);await c.put("messages",b);let f=await c.get("cache_meta",a);f&&await c.put("cache_meta",{...f,lastAccessedAt:Date.now(),messageCount:e?f.messageCount:f.messageCount+1,newestMessageId:b.id})}catch{}}async function E(a=50){let b=A();if(b)try{let c=await b,d=await c.getAll("cache_meta");if(d.length<=a)return;d.sort((a,b)=>a.lastAccessedAt-b.lastAccessedAt);let e=d.slice(0,d.length-a),f=c.transaction(["messages","cache_meta"],"readwrite"),g=f.objectStore("messages"),h=f.objectStore("cache_meta");for(let a of e){for(let b of(await g.index("by-conversation").getAllKeys(a.conversation_id)))await g.delete(b);await h.delete(a.conversation_id)}await f.done}catch{}}async function F(){if("u">typeof indexedDB)try{x&&((await x).close(),x=null),y&&(await G(`alook-chat-cache-${y}`),y=null)}catch{}}async function G(a){return new Promise((b,c)=>{let d=indexedDB.deleteDatabase(a);d.onsuccess=()=>b(),d.onerror=()=>c(d.error),d.onblocked=()=>b()})}a.s(["appendCachedMessage",0,D,"clearAllCache",0,F,"getCachedMessages",0,B,"mergeCachedMessages",0,C,"openCacheDB",0,z],562706)},549931,a=>{"use strict";var b=a.i(770881);a.s(["Check",()=>b.default])},464830,a=>{"use strict";var b=a.i(991367),c=a.i(147909),d=a.i(142261),e=a.i(75118);let f=(0,d.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){var i;return i={defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}},(0,c.useRenderElement)(i.defaultTagName??"div",i,i)},"badgeVariants",0,f],464830)},770881,a=>{"use strict";let b=(0,a.i(647651).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["default",0,b])},16831,a=>{"use strict";let b=(0,a.i(647651).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",0,b],16831)},22902,a=>{"use strict";var b=a.i(749314),c=a.i(432340),d=a.i(732254);a.s(["ConfirmDialog",0,function({open:a,onOpenChange:e,title:f,description:g,confirmLabel:h="Remove",loadingLabel:i,confirmVariant:j="destructive",loading:k=!1,onConfirm:l}){return(0,b.jsx)(c.Dialog,{open:a,onOpenChange:e,children:(0,b.jsxs)(c.DialogContent,{showCloseButton:!1,children:[(0,b.jsxs)(c.DialogHeader,{children:[(0,b.jsx)(c.DialogTitle,{children:f}),(0,b.jsx)(c.DialogDescription,{children:g})]}),(0,b.jsxs)(c.DialogFooter,{children:[(0,b.jsx)(d.Button,{variant:"outline",size:"sm",onClick:()=>e(!1),disabled:k,children:"Cancel"}),(0,b.jsx)(d.Button,{variant:j,size:"sm",onClick:l,disabled:k,children:k?i??`${h}...`:h})]})]})})}])},123047,a=>{"use strict";let b=(0,a.i(647651).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",0,b],123047)},484573,a=>{"use strict";let b=(0,a.i(647651).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",0,b],484573)},25668,a=>{"use strict";var b=a.i(749314),c=a.i(75118);a.s(["Skeleton",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"skeleton",className:(0,c.cn)("animate-pulse rounded-md bg-muted",a),...d})}])},746941,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},506180,a=>{"use strict";var b=a.i(749314),c=a.i(437199);let d=(0,c.createContext)(null);a.s(["WorkspaceProvider",0,function({workspaceId:a,slug:e,children:f}){return(0,c.useEffect)(()=>{try{localStorage.setItem("lastWorkspace",e)}catch{}},[e]),(0,b.jsx)(d.Provider,{value:{workspaceId:a,slug:e},children:f})},"useWorkspace",0,function(){let a=(0,c.useContext)(d);if(!a)throw Error("useWorkspace must be used within WorkspaceProvider");return a}])},606896,a=>{"use strict";let b=(0,a.i(647651).default)("mail",[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]]);a.s(["Mail",0,b],606896)},584126,a=>{"use strict";let b=(0,a.i(647651).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",0,b],584126)},626806,a=>{"use strict";let b=["completed","failed"];function c(){return!1}async function d(){if(!c())return!1}a.s(["NOTIFICATION_EVENTS",0,b,"NOTIFICATION_EVENT_LABELS",0,{completed:"Task Completed",failed:"Task Failed"},"getNotificationEnabled",0,function(){return!1},"getNotificationEvents",0,function(){return[...b]},"isNotificationSupported",0,c,"requestNotificationPermission",0,d,"sendTaskNotification",0,function(a,b,c){},"setNotificationEnabled",0,function(a){localStorage.setItem("browser-notification-enabled",String(a))},"setNotificationEvents",0,function(a){localStorage.setItem("browser-notification-events",JSON.stringify(a))}])},113010,a=>{"use strict";let b=(0,a.i(647651).default)("message-square",[["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"}]]);a.s(["MessageSquare",0,b],113010)},307992,a=>{"use strict";let b=(0,a.i(647651).default)("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);a.s(["CircleDot",0,b],307992)},723127,389660,a=>{"use strict";var b=a.i(647651);let c=(0,b.default)("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);a.s(["RotateCw",0,c],723127);var d=a.i(749314),e=a.i(437199),f=a.i(732254),g=a.i(525132);let h=(0,b.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);var i=a.i(75118);a.s(["ScrollToBottomButton",0,function({scrollRef:a,threshold:b=100}){let[c,j]=(0,e.useState)(!1),k=(0,e.useCallback)(()=>{let c=a.current;if(!c)return;let d=c.scrollHeight-c.scrollTop-c.clientHeight<b;j(c.scrollHeight>c.clientHeight&&!d)},[a,b]);return(0,e.useEffect)(()=>{let b=a.current;if(!b)return;b.addEventListener("scroll",k,{passive:!0}),k();let c=new ResizeObserver(k);return c.observe(b),()=>{b.removeEventListener("scroll",k),c.disconnect()}},[a,k]),(0,d.jsx)("div",{className:(0,i.cn)("absolute bottom-1 left-1/2 -translate-x-1/2 z-10 transition-all duration-200 ease-out",c?"opacity-100 translate-y-0":"opacity-0 translate-y-2 pointer-events-none"),children:(0,d.jsxs)(g.Tooltip,{children:[(0,d.jsx)(g.TooltipTrigger,{render:(0,d.jsx)(f.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{let b=a.current;b&&b.scrollTo({top:b.scrollHeight,behavior:"smooth"})},className:"rounded-full bg-background/80 backdrop-blur-sm border shadow-sm hover:bg-background"}),children:(0,d.jsx)(h,{})}),(0,d.jsx)(g.TooltipContent,{side:"top",children:"Scroll to bottom"})]})})}],389660)},546257,135510,a=>{"use strict";let b=(0,a.i(647651).default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);a.s(["Paperclip",0,b],546257);var c=a.i(749314),d=a.i(437199),e=a.i(615640);let f=`
|
|
2
|
+
html, body {
|
|
3
|
+
overflow: hidden;
|
|
4
|
+
}
|
|
5
|
+
`,g=`
|
|
6
|
+
html, body {
|
|
7
|
+
--sb-thumb: rgba(0,0,0,0.15);
|
|
8
|
+
--sb-hover: rgba(0,0,0,0.3);
|
|
9
|
+
margin: 0;
|
|
10
|
+
padding: 0;
|
|
11
|
+
background: transparent;
|
|
12
|
+
color: #1a1a1a;
|
|
13
|
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
14
|
+
font-size: 15px;
|
|
15
|
+
line-height: 1.6;
|
|
16
|
+
word-wrap: break-word;
|
|
17
|
+
overflow-wrap: break-word;
|
|
18
|
+
overflow: hidden;
|
|
19
|
+
}
|
|
20
|
+
a { color: inherit; }
|
|
21
|
+
img { max-width: 100%; height: auto; }
|
|
22
|
+
`,h=`
|
|
23
|
+
html, body {
|
|
24
|
+
--sb-thumb: rgba(255,255,255,0.1);
|
|
25
|
+
--sb-hover: rgba(255,255,255,0.25);
|
|
26
|
+
margin: 0;
|
|
27
|
+
padding: 0;
|
|
28
|
+
background: transparent;
|
|
29
|
+
color: #e8e5e0;
|
|
30
|
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
31
|
+
font-size: 15px;
|
|
32
|
+
line-height: 1.6;
|
|
33
|
+
word-wrap: break-word;
|
|
34
|
+
overflow-wrap: break-word;
|
|
35
|
+
overflow: hidden;
|
|
36
|
+
color-scheme: dark;
|
|
37
|
+
}
|
|
38
|
+
a { color: inherit; }
|
|
39
|
+
img { max-width: 100%; height: auto; }
|
|
40
|
+
/* Force dark-friendly defaults on common email patterns */
|
|
41
|
+
body, div, td, th, p, span, li {
|
|
42
|
+
color: #e8e5e0 !important;
|
|
43
|
+
}
|
|
44
|
+
table, tr, td, th, div, section, article, header, footer, main {
|
|
45
|
+
background-color: transparent !important;
|
|
46
|
+
border-color: rgba(255, 255, 255, 0.1) !important;
|
|
47
|
+
}
|
|
48
|
+
/* Preserve image backgrounds (logos, etc) */
|
|
49
|
+
img { background-color: transparent !important; }
|
|
50
|
+
h1, h2, h3, h4, h5, h6 {
|
|
51
|
+
color: #f0ede8 !important;
|
|
52
|
+
}
|
|
53
|
+
a { color: #93b5ff !important; }
|
|
54
|
+
`;a.s(["EmailBodyFrame",0,function({html:a,className:b}){let i=(0,d.useRef)(null),{resolvedTheme:j}=(0,e.useTheme)(),[k,l]=(0,d.useState)(200),m="dark"===j;return(0,d.useEffect)(()=>{let b=i.current;if(!b)return;let c=null;b.srcdoc=`<!DOCTYPE html>
|
|
55
|
+
<html>
|
|
56
|
+
<head>
|
|
57
|
+
<meta charset="utf-8">
|
|
58
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
59
|
+
<meta name="color-scheme" content="${m?"dark":"light"}">
|
|
60
|
+
<style>${f}${m?h:g}</style>
|
|
61
|
+
</head>
|
|
62
|
+
<body>${a}</body>
|
|
63
|
+
</html>`;let d=()=>{let a=b.contentDocument;if(!a)return;let d=()=>{let b=a.documentElement.scrollHeight;b>0&&l(b)};d(),(c=new ResizeObserver(d)).observe(a.documentElement)};return b.addEventListener("load",d),()=>{b.removeEventListener("load",d),c?.disconnect()}},[a,m]),(0,c.jsx)("iframe",{ref:i,sandbox:"allow-same-origin",className:b,style:{width:"100%",height:`${k}px`,border:"none",display:"block"},title:"Email content"})}],135510)},463295,a=>{"use strict";let b=(0,a.i(647651).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);a.s(["User",0,b],463295)},586220,a=>{"use strict";var b=a.i(437199);a.s(["useIsMobile",0,function(){let[a,c]=b.useState(void 0);return b.useEffect(()=>{let a=window.matchMedia("(max-width: 639px)"),b=()=>{c(window.innerWidth<640)};return a.addEventListener("change",b),c(window.innerWidth<640),()=>a.removeEventListener("change",b)},[]),!!a}])},321932,a=>{"use strict";let b=(0,a.i(647651).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],321932)},390759,a=>{"use strict";let b=(0,a.i(647651).default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);a.s(["File",0,b],390759)},343563,347788,510698,a=>{"use strict";var b=a.i(655650);a.s([],343563),a.s(["Streamdown",()=>b.C],347788);let c=(0,a.i(647651).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);a.s(["FileText",0,c],510698)}];
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=_13cbsrm._.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
module.exports=[831893,896393,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(752792),f=a.i(506180),g=a.i(626806);let h=["user_dm_message"],i=["user_dm_message"];function j(){return h}a.s(["INBOX_FILTER_LABELS",0,{user_dm_message:"DM",calendar_event:"Calendar",email_notification:"Email"},"INBOX_FILTER_TYPES",0,["user_dm_message","calendar_event","email_notification"],"MANDATORY_INBOX_TYPES",0,i,"getInboxFilterTypes",0,j,"setInboxFilterTypes",0,function(a){let b=[...a];for(let a of i)b.includes(a)||b.unshift(a);localStorage.setItem("inbox-filter-types",JSON.stringify(b))}],896393);let k=(0,c.createContext)(null);a.s(["InboxCountProvider",0,function({children:a}){let{workspaceId:h}=(0,f.useWorkspace)(),{subscribeWs:i,agents:l}=(0,e.useAgentContext)(),[m,n]=(0,c.useState)(0),o=(0,c.useRef)(null),p=(0,c.useRef)(null),q=(0,c.useRef)(l);(0,c.useEffect)(()=>{q.current=l});let r=(0,c.useCallback)(()=>{let a=j();(0,d.getInboxCount)(h,{types:a}).then(a=>{let b=o.current;if(o.current=a.count,n(a.count),null!==b&&a.count>b){let a=p.current?q.current.find(a=>a.id===p.current):void 0;(0,g.sendTaskNotification)("completed",a?.name)}p.current=null}).catch(()=>{})},[h]),s=(0,c.useCallback)(()=>{n(a=>{let b=Math.max(0,a-1);return o.current=b,b})},[]);return(0,c.useEffect)(()=>{r()},[r]),(0,c.useEffect)(()=>i(a=>{"task.updated"===a.type&&("completed"===a.status||"failed"===a.status)&&(p.current=a.agentId,r())}),[i,r]),(0,c.useEffect)(()=>{let a=setInterval(r,3e4);return()=>clearInterval(a)},[r]),(0,b.jsx)(k.Provider,{value:{count:m,refresh:r,decrement:s},children:a})},"useInboxCount",0,function(){let a=(0,c.useContext)(k);if(!a)throw Error("useInboxCount must be used within InboxCountProvider");return a}],831893)},70813,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(506180);let f=(0,c.createContext)(null);a.s(["FlagCountProvider",0,function({children:a}){let{workspaceId:g}=(0,e.useWorkspace)(),[h,i]=(0,c.useState)(0),j=(0,c.useCallback)(()=>{(0,d.getFlaggedCount)(g).then(a=>i(a.count)).catch(()=>{})},[g]),k=(0,c.useCallback)(()=>{i(a=>a+1)},[]),l=(0,c.useCallback)(()=>{i(a=>Math.max(0,a-1))},[]);return(0,c.useEffect)(()=>{j()},[j]),(0,b.jsx)(f.Provider,{value:{count:h,refresh:j,increment:k,decrement:l},children:a})},"useFlagCount",0,function(){let a=(0,c.useContext)(f);if(!a)throw Error("useFlagCount must be used within FlagCountProvider");return a}])},781418,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(549931),e=a.i(584126),f=a.i(921584);a.i(735132);var g=a.i(253260),h=a.i(325848),i=a.i(191525),j=a.i(75118);a.s(["AgentPreviewCard",0,function({agent:a,isOnline:k,activeTaskCount:l,variant:m="default",isHovered:n}){let[o,p]=(0,c.useState)(!1),q=a.email_handle?`${a.email_handle}@alook.ai`:null,r=(0,c.useCallback)(async()=>{if(q)try{await navigator.clipboard.writeText(q),p(!0),f.toast.success("Email copied to clipboard"),setTimeout(()=>p(!1),2e3)}catch{f.toast.error("Failed to copy email")}},[q]);if("compact"===m){let c;return(0,b.jsxs)("div",{className:"flex items-center gap-2 p-0",children:[(c=(0,h.parseAvatarUrl)(a.avatar_url))?(0,b.jsx)(g.AnimatedAvatar,{config:c,size:32,className:"shrink-0 rounded-xl",isHovered:n??!1,isWorking:!!k&&(l??0)>0}):(0,b.jsx)("div",{className:"flex items-center justify-center size-8 rounded-xl bg-secondary text-secondary-foreground text-xs font-medium shrink-0",children:a.name.charAt(0).toUpperCase()}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate max-w-35",children:a.name}),q&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:q})]}),void 0!==k&&(0,b.jsx)("div",{className:"pointer-events-none mt-0.5",children:(0,b.jsx)(i.AgentStatusBadge,{isOnline:k,taskCount:l??0,agentId:a.id})})]})]})}return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5 p-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate",children:a.name}),(0,b.jsx)("span",{className:"flex-1"}),void 0!==k&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,b.jsx)("span",{className:(0,j.cn)("size-1.5 rounded-full",k?"bg-status-online":"bg-status-offline")}),k?(l??0)>0?"Working":null:"Offline"]})]}),q&&(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:q}),(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),r()},className:"shrink-0 p-0.5 rounded-sm text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:o?(0,b.jsx)(d.Check,{className:"size-3 text-green-500"}):(0,b.jsx)(e.Copy,{className:"size-3"})})]}),a.description&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2",children:a.description})]})}])},127026,40924,a=>{"use strict";a.s(["AgentChatView",()=>au,"getEventIconType",()=>ao],127026);var b=a.i(749314),c=a.i(437199),d=a.i(131675),e=a.i(207058),f=a.i(506180),g=a.i(732254),h=a.i(464830),i=a.i(75118),j=a.i(549931),k=a.i(143984),l=a.i(647651);let m=(0,l.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 n=a.i(123047),o=a.i(723127),p=a.i(16831);a.i(343563);var q=a.i(347788);function r(a){return a.replace(/_/g," ").replace(/\b\w/g,a=>a.toUpperCase())}let s=new Set(["status","log"]);function t({item:a,isRunning:d,isLast:e}){let f=(0,c.useMemo)(()=>{if(!a.input)return null;try{return JSON.stringify(a.input,null,2)}catch{return String(a.input)}},[a.input]);return f?(0,b.jsxs)("details",{className:"group/tool",children:[(0,b.jsxs)("summary",{className:(0,i.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,b.jsx)(k.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/tool:rotate-90"}),(0,b.jsx)("span",{className:"font-medium text-foreground/80",children:r(a.tool)}),d&&e&&(0,b.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),d&&!e&&(0,b.jsx)(j.Check,{className:"ml-auto size-3 text-emerald-500"})]}),(0,b.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,b.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:f})})]}):(0,b.jsxs)("div",{className:(0,i.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground"),children:[(0,b.jsx)("span",{className:"font-medium text-foreground/80",children:r(a.tool)}),d&&e&&(0,b.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),d&&!e&&(0,b.jsx)(j.Check,{className:"ml-auto size-3 text-emerald-500"})]})}function u({item:a}){return a.content?(0,b.jsxs)("details",{className:"group/think",children:[(0,b.jsxs)("summary",{className:(0,i.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,b.jsx)(k.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/40 transition-transform duration-150 group-open/think:rotate-90"}),(0,b.jsx)(m,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{children:"Thinking..."})]}),(0,b.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,b.jsx)("p",{className:"text-sm italic text-muted-foreground/60 whitespace-pre-wrap",children:a.content})})]}):(0,b.jsxs)("div",{className:(0,i.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground/60 italic"),children:[(0,b.jsx)(m,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{children:"Thinking..."})]})}function v({value:a}){let d=(0,c.useRef)(a),[e,f]=(0,c.useState)({current:a,previous:null}),[g,h]=(0,c.useState)("idle");return(0,c.useEffect)(()=>{if(a===d.current)return;let b=d.current;d.current=a,f({current:a,previous:b}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{h("animating")})});let c=setTimeout(()=>{h("idle"),f(a=>({...a,previous:null}))},300);return()=>clearTimeout(c)},[a]),(0,b.jsxs)("span",{style:{display:"inline-block",position:"relative",overflow:"hidden",height:"1.2em",lineHeight:"1.2em",verticalAlign:"bottom"},children:[null!==e.previous&&(0,b.jsx)("span",{style:{display:"block",position:"absolute",inset:"0",transition:"animating"===g?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:"animating"===g?"translateY(-100%)":"translateY(0)",opacity:+("animating"!==g)},children:e.previous}),(0,b.jsx)("span",{style:{display:"block",transition:"animating"===g?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:null!==e.previous&&"animating"!==g?"translateY(100%)":"translateY(0)",opacity:+(null===e.previous||"animating"===g)},children:e.current})]})}function w({task:a,messages:d,connectionLost:e,onRetry:f,stepCountHint:g,onExpandSteps:j,stepsLoading:l}){let[m,r]=(0,c.useState)(!1),x=(0,c.useMemo)(()=>(function(a){let b=[],c=new Map;for(let d of a){if(s.has(d.type))continue;let a=d.id||`seq-${d.seq}`;switch(d.type){case"tool-use":{let e=d.call_id,f={kind:"tool-call",id:a,tool:d.tool,input:d.input};e&&c.set(e,f),b.push(f);break}case"tool-result":break;case"text":b.push({kind:"text",id:a,content:d.content});break;case"thinking":b.push({kind:"thinking",id:a,content:d.content});break;case"error":b.push({kind:"status",id:a,content:d.content||d.output,type:"error"})}}return b})(d),[d]),y="completed"!==a.status&&"failed"!==a.status&&"cancelled"!==a.status&&"superseded"!==a.status,z=x.filter(a=>"text"!==a.kind),A=x.filter(a=>"text"===a.kind),B=A.length>0?A[A.length-1]:null,C=(0,c.useRef)(null),D=(0,c.useRef)(null),E=(0,c.useRef)(!1);(0,c.useEffect)(()=>{y&&C.current&&(C.current.scrollTop=C.current.scrollHeight)},[z.length,y]),(0,c.useEffect)(()=>{y&&D.current&&(D.current.scrollTop=D.current.scrollHeight)},[A.length,y]);let F=y?A:A.slice(0,-1),G=!y&&null!==B,H=z.length>0?z.length:g??0,I=z.length>0||g&&g>0;return(0,b.jsxs)("div",{className:"space-y-3 min-w-0 max-w-full",children:[(0,b.jsx)("div",{className:"flex items-center gap-2",children:"running"===a.status?(0,b.jsxs)(h.Badge,{variant:"secondary",className:"gap-1.5 relative overflow-hidden",children:[(0,b.jsx)("span",{className:"size-1.5 rounded-full bg-primary animate-pulse"}),"Working",(0,b.jsx)("div",{className:"pointer-events-none absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite]",style:{background:"linear-gradient(90deg, transparent 0%, var(--shimmer) 40%, var(--shimmer-peak) 50%, var(--shimmer) 60%, transparent 100%)"}})]}):y?(0,b.jsxs)(h.Badge,{variant:"secondary",className:"relative overflow-hidden",children:[a.status,(0,b.jsx)("div",{className:"pointer-events-none absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite]",style:{background:"linear-gradient(90deg, transparent 0%, var(--shimmer) 40%, var(--shimmer-peak) 50%, var(--shimmer) 60%, transparent 100%)"}})]}):(0,b.jsx)(h.Badge,{variant:"secondary",children:a.status})}),I&&(0,b.jsxs)("details",{className:"group/stream pl-1",onToggle:a=>{a.currentTarget.open&&!E.current&&j&&(E.current=!0,j())},children:[(0,b.jsxs)("summary",{className:(0,i.cn)("flex items-center gap-1.5 py-1 cursor-pointer select-none","text-xs text-muted-foreground transition-colors duration-150","hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,b.jsx)(k.ChevronRight,{className:(0,i.cn)("size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/stream:rotate-90",y&&"animate-pulse text-primary")}),(0,b.jsxs)("span",{children:[(0,b.jsx)(v,{value:H})," ",1===H?"step":"steps"]})]}),(0,b.jsxs)("div",{ref:C,className:"mt-1 max-h-80 overflow-y-auto overflow-x-hidden thin-scrollbar space-y-0.5 pl-1",children:[l&&0===z.length&&(0,b.jsxs)("div",{className:"flex items-center gap-2 py-2 text-xs text-muted-foreground",children:[(0,b.jsx)(p.Loader2,{className:"size-3 animate-spin"}),(0,b.jsx)("span",{children:"Loading steps..."})]}),z.map((a,c)=>{switch(a.kind){case"tool-call":return(0,b.jsx)(t,{item:a,isRunning:y,isLast:c===z.length-1},a.id);case"thinking":return(0,b.jsx)(u,{item:a},a.id);case"status":return(0,b.jsxs)("p",{className:"text-xs text-muted-foreground px-1 wrap-anywhere",children:["error"===a.type&&(0,b.jsx)(n.AlertCircle,{className:"inline size-3 mr-1 -mt-0.5 text-destructive"}),a.content]},a.id);default:return null}})]})]}),F.length>0&&(0,b.jsxs)("details",{className:"group/midtext pl-1",open:!G||void 0,children:[(0,b.jsxs)("summary",{className:(0,i.cn)("flex items-center gap-1.5 py-1 cursor-pointer select-none","text-xs text-muted-foreground transition-colors duration-150","hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,b.jsx)(k.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/midtext:rotate-90"}),(0,b.jsxs)("span",{children:[(0,b.jsx)(v,{value:F.length})," thinking"]})]}),(0,b.jsx)("div",{ref:D,className:"mt-1 space-y-2 pl-1",children:F.map(a=>(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-0.5 text-sm text-muted-foreground",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:a.content})},a.id))})]}),G&&!j&&(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:B.content})}),"failed"===a.status&&a.error&&(0,b.jsxs)("div",{className:"flex items-start gap-2 mt-2 max-w-full overflow-hidden",children:[(0,b.jsxs)("p",{className:"text-sm text-destructive flex items-start gap-1.5 min-w-0",children:[(0,b.jsx)(n.AlertCircle,{className:"size-3.5 shrink-0 mt-0.5"}),(0,b.jsx)("span",{className:"wrap-anywhere",children:a.error})]}),f&&(0,b.jsxs)("button",{type:"button",onClick:async()=>{r(!0);try{await f()}finally{r(!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,b.jsx)(p.Loader2,{className:"size-3 animate-spin"}):(0,b.jsx)(o.RotateCw,{className:"size-3"}),"Retry"]})]}),e&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground animate-pulse mt-1",children:"Connection lost — retrying..."})]})}var x=a.i(588339),y=a.i(752792),z=a.i(831893),A=a.i(70813),B=a.i(452906),C=a.i(921584),D=a.i(25668),E=a.i(525132),F=a.i(540858);let G=(0,l.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"}]]),H=(0,l.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 I=a.i(510698),J=a.i(606896);let K=(0,l.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,l.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 M=a.i(546257),N=a.i(484573),O=a.i(518828);function P({agent:a,isSelected:c,onSelect:d}){return(0,b.jsxs)("button",{type:"button","data-mention-item":!0,className:(0,i.cn)("flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",c?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:b=>{b.preventDefault(),d(a)},children:[(0,b.jsx)("span",{className:"truncate font-medium",children:a.name}),a.email_handle&&(0,b.jsxs)("span",{className:"truncate text-xs text-muted-foreground",children:[a.email_handle,"@alook.ai"]})]})}function Q({isOpen:a,relatedAgents:d,otherAgents:e,selectedIndex:f,onSelect:g,anchorPos:h}){let i=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!i.current)return;let a=i.current.querySelectorAll("[data-mention-item]")[f];a?.scrollIntoView({block:"nearest"})},[f]);let j=d.length+e.length;if(!a||0===j)return null;let k=d.length>0&&e.length>0;return(0,b.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:h.top-4,left:h.left,transform:"translateY(-100%)"},children:(0,b.jsxs)("div",{ref:i,className:"max-h-50 overflow-y-auto py-1 thin-scrollbar",children:[d.map((a,c)=>(0,b.jsx)(P,{agent:a,isSelected:c===f,onSelect:g},a.id)),k&&(0,b.jsx)("div",{className:"mx-3 my-1 border-t border-border"}),e.map((a,c)=>(0,b.jsx)(P,{agent:a,isSelected:d.length+c===f,onSelect:g},a.id))]})})}function R(a,b){if(b>=a.length)return!0;let c=a.charCodeAt(b);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}function S(a,b){if(!a||0===b.length||!a.includes("@"))return a;let c=b.slice().sort((a,b)=>b.name.length-a.name.length),d=[];for(let b=0;b<a.length;b++){if("@"!==a[b]||!function(a,b){if(0===b)return!0;let c=a.charCodeAt(b-1);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}(a,b))continue;let e=b+1;for(let f of c){let c=e+f.name.length;if(c>a.length||a.slice(e,c).toLowerCase()!==f.name.toLowerCase())continue;let g=c,h=a.slice(c).match(/^ \([a-zA-Z0-9-]+@alook\.ai\)/);if(h&&(g=c+h[0].length),(h||R(a,c))&&(!h||R(a,g))){if(d.some(a=>b>=a.start&&b<a.end))break;d.push({start:b,end:c,name:f.name,agentId:f.id});break}}}let e=a;for(let a=d.length-1;a>=0;a--){let b=d[a],c=e.slice(b.start,b.end);e=e.slice(0,b.start)+`<mention data-agent-id="${b.agentId}">${c}</mention>`+e.slice(b.end)}return e}var T=a.i(207461),U=a.i(7455),V=a.i(135510);function W({open:a,onOpenChange:d,emailId:e,workspaceId:f}){let[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(500),q=(0,c.useRef)(!1),r=(0,c.useRef)(d);(0,c.useEffect)(()=>{r.current=d}),(0,c.useEffect)(()=>{a&&e&&(m(!0),i(null),k(null),Promise.all([(0,x.getEmail)(e,f),(0,x.getEmailBody)(e,f)]).then(([a,b])=>{i(a),k(b)}).catch(()=>{C.toast.error("Email not found"),r.current(!1)}).finally(()=>m(!1)))},[a,e,f]);let s=a=>{d(a),a||setTimeout(()=>{i(null),k(null)},300)},t=(0,c.useCallback)(a=>{a.preventDefault(),q.current=!0,a.target.setPointerCapture(a.pointerId)},[]),u=(0,c.useCallback)(a=>{q.current&&o(Math.min(.8*window.innerWidth,Math.max(320,window.innerWidth-a.clientX)))},[]),v=(0,c.useCallback)(()=>{q.current=!1},[]);return(0,b.jsx)(U.Sheet,{open:a,onOpenChange:s,children:(0,b.jsxs)(U.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${n}px, 100vw)`,maxWidth:"none"},className:"data-[side=right]:sm:inset-y-2 data-[side=right]:sm:right-2 data-[side=right]:sm:h-auto data-[side=right]:sm:rounded-xl data-[side=right]:sm:border",children:[(0,b.jsx)("div",{onPointerDown:t,onPointerMove:u,onPointerUp:v,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,b.jsx)(U.SheetHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(J.Mail,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsx)(U.SheetTitle,{className:"truncate flex-1",children:l?"Loading...":h?.subject||"Email"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>s(!1),children:(0,b.jsx)(O.X,{className:"h-4 w-4"})})]})}),(0,b.jsx)(U.SheetBody,{className:"flex-1 overflow-y-auto thin-scrollbar",children:l?(0,b.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,b.jsx)(p.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):h?(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"text-sm space-y-1 border-b pb-3",children:[(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"From:"}),(0,b.jsx)("span",{className:"truncate",children:h.from_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"To:"}),(0,b.jsx)("span",{className:"truncate",children:h.to_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Date:"}),(0,b.jsx)("span",{children:new Date(h.created_at).toLocaleString()})]})]}),j?.isHtml?(0,b.jsx)(V.EmailBodyFrame,{html:j.content,className:"max-w-full"}):(0,b.jsx)("pre",{className:"whitespace-pre-wrap text-sm font-mono",children:j?.content}),h.attachments&&h.attachments.length>0&&(0,b.jsxs)("div",{className:"border-t pt-3",children:[(0,b.jsxs)("p",{className:"text-xs text-muted-foreground mb-2",children:[h.attachments.length," attachment",h.attachments.length>1?"s":""]}),(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:h.attachments.map(a=>(0,b.jsx)("span",{className:"inline-flex items-center gap-1 text-xs bg-muted rounded px-2 py-1",children:a.filename},a.key))})]})]}):null})]})})}var X=a.i(963744),Y=a.i(698824);function Z({bufferedMessages:a,onDelete:d}){let[e,f]=(0,c.useState)(!1),g=a.length;if(0===g)return null;let h=Math.min(g,3);return(0,b.jsx)("div",{className:"relative px-5 pb-1",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl flex justify-center",children:(0,b.jsxs)("div",{className:"relative w-full max-w-lg transition-[height] duration-200 ease-out",style:{height:e?32*g+(g-1)*4:32+(h-1)*6},onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),children:[a.map((a,c)=>{var f;let j=g-1-c,k=c>=g-h;return(0,b.jsx)("div",{className:"absolute right-0 left-0 transition-all duration-200 ease-out",style:{height:32,zIndex:c+1,bottom:e?36*j:k?6*j:0,transform:e?"scale(1)":`scale(${k?1-.03*j:.91})`,opacity:e?1:k?1-.2*j:0,pointerEvents:e||k?"auto":"none"},children:(0,b.jsxs)("div",{className:"h-full rounded-lg border bg-background/95 backdrop-blur-sm shadow-sm flex items-center gap-2 px-3",children:[(0,b.jsx)("span",{className:"shrink-0 text-[11px] text-primary/60 tabular-nums w-4 text-center",children:c+1}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-[13px] text-muted-foreground leading-snug truncate",children:(f=a.content).length<=80?f:f.slice(0,80).trimEnd()+"…"}),a.attachment_ids&&a.attachment_ids.length>0&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5 shrink-0 text-[11px] text-muted-foreground/50",children:[(0,b.jsx)(M.Paperclip,{className:"size-2.5"}),a.attachment_ids.length]})]}),(0,b.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a.id)},className:(0,i.cn)("shrink-0 rounded-sm p-0.5 transition-all duration-150","text-muted-foreground/30 hover:text-foreground hover:bg-muted",e?"opacity-100":"opacity-0"),tabIndex:e?0:-1,children:(0,b.jsx)(O.X,{className:"size-3"})})]})},a.id)}),!e&&g>h&&(0,b.jsxs)("span",{className:"absolute -top-4 right-1 text-[10px] text-muted-foreground/40 tabular-nums",children:["+",g-h," more"]})]})})})}var $=a.i(389660);let _={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 aa({taskId:a,stepCount:d,workspaceId:e}){let[f,g]=(0,c.useState)([]),[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(!1),l=(0,c.useCallback)(async()=>{if(!j&&!h){i(!0);try{let b=await (0,x.getTaskMessages)(a,e);g(b)}catch{g([])}finally{i(!1),k(!0)}}},[j,h,a,e]);return(0,c.useEffect)(()=>{l()},[]),(0,b.jsx)(w,{task:_,messages:f,stepCountHint:d,onExpandSteps:l,stepsLoading:h})}let ab=(0,l.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 ac=a.i(307992);let ad=(0,l.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]);a.s(["Flag",0,ad],40924);var ae=a.i(584126);let af={mention:["data-agent-id"]},ag=["mention"];function ah({content:a,conversationType:c}){let d=ao(a,c),e="h-4 w-4 mt-0.5 shrink-0";return"issue"===d?(0,b.jsx)(ac.CircleDot,{className:e}):"email"===d?(0,b.jsx)(J.Mail,{className:e}):(0,b.jsx)(ab,{className:e})}function ai({attachmentIds:a,artifacts:c,onArtifactClick:d}){let e=a.map(a=>c.find(b=>b.id===a)).filter(a=>!!a);return 0===e.length?null:(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:e.map(a=>(0,b.jsxs)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a)},className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80 hover:bg-primary-foreground/20 transition-colors cursor-pointer",children:[(0,b.jsx)(I.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.filename})]},a.id))})}function aj({pendingFiles:a,messageId:c}){let d=a.get(c);return d&&0!==d.length?(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:d.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80",children:[(0,b.jsx)(I.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.name})]},c))}):null}let ak=(0,c.memo)(function({msg:a,agents:d,artifacts:e,activeTask:f,taskMessages:h,connectionLost:k,isLastMessage:l,stepCount:m,targetConvId:n,workspaceId:o,conversationType:p,pendingFilesByMessage:r,onArtifactClick:s,onEmailClick:t,onIssueClick:u,onRetry:v,mentionComponents:x,isFlagged:y,onToggleFlag:z}){let A,B,D,[F,G]=(0,c.useState)(!1),H=f&&"assistant"===a.role&&a.task_id===f.id&&a.conversation_id===f.conversation_id&&h.length>0,I=!H&&n&&"assistant"===a.role&&a.task_id&&m>0?m:0,J=H&&f&&["completed","failed","cancelled","superseded"].includes(f.status),K="assistant"===a.role?(0,b.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs","aria-label":F?"Copied":"Copy message",onClick:async b=>{b.stopPropagation();try{await navigator.clipboard.writeText(a.content),G(!0),C.toast.success("Copied to clipboard"),setTimeout(()=>G(!1),2e3)}catch{C.toast.error("Failed to copy")}},className:(0,i.cn)("self-start mb-1",F?"text-green-500 opacity-100":"text-muted-foreground opacity-0 group-hover/msg:opacity-100")}),children:F?(0,b.jsx)(j.Check,{className:"size-3.5"}):(0,b.jsx)(ae.Copy,{className:"size-3.5"})}),(0,b.jsx)(E.TooltipContent,{children:F?"Copied":"Copy"})]}),z&&(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",onClick:()=>z(a.id),className:(0,i.cn)("self-start mb-1",y?"text-primary opacity-100":"text-muted-foreground opacity-0 group-hover/msg:opacity-100")}),children:(0,b.jsx)(ad,{className:(0,i.cn)("size-3.5",y&&"fill-current")})}),(0,b.jsx)(E.TooltipContent,{children:y?"Unflag":"Flag"})]})]}):null;return(0,b.jsxs)(c.default.Fragment,{children:[H&&(0,b.jsxs)("div",{className:(0,i.cn)("group/msg",y&&"bg-muted/30 rounded-lg px-2 -mx-2"),children:[(0,b.jsx)(w,{task:f,messages:h,connectionLost:k,onRetry:v}),J&&K]}),I>0&&a.task_id&&(0,b.jsx)(aa,{taskId:a.task_id,stepCount:I,workspaceId:o}),"user"===a.role?(A=l&&!!f&&"running"!==f.status&&!["completed","failed","cancelled","superseded"].includes(f.status),(0,b.jsx)("div",{className:"flex justify-end","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsxs)("div",{className:(0,i.cn)("max-w-[80%] rounded-lg px-4 py-2 bg-primary text-primary-foreground text-base relative"),children:[A&&(0,b.jsx)("div",{className:"absolute inset-0 rounded-lg animate-pulse pointer-events-none",style:{boxShadow:"0 0 0 2px var(--bubble-glow)"}}),(0,b.jsx)("div",{className:"markdown markdown-user",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!1,download:!1,fullscreen:!1}},linkSafety:{enabled:!1},allowedTags:af,literalTagContent:ag,components:x,children:S(a.content,d)})}),a.attachment_ids&&a.attachment_ids.length>0&&(0,b.jsx)(ai,{attachmentIds:a.attachment_ids,artifacts:e,onArtifactClick:s}),!a.attachment_ids&&(0,b.jsx)(aj,{pendingFiles:r,messageId:a.id})]})})):"event"===a.role?(B=a.metadata?.emailId,D=a.metadata?.issueId,(0,b.jsx)("div",{className:"flex justify-start","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsxs)("div",{className:(0,i.cn)("w-full rounded-md border bg-muted/50 text-muted-foreground text-sm px-3 py-2 flex items-start gap-2",(!!B||!!D)&&"cursor-pointer hover:bg-muted transition-colors"),onClick:B?()=>t(B):D?()=>u(D):void 0,children:[(0,b.jsx)(ah,{content:a.content,conversationType:p}),(0,b.jsx)("span",{className:"min-w-0 wrap-anywhere",children:a.content})]})})):H?null:(0,b.jsxs)("div",{className:(0,i.cn)("group/msg flex flex-col justify-start min-w-0 overflow-hidden",y&&"bg-muted/30 rounded-lg px-2 -mx-2"),"data-message-id":a.id,"data-quote-source":!0,...a.task_id?{"data-task-id":a.task_id}:{},children:[(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},allowedTags:af,literalTagContent:ag,components:x,children:S(a.content,d)})}),K]})]})});var al=a.i(781418),am=a.i(722393);let an={mention:function(a){let{children:c,...d}=a,{agents:e}=(0,y.useAgentContext)(),f=d["data-agent-id"]??d.dataAgentId,g=f?e.find(a=>a.id===f):void 0;if(!g&&"string"==typeof c){let a=c.startsWith("@")?c.slice(1):c;g=e.find(b=>b.name.toLowerCase()===a.toLowerCase())}return g?(0,b.jsxs)(am.Popover,{children:[(0,b.jsx)(am.PopoverTrigger,{openOnHover:!0,delay:300,nativeButton:!1,render:(0,b.jsx)("span",{className:"mention-highlight cursor-pointer"}),children:c}),(0,b.jsx)(am.PopoverContent,{side:"top",className:"w-fit max-w-80",children:(0,b.jsx)(al.AgentPreviewCard,{agent:g})})]}):(0,b.jsx)("span",{className:"mention-highlight",children:c})},p:({children:a,node:c,...d})=>(0,b.jsx)("div",{"data-md-p":"",...d,children:a})};function ao(a,b){if("issue_event"===b)return"issue";if("email_notification"===b)return"email";if("calendar_event"===b)return"calendar";let c=a.toLowerCase();return c.startsWith("issue ")||c.startsWith("issue:")?"issue":c.includes("email")?"email":"calendar"}function ap(a,b){let c=new Map;for(let b of a)c.set(b.id,b);for(let a of b)c.set(a.id,a);return[...c.values()].slice().sort((a,b)=>{let c=a.created_at.localeCompare(b.created_at);return 0!==c?c:a.id.localeCompare(b.id)})}function aq(a){let b=[],c=[],d=!1;for(let e of a)"message"===e.kind&&"user"===e.data.role?(d=!0,b.push(e)):"message"===e.kind&&"assistant"===e.data.role?(b.push(e),b.push(...c),c=[],d=!1):d&&"artifact"===e.kind?c.push(e):b.push(e);return b.push(...c),b}function ar(a){let b=(0,c.useRef)(a);return(0,c.useEffect)(()=>{b.current=a},[a]),b}function as({agentName:a}){return(0,b.jsxs)("div",{className:"flex items-center gap-3 py-4 select-none","aria-hidden":!0,children:[(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground/60 whitespace-nowrap",children:[a," took a nap 💤"]}),(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"})]})}function at({artifact:a,version:c,hasDuplicates:d,onClick:e}){return(0,b.jsxs)("button",{onClick:()=>e(a),className:(0,i.cn)("flex items-center gap-3 w-full max-w-sm rounded-lg border border-border/60 bg-muted/30","px-3.5 py-2.5 text-left transition-colors duration-150","hover:bg-muted/60 hover:border-border"),children:[(0,b.jsx)(I.FileText,{className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("p",{className:"text-sm font-medium truncate",children:[a.filename,d&&(0,b.jsxs)("span",{className:"ml-1.5 text-xs text-muted-foreground bg-muted rounded-full px-1.5 py-0.5 font-normal",children:["v",c]})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:(0,T.formatSize)(a.size)})]})]})}function au({agentId:a,targetConvId:h,scrollToTaskId:j,scrollToMessageId:k}){let l,m,n,o=(0,e.useParams)(),q=(0,e.useSearchParams)(),{workspaceId:r,slug:s}=(0,f.useWorkspace)(),{agents:t,agentLinks:u,activeTaskCounts:v,subscribeWs:P}=(0,y.useAgentContext)(),{refresh:R}=(0,z.useInboxCount)(),{activeChannel:U,loading:V,setAgentId:_}=(0,B.useChannel)(),aa=a??o.id,ab=void 0!==j?j:q.get("task"),ac=void 0!==k?k:q.get("msg"),ad=void 0!==h?h:q.get("conv"),[ae,af]=(0,c.useState)(null),[ag,ah]=(0,c.useState)([]),[ai,aj]=(0,c.useState)(()=>""),[al,am]=(0,c.useState)(!1),[ao,av]=(0,c.useState)(!1),[aw,ax]=(0,c.useState)(null),[ay,az]=(0,c.useState)([]),[aA,aB]=(0,c.useState)(!0),[aC,aD]=(0,c.useState)(!1),[aE,aF]=(0,c.useState)(!1),[aG,aH]=(0,c.useState)(!1),[aI,aJ]=(0,c.useState)([]),[aK,aL]=(0,c.useState)(!1),[aM,aN]=(0,c.useState)(null),[aO,aP]=(0,c.useState)(null),[aQ,aR]=(0,c.useState)(!1),[aS,aT]=(0,c.useState)(null),[aU,aV]=(0,c.useState)(!1),[aW,aX]=(0,c.useState)(null),[aY,aZ]=(0,c.useState)(null),[a$,a_]=(0,c.useState)(!1),[a0,a1]=(0,c.useState)(null),[a2,a3]=(0,c.useState)(null),[a4,a5]=(0,c.useState)(448),[a6,a7]=(0,c.useState)([]),[a8,a9]=(0,c.useState)([]),[ba,bb]=(0,c.useState)(null),[bc,bd]=(0,c.useState)([]),[be,bf]=(0,c.useState)(!1),[bg,bh]=(0,c.useState)([]),[bi,bj]=(0,c.useState)({}),[bk]=(0,c.useState)(()=>Date.now()),[bl,bm]=(0,c.useState)(()=>new Map),[bn,bo]=(0,c.useState)(null),[bp,bq]=(0,c.useState)(null),[br,bs]=(0,c.useState)(new Set),bt=(0,c.useRef)(br);(0,c.useEffect)(()=>{bt.current=br});let{increment:bu,decrement:bv}=(0,A.useFlagCount)();(0,c.useEffect)(()=>{_(aa)},[aa,_]);let{listening:bw,supported:bx,toggle:by}=function(a){let[b,d]=(0,c.useState)(!1),[e,f]=(0,c.useState)(!1),g=(0,c.useRef)(null);(0,c.useEffect)(()=>{f(!1)},[]);let h=(0,c.useCallback)(()=>{},[a]),i=(0,c.useCallback)(()=>{g.current?.stop()},[]),j=(0,c.useCallback)(()=>{b?i():h()},[b,h,i]);return(0,c.useEffect)(()=>()=>{g.current?.abort()},[]),{listening:b,supported:e,toggle:j}}((0,c.useCallback)(a=>{aj(b=>b?b+" "+a:a)},[])),bz=(0,c.useMemo)(()=>aI.filter(a=>"agent"===a.source),[aI]),{versionMap:bA,duplicateFilenames:bB}=(0,c.useMemo)(()=>(0,Y.computeArtifactVersions)(bz),[bz]),bC=(0,c.useMemo)(()=>"agent"===aO?bz:"issue"===aO?aY?.artifacts??[]:[],[aO,bz,aY?.artifacts]),{versionMap:bD,duplicateFilenames:bE}=(0,c.useMemo)(()=>(0,Y.computeArtifactVersions)(bC),[bC]),bF=(0,c.useMemo)(()=>(function(a,b,c,d){if(!d||0===c.length){let d=[...a.map(a=>({kind:"message",data:a})),...b.map(a=>({kind:"artifact",data:a})),...c.map(a=>({kind:"nap",data:a}))];return d.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);if(0!==c)return c;if("nap"===a.kind||"nap"===b.kind){if("nap"===a.kind&&"nap"!==b.kind)return 1;if("nap"!==a.kind&&"nap"===b.kind)return -1}return a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)}),aq(d)}let e=new Set(c.map(a=>a.id.replace(/^nap-/,""))),f=[...c].sort((a,b)=>a.created_at.localeCompare(b.created_at)),g=c=>aq([...a.filter(a=>a.conversation_id===c).map(a=>({kind:"message",data:a})),...b.filter(a=>a.conversation_id===c).map(a=>({kind:"artifact",data:a}))].sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)})),h=[];for(let a of f){let b=a.id.replace(/^nap-/,"");h.push(...g(b)),h.push({kind:"nap",data:a})}h.push(...g(d));let i=new Set([...e,d]),j=a.filter(a=>!i.has(a.conversation_id)),k=b.filter(a=>!i.has(a.conversation_id));if(j.length>0||k.length>0){let a=[...j.map(a=>({kind:"message",data:a})),...k.map(a=>({kind:"artifact",data:a}))];a.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)});let b=aq(a),c=h.findIndex(a=>"nap"===a.kind);c>=0?h.splice(c,0,...b):h.push(...b)}return h})(ag,bz,bg,ae?.id),[ag,bz,bg,ae?.id]),bG=(0,c.useCallback)(a=>{(0,Y.isPreviewable)(a)?(aN(a),aP("agent"),aL(!0)):window.open((0,Y.getArtifactUrl)(a.id,r,!0),"_blank")},[r]),bH=(0,c.useCallback)(a=>{(0,Y.isPreviewable)(a)?(aN(a),aP("issue"),aL(!0)):window.open((0,Y.getArtifactUrl)(a.id,r,!0),"_blank")},[r]),bI=(0,c.useRef)(null),bJ=(0,c.useRef)(null),bK=(0,c.useRef)(null),bL=(0,c.useRef)(null),bM=(0,c.useRef)(0),bN=(0,c.useRef)(0),bO=(0,c.useRef)(!1),bP=(0,c.useRef)(!1),bQ=(0,c.useRef)(!0),bR=(0,c.useRef)(!1),bS=(0,c.useRef)(null),bT=(0,c.useRef)(null),bU=(0,c.useRef)(0),bV=(0,c.useRef)(void 0),bW=(0,c.useRef)(null),bX=(0,c.useRef)(null),bY=function({input:a,caretIndex:b,textareaRef:d,agents:e,agentLinks:f,currentAgentId:g,onInputChange:h}){let[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(""),[m,n]=(0,c.useState)(0),[o,p]=(0,c.useState)({top:0,left:0}),q=(0,c.useRef)(null),r=(0,c.useMemo)(()=>{let a=new Set;for(let b of f)b.source_agent_id===g&&a.add(b.target_agent_id),b.target_agent_id===g&&a.add(b.source_agent_id);return a},[f,g]),{relatedAgents:s,otherAgents:t,allAgents:u}=(0,c.useMemo)(()=>{if(!i)return{relatedAgents:[],otherAgents:[],allAgents:[]};let a=a=>{if(!k)return a.slice(0,20);let b=k.toLowerCase(),c=[],d=[];for(let e of a){let a=e.name.toLowerCase();a.startsWith(b)?c.push(e):a.includes(b)&&d.push(e)}return[...c,...d]},b=[],c=[];for(let a of e)r.has(a.id)?b.push(a):c.push(a);let d=a(b),f=a(c);return{relatedAgents:d,otherAgents:f,allAgents:[...d,...f]}},[i,k,e,r]);(0,c.useEffect)(()=>{n(0)},[u.length,k]),(0,c.useEffect)(()=>{if(null===b)return void j(!1);let c=function(a,b){let c=b-1;for(;c>=0&&b-c<=30;){let d=a.charCodeAt(c);if(64===d)return{start:c,query:a.slice(c+1,b)};if(10===d||13===d)break;c--}return null}(a,b);c?(q.current=c.start,l(c.query),j(!0),d.current&&p(function(a,b){let c=document.createElement("div"),d=window.getComputedStyle(a);for(let b of(c.style.position="absolute",c.style.top="-9999px",c.style.left="-9999px",c.style.visibility="hidden",c.style.overflow="hidden",c.style.width=`${a.offsetWidth}px`,["fontFamily","fontSize","fontWeight","fontStyle","letterSpacing","textTransform","wordSpacing","textIndent","lineHeight","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","boxSizing","whiteSpace","wordWrap","overflowWrap"]))c.style[b]=d.getPropertyValue(b.replace(/([A-Z])/g,"-$1").toLowerCase());c.textContent=a.value.slice(0,b);let e=document.createElement("span");e.textContent="",c.appendChild(e),document.body.appendChild(c);let f=e.offsetTop-a.scrollTop,g=Math.max(0,Math.min(e.offsetLeft,a.offsetWidth-256));return document.body.removeChild(c),{top:f,left:g}}(d.current,c.start))):(j(!1),q.current=null)},[a,b,d]);let v=(0,c.useCallback)(c=>{if(null===b||null===q.current)return;let e=a.slice(0,q.current),f=a.slice(b);h(`${e}@${c.name} ${f}`),j(!1);let g=e.length+1+c.name.length+1;requestAnimationFrame(()=>{let a=d.current;a&&(a.focus(),a.setSelectionRange(g,g))})},[a,b,d,h]),w=(0,c.useCallback)(a=>!!i&&0!==u.length&&!a.nativeEvent.isComposing&&("ArrowDown"===a.key?(a.preventDefault(),n(a=>(a+1)%u.length),!0):"ArrowUp"===a.key?(a.preventDefault(),n(a=>(a-1+u.length)%u.length),!0):"Enter"===a.key?(a.preventDefault(),v(u[m]),!0):"Escape"===a.key&&(a.preventDefault(),j(!1),!0)),[i,u,m,v]);return{isOpen:i,query:k,selectedIndex:m,anchorPos:o,relatedAgents:s,otherAgents:t,allAgents:u,handleMentionKeyDown:w,selectAgent:v}}({input:ai,caretIndex:ba,textareaRef:bX,agents:(0,c.useMemo)(()=>t.filter(a=>a.id!==aa),[t,aa]),agentLinks:u,currentAgentId:aa,onInputChange:aj});(0,c.useEffect)(()=>{let a=`chat-draft:${aa}:${ad??"default"}`;ai?localStorage.setItem(a,ai):localStorage.removeItem(a)},[ai,aa,ad]),(0,c.useEffect)(()=>{al||bX.current?.focus()},[al]);let bZ=(0,c.useCallback)(()=>{bQ.current=!0,setTimeout(()=>{bI.current?.scrollTo({top:bI.current.scrollHeight,behavior:"smooth"})},50)},[]);(0,c.useEffect)(()=>{if(V)return;bJ.current&&clearInterval(bJ.current),bJ.current=null,bL.current=null;let a=!1;return queueMicrotask(()=>{a||(aB(!0),bO.current=!1,ax(null),az([]),a9([]),bm(new Map),bh([]),bj({}),bd([]),bf(!1),bT.current=null,aj(localStorage.getItem(`chat-draft:${aa}:${ad??"default"}`)??""))}),async function(){try{if(ad)try{let[b,c,d,e]=await Promise.all([(0,x.getConversation)(ad,r),(0,x.listMessages)(ad,r),(0,x.listArtifacts)(ad,r).catch(()=>[]),(0,x.listBufferedMessages)(ad,r).catch(()=>[])]);if(a)return;af(b),ah(c.messages),aF(c.has_more),aJ(d),a9(e);let f=[...new Set(c.messages.filter(a=>"assistant"===a.role&&a.task_id).map(a=>a.task_id))];if(f.length>0&&(0,x.getTaskStepCounts)(f,r).then(b=>{a||bj(b)}).catch(()=>{}),(0,x.listFlaggedMessageIds)(r,ad).then(b=>{a||bs(new Set(b.message_ids))}).catch(()=>{}),ab){let b=await (0,x.getTask)(ab,r).catch(()=>null);if(a)return;if(b&&!["completed","failed","cancelled","superseded"].includes(b.status)){ax(b);let c=await (0,x.getTaskMessages)(ab,r).catch(()=>[]);if(a)return;az(c),c.length>0&&(bM.current=Math.max(...c.map(a=>a.seq))),bS.current?.(b.id,ad,bM.current)}}}catch{let b=await (0,x.chatInit)(aa,r,U);if(a)return;af(b.conversation),ah(b.messages),aF(b.has_more_messages),aJ(b.artifacts),a9(b.buffered_messages),bf(b.has_more_conversations)}else{let b=await (0,x.chatInit)(aa,r,U);if(a)return;af(b.conversation),ah(b.messages),aF(b.has_more_messages),aJ(b.artifacts),a9(b.buffered_messages),bf(b.has_more_conversations),b.active_task&&(ax(b.active_task),b.task_messages.length>0&&(az(b.task_messages),bM.current=Math.max(...b.task_messages.map(a=>a.seq))),["completed","failed","cancelled","superseded"].includes(b.active_task.status)||bS.current?.(b.active_task.id,b.conversation.id,bM.current))}}catch{C.toast.error("Failed to load conversation")}finally{a||aB(!1)}}(),()=>{a=!0}},[aa,r,ad,ab,U,V]);let b$=(0,c.useRef)(R);(0,c.useEffect)(()=>{b$.current=R},[R]);let b_=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!ae?.id||!r||b_.current===ae.id)return;b_.current=ae.id;let a=setTimeout(()=>{(0,x.markInboxRead)(ae.id,r).then(()=>b$.current()).catch(()=>{})},1e3);return()=>{b_.current=null,clearTimeout(a)}},[ae?.id,r]),(0,c.useEffect)(()=>{aA||!(ag.length>0)||bO.current||(bO.current=!0,ab||ac?bQ.current=!1:h?setTimeout(()=>{let a=bI.current?.querySelectorAll("[data-quote-source]");a&&a.length>0?a[a.length-1].scrollIntoView({behavior:"instant",block:"start"}):bI.current?.scrollTo({top:bI.current.scrollHeight})},50):setTimeout(()=>{bI.current?.scrollTo({top:bI.current.scrollHeight})},50))},[aA,ag.length,ab,ac,h]),(0,c.useEffect)(()=>{let a;if(!ab||aA||!ae)return;bQ.current=!1,bR.current=!0;let b=!1,c=()=>{if(b)return!1;let c=document.querySelector(`[data-task-id="${CSS.escape(ab)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"start"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(bR.current=!1)},1500),!0)},d=setTimeout(async()=>{if(!b&&!c())try{let a=await (0,x.listMessagesAroundTask)(ae.id,r,ab);if(b)return;a.length>0?(ah(b=>ap(b,a)),requestAnimationFrame(()=>{setTimeout(()=>{c()||(bR.current=!1)},100)})):bR.current=!1}catch{b||(bR.current=!1)}},100);return()=>{b=!0,clearTimeout(d),a&&clearTimeout(a)}},[ab,aA,ae,r]),(0,c.useEffect)(()=>{let a;if(!ac||ab||aA||!ae)return;bQ.current=!1,bR.current=!0;let b=!1,c=setTimeout(()=>{!b&&((()=>{if(b)return!1;let c=document.querySelector(`[data-message-id="${CSS.escape(ac)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"start"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(bR.current=!1)},1500),!0)})()||(bI.current?.scrollTo({top:bI.current.scrollHeight}),bR.current=!1))},100);return()=>{b=!0,clearTimeout(c),a&&clearTimeout(a)}},[ac,ab,aA,ae]);let b0=aw?.status;(0,c.useEffect)(()=>{bR.current||("running"===b0||"queued"===b0)&&bQ.current&&bZ()},[ay.length,b0,bZ]);let b1=(0,c.useMemo)(()=>t.find(a=>a.id===aa)?.name??"Agent",[t,aa]),b2=ar(ag),b3=ar(aE),b4=ar(bc),b5=ar(be),b6=ar(b1),b7=ar(U),b8=(0,c.useCallback)(async(a=!1)=>{if(!ae||bP.current)return;bP.current=!0;let b=b2.current,c=b3.current,e=b5.current,f=b6.current,g=b7.current,h=b[0],i=bT.current?.id??ae.id,j=c&&h,k=b4.current;if(!j&&0===k.length&&e){let a=bT.current??{id:ae.id,created_at:ae.created_at};try{let b=await (0,x.listPreviousConversations)(aa,r,{exclude:ae.id,before:a.created_at,channel:g});k=b.conversations,bd(b.conversations),bf(b.has_more)}catch{bf(!1)}}let l=k.length>0;if(!j&&!l){bP.current=!1;return}aH(!0);let m=bI.current;m&&(m.style.overflowAnchor="none");let n=m?.scrollHeight??0;try{let b=[],c=[],l=20,o=!1,p=[];if(j){let a=await (0,x.listMessages)(i,r,{limit:20,before:h.created_at,beforeId:h.id});b=a.messages,l-=a.messages.length,o=a.has_more}if(!o&&l>0){if(0===k.length&&e){let a=bT.current??{id:ae.id,created_at:ae.created_at};try{let b=await (0,x.listPreviousConversations)(aa,r,{exclude:ae.id,before:a.created_at,channel:g});k=b.conversations,bd(b.conversations),bf(b.has_more)}catch{bf(!1)}}let a=0,b=0;for(;a<k.length&&l>0&&b<5;){let d=k[a];a++,b++;let e=await (0,x.listMessages)(d.id,r,{limit:l});if(0===e.messages.length){bT.current=d;continue}let g=bT.current?.created_at??ae.created_at;p.push({agentName:f,created_at:g,id:`nap-${d.id}`}),c=[...e.messages,...c],l-=e.messages.length,o=e.has_more,bT.current=d}a>0&&bd(b=>b.slice(a))}let q=[...c,...b];if((0,d.flushSync)(()=>{q.length>0?(p.length>0&&bh(a=>{let b=new Set(a.map(a=>a.id)),c=p.filter(a=>!b.has(a.id));return[...a,...c]}),aF(o),ah(a=>{let b=new Set(a.map(a=>a.id));return[...q.filter(a=>!b.has(a.id)),...a]})):aF(!1)}),bP.current=!1,(0,d.flushSync)(()=>aH(!1)),m)if(a)m.scrollTop=m.scrollHeight;else{let a=m.scrollHeight;m.scrollTop=a-n}}catch{C.toast.error("Failed to load older messages")}finally{bP.current=!1,aH(!1),bI.current&&(bI.current.style.overflowAnchor="")}},[ae,r,aa,b2,b3,b5,b6,b7,b4]),b9=aE||bc.length>0||be;(0,c.useEffect)(()=>{ae?.id!==bV.current&&(bV.current=ae?.id,bU.current=0)},[ae?.id]),(0,c.useEffect)(()=>{aA||!ae||ag.length>=10||!b9||aG||bU.current>=3||(bU.current+=1,b8(!0))},[aA,ag.length,b9,aG,ae,b8]);let ca=(0,c.useCallback)(()=>{let a=bI.current;a&&(bQ.current=a.scrollHeight-a.scrollTop-a.clientHeight<100)},[]),cb=(0,c.useCallback)((a,b,c)=>{bJ.current&&clearInterval(bJ.current),bM.current=c??0,bN.current=0,aD(!1),bL.current=a,bJ.current=setInterval(async()=>{if(bL.current===a)try{let[c,d]=await Promise.all([(0,x.getTask)(a,r),(0,x.getTaskMessages)(a,r,bM.current||void 0)]),e=bL.current!==a;if(bN.current=0,aD(!1),d.length>0&&!e&&(az(a=>{let b=new Set(a.map(a=>a.seq)),c=d.filter(a=>!b.has(a.seq));return c.length>0?[...a,...c]:a}),bM.current=Math.max(...d.map(a=>a.seq),bM.current)),"completed"===c.status||"failed"===c.status||"cancelled"===c.status||"superseded"===c.status){if(e)return void(0,x.listMessages)(b,r).then(({messages:a})=>ah(b=>ap(b,a))).catch(()=>{});bJ.current&&clearInterval(bJ.current),bJ.current=null,bK.current&&clearTimeout(bK.current),bK.current=setTimeout(()=>{(0,x.markInboxRead)(b,r).then(()=>b$.current()).catch(()=>{})},1e3);let d=!bR.current&&bQ.current;try{let[a,d]=await Promise.all([(0,x.listMessages)(b,r),(0,x.listArtifacts)(b,r).catch(()=>null)]);ah(b=>ap(b,a.messages)),d&&aJ(d),ax(c)}catch{ax(c),C.toast.error("Failed to refresh messages")}d&&requestAnimationFrame(()=>{bI.current?.scrollTo({top:bI.current.scrollHeight,behavior:"smooth"})}),setTimeout(async()=>{if(!bJ.current)try{let[c,d]=await Promise.all([(0,x.getActiveTask)(b,r),(0,x.listBufferedMessages)(b,r)]);if(a9(d),c&&c.id!==a){let{messages:a}=await (0,x.listMessages)(b,r);ah(b=>ap(b,a)),ax(c),az([]),bS.current?.(c.id,b)}}catch{}},1e3)}else e||ax(c)}catch{if(bL.current!==a)return;bN.current+=1,bN.current>=3&&aD(!0),bN.current>=10&&(bJ.current&&clearInterval(bJ.current),bJ.current=null,C.toast.error("Lost connection to agent"))}},3e3)},[r]);(0,c.useEffect)(()=>{bS.current=cb},[cb]),(0,c.useEffect)(()=>()=>{bJ.current&&clearInterval(bJ.current),bK.current&&clearTimeout(bK.current)},[]);let cc=(0,c.useRef)(null);(0,c.useEffect)(()=>{cc.current=aw?.id??null},[aw]),(0,c.useEffect)(()=>P(a=>{if("task.messages"===a.type&&a.taskId===cc.current){let b=a.messages.filter(a=>a.seq>bM.current);b.length>0&&(az(a=>{let c=new Set(a.map(a=>a.seq)),d=b.filter(a=>!c.has(a.seq));return d.length>0?[...a,...d]:a}),bM.current=Math.max(...b.map(a=>a.seq),bM.current))}if("task.created"===a.type&&a.conversationId===ae?.id){(0,x.listMessages)(a.conversationId,r).then(({messages:a})=>ah(b=>ap(b,a))).catch(()=>{});let b=a.task;cc.current=b.id,ax(b),az([]),bM.current=0,bS.current?.(b.id,a.conversationId)}if("conversation.message"===a.type&&a.conversationId===ae?.id&&ah(b=>ap(b,[a.message])),"artifact.uploaded"===a.type&&a.conversationId===ae?.id&&aJ(b=>b.some(b=>b.id===a.artifact.id)?b:[...b,a.artifact]),"followup.dispatched"===a.type&&a.conversationId===ae?.id){a9(b=>b.filter(b=>b.id!==a.message.id)),(0,x.listBufferedMessages)(a.conversationId,r).then(a9).catch(()=>{}),(0,x.listMessages)(a.conversationId,r).then(({messages:a})=>ah(b=>ap(b,a))).catch(()=>{});let b=a.task;cc.current=b.id,ax(b),az([]),bS.current?.(b.id,a.conversationId)}"followup.created"===a.type&&a.conversationId===ae?.id&&a9(b=>(function(a,b){if(a.some(a=>a.id===b.id))return a;let c=new Date(b.created_at).getTime();return a.some(a=>a.id.startsWith("temp-")&&2e3>Math.abs(new Date(a.created_at).getTime()-c))?a:[...a,b]})(b,a.message)),"followup.deleted"===a.type&&a.conversationId===ae?.id&&a9(b=>b.filter(b=>b.id!==a.messageId)),"followup.dispatch_failed"===a.type&&a.conversationId===ae?.id&&C.toast.error(a.error||"Failed to dispatch follow-up")}),[P,ae?.id,r]);let cd=(0,c.useCallback)(a=>{let b=a.target.files;if(!b)return;let c=[];for(let a of Array.from(b))a.size>0xa00000?C.toast.error(`"${a.name}" exceeds 10 MB limit`):c.push(a);c.length>0&&a7(a=>[...a,...c]),a.target.value=""},[]),ce=(0,c.useCallback)(a=>{a7(b=>b.filter((b,c)=>c!==a))},[]),cf=(0,c.useCallback)(()=>{let a=window.getSelection();if(!a||a.isCollapsed||!a.rangeCount)return void bq(null);let b=a.toString().trim();if(!b)return void bq(null);let c=a.getRangeAt(0),d=c.commonAncestorContainer instanceof HTMLElement?c.commonAncestorContainer:c.commonAncestorContainer.parentElement;if(!d?.closest("[data-quote-source]"))return void bq(null);let e=c.getClientRects(),f=e[e.length-1]||c.getBoundingClientRect();bq({text:b,x:f.right,y:f.top-4})},[]);(0,c.useEffect)(()=>(document.addEventListener("selectionchange",cf),()=>document.removeEventListener("selectionchange",cf)),[cf]);let cg=(0,c.useCallback)(()=>{bp&&(bo(bp.text),bq(null),window.getSelection()?.removeAllRanges(),bX.current?.focus())},[bp]),[ch,ci]=(0,c.useState)(!1),cj=(0,c.useRef)(0),ck=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cj.current++,a.dataTransfer.types.includes("Files")&&ci(!0)},[]),cl=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cj.current--,0===cj.current&&ci(!1)},[]),cm=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),cn=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),ci(!1),cj.current=0;let b=Array.from(a.dataTransfer.files),c=[];for(let a of b)a.size>0xa00000?C.toast.error(`"${a.name}" exceeds 10 MB limit`):c.push(a);c.length>0&&a7(a=>[...a,...c])},[]),co=(0,c.useCallback)(a=>{let b=a.clipboardData?.items;if(!b)return;let c=[];for(let a=0;a<b.length;a++){let d=b[a];if("file"===d.kind){let a=d.getAsFile();a&&c.push(a)}}if(0===c.length)return;a.preventDefault();let d=[];for(let a of c)a.size>0xa00000?C.toast.error(`"${a.name}" exceeds 10 MB limit`):d.push(a);d.length>0&&a7(a=>[...a,...d])},[]),cp=async()=>{if(ae&&!ao){av(!0);try{let a=await (0,x.cancelActiveTask)(ae.id,r);if(a){if(cc.current&&cc.current!==a.id)return;bJ.current&&clearInterval(bJ.current),bJ.current=null;let[b,c]=await Promise.all([(0,x.listMessages)(ae.id,r),(0,x.listBufferedMessages)(ae.id,r)]);ah(a=>ap(a,b.messages)),a9(c),ax(a),az([])}}catch{C.toast.error("Failed to cancel task")}finally{av(!1)}}},cq=async()=>{let a=ai.trim();if(!a&&0===a6.length||al||!ae)return;if(!a)return void C.toast.error("Please type a message");let b=bn?`> ${bn.split("\n").join("\n> ")}
|
|
1
|
+
module.exports=[831893,896393,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(752792),f=a.i(506180),g=a.i(626806);let h=["user_dm_message"],i=["user_dm_message"];function j(){return h}a.s(["INBOX_FILTER_LABELS",0,{user_dm_message:"DM",calendar_event:"Calendar",email_notification:"Email"},"INBOX_FILTER_TYPES",0,["user_dm_message","calendar_event","email_notification"],"MANDATORY_INBOX_TYPES",0,i,"getInboxFilterTypes",0,j,"setInboxFilterTypes",0,function(a){let b=[...a];for(let a of i)b.includes(a)||b.unshift(a);localStorage.setItem("inbox-filter-types",JSON.stringify(b))}],896393);let k=(0,c.createContext)(null);a.s(["InboxCountProvider",0,function({children:a}){let{workspaceId:h}=(0,f.useWorkspace)(),{subscribeWs:i,agents:l}=(0,e.useAgentContext)(),[m,n]=(0,c.useState)(0),o=(0,c.useRef)(null),p=(0,c.useRef)(null),q=(0,c.useRef)(l);(0,c.useEffect)(()=>{q.current=l});let r=(0,c.useCallback)(()=>{let a=j();(0,d.getInboxCount)(h,{types:a}).then(a=>{let b=o.current;if(o.current=a.count,n(a.count),null!==b&&a.count>b){let a=p.current?q.current.find(a=>a.id===p.current):void 0;(0,g.sendTaskNotification)("completed",a?.name)}p.current=null}).catch(()=>{})},[h]),s=(0,c.useCallback)(()=>{n(a=>{let b=Math.max(0,a-1);return o.current=b,b})},[]);return(0,c.useEffect)(()=>{r()},[r]),(0,c.useEffect)(()=>i(a=>{"task.updated"===a.type&&("completed"===a.status||"failed"===a.status)&&(p.current=a.agentId,r())}),[i,r]),(0,c.useEffect)(()=>{let a=setInterval(r,3e4);return()=>clearInterval(a)},[r]),(0,b.jsx)(k.Provider,{value:{count:m,refresh:r,decrement:s},children:a})},"useInboxCount",0,function(){let a=(0,c.useContext)(k);if(!a)throw Error("useInboxCount must be used within InboxCountProvider");return a}],831893)},70813,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(506180);let f=(0,c.createContext)(null);a.s(["FlagCountProvider",0,function({children:a}){let{workspaceId:g}=(0,e.useWorkspace)(),[h,i]=(0,c.useState)(0),j=(0,c.useCallback)(()=>{(0,d.getFlaggedCount)(g).then(a=>i(a.count)).catch(()=>{})},[g]),k=(0,c.useCallback)(()=>{i(a=>a+1)},[]),l=(0,c.useCallback)(()=>{i(a=>Math.max(0,a-1))},[]);return(0,c.useEffect)(()=>{j()},[j]),(0,b.jsx)(f.Provider,{value:{count:h,refresh:j,increment:k,decrement:l},children:a})},"useFlagCount",0,function(){let a=(0,c.useContext)(f);if(!a)throw Error("useFlagCount must be used within FlagCountProvider");return a}])},781418,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(549931),e=a.i(584126),f=a.i(921584);a.i(735132);var g=a.i(253260),h=a.i(325848),i=a.i(191525),j=a.i(75118);a.s(["AgentPreviewCard",0,function({agent:a,isOnline:k,activeTaskCount:l,variant:m="default",isHovered:n}){let[o,p]=(0,c.useState)(!1),q=a.email_handle?`${a.email_handle}@alook.ai`:null,r=(0,c.useCallback)(async()=>{if(q)try{await navigator.clipboard.writeText(q),p(!0),f.toast.success("Email copied to clipboard"),setTimeout(()=>p(!1),2e3)}catch{f.toast.error("Failed to copy email")}},[q]);if("compact"===m){let c;return(0,b.jsxs)("div",{className:"flex items-center gap-2 p-0",children:[(c=(0,h.parseAvatarUrl)(a.avatar_url))?(0,b.jsx)(g.AnimatedAvatar,{config:c,size:32,className:"shrink-0 rounded-xl",isHovered:n??!1,isWorking:!!k&&(l??0)>0}):(0,b.jsx)("div",{className:"flex items-center justify-center size-8 rounded-xl bg-secondary text-secondary-foreground text-xs font-medium shrink-0",children:a.name.charAt(0).toUpperCase()}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate max-w-35",children:a.name}),q&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:q})]}),void 0!==k&&(0,b.jsx)("div",{className:"pointer-events-none mt-0.5",children:(0,b.jsx)(i.AgentStatusBadge,{isOnline:k,taskCount:l??0,agentId:a.id})})]})]})}return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5 p-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate",children:a.name}),(0,b.jsx)("span",{className:"flex-1"}),void 0!==k&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,b.jsx)("span",{className:(0,j.cn)("size-1.5 rounded-full",k?"bg-status-online":"bg-status-offline")}),k?(l??0)>0?"Working":null:"Offline"]})]}),q&&(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:q}),(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),r()},className:"shrink-0 p-0.5 rounded-sm text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:o?(0,b.jsx)(d.Check,{className:"size-3 text-green-500"}):(0,b.jsx)(e.Copy,{className:"size-3"})})]}),a.description&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2",children:a.description})]})}])},127026,40924,a=>{"use strict";a.s(["AgentChatView",()=>av,"getEventIconType",()=>ap],127026);var b=a.i(749314),c=a.i(437199),d=a.i(131675),e=a.i(207058),f=a.i(506180),g=a.i(732254),h=a.i(464830),i=a.i(75118),j=a.i(549931),k=a.i(143984),l=a.i(647651);let m=(0,l.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 n=a.i(123047),o=a.i(723127),p=a.i(16831);a.i(343563);var q=a.i(347788);function r(a){return a.replace(/_/g," ").replace(/\b\w/g,a=>a.toUpperCase())}let s=new Set(["status","log"]);function t({item:a,isRunning:d,isLast:e}){let f=(0,c.useMemo)(()=>{if(!a.input)return null;try{return JSON.stringify(a.input,null,2)}catch{return String(a.input)}},[a.input]);return f?(0,b.jsxs)("details",{className:"group/tool",children:[(0,b.jsxs)("summary",{className:(0,i.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,b.jsx)(k.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/tool:rotate-90"}),(0,b.jsx)("span",{className:"font-medium text-foreground/80",children:r(a.tool)}),d&&e&&(0,b.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),d&&!e&&(0,b.jsx)(j.Check,{className:"ml-auto size-3 text-emerald-500"})]}),(0,b.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,b.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:f})})]}):(0,b.jsxs)("div",{className:(0,i.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground"),children:[(0,b.jsx)("span",{className:"font-medium text-foreground/80",children:r(a.tool)}),d&&e&&(0,b.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),d&&!e&&(0,b.jsx)(j.Check,{className:"ml-auto size-3 text-emerald-500"})]})}function u({item:a}){return a.content?(0,b.jsxs)("details",{className:"group/think",children:[(0,b.jsxs)("summary",{className:(0,i.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,b.jsx)(k.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/40 transition-transform duration-150 group-open/think:rotate-90"}),(0,b.jsx)(m,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{children:"Thinking..."})]}),(0,b.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,b.jsx)("p",{className:"text-sm italic text-muted-foreground/60 whitespace-pre-wrap",children:a.content})})]}):(0,b.jsxs)("div",{className:(0,i.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground/60 italic"),children:[(0,b.jsx)(m,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{children:"Thinking..."})]})}function v({value:a}){let d=(0,c.useRef)(a),[e,f]=(0,c.useState)({current:a,previous:null}),[g,h]=(0,c.useState)("idle");return(0,c.useEffect)(()=>{if(a===d.current)return;let b=d.current;d.current=a,f({current:a,previous:b}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{h("animating")})});let c=setTimeout(()=>{h("idle"),f(a=>({...a,previous:null}))},300);return()=>clearTimeout(c)},[a]),(0,b.jsxs)("span",{style:{display:"inline-block",position:"relative",overflow:"hidden",height:"1.2em",lineHeight:"1.2em",verticalAlign:"bottom"},children:[null!==e.previous&&(0,b.jsx)("span",{style:{display:"block",position:"absolute",inset:"0",transition:"animating"===g?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:"animating"===g?"translateY(-100%)":"translateY(0)",opacity:+("animating"!==g)},children:e.previous}),(0,b.jsx)("span",{style:{display:"block",transition:"animating"===g?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:null!==e.previous&&"animating"!==g?"translateY(100%)":"translateY(0)",opacity:+(null===e.previous||"animating"===g)},children:e.current})]})}function w({task:a,messages:d,connectionLost:e,onRetry:f,stepCountHint:g,onExpandSteps:j,stepsLoading:l}){let[m,r]=(0,c.useState)(!1),x=(0,c.useMemo)(()=>(function(a){let b=[],c=new Map;for(let d of a){if(s.has(d.type))continue;let a=d.id||`seq-${d.seq}`;switch(d.type){case"tool-use":{let e=d.call_id,f={kind:"tool-call",id:a,tool:d.tool,input:d.input};e&&c.set(e,f),b.push(f);break}case"tool-result":break;case"text":b.push({kind:"text",id:a,content:d.content});break;case"thinking":b.push({kind:"thinking",id:a,content:d.content});break;case"error":b.push({kind:"status",id:a,content:d.content||d.output,type:"error"})}}return b})(d),[d]),y="completed"!==a.status&&"failed"!==a.status&&"cancelled"!==a.status&&"superseded"!==a.status,z=x.filter(a=>"text"!==a.kind),A=x.filter(a=>"text"===a.kind),B=A.length>0?A[A.length-1]:null,C=(0,c.useRef)(null),D=(0,c.useRef)(null),E=(0,c.useRef)(!1);(0,c.useEffect)(()=>{y&&C.current&&(C.current.scrollTop=C.current.scrollHeight)},[z.length,y]),(0,c.useEffect)(()=>{y&&D.current&&(D.current.scrollTop=D.current.scrollHeight)},[A.length,y]);let F=y?A:A.slice(0,-1),G=!y&&null!==B,H=z.length>0?z.length:g??0,I=z.length>0||g&&g>0;return(0,b.jsxs)("div",{className:"space-y-3 min-w-0 max-w-full",children:[(0,b.jsx)("div",{className:"flex items-center gap-2",children:"running"===a.status?(0,b.jsxs)(h.Badge,{variant:"secondary",className:"gap-1.5 relative overflow-hidden",children:[(0,b.jsx)("span",{className:"size-1.5 rounded-full bg-primary animate-pulse"}),"Working",(0,b.jsx)("div",{className:"pointer-events-none absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite]",style:{background:"linear-gradient(90deg, transparent 0%, var(--shimmer) 40%, var(--shimmer-peak) 50%, var(--shimmer) 60%, transparent 100%)"}})]}):y?(0,b.jsxs)(h.Badge,{variant:"secondary",className:"relative overflow-hidden",children:[a.status,(0,b.jsx)("div",{className:"pointer-events-none absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite]",style:{background:"linear-gradient(90deg, transparent 0%, var(--shimmer) 40%, var(--shimmer-peak) 50%, var(--shimmer) 60%, transparent 100%)"}})]}):(0,b.jsx)(h.Badge,{variant:"secondary",children:a.status})}),I&&(0,b.jsxs)("details",{className:"group/stream pl-1",onToggle:a=>{a.currentTarget.open&&!E.current&&j&&(E.current=!0,j())},children:[(0,b.jsxs)("summary",{className:(0,i.cn)("flex items-center gap-1.5 py-1 cursor-pointer select-none","text-xs text-muted-foreground transition-colors duration-150","hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,b.jsx)(k.ChevronRight,{className:(0,i.cn)("size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/stream:rotate-90",y&&"animate-pulse text-primary")}),(0,b.jsxs)("span",{children:[(0,b.jsx)(v,{value:H})," ",1===H?"step":"steps"]})]}),(0,b.jsxs)("div",{ref:C,className:"mt-1 max-h-80 overflow-y-auto overflow-x-hidden thin-scrollbar space-y-0.5 pl-1",children:[l&&0===z.length&&(0,b.jsxs)("div",{className:"flex items-center gap-2 py-2 text-xs text-muted-foreground",children:[(0,b.jsx)(p.Loader2,{className:"size-3 animate-spin"}),(0,b.jsx)("span",{children:"Loading steps..."})]}),z.map((a,c)=>{switch(a.kind){case"tool-call":return(0,b.jsx)(t,{item:a,isRunning:y,isLast:c===z.length-1},a.id);case"thinking":return(0,b.jsx)(u,{item:a},a.id);case"status":return(0,b.jsxs)("p",{className:"text-xs text-muted-foreground px-1 wrap-anywhere",children:["error"===a.type&&(0,b.jsx)(n.AlertCircle,{className:"inline size-3 mr-1 -mt-0.5 text-destructive"}),a.content]},a.id);default:return null}})]})]}),F.length>0&&(0,b.jsxs)("details",{className:"group/midtext pl-1",open:!G||void 0,children:[(0,b.jsxs)("summary",{className:(0,i.cn)("flex items-center gap-1.5 py-1 cursor-pointer select-none","text-xs text-muted-foreground transition-colors duration-150","hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,b.jsx)(k.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/midtext:rotate-90"}),(0,b.jsxs)("span",{children:[(0,b.jsx)(v,{value:F.length})," thinking"]})]}),(0,b.jsx)("div",{ref:D,className:"mt-1 space-y-2 pl-1",children:F.map(a=>(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-0.5 text-sm text-muted-foreground",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:a.content})},a.id))})]}),G&&!j&&(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:B.content})}),"failed"===a.status&&a.error&&(0,b.jsxs)("div",{className:"flex items-start gap-2 mt-2 max-w-full overflow-hidden",children:[(0,b.jsxs)("p",{className:"text-sm text-destructive flex items-start gap-1.5 min-w-0",children:[(0,b.jsx)(n.AlertCircle,{className:"size-3.5 shrink-0 mt-0.5"}),(0,b.jsx)("span",{className:"wrap-anywhere",children:a.error})]}),f&&(0,b.jsxs)("button",{type:"button",onClick:async()=>{r(!0);try{await f()}finally{r(!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,b.jsx)(p.Loader2,{className:"size-3 animate-spin"}):(0,b.jsx)(o.RotateCw,{className:"size-3"}),"Retry"]})]}),e&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground animate-pulse mt-1",children:"Connection lost — retrying..."})]})}var x=a.i(588339),y=a.i(562706),z=a.i(752792),A=a.i(831893),B=a.i(70813),C=a.i(452906),D=a.i(921584),E=a.i(25668),F=a.i(525132),G=a.i(540858);let H=(0,l.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"}]]),I=(0,l.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 J=a.i(510698),K=a.i(606896);let L=(0,l.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"}]]),M=(0,l.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 N=a.i(546257),O=a.i(484573),P=a.i(518828);function Q({agent:a,isSelected:c,onSelect:d}){return(0,b.jsxs)("button",{type:"button","data-mention-item":!0,className:(0,i.cn)("flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",c?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:b=>{b.preventDefault(),d(a)},children:[(0,b.jsx)("span",{className:"truncate font-medium",children:a.name}),a.email_handle&&(0,b.jsxs)("span",{className:"truncate text-xs text-muted-foreground",children:[a.email_handle,"@alook.ai"]})]})}function R({isOpen:a,relatedAgents:d,otherAgents:e,selectedIndex:f,onSelect:g,anchorPos:h}){let i=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!i.current)return;let a=i.current.querySelectorAll("[data-mention-item]")[f];a?.scrollIntoView({block:"nearest"})},[f]);let j=d.length+e.length;if(!a||0===j)return null;let k=d.length>0&&e.length>0;return(0,b.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:h.top-4,left:h.left,transform:"translateY(-100%)"},children:(0,b.jsxs)("div",{ref:i,className:"max-h-50 overflow-y-auto py-1 thin-scrollbar",children:[d.map((a,c)=>(0,b.jsx)(Q,{agent:a,isSelected:c===f,onSelect:g},a.id)),k&&(0,b.jsx)("div",{className:"mx-3 my-1 border-t border-border"}),e.map((a,c)=>(0,b.jsx)(Q,{agent:a,isSelected:d.length+c===f,onSelect:g},a.id))]})})}function S(a,b){if(b>=a.length)return!0;let c=a.charCodeAt(b);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}function T(a,b){if(!a||0===b.length||!a.includes("@"))return a;let c=b.slice().sort((a,b)=>b.name.length-a.name.length),d=[];for(let b=0;b<a.length;b++){if("@"!==a[b]||!function(a,b){if(0===b)return!0;let c=a.charCodeAt(b-1);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}(a,b))continue;let e=b+1;for(let f of c){let c=e+f.name.length;if(c>a.length||a.slice(e,c).toLowerCase()!==f.name.toLowerCase())continue;let g=c,h=a.slice(c).match(/^ \([a-zA-Z0-9-]+@alook\.ai\)/);if(h&&(g=c+h[0].length),(h||S(a,c))&&(!h||S(a,g))){if(d.some(a=>b>=a.start&&b<a.end))break;d.push({start:b,end:c,name:f.name,agentId:f.id});break}}}let e=a;for(let a=d.length-1;a>=0;a--){let b=d[a],c=e.slice(b.start,b.end);e=e.slice(0,b.start)+`<mention data-agent-id="${b.agentId}">${c}</mention>`+e.slice(b.end)}return e}var U=a.i(207461),V=a.i(7455),W=a.i(135510);function X({open:a,onOpenChange:d,emailId:e,workspaceId:f}){let[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(500),q=(0,c.useRef)(!1),r=(0,c.useRef)(d);(0,c.useEffect)(()=>{r.current=d}),(0,c.useEffect)(()=>{a&&e&&(m(!0),i(null),k(null),Promise.all([(0,x.getEmail)(e,f),(0,x.getEmailBody)(e,f)]).then(([a,b])=>{i(a),k(b)}).catch(()=>{D.toast.error("Email not found"),r.current(!1)}).finally(()=>m(!1)))},[a,e,f]);let s=a=>{d(a),a||setTimeout(()=>{i(null),k(null)},300)},t=(0,c.useCallback)(a=>{a.preventDefault(),q.current=!0,a.target.setPointerCapture(a.pointerId)},[]),u=(0,c.useCallback)(a=>{q.current&&o(Math.min(.8*window.innerWidth,Math.max(320,window.innerWidth-a.clientX)))},[]),v=(0,c.useCallback)(()=>{q.current=!1},[]);return(0,b.jsx)(V.Sheet,{open:a,onOpenChange:s,children:(0,b.jsxs)(V.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${n}px, 100vw)`,maxWidth:"none"},className:"data-[side=right]:sm:inset-y-2 data-[side=right]:sm:right-2 data-[side=right]:sm:h-auto data-[side=right]:sm:rounded-xl data-[side=right]:sm:border",children:[(0,b.jsx)("div",{onPointerDown:t,onPointerMove:u,onPointerUp:v,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,b.jsx)(V.SheetHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(K.Mail,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsx)(V.SheetTitle,{className:"truncate flex-1",children:l?"Loading...":h?.subject||"Email"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>s(!1),children:(0,b.jsx)(P.X,{className:"h-4 w-4"})})]})}),(0,b.jsx)(V.SheetBody,{className:"flex-1 overflow-y-auto thin-scrollbar",children:l?(0,b.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,b.jsx)(p.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):h?(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"text-sm space-y-1 border-b pb-3",children:[(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"From:"}),(0,b.jsx)("span",{className:"truncate",children:h.from_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"To:"}),(0,b.jsx)("span",{className:"truncate",children:h.to_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Date:"}),(0,b.jsx)("span",{children:new Date(h.created_at).toLocaleString()})]})]}),j?.isHtml?(0,b.jsx)(W.EmailBodyFrame,{html:j.content,className:"max-w-full"}):(0,b.jsx)("pre",{className:"whitespace-pre-wrap text-sm font-mono",children:j?.content}),h.attachments&&h.attachments.length>0&&(0,b.jsxs)("div",{className:"border-t pt-3",children:[(0,b.jsxs)("p",{className:"text-xs text-muted-foreground mb-2",children:[h.attachments.length," attachment",h.attachments.length>1?"s":""]}),(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:h.attachments.map(a=>(0,b.jsx)("span",{className:"inline-flex items-center gap-1 text-xs bg-muted rounded px-2 py-1",children:a.filename},a.key))})]})]}):null})]})})}var Y=a.i(963744),Z=a.i(698824);function $({bufferedMessages:a,onDelete:d}){let[e,f]=(0,c.useState)(!1),g=a.length;if(0===g)return null;let h=Math.min(g,3);return(0,b.jsx)("div",{className:"relative px-5 pb-1",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl flex justify-center",children:(0,b.jsxs)("div",{className:"relative w-full max-w-lg transition-[height] duration-200 ease-out",style:{height:e?32*g+(g-1)*4:32+(h-1)*6},onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),children:[a.map((a,c)=>{var f;let j=g-1-c,k=c>=g-h;return(0,b.jsx)("div",{className:"absolute right-0 left-0 transition-all duration-200 ease-out",style:{height:32,zIndex:c+1,bottom:e?36*j:k?6*j:0,transform:e?"scale(1)":`scale(${k?1-.03*j:.91})`,opacity:e?1:k?1-.2*j:0,pointerEvents:e||k?"auto":"none"},children:(0,b.jsxs)("div",{className:"h-full rounded-lg border bg-background/95 backdrop-blur-sm shadow-sm flex items-center gap-2 px-3",children:[(0,b.jsx)("span",{className:"shrink-0 text-[11px] text-primary/60 tabular-nums w-4 text-center",children:c+1}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-[13px] text-muted-foreground leading-snug truncate",children:(f=a.content).length<=80?f:f.slice(0,80).trimEnd()+"…"}),a.attachment_ids&&a.attachment_ids.length>0&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5 shrink-0 text-[11px] text-muted-foreground/50",children:[(0,b.jsx)(N.Paperclip,{className:"size-2.5"}),a.attachment_ids.length]})]}),(0,b.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a.id)},className:(0,i.cn)("shrink-0 rounded-sm p-0.5 transition-all duration-150","text-muted-foreground/30 hover:text-foreground hover:bg-muted",e?"opacity-100":"opacity-0"),tabIndex:e?0:-1,children:(0,b.jsx)(P.X,{className:"size-3"})})]})},a.id)}),!e&&g>h&&(0,b.jsxs)("span",{className:"absolute -top-4 right-1 text-[10px] text-muted-foreground/40 tabular-nums",children:["+",g-h," more"]})]})})})}var _=a.i(389660);let aa={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 ab({taskId:a,stepCount:d,workspaceId:e}){let[f,g]=(0,c.useState)([]),[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(!1),l=(0,c.useCallback)(async()=>{if(!j&&!h){i(!0);try{let b=await (0,x.getTaskMessages)(a,e);g(b)}catch{g([])}finally{i(!1),k(!0)}}},[j,h,a,e]);return(0,b.jsx)(w,{task:aa,messages:f,stepCountHint:d,onExpandSteps:l,stepsLoading:h})}let ac=(0,l.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 ad=a.i(307992);let ae=(0,l.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]);a.s(["Flag",0,ae],40924);var af=a.i(584126);let ag={mention:["data-agent-id"]},ah=["mention"];function ai({content:a,conversationType:c}){let d=ap(a,c),e="h-4 w-4 mt-0.5 shrink-0";return"issue"===d?(0,b.jsx)(ad.CircleDot,{className:e}):"email"===d?(0,b.jsx)(K.Mail,{className:e}):(0,b.jsx)(ac,{className:e})}function aj({attachmentIds:a,artifacts:c,onArtifactClick:d}){let e=a.map(a=>c.find(b=>b.id===a)).filter(a=>!!a);return 0===e.length?null:(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:e.map(a=>(0,b.jsxs)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a)},className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80 hover:bg-primary-foreground/20 transition-colors cursor-pointer",children:[(0,b.jsx)(J.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.filename})]},a.id))})}function ak({pendingFiles:a,messageId:c}){let d=a.get(c);return d&&0!==d.length?(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:d.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80",children:[(0,b.jsx)(J.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.name})]},c))}):null}let al=(0,c.memo)(function({msg:a,agents:d,artifacts:e,activeTask:f,taskMessages:h,connectionLost:k,isLastMessage:l,stepCount:m,targetConvId:n,workspaceId:o,conversationType:p,pendingFilesByMessage:r,onArtifactClick:s,onEmailClick:t,onIssueClick:u,onRetry:v,mentionComponents:x,isFlagged:y,onToggleFlag:z}){let A,B,C,[E,G]=(0,c.useState)(!1),H=f&&"assistant"===a.role&&a.task_id===f.id&&a.conversation_id===f.conversation_id&&h.length>0,I=!H&&n&&"assistant"===a.role&&a.task_id&&m>0?m:0,J=H&&f&&["completed","failed","cancelled","superseded"].includes(f.status),K="assistant"===a.role?(0,b.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs","aria-label":E?"Copied":"Copy message",onClick:async b=>{b.stopPropagation();try{await navigator.clipboard.writeText(a.content),G(!0),D.toast.success("Copied to clipboard"),setTimeout(()=>G(!1),2e3)}catch{D.toast.error("Failed to copy")}},className:(0,i.cn)("self-start mb-1",E?"text-green-500 opacity-100":"text-muted-foreground opacity-0 group-hover/msg:opacity-100")}),children:E?(0,b.jsx)(j.Check,{className:"size-3.5"}):(0,b.jsx)(af.Copy,{className:"size-3.5"})}),(0,b.jsx)(F.TooltipContent,{children:E?"Copied":"Copy"})]}),z&&(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",onClick:()=>z(a.id),className:(0,i.cn)("self-start mb-1",y?"text-primary opacity-100":"text-muted-foreground opacity-0 group-hover/msg:opacity-100")}),children:(0,b.jsx)(ae,{className:(0,i.cn)("size-3.5",y&&"fill-current")})}),(0,b.jsx)(F.TooltipContent,{children:y?"Unflag":"Flag"})]})]}):null;return(0,b.jsxs)(c.default.Fragment,{children:[H&&(0,b.jsxs)("div",{className:(0,i.cn)("group/msg",y&&"bg-muted/30 rounded-lg px-2 -mx-2"),children:[(0,b.jsx)(w,{task:f,messages:h,connectionLost:k,onRetry:v}),J&&K]}),I>0&&a.task_id&&(0,b.jsx)(ab,{taskId:a.task_id,stepCount:I,workspaceId:o}),"user"===a.role?(A=l&&!!f&&"running"!==f.status&&!["completed","failed","cancelled","superseded"].includes(f.status),(0,b.jsx)("div",{className:"flex justify-end","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsxs)("div",{className:(0,i.cn)("max-w-[80%] rounded-lg px-4 py-2 bg-primary text-primary-foreground text-base relative"),children:[A&&(0,b.jsx)("div",{className:"absolute inset-0 rounded-lg animate-pulse pointer-events-none",style:{boxShadow:"0 0 0 2px var(--bubble-glow)"}}),(0,b.jsx)("div",{className:"markdown markdown-user",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!1,download:!1,fullscreen:!1}},linkSafety:{enabled:!1},allowedTags:ag,literalTagContent:ah,components:x,children:T(a.content,d)})}),a.attachment_ids&&a.attachment_ids.length>0&&(0,b.jsx)(aj,{attachmentIds:a.attachment_ids,artifacts:e,onArtifactClick:s}),!a.attachment_ids&&(0,b.jsx)(ak,{pendingFiles:r,messageId:a.id})]})})):"event"===a.role?(B=a.metadata?.emailId,C=a.metadata?.issueId,(0,b.jsx)("div",{className:"flex justify-start","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsxs)("div",{className:(0,i.cn)("w-full rounded-md border bg-muted/50 text-muted-foreground text-sm px-3 py-2 flex items-start gap-2",(!!B||!!C)&&"cursor-pointer hover:bg-muted transition-colors"),onClick:B?()=>t(B):C?()=>u(C):void 0,children:[(0,b.jsx)(ai,{content:a.content,conversationType:p}),(0,b.jsx)("span",{className:"min-w-0 wrap-anywhere",children:a.content})]})})):H?null:(0,b.jsxs)("div",{className:(0,i.cn)("group/msg flex flex-col justify-start min-w-0 overflow-hidden",y&&"bg-muted/30 rounded-lg px-2 -mx-2"),"data-message-id":a.id,"data-quote-source":!0,...a.task_id?{"data-task-id":a.task_id}:{},children:[(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},allowedTags:ag,literalTagContent:ah,components:x,children:T(a.content,d)})}),K]})]})});var am=a.i(781418),an=a.i(722393);let ao={mention:function(a){let{children:c,...d}=a,{agents:e}=(0,z.useAgentContext)(),f=d["data-agent-id"]??d.dataAgentId,g=f?e.find(a=>a.id===f):void 0;if(!g&&"string"==typeof c){let a=c.startsWith("@")?c.slice(1):c;g=e.find(b=>b.name.toLowerCase()===a.toLowerCase())}return g?(0,b.jsxs)(an.Popover,{children:[(0,b.jsx)(an.PopoverTrigger,{openOnHover:!0,delay:300,nativeButton:!1,render:(0,b.jsx)("span",{className:"mention-highlight cursor-pointer"}),children:c}),(0,b.jsx)(an.PopoverContent,{side:"top",className:"w-fit max-w-80",children:(0,b.jsx)(am.AgentPreviewCard,{agent:g})})]}):(0,b.jsx)("span",{className:"mention-highlight",children:c})},p:({children:a,node:c,...d})=>(0,b.jsx)("div",{"data-md-p":"",...d,children:a})};function ap(a,b){if("issue_event"===b)return"issue";if("email_notification"===b)return"email";if("calendar_event"===b)return"calendar";let c=a.toLowerCase();return c.startsWith("issue ")||c.startsWith("issue:")?"issue":c.includes("email")?"email":"calendar"}function aq(a,b){let c=new Map;for(let b of a)c.set(b.id,b);for(let a of b)c.set(a.id,a);return[...c.values()].slice().sort((a,b)=>{let c=a.created_at.localeCompare(b.created_at);return 0!==c?c:a.id.localeCompare(b.id)})}function ar(a){let b=[],c=[],d=!1;for(let e of a)"message"===e.kind&&"user"===e.data.role?(d=!0,b.push(e)):"message"===e.kind&&"assistant"===e.data.role?(b.push(e),b.push(...c),c=[],d=!1):d&&"artifact"===e.kind?c.push(e):b.push(e);return b.push(...c),b}function as(a){let b=(0,c.useRef)(a);return(0,c.useEffect)(()=>{b.current=a},[a]),b}function at({agentName:a}){return(0,b.jsxs)("div",{className:"flex items-center gap-3 py-4 select-none","aria-hidden":!0,children:[(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground/60 whitespace-nowrap",children:[a," took a nap 💤"]}),(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"})]})}function au({artifact:a,version:c,hasDuplicates:d,onClick:e}){return(0,b.jsxs)("button",{onClick:()=>e(a),className:(0,i.cn)("flex items-center gap-3 w-full max-w-sm rounded-lg border border-border/60 bg-muted/30","px-3.5 py-2.5 text-left transition-colors duration-150","hover:bg-muted/60 hover:border-border"),children:[(0,b.jsx)(J.FileText,{className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("p",{className:"text-sm font-medium truncate",children:[a.filename,d&&(0,b.jsxs)("span",{className:"ml-1.5 text-xs text-muted-foreground bg-muted rounded-full px-1.5 py-0.5 font-normal",children:["v",c]})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:(0,U.formatSize)(a.size)})]})]})}function av({agentId:a,targetConvId:h,scrollToTaskId:j,scrollToMessageId:k}){let l,m,n,o=(0,e.useParams)(),q=(0,e.useSearchParams)(),{workspaceId:r,slug:s}=(0,f.useWorkspace)(),{agents:t,agentLinks:u,activeTaskCounts:v,subscribeWs:Q}=(0,z.useAgentContext)(),{refresh:S}=(0,A.useInboxCount)(),{activeChannel:V,loading:W,setAgentId:aa}=(0,C.useChannel)(),ab=a??o.id,ac=void 0!==j?j:q.get("task"),ad=void 0!==k?k:q.get("msg"),ae=void 0!==h?h:q.get("conv"),[af,ag]=(0,c.useState)(null),[ah,ai]=(0,c.useState)([]),[aj,ak]=(0,c.useState)(()=>""),[am,an]=(0,c.useState)(!1),[ap,aw]=(0,c.useState)(!1),[ax,ay]=(0,c.useState)(null),[az,aA]=(0,c.useState)([]),[aB,aC]=(0,c.useState)(!0),[aD,aE]=(0,c.useState)(!1),[aF,aG]=(0,c.useState)(!1),[aH,aI]=(0,c.useState)(!1),[aJ,aK]=(0,c.useState)([]),[aL,aM]=(0,c.useState)(!1),[aN,aO]=(0,c.useState)(null),[aP,aQ]=(0,c.useState)(null),[aR,aS]=(0,c.useState)(!1),[aT,aU]=(0,c.useState)(null),[aV,aW]=(0,c.useState)(!1),[aX,aY]=(0,c.useState)(null),[aZ,a$]=(0,c.useState)(null),[a_,a0]=(0,c.useState)(!1),[a1,a2]=(0,c.useState)(null),[a3,a4]=(0,c.useState)(null),[a5,a6]=(0,c.useState)(448),[a7,a8]=(0,c.useState)([]),[a9,ba]=(0,c.useState)([]),[bb,bc]=(0,c.useState)(null),[bd,be]=(0,c.useState)([]),[bf,bg]=(0,c.useState)(!1),[bh,bi]=(0,c.useState)([]),[bj,bk]=(0,c.useState)({}),[bl]=(0,c.useState)(()=>Date.now()),[bm,bn]=(0,c.useState)(()=>new Map),[bo,bp]=(0,c.useState)(null),[bq,br]=(0,c.useState)(null),[bs,bt]=(0,c.useState)(new Set),bu=(0,c.useRef)(bs);(0,c.useEffect)(()=>{bu.current=bs});let{increment:bv,decrement:bw,refresh:bx}=(0,B.useFlagCount)(),{cachedMessages:by,isFromCache:bz,writeToCache:bA}=function(a,b){let[d,e]=(0,c.useState)(null),[f,g]=(0,c.useState)(!1),h=(0,c.useRef)(a);return(0,c.useEffect)(()=>{if(h.current=a,!a||!b){e(null),g(!1);return}(0,y.openCacheDB)(b);let c=!1;return(0,y.getCachedMessages)(a,b).then(b=>{c||h.current!==a||(b&&b.length>0?(e(b),g(!0)):(e(null),g(!1)))}),()=>{c=!0}},[a,b]),{cachedMessages:d,isFromCache:f,writeToCache:(0,c.useCallback)(async(a,c)=>{h.current&&b&&await (0,y.mergeCachedMessages)(h.current,a,c,b)},[b])}}(ae??null,r),bB=(0,c.useRef)(by),bC=(0,c.useRef)(bz),bD=(0,c.useRef)(bA);(0,c.useEffect)(()=>{bB.current=by,bC.current=bz,bD.current=bA},[by,bz,bA]),(0,c.useEffect)(()=>{aa(ab)},[ab,aa]);let{listening:bE,supported:bF,toggle:bG}=function(a){let[b,d]=(0,c.useState)(!1),[e,f]=(0,c.useState)(!1),g=(0,c.useRef)(null);(0,c.useEffect)(()=>{f(!1)},[]);let h=(0,c.useCallback)(()=>{},[a]),i=(0,c.useCallback)(()=>{g.current?.stop()},[]),j=(0,c.useCallback)(()=>{b?i():h()},[b,h,i]);return(0,c.useEffect)(()=>()=>{g.current?.abort()},[]),{listening:b,supported:e,toggle:j}}((0,c.useCallback)(a=>{ak(b=>b?b+" "+a:a)},[])),bH=(0,c.useMemo)(()=>aJ.filter(a=>"agent"===a.source),[aJ]),{versionMap:bI,duplicateFilenames:bJ}=(0,c.useMemo)(()=>(0,Z.computeArtifactVersions)(bH),[bH]),bK=(0,c.useMemo)(()=>"agent"===aP?bH:"issue"===aP?aZ?.artifacts??[]:[],[aP,bH,aZ?.artifacts]),{versionMap:bL,duplicateFilenames:bM}=(0,c.useMemo)(()=>(0,Z.computeArtifactVersions)(bK),[bK]),bN=(0,c.useMemo)(()=>(function(a,b,c,d){if(!d||0===c.length){let d=[...a.map(a=>({kind:"message",data:a})),...b.map(a=>({kind:"artifact",data:a})),...c.map(a=>({kind:"nap",data:a}))];return d.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);if(0!==c)return c;if("nap"===a.kind||"nap"===b.kind){if("nap"===a.kind&&"nap"!==b.kind)return 1;if("nap"!==a.kind&&"nap"===b.kind)return -1}return a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)}),ar(d)}let e=new Set(c.map(a=>a.id.replace(/^nap-/,""))),f=[...c].sort((a,b)=>a.created_at.localeCompare(b.created_at)),g=c=>ar([...a.filter(a=>a.conversation_id===c).map(a=>({kind:"message",data:a})),...b.filter(a=>a.conversation_id===c).map(a=>({kind:"artifact",data:a}))].sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)})),h=[];for(let a of f){let b=a.id.replace(/^nap-/,"");h.push(...g(b)),h.push({kind:"nap",data:a})}h.push(...g(d));let i=new Set([...e,d]),j=a.filter(a=>!i.has(a.conversation_id)),k=b.filter(a=>!i.has(a.conversation_id));if(j.length>0||k.length>0){let a=[...j.map(a=>({kind:"message",data:a})),...k.map(a=>({kind:"artifact",data:a}))];a.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)});let b=ar(a),c=h.findIndex(a=>"nap"===a.kind);c>=0?h.splice(c,0,...b):h.push(...b)}return h})(ah,bH,bh,af?.id),[ah,bH,bh,af?.id]),bO=(0,c.useCallback)(a=>{(0,Z.isPreviewable)(a)?(aO(a),aQ("agent"),aM(!0)):window.open((0,Z.getArtifactUrl)(a.id,r,!0),"_blank")},[r]),bP=(0,c.useCallback)(a=>{(0,Z.isPreviewable)(a)?(aO(a),aQ("issue"),aM(!0)):window.open((0,Z.getArtifactUrl)(a.id,r,!0),"_blank")},[r]),bQ=(0,c.useRef)(null),bR=(0,c.useRef)(null),bS=(0,c.useRef)(null),bT=(0,c.useRef)(null),bU=(0,c.useRef)(0),bV=(0,c.useRef)(0),bW=(0,c.useRef)(!1),bX=(0,c.useRef)(!1),bY=(0,c.useRef)(!0),bZ=(0,c.useRef)(!1),b$=(0,c.useRef)(null),b_=(0,c.useRef)(null),b0=(0,c.useRef)(0),b1=(0,c.useRef)(void 0),b2=(0,c.useRef)(null),b3=(0,c.useRef)(null),b4=function({input:a,caretIndex:b,textareaRef:d,agents:e,agentLinks:f,currentAgentId:g,onInputChange:h}){let[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(""),[m,n]=(0,c.useState)(0),[o,p]=(0,c.useState)({top:0,left:0}),q=(0,c.useRef)(null),r=(0,c.useMemo)(()=>{let a=new Set;for(let b of f)b.source_agent_id===g&&a.add(b.target_agent_id),b.target_agent_id===g&&a.add(b.source_agent_id);return a},[f,g]),{relatedAgents:s,otherAgents:t,allAgents:u}=(0,c.useMemo)(()=>{if(!i)return{relatedAgents:[],otherAgents:[],allAgents:[]};let a=a=>{if(!k)return a.slice(0,20);let b=k.toLowerCase(),c=[],d=[];for(let e of a){let a=e.name.toLowerCase();a.startsWith(b)?c.push(e):a.includes(b)&&d.push(e)}return[...c,...d]},b=[],c=[];for(let a of e)r.has(a.id)?b.push(a):c.push(a);let d=a(b),f=a(c);return{relatedAgents:d,otherAgents:f,allAgents:[...d,...f]}},[i,k,e,r]);(0,c.useEffect)(()=>{n(0)},[u.length,k]),(0,c.useEffect)(()=>{if(null===b)return void j(!1);let c=function(a,b){let c=b-1;for(;c>=0&&b-c<=30;){let d=a.charCodeAt(c);if(64===d)return{start:c,query:a.slice(c+1,b)};if(10===d||13===d)break;c--}return null}(a,b);c?(q.current=c.start,l(c.query),j(!0),d.current&&p(function(a,b){let c=document.createElement("div"),d=window.getComputedStyle(a);for(let b of(c.style.position="absolute",c.style.top="-9999px",c.style.left="-9999px",c.style.visibility="hidden",c.style.overflow="hidden",c.style.width=`${a.offsetWidth}px`,["fontFamily","fontSize","fontWeight","fontStyle","letterSpacing","textTransform","wordSpacing","textIndent","lineHeight","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","boxSizing","whiteSpace","wordWrap","overflowWrap"]))c.style[b]=d.getPropertyValue(b.replace(/([A-Z])/g,"-$1").toLowerCase());c.textContent=a.value.slice(0,b);let e=document.createElement("span");e.textContent="",c.appendChild(e),document.body.appendChild(c);let f=e.offsetTop-a.scrollTop,g=Math.max(0,Math.min(e.offsetLeft,a.offsetWidth-256));return document.body.removeChild(c),{top:f,left:g}}(d.current,c.start))):(j(!1),q.current=null)},[a,b,d]);let v=(0,c.useCallback)(c=>{if(null===b||null===q.current)return;let e=a.slice(0,q.current),f=a.slice(b);h(`${e}@${c.name} ${f}`),j(!1);let g=e.length+1+c.name.length+1;requestAnimationFrame(()=>{let a=d.current;a&&(a.focus(),a.setSelectionRange(g,g))})},[a,b,d,h]),w=(0,c.useCallback)(a=>!!i&&0!==u.length&&!a.nativeEvent.isComposing&&("ArrowDown"===a.key?(a.preventDefault(),n(a=>(a+1)%u.length),!0):"ArrowUp"===a.key?(a.preventDefault(),n(a=>(a-1+u.length)%u.length),!0):"Enter"===a.key?(a.preventDefault(),v(u[m]),!0):"Escape"===a.key&&(a.preventDefault(),j(!1),!0)),[i,u,m,v]);return{isOpen:i,query:k,selectedIndex:m,anchorPos:o,relatedAgents:s,otherAgents:t,allAgents:u,handleMentionKeyDown:w,selectAgent:v}}({input:aj,caretIndex:bb,textareaRef:b3,agents:(0,c.useMemo)(()=>t.filter(a=>a.id!==ab),[t,ab]),agentLinks:u,currentAgentId:ab,onInputChange:ak});(0,c.useEffect)(()=>{let a=`chat-draft:${ab}:${ae??"default"}`;aj?localStorage.setItem(a,aj):localStorage.removeItem(a)},[aj,ab,ae]),(0,c.useEffect)(()=>{am||b3.current?.focus()},[am]);let b5=(0,c.useCallback)(()=>{bY.current=!0,setTimeout(()=>{bQ.current?.scrollTo({top:bQ.current.scrollHeight,behavior:"smooth"})},50)},[]);(0,c.useEffect)(()=>{if(W)return;bR.current&&clearInterval(bR.current),bR.current=null,bT.current=null;let a=!1,b=bB.current,c=bC.current&&b&&b.length>0;return queueMicrotask(()=>{a||(aC(!c),bW.current=!1,ay(null),aA([]),ba([]),bn(new Map),bi([]),bk({}),be([]),bg(!1),b_.current=null,ak(localStorage.getItem(`chat-draft:${ab}:${ae??"default"}`)??""),c?ai(b):ai([]))}),async function(){try{if(ae)try{let[b,c,d,e]=await Promise.all([(0,x.getConversation)(ae,r),(0,x.listMessages)(ae,r),(0,x.listArtifacts)(ae,r).catch(()=>[]),(0,x.listBufferedMessages)(ae,r).catch(()=>[])]);if(a)return;ag(b),ai(a=>aq(a,c.messages)),aG(c.has_more),aK(d),ba(e),bD.current(c.messages,c.has_more).catch(()=>{});let f=[...new Set(c.messages.filter(a=>"assistant"===a.role&&a.task_id).map(a=>a.task_id))];if(f.length>0&&(0,x.getTaskStepCounts)(f,r).then(b=>{a||bk(b)}).catch(()=>{}),(0,x.listFlaggedMessageIds)(r,ae).then(b=>{a||bt(new Set(b.message_ids))}).catch(()=>{}),ac){let b=await (0,x.getTask)(ac,r).catch(()=>null);if(a)return;if(b&&!["completed","failed","cancelled","superseded"].includes(b.status)){ay(b);let c=await (0,x.getTaskMessages)(ac,r).catch(()=>[]);if(a)return;aA(c),c.length>0&&(bU.current=Math.max(...c.map(a=>a.seq))),b$.current?.(b.id,ae,bU.current)}}}catch{let b=await (0,x.chatInit)(ab,r,V);if(a)return;ag(b.conversation),ai(a=>a.length>0?aq(a,b.messages):b.messages),aG(b.has_more_messages),aK(b.artifacts),ba(b.buffered_messages),bg(b.has_more_conversations),bD.current(b.messages,b.has_more_messages).catch(()=>{}),(0,x.listFlaggedMessageIds)(r,b.conversation.id).then(b=>{a||bt(new Set(b.message_ids))}).catch(()=>{})}else{let b=await (0,x.chatInit)(ab,r,V);if(a)return;ag(b.conversation),ai(a=>a.length>0?aq(a,b.messages):b.messages),aG(b.has_more_messages),aK(b.artifacts),ba(b.buffered_messages),bg(b.has_more_conversations),bD.current(b.messages,b.has_more_messages).catch(()=>{}),(0,x.listFlaggedMessageIds)(r,b.conversation.id).then(b=>{a||bt(new Set(b.message_ids))}).catch(()=>{}),b.active_task&&(ay(b.active_task),b.task_messages.length>0&&(aA(b.task_messages),bU.current=Math.max(...b.task_messages.map(a=>a.seq))),["completed","failed","cancelled","superseded"].includes(b.active_task.status)||b$.current?.(b.active_task.id,b.conversation.id,bU.current))}}catch{D.toast.error("Failed to load conversation")}finally{a||aC(!1)}}(),()=>{a=!0}},[ab,r,ae,ac,V,W]);let b6=(0,c.useRef)(S);(0,c.useEffect)(()=>{b6.current=S},[S]);let b7=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!af?.id||!r||b7.current===af.id)return;b7.current=af.id;let a=setTimeout(()=>{(0,x.markInboxRead)(af.id,r).then(()=>b6.current()).catch(()=>{})},1e3);return()=>{b7.current=null,clearTimeout(a)}},[af?.id,r]),(0,c.useEffect)(()=>{aB||!(ah.length>0)||bW.current||(bW.current=!0,ac||ad?bY.current=!1:h?setTimeout(()=>{let a=bQ.current?.querySelectorAll("[data-quote-source]");a&&a.length>0?a[a.length-1].scrollIntoView({behavior:"instant",block:"start"}):bQ.current?.scrollTo({top:bQ.current.scrollHeight})},50):setTimeout(()=>{bQ.current?.scrollTo({top:bQ.current.scrollHeight})},50))},[aB,ah.length,ac,ad,h]),(0,c.useEffect)(()=>{let a;if(!ac||aB||!af)return;bY.current=!1,bZ.current=!0;let b=!1,c=()=>{if(b)return!1;let c=document.querySelector(`[data-task-id="${CSS.escape(ac)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"start"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(bZ.current=!1)},1500),!0)},d=setTimeout(async()=>{if(!b&&!c())try{let a=await (0,x.listMessagesAroundTask)(af.id,r,ac);if(b)return;a.length>0?(ai(b=>aq(b,a)),requestAnimationFrame(()=>{setTimeout(()=>{c()||(bZ.current=!1)},100)})):bZ.current=!1}catch{b||(bZ.current=!1)}},100);return()=>{b=!0,clearTimeout(d),a&&clearTimeout(a)}},[ac,aB,af,r]),(0,c.useEffect)(()=>{let a;if(!ad||ac||aB||!af)return;bY.current=!1,bZ.current=!0;let b=!1,c=setTimeout(()=>{!b&&((()=>{if(b)return!1;let c=document.querySelector(`[data-message-id="${CSS.escape(ad)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"start"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(bZ.current=!1)},1500),!0)})()||(bQ.current?.scrollTo({top:bQ.current.scrollHeight}),bZ.current=!1))},100);return()=>{b=!0,clearTimeout(c),a&&clearTimeout(a)}},[ad,ac,aB,af]);let b8=ax?.status;(0,c.useEffect)(()=>{bZ.current||("running"===b8||"queued"===b8)&&bY.current&&b5()},[az.length,b8,b5]);let b9=(0,c.useMemo)(()=>t.find(a=>a.id===ab)?.name??"Agent",[t,ab]),ca=as(ah),cb=as(aF),cc=as(bd),cd=as(bf),ce=as(b9),cf=as(V),cg=(0,c.useCallback)(async(a=!1)=>{if(!af||bX.current)return;bX.current=!0;let b=ca.current,c=cb.current,e=cd.current,f=ce.current,g=cf.current,h=b[0],i=b_.current?.id??af.id,j=c&&h,k=cc.current;if(!j&&0===k.length&&e){let a=b_.current??{id:af.id,created_at:af.created_at};try{let b=await (0,x.listPreviousConversations)(ab,r,{exclude:af.id,before:a.created_at,channel:g});k=b.conversations,be(b.conversations),bg(b.has_more)}catch{bg(!1)}}let l=k.length>0;if(!j&&!l){bX.current=!1;return}aI(!0);let m=bQ.current;m&&(m.style.overflowAnchor="none");let n=m?.scrollHeight??0;try{let b=[],c=[],l=20,o=!1,p=[];if(j){let a=await (0,x.listMessages)(i,r,{limit:20,before:h.created_at,beforeId:h.id});b=a.messages,l-=a.messages.length,o=a.has_more}if(!o&&l>0){if(0===k.length&&e){let a=b_.current??{id:af.id,created_at:af.created_at};try{let b=await (0,x.listPreviousConversations)(ab,r,{exclude:af.id,before:a.created_at,channel:g});k=b.conversations,be(b.conversations),bg(b.has_more)}catch{bg(!1)}}let a=0,b=0;for(;a<k.length&&l>0&&b<5;){let d=k[a];a++,b++;let e=await (0,x.listMessages)(d.id,r,{limit:l});if(0===e.messages.length){b_.current=d;continue}let g=b_.current?.created_at??af.created_at;p.push({agentName:f,created_at:g,id:`nap-${d.id}`}),c=[...e.messages,...c],l-=e.messages.length,o=e.has_more,b_.current=d}a>0&&be(b=>b.slice(a))}let q=[...c,...b];if((0,d.flushSync)(()=>{q.length>0?(p.length>0&&bi(a=>{let b=new Set(a.map(a=>a.id)),c=p.filter(a=>!b.has(a.id));return[...a,...c]}),aG(o),ai(a=>{let b=new Set(a.map(a=>a.id));return[...q.filter(a=>!b.has(a.id)),...a]})):aG(!1)}),q.length>0&&af){let a=q.filter(a=>a.conversation_id===af.id);a.length>0&&(0,y.mergeCachedMessages)(af.id,a,o,r).catch(()=>{})}if(bX.current=!1,(0,d.flushSync)(()=>aI(!1)),m)if(a)m.scrollTop=m.scrollHeight;else{let a=m.scrollHeight;m.scrollTop=a-n}}catch{D.toast.error("Failed to load older messages")}finally{bX.current=!1,aI(!1),bQ.current&&(bQ.current.style.overflowAnchor="")}},[af,r,ab,ca,cb,cd,ce,cf,cc]),ch=aF||bd.length>0||bf;(0,c.useEffect)(()=>{af?.id!==b1.current&&(b1.current=af?.id,b0.current=0)},[af?.id]),(0,c.useEffect)(()=>{aB||!af||ah.length>=10||!ch||aH||b0.current>=3||(b0.current+=1,cg(!0))},[aB,ah.length,ch,aH,af,cg]);let ci=(0,c.useCallback)(()=>{let a=bQ.current;a&&(bY.current=a.scrollHeight-a.scrollTop-a.clientHeight<100)},[]),cj=(0,c.useCallback)((a,b,c)=>{bR.current&&clearInterval(bR.current),bU.current=c??0,bV.current=0,aE(!1),bT.current=a,bR.current=setInterval(async()=>{if(bT.current===a)try{let[c,d]=await Promise.all([(0,x.getTask)(a,r),(0,x.getTaskMessages)(a,r,bU.current||void 0)]),e=bT.current!==a;if(bV.current=0,aE(!1),d.length>0&&!e&&(aA(a=>{let b=new Set(a.map(a=>a.seq)),c=d.filter(a=>!b.has(a.seq));return c.length>0?[...a,...c]:a}),bU.current=Math.max(...d.map(a=>a.seq),bU.current)),"completed"===c.status||"failed"===c.status||"cancelled"===c.status||"superseded"===c.status){if(e)return void(0,x.listMessages)(b,r).then(({messages:a})=>ai(b=>aq(b,a))).catch(()=>{});bR.current&&clearInterval(bR.current),bR.current=null,bS.current&&clearTimeout(bS.current),bS.current=setTimeout(()=>{(0,x.markInboxRead)(b,r).then(()=>b6.current()).catch(()=>{})},1e3);let d=!bZ.current&&bY.current;try{let[a,d]=await Promise.all([(0,x.listMessages)(b,r),(0,x.listArtifacts)(b,r).catch(()=>null)]);ai(b=>aq(b,a.messages)),d&&aK(d),ay(c)}catch{ay(c),D.toast.error("Failed to refresh messages")}d&&requestAnimationFrame(()=>{bQ.current?.scrollTo({top:bQ.current.scrollHeight,behavior:"smooth"})}),setTimeout(async()=>{if(!bR.current)try{let[c,d]=await Promise.all([(0,x.getActiveTask)(b,r),(0,x.listBufferedMessages)(b,r)]);if(ba(d),c&&c.id!==a){let{messages:a}=await (0,x.listMessages)(b,r);ai(b=>aq(b,a)),ay(c),aA([]),b$.current?.(c.id,b)}}catch{}},1e3)}else e||ay(c)}catch{if(bT.current!==a)return;bV.current+=1,bV.current>=3&&aE(!0),bV.current>=10&&(bR.current&&clearInterval(bR.current),bR.current=null,D.toast.error("Lost connection to agent"))}},3e3)},[r]);(0,c.useEffect)(()=>{b$.current=cj},[cj]),(0,c.useEffect)(()=>()=>{bR.current&&clearInterval(bR.current),bS.current&&clearTimeout(bS.current)},[]);let ck=(0,c.useRef)(null);(0,c.useEffect)(()=>{ck.current=ax?.id??null},[ax]),(0,c.useEffect)(()=>Q(a=>{if("task.messages"===a.type&&a.taskId===ck.current){let b=a.messages.filter(a=>a.seq>bU.current);b.length>0&&(aA(a=>{let c=new Set(a.map(a=>a.seq)),d=b.filter(a=>!c.has(a.seq));return d.length>0?[...a,...d]:a}),bU.current=Math.max(...b.map(a=>a.seq),bU.current))}if("task.created"===a.type&&a.conversationId===af?.id){(0,x.listMessages)(a.conversationId,r).then(({messages:a})=>ai(b=>aq(b,a))).catch(()=>{});let b=a.task;ck.current=b.id,ay(b),aA([]),bU.current=0,b$.current?.(b.id,a.conversationId)}if("conversation.message"===a.type&&a.conversationId===af?.id&&(ai(b=>aq(b,[a.message])),(0,y.appendCachedMessage)(a.conversationId,a.message,r).catch(()=>{})),"artifact.uploaded"===a.type&&a.conversationId===af?.id&&aK(b=>b.some(b=>b.id===a.artifact.id)?b:[...b,a.artifact]),"followup.dispatched"===a.type&&a.conversationId===af?.id){ba(b=>b.filter(b=>b.id!==a.message.id)),(0,x.listBufferedMessages)(a.conversationId,r).then(ba).catch(()=>{}),(0,x.listMessages)(a.conversationId,r).then(({messages:a})=>ai(b=>aq(b,a))).catch(()=>{}),(0,y.appendCachedMessage)(a.conversationId,a.message,r).catch(()=>{});let b=a.task;ck.current=b.id,ay(b),aA([]),b$.current?.(b.id,a.conversationId)}"followup.created"===a.type&&a.conversationId===af?.id&&ba(b=>(function(a,b){if(a.some(a=>a.id===b.id))return a;let c=new Date(b.created_at).getTime();return a.some(a=>a.id.startsWith("temp-")&&2e3>Math.abs(new Date(a.created_at).getTime()-c))?a:[...a,b]})(b,a.message)),"followup.deleted"===a.type&&a.conversationId===af?.id&&ba(b=>b.filter(b=>b.id!==a.messageId)),"followup.dispatch_failed"===a.type&&a.conversationId===af?.id&&D.toast.error(a.error||"Failed to dispatch follow-up")}),[Q,af?.id,r]);let cl=(0,c.useCallback)(a=>{let b=a.target.files;if(!b)return;let c=[];for(let a of Array.from(b))a.size>0xa00000?D.toast.error(`"${a.name}" exceeds 10 MB limit`):c.push(a);c.length>0&&a8(a=>[...a,...c]),a.target.value=""},[]),cm=(0,c.useCallback)(a=>{a8(b=>b.filter((b,c)=>c!==a))},[]),cn=(0,c.useCallback)(()=>{let a=window.getSelection();if(!a||a.isCollapsed||!a.rangeCount)return void br(null);let b=a.toString().trim();if(!b)return void br(null);let c=a.getRangeAt(0),d=c.commonAncestorContainer instanceof HTMLElement?c.commonAncestorContainer:c.commonAncestorContainer.parentElement;if(!d?.closest("[data-quote-source]"))return void br(null);let e=c.getClientRects(),f=e[e.length-1]||c.getBoundingClientRect();br({text:b,x:f.right,y:f.top-4})},[]);(0,c.useEffect)(()=>(document.addEventListener("selectionchange",cn),()=>document.removeEventListener("selectionchange",cn)),[cn]);let co=(0,c.useCallback)(()=>{bq&&(bp(bq.text),br(null),window.getSelection()?.removeAllRanges(),b3.current?.focus())},[bq]),[cp,cq]=(0,c.useState)(!1),cr=(0,c.useRef)(0),cs=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cr.current++,a.dataTransfer.types.includes("Files")&&cq(!0)},[]),ct=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cr.current--,0===cr.current&&cq(!1)},[]),cu=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),cv=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cq(!1),cr.current=0;let b=Array.from(a.dataTransfer.files),c=[];for(let a of b)a.size>0xa00000?D.toast.error(`"${a.name}" exceeds 10 MB limit`):c.push(a);c.length>0&&a8(a=>[...a,...c])},[]),cw=(0,c.useCallback)(a=>{let b=a.clipboardData?.items;if(!b)return;let c=[];for(let a=0;a<b.length;a++){let d=b[a];if("file"===d.kind){let a=d.getAsFile();a&&c.push(a)}}if(0===c.length)return;a.preventDefault();let d=[];for(let a of c)a.size>0xa00000?D.toast.error(`"${a.name}" exceeds 10 MB limit`):d.push(a);d.length>0&&a8(a=>[...a,...d])},[]),cx=async()=>{if(af&&!ap){aw(!0);try{let a=await (0,x.cancelActiveTask)(af.id,r);if(a){if(ck.current&&ck.current!==a.id)return;bR.current&&clearInterval(bR.current),bR.current=null;let[b,c]=await Promise.all([(0,x.listMessages)(af.id,r),(0,x.listBufferedMessages)(af.id,r)]);ai(a=>aq(a,b.messages)),ba(c),ay(a),aA([])}}catch{D.toast.error("Failed to cancel task")}finally{aw(!1)}}},cy=async()=>{let a=aj.trim();if(!a&&0===a7.length||am||!af)return;if(!a)return void D.toast.error("Please type a message");let b=bo?`> ${bo.split("\n").join("\n> ")}
|
|
2
2
|
|
|
3
|
-
${a}`:a,c=[...a6];if(aj(""),a7([]),bo(null),am(!0),aw&&!["completed","failed","cancelled","superseded"].includes(aw.status)){let a=`temp-${Date.now()}`,d={id:a,conversation_id:ae.id,role:"user",content:b,task_id:null,attachment_ids:null,status:"buffered",created_at:new Date().toISOString()};a9(a=>[...a,d]);try{let{message:d}=await (0,x.createBufferedMessage)(ae.id,b,r,c.length>0?c:void 0);a9(b=>b.some(a=>a.id===d.id)?b.filter(b=>b.id!==a):b.map(b=>b.id===a?d:b))}catch(d){a9(b=>b.filter(b=>b.id!==a)),aj(b),a7(c),C.toast.error(d instanceof Error?d.message:"Failed to queue follow-up")}finally{am(!1)}return}let d=`temp-${Date.now()}`,e={id:d,conversation_id:ae.id,role:"user",content:b,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};c.length>0&&bm(a=>{let b=new Map(a);return b.set(d,c),b}),ah(a=>[...a,e]),bZ();try{let{message:a,task:f}=await (0,x.sendMessage)(ae.id,b,r,c.length>0?c:void 0);bm(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),ah(b=>b.map(b=>b.id===e.id?a:b)),a.attachment_ids&&a.attachment_ids.length>0&&(0,x.listArtifacts)(ae.id,r).then(a=>aJ(a)).catch(()=>{}),ax(f),az([]),cb(f.id,ae.id)}catch(a){bm(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),ah(a=>a.filter(a=>a.id!==e.id)),aj(b),a7(c),C.toast.error(a instanceof Error?a.message:"Failed to send message")}finally{am(!1),bX.current?.focus()}},cr=(0,c.useCallback)(async()=>{if(!aw||!ae)return;let a=await (0,x.retryTask)(aw.id,r);ax(a),az([]),cb(a.id,ae.id)},[aw,ae,r,cb]),cs=(0,c.useCallback)(async a=>{let b=bt.current.has(a);bs(c=>{let d=new Set(c);return b?d.delete(a):d.add(a),d}),b?(bv(),(0,x.unflagMessage)(r,a).catch(()=>{bs(b=>new Set(b).add(a)),bu()})):(bu(),(0,x.flagMessage)(r,a).catch(()=>{bs(b=>{let c=new Set(b);return c.delete(a),c}),bv()}))},[r,bu,bv]),ct=(0,c.useCallback)(async a=>{aX(a),aV(!0),a_(!0),a1(null),a3(null);try{let b=await (0,x.getIssue)(r,a);aZ(b),b.issue.latest_task_id&&(0,x.getTask)(b.issue.latest_task_id,r).then(a=>a3(a)).catch(()=>a3(null)),b.issue.trace_id&&(0,x.getTrace)(b.issue.trace_id,r).then(a=>a1(a.tasks)).catch(()=>a1(null))}catch(a){C.toast.error(a instanceof Error?a.message:"Failed to load issue"),aV(!1)}finally{a_(!1)}},[r]),cu=aY?.issue?.conversation_id??null,cv=aY?.issue?.latest_task_id??null;(0,c.useEffect)(()=>{if(aU&&aW)return P(a=>{if("task.updated"===a.type&&cv&&a.taskId===cv&&(0,x.getTask)(cv,r).then(a=>a3(a)).catch(()=>{}),"conversation.message"===a.type&&cu&&a.conversationId===cu&&(aZ(b=>!b||b.messages.some(b=>b.id===a.message.id)?b:{...b,messages:[...b.messages,a.message]}),"event"===a.message.role&&a.message.content.startsWith("Issue status changed:"))){let b=a.message.content.match(/-> (\w+)/);b&&aZ(a=>a?{...a,issue:{...a.issue,status:b[1]}}:a)}"issue.comment"===a.type&&a.issueId===aW&&aZ(b=>!b||b.comments.some(b=>b.id===a.comment.id)?b:{...b,comments:[...b.comments,a.comment]})})},[aU,aW,cu,cv,r,P]);let[cw,cx]=(0,c.useState)(!1),cy=(0,c.useMemo)(()=>!!ae&&ag.some(a=>a.conversation_id===ae.id),[ae,ag]),cz=async()=>{if(ae&&cy&&!cw){cx(!0);try{bJ.current&&(clearInterval(bJ.current),bJ.current=null);let a=await (0,x.createConversation)(aa,r,U);bh(b=>[...b,{agentName:b1,created_at:a.created_at,id:`nap-${ae.id}`}]),bd(a=>[{id:ae.id,created_at:ae.created_at},...a]),af(a),ax(null),az([]),aJ([]),a9([]),a7([]),bm(new Map),bM.current=0,aD(!1),aF(!1),bT.current=null,bZ()}catch{C.toast.error("Failed to start new conversation")}finally{cx(!1)}}},cA=!!aw&&!["completed","failed","cancelled","superseded"].includes(aw.status);return aA?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-3 md:px-5",children:(0,b.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4",children:[(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(D.Skeleton,{className:"h-10 w-48 rounded-lg"})}),(0,b.jsx)("div",{className:"flex justify-start",children:(0,b.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,b.jsx)(D.Skeleton,{className:"h-4 w-72"}),(0,b.jsx)(D.Skeleton,{className:"h-4 w-56"}),(0,b.jsx)(D.Skeleton,{className:"h-4 w-64"})]})}),(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(D.Skeleton,{className:"h-10 w-36 rounded-lg"})}),(0,b.jsx)("div",{className:"flex justify-start",children:(0,b.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,b.jsx)(D.Skeleton,{className:"h-4 w-64"}),(0,b.jsx)(D.Skeleton,{className:"h-4 w-48"})]})})]})}),(0,b.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl",children:(0,b.jsx)(D.Skeleton,{className:"h-18 w-full rounded-xl"})})})]}):ae?(0,b.jsxs)(b.Fragment,{children:[bp&&(0,b.jsxs)("button",{type:"button",className:"fixed z-50 flex items-center gap-1 px-2 py-1 rounded-md bg-popover border shadow-md text-xs text-popover-foreground hover:bg-accent transition-colors",style:{left:bp.x,top:bp.y,transform:"translate(-100%, -100%)"},onMouseDown:a=>a.preventDefault(),onClick:cg,children:[(0,b.jsx)(K,{className:"size-3"}),"Quote"]}),(0,b.jsxs)("div",{className:"relative flex-1 min-h-0",children:[(0,b.jsx)("div",{className:"h-full overflow-y-auto overflow-x-hidden px-3 md:px-5 thin-scrollbar",ref:bI,onScroll:ca,onClick:a=>{a.target.closest('[data-streamdown="code-block-actions"] button')&&C.toast.success("Copied to clipboard")},children:(0,b.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4 min-w-0",children:[b9&&!aG&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)("button",{onClick:()=>b8(),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Load earlier messages"})}),aG&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)(p.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}),0===ag.length&&!aw&&(l=t.find(a=>a.id===aa),m=l?.created_at&&bk-new Date(l.created_at).getTime()<3e5,n=(v[aa]??0)>0,m&&n&&"default"===U?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 gap-3 animate-[fade-up_400ms_ease-out_both]",children:[(0,b.jsxs)("div",{className:"relative animate-bounce",children:[(0,b.jsx)(J.Mail,{className:"size-8 text-primary"}),(0,b.jsxs)("span",{className:"absolute -top-1 -right-1 flex size-3",children:[(0,b.jsx)("span",{className:"animate-ping absolute inline-flex size-full rounded-full bg-primary/60"}),(0,b.jsx)("span",{className:"relative inline-flex size-3 rounded-full bg-primary"})]})]}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center max-w-xs",children:"Your agent is sending you a welcome email."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60 text-center max-w-xs",children:"Wait for the email task in the top-left to complete, then check your inbox. Or send a message below to start chatting."})]}):(0,b.jsx)("p",{className:"text-center text-muted-foreground py-20 text-sm",children:"Send a message to start chatting with the agent."})),bF.map(a=>{if("nap"===a.kind)return(0,b.jsx)(as,{agentName:b1},a.data.id);if("artifact"===a.kind)return(0,b.jsx)(at,{artifact:a.data,version:bA.get(a.data.id)??1,hasDuplicates:bB.has(a.data.filename),onClick:bG},`artifact-${a.data.id}`);let c=a.data;return(0,b.jsx)(ak,{msg:c,agents:t,artifacts:aI,activeTask:aw,taskMessages:ay,connectionLost:aC,isLastMessage:ag.length>0&&ag[ag.length-1].id===c.id,stepCount:c.task_id?bi[c.task_id]??0:0,targetConvId:ad,workspaceId:r,conversationType:ae?.type,pendingFilesByMessage:bl,onArtifactClick:bG,onEmailClick:a=>{aT(a),aR(!0)},onIssueClick:a=>ct(a),onRetry:cr,mentionComponents:an,isFlagged:br.has(c.id),onToggleFlag:"assistant"===c.role?cs:void 0},c.id)}),aw&&aw.conversation_id===ae?.id&&!["completed","failed","cancelled","superseded"].includes(aw.status)&&(0,b.jsx)(w,{task:aw,messages:ay,connectionLost:aC})]})}),(0,b.jsx)($.ScrollToBottomButton,{scrollRef:bI})]}),ae&&(0,b.jsx)(Z,{bufferedMessages:a8,onDelete:a=>{a9(b=>b.filter(b=>b.id!==a)),(0,x.deleteBufferedMessage)(ae.id,a,r).catch(()=>{a9(a8),C.toast.error("Failed to delete follow-up")})}}),(0,b.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl relative",children:(0,b.jsxs)("div",{className:(0,i.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",al&&"opacity-50",ch&&"border-ring ring-3 ring-ring/50"),onDragEnter:ck,onDragLeave:cl,onDragOver:cm,onDrop:cn,children:[ch&&(0,b.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,b.jsx)("p",{className:"text-sm text-muted-foreground font-medium",children:"Drop files here"})}),bn&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0 flex items-start gap-2",children:[(0,b.jsx)(K,{className:"size-3.5 shrink-0 mt-0.5 text-muted-foreground"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground truncate",children:[bn.slice(0,120),bn.length>120?"...":""]})]}),(0,b.jsx)("button",{type:"button",onClick:()=>bo(null),className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,b.jsx)(O.X,{className:"size-3.5"})})]}),(0,b.jsx)(Q,{isOpen:bY.isOpen,relatedAgents:bY.relatedAgents,otherAgents:bY.otherAgents,selectedIndex:bY.selectedIndex,onSelect:bY.selectAgent,anchorPos:bY.anchorPos}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.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:ai?S(ai.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),t).replace(/<mention[^>]*>/g,'<span class="mention-highlight">').replace(/<\/mention>/g,"</span>")+(ai.endsWith("\n")?"\n":""):""}}),(0,b.jsx)("textarea",{ref:bX,value:ai,onChange:a=>{aj(a.target.value),bb(a.target.selectionStart),requestAnimationFrame(()=>{let b=a.target.previousElementSibling;b&&(b.scrollTop=a.target.scrollTop)})},onKeyDown:a=>{!bY.handleMentionKeyDown(a)&&("Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),cq()))},onPaste:co,onKeyUp:a=>bb(a.target.selectionStart),onClick:a=>bb(a.target.selectionStart),onSelect:a=>bb(a.target.selectionStart),onScroll:a=>{let b=a.target.previousElementSibling;b&&(b.scrollTop=a.target.scrollTop)},placeholder:cA?"Type a follow-up...":"Type a message...",rows:1,disabled:al,className:(0,i.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")})]}),a6.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 px-3.5 pb-1",children:a6.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-md bg-muted px-2 py-1 text-xs text-muted-foreground",children:[(0,b.jsx)(I.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-30",children:a.name}),(0,b.jsx)("span",{className:"text-muted-foreground/60",children:(0,T.formatSize)(a.size)}),(0,b.jsx)("button",{type:"button",onClick:()=>ce(c),className:"ml-0.5 rounded-sm p-0.5 hover:bg-muted-foreground/20 transition-colors",children:(0,b.jsx)(O.X,{className:"size-3"})})]},`${a.name}-${c}`))}),(0,b.jsxs)("div",{className:"flex items-center justify-between px-2 pb-2 pt-0.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[!ad&&(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:a=>(0,b.jsx)("span",{...a,className:(0,i.cn)("inline-flex",a.className),children:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:cz,disabled:cw||!ae||!cy||cA,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200",children:cw?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(G,{className:"size-3.5"})})})}),(0,b.jsx)(E.TooltipContent,{side:"top",children:cA?"Wait for the task to finish":cy?"Take a nap":`${b1} is well-rested and ready to go`})]}),(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsxs)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{aP("agent"),aL(!0)},className:"relative rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:[(0,b.jsx)(H,{className:"size-3.5"}),bz.length>0&&(0,b.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:bz.length})]}),(0,b.jsx)(E.TooltipContent,{side:"top",children:"Artifacts"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("input",{ref:bW,type:"file",multiple:!0,className:"hidden",onChange:cd}),(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:()=>bW.current?.click(),disabled:al,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,b.jsx)(M.Paperclip,{className:"size-3.5"})}),(0,b.jsx)(E.TooltipContent,{side:"top",children:"Attach files"})]}),bx&&(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:by,disabled:al,className:(0,i.cn)("rounded-lg transition-colors duration-200",bw?"text-red-500 hover:text-red-600 bg-red-500/10":"text-muted-foreground/60 hover:text-foreground")}),children:(0,b.jsx)(L,{className:(0,i.cn)("size-3.5",bw&&"animate-pulse")})}),(0,b.jsx)(E.TooltipContent,{side:"top",children:bw?"Stop recording":"Voice input"})]}),!cA||ai.trim()||al?(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{size:"icon-sm",onClick:cq,disabled:!ai.trim()||al,className:(0,i.cn)("rounded-lg transition-opacity duration-200",!ai.trim()&&"opacity-40")}),children:al?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(F.ArrowUp,{className:"size-3.5"})}),(0,b.jsx)(E.TooltipContent,{side:"top",children:"Send"})]}):(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{size:"icon-sm",onClick:cp,disabled:ao,className:"rounded-lg bg-red-500/10 text-red-500 hover:bg-red-500/20 transition-colors duration-200"}),children:ao?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(N.Square,{className:"size-3.5 fill-current"})}),(0,b.jsx)(E.TooltipContent,{side:"top",children:"Stop task"})]})]})]})]})})}),(0,b.jsx)(T.ArtifactSheet,{open:aK,onOpenChange:a=>{aL(a),a||setTimeout(()=>{aN(null),aP(null)},300)},artifacts:bC,workspaceId:r,initialArtifact:aM,versionMap:bD,duplicateFilenames:bE}),(0,b.jsx)(W,{open:aQ,onOpenChange:a=>{aR(a),a||setTimeout(()=>aT(null),300)},emailId:aS,workspaceId:r}),(0,b.jsx)(X.IssueSheet,{open:aU,onOpenChange:a=>{aV(a),a||setTimeout(()=>{aX(null),aZ(null),a3(null)},300)},agents:t,issue:aY?.issue??null,detail:aY?{messages:aY.messages,comments:aY.comments,artifacts:aY.artifacts,traceId:aY.issue.trace_id}:null,detailLoading:a$,activeTask:a2,traceTasks:a0,slug:s,workspaceId:r,width:a4,onWidthChange:a5,onUpdate:async(a,b)=>{try{let c=await (0,x.updateIssue)(r,a,b);aZ(d=>d&&d.issue.id===a?{...d,issue:{...d.issue,...b,updated_at:c.updated_at}}:d)}catch(a){C.toast.error(a instanceof Error?a.message:"Failed to update issue")}},onStatusChange:async(a,b)=>{try{await (0,x.updateIssue)(r,a,{status:b}),aZ(c=>c&&c.issue.id===a?{...c,issue:{...c.issue,status:b}}:c)}catch(a){C.toast.error(a instanceof Error?a.message:"Failed to update status")}},onCommented:()=>{aW&&ct(aW)},onArtifactClick:bH})]}):(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:"Failed to load conversation"})}}];
|
|
3
|
+
${a}`:a,c=[...a7];if(ak(""),a8([]),bp(null),an(!0),ax&&!["completed","failed","cancelled","superseded"].includes(ax.status)){let a=`temp-${Date.now()}`,d={id:a,conversation_id:af.id,role:"user",content:b,task_id:null,attachment_ids:null,status:"buffered",created_at:new Date().toISOString()};ba(a=>[...a,d]);try{let{message:d}=await (0,x.createBufferedMessage)(af.id,b,r,c.length>0?c:void 0);ba(b=>b.some(a=>a.id===d.id)?b.filter(b=>b.id!==a):b.map(b=>b.id===a?d:b))}catch(d){ba(b=>b.filter(b=>b.id!==a)),ak(b),a8(c),D.toast.error(d instanceof Error?d.message:"Failed to queue follow-up")}finally{an(!1)}return}let d=`temp-${Date.now()}`,e={id:d,conversation_id:af.id,role:"user",content:b,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};c.length>0&&bn(a=>{let b=new Map(a);return b.set(d,c),b}),ai(a=>[...a,e]),b5();try{let{message:a,task:f}=await (0,x.sendMessage)(af.id,b,r,c.length>0?c:void 0);bn(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),ai(b=>b.map(b=>b.id===e.id?a:b)),a.attachment_ids&&a.attachment_ids.length>0&&(0,x.listArtifacts)(af.id,r).then(a=>aK(a)).catch(()=>{}),ay(f),aA([]),cj(f.id,af.id)}catch(a){bn(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),ai(a=>a.filter(a=>a.id!==e.id)),ak(b),a8(c),D.toast.error(a instanceof Error?a.message:"Failed to send message")}finally{an(!1),b3.current?.focus()}},cz=(0,c.useCallback)(async()=>{if(!ax||!af)return;let a=await (0,x.retryTask)(ax.id,r);ay(a),aA([]),cj(a.id,af.id)},[ax,af,r,cj]),cA=(0,c.useCallback)(async a=>{let b=bu.current.has(a);bt(c=>{let d=new Set(c);return b?d.delete(a):d.add(a),d}),b?(bw(),(0,x.unflagMessage)(r,a).then(()=>{bx()}).catch(()=>{bt(b=>new Set(b).add(a)),bv()})):(bv(),(0,x.flagMessage)(r,a).then(()=>{bx()}).catch(()=>{bt(b=>{let c=new Set(b);return c.delete(a),c}),bw()}))},[r,bv,bw,bx]),cB=(0,c.useCallback)(async a=>{aY(a),aW(!0),a0(!0),a2(null),a4(null);try{let b=await (0,x.getIssue)(r,a);a$(b),b.issue.latest_task_id&&(0,x.getTask)(b.issue.latest_task_id,r).then(a=>a4(a)).catch(()=>a4(null)),b.issue.trace_id&&(0,x.getTrace)(b.issue.trace_id,r).then(a=>a2(a.tasks)).catch(()=>a2(null))}catch(a){D.toast.error(a instanceof Error?a.message:"Failed to load issue"),aW(!1)}finally{a0(!1)}},[r]),cC=aZ?.issue?.conversation_id??null,cD=aZ?.issue?.latest_task_id??null;(0,c.useEffect)(()=>{if(aV&&aX)return Q(a=>{if("task.updated"===a.type&&cD&&a.taskId===cD&&(0,x.getTask)(cD,r).then(a=>a4(a)).catch(()=>{}),"conversation.message"===a.type&&cC&&a.conversationId===cC&&(a$(b=>!b||b.messages.some(b=>b.id===a.message.id)?b:{...b,messages:[...b.messages,a.message]}),"event"===a.message.role&&a.message.content.startsWith("Issue status changed:"))){let b=a.message.content.match(/-> (\w+)/);b&&a$(a=>a?{...a,issue:{...a.issue,status:b[1]}}:a)}"issue.comment"===a.type&&a.issueId===aX&&a$(b=>!b||b.comments.some(b=>b.id===a.comment.id)?b:{...b,comments:[...b.comments,a.comment]})})},[aV,aX,cC,cD,r,Q]);let[cE,cF]=(0,c.useState)(!1),cG=(0,c.useMemo)(()=>!!af&&ah.some(a=>a.conversation_id===af.id),[af,ah]),cH=async()=>{if(af&&cG&&!cE){cF(!0);try{bR.current&&(clearInterval(bR.current),bR.current=null);let a=await (0,x.createConversation)(ab,r,V);bi(b=>[...b,{agentName:b9,created_at:a.created_at,id:`nap-${af.id}`}]),be(a=>[{id:af.id,created_at:af.created_at},...a]),ag(a),ay(null),aA([]),aK([]),ba([]),a8([]),bn(new Map),bU.current=0,aE(!1),aG(!1),b_.current=null,b5()}catch{D.toast.error("Failed to start new conversation")}finally{cF(!1)}}},cI=!!ax&&!["completed","failed","cancelled","superseded"].includes(ax.status);return aB?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-3 md:px-5",children:(0,b.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4",children:[(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(E.Skeleton,{className:"h-10 w-48 rounded-lg"})}),(0,b.jsx)("div",{className:"flex justify-start",children:(0,b.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,b.jsx)(E.Skeleton,{className:"h-4 w-72"}),(0,b.jsx)(E.Skeleton,{className:"h-4 w-56"}),(0,b.jsx)(E.Skeleton,{className:"h-4 w-64"})]})}),(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(E.Skeleton,{className:"h-10 w-36 rounded-lg"})}),(0,b.jsx)("div",{className:"flex justify-start",children:(0,b.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,b.jsx)(E.Skeleton,{className:"h-4 w-64"}),(0,b.jsx)(E.Skeleton,{className:"h-4 w-48"})]})})]})}),(0,b.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl",children:(0,b.jsx)(E.Skeleton,{className:"h-18 w-full rounded-xl"})})})]}):af?(0,b.jsxs)(b.Fragment,{children:[bq&&(0,b.jsxs)("button",{type:"button",className:"fixed z-50 flex items-center gap-1 px-2 py-1 rounded-md bg-popover border shadow-md text-xs text-popover-foreground hover:bg-accent transition-colors",style:{left:bq.x,top:bq.y,transform:"translate(-100%, -100%)"},onMouseDown:a=>a.preventDefault(),onClick:co,children:[(0,b.jsx)(L,{className:"size-3"}),"Quote"]}),(0,b.jsxs)("div",{className:"relative flex-1 min-h-0",children:[(0,b.jsx)("div",{className:"h-full overflow-y-auto overflow-x-hidden px-3 md:px-5 thin-scrollbar",ref:bQ,onScroll:ci,onClick:a=>{a.target.closest('[data-streamdown="code-block-actions"] button')&&D.toast.success("Copied to clipboard")},children:(0,b.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4 min-w-0",children:[ch&&!aH&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)("button",{onClick:()=>cg(),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Load earlier messages"})}),aH&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)(p.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}),0===ah.length&&!ax&&(l=t.find(a=>a.id===ab),m=l?.created_at&&bl-new Date(l.created_at).getTime()<3e5,n=(v[ab]??0)>0,m&&n&&"default"===V?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 gap-3 animate-[fade-up_400ms_ease-out_both]",children:[(0,b.jsxs)("div",{className:"relative animate-bounce",children:[(0,b.jsx)(K.Mail,{className:"size-8 text-primary"}),(0,b.jsxs)("span",{className:"absolute -top-1 -right-1 flex size-3",children:[(0,b.jsx)("span",{className:"animate-ping absolute inline-flex size-full rounded-full bg-primary/60"}),(0,b.jsx)("span",{className:"relative inline-flex size-3 rounded-full bg-primary"})]})]}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center max-w-xs",children:"Your agent is sending you a welcome email."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60 text-center max-w-xs",children:"Wait for the email task in the top-left to complete, then check your inbox. Or send a message below to start chatting."})]}):(0,b.jsx)("p",{className:"text-center text-muted-foreground py-20 text-sm",children:"Send a message to start chatting with the agent."})),bN.map(a=>{if("nap"===a.kind)return(0,b.jsx)(at,{agentName:b9},a.data.id);if("artifact"===a.kind)return(0,b.jsx)(au,{artifact:a.data,version:bI.get(a.data.id)??1,hasDuplicates:bJ.has(a.data.filename),onClick:bO},`artifact-${a.data.id}`);let c=a.data;return(0,b.jsx)(al,{msg:c,agents:t,artifacts:aJ,activeTask:ax,taskMessages:az,connectionLost:aD,isLastMessage:ah.length>0&&ah[ah.length-1].id===c.id,stepCount:c.task_id?bj[c.task_id]??0:0,targetConvId:ae,workspaceId:r,conversationType:af?.type,pendingFilesByMessage:bm,onArtifactClick:bO,onEmailClick:a=>{aU(a),aS(!0)},onIssueClick:a=>cB(a),onRetry:cz,mentionComponents:ao,isFlagged:bs.has(c.id),onToggleFlag:"assistant"===c.role?cA:void 0},c.id)}),ax&&ax.conversation_id===af?.id&&!["completed","failed","cancelled","superseded"].includes(ax.status)&&(0,b.jsx)(w,{task:ax,messages:az,connectionLost:aD})]})}),(0,b.jsx)(_.ScrollToBottomButton,{scrollRef:bQ})]}),af&&(0,b.jsx)($,{bufferedMessages:a9,onDelete:a=>{ba(b=>b.filter(b=>b.id!==a)),(0,x.deleteBufferedMessage)(af.id,a,r).catch(()=>{ba(a9),D.toast.error("Failed to delete follow-up")})}}),(0,b.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl relative",children:(0,b.jsxs)("div",{className:(0,i.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",am&&"opacity-50",cp&&"border-ring ring-3 ring-ring/50"),onDragEnter:cs,onDragLeave:ct,onDragOver:cu,onDrop:cv,children:[cp&&(0,b.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,b.jsx)("p",{className:"text-sm text-muted-foreground font-medium",children:"Drop files here"})}),bo&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0 flex items-start gap-2",children:[(0,b.jsx)(L,{className:"size-3.5 shrink-0 mt-0.5 text-muted-foreground"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground truncate",children:[bo.slice(0,120),bo.length>120?"...":""]})]}),(0,b.jsx)("button",{type:"button",onClick:()=>bp(null),className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,b.jsx)(P.X,{className:"size-3.5"})})]}),(0,b.jsx)(R,{isOpen:b4.isOpen,relatedAgents:b4.relatedAgents,otherAgents:b4.otherAgents,selectedIndex:b4.selectedIndex,onSelect:b4.selectAgent,anchorPos:b4.anchorPos}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.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:aj?T(aj.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),t).replace(/<mention[^>]*>/g,'<span class="mention-highlight">').replace(/<\/mention>/g,"</span>")+(aj.endsWith("\n")?"\n":""):""}}),(0,b.jsx)("textarea",{ref:b3,value:aj,onChange:a=>{ak(a.target.value),bc(a.target.selectionStart),requestAnimationFrame(()=>{let b=a.target.previousElementSibling;b&&(b.scrollTop=a.target.scrollTop)})},onKeyDown:a=>{!b4.handleMentionKeyDown(a)&&("Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),cy()))},onPaste:cw,onKeyUp:a=>bc(a.target.selectionStart),onClick:a=>bc(a.target.selectionStart),onSelect:a=>bc(a.target.selectionStart),onScroll:a=>{let b=a.target.previousElementSibling;b&&(b.scrollTop=a.target.scrollTop)},placeholder:cI?"Type a follow-up...":"Type a message...",rows:1,disabled:am,className:(0,i.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")})]}),a7.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 px-3.5 pb-1",children:a7.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-md bg-muted px-2 py-1 text-xs text-muted-foreground",children:[(0,b.jsx)(J.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-30",children:a.name}),(0,b.jsx)("span",{className:"text-muted-foreground/60",children:(0,U.formatSize)(a.size)}),(0,b.jsx)("button",{type:"button",onClick:()=>cm(c),className:"ml-0.5 rounded-sm p-0.5 hover:bg-muted-foreground/20 transition-colors",children:(0,b.jsx)(P.X,{className:"size-3"})})]},`${a.name}-${c}`))}),(0,b.jsxs)("div",{className:"flex items-center justify-between px-2 pb-2 pt-0.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[!ae&&(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:a=>(0,b.jsx)("span",{...a,className:(0,i.cn)("inline-flex",a.className),children:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:cH,disabled:cE||!af||!cG||cI,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200",children:cE?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(H,{className:"size-3.5"})})})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:cI?"Wait for the task to finish":cG?"Take a nap":`${b9} is well-rested and ready to go`})]}),(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsxs)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{aQ("agent"),aM(!0)},className:"relative rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:[(0,b.jsx)(I,{className:"size-3.5"}),bH.length>0&&(0,b.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:bH.length})]}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Artifacts"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("input",{ref:b2,type:"file",multiple:!0,className:"hidden",onChange:cl}),(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:()=>b2.current?.click(),disabled:am,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,b.jsx)(N.Paperclip,{className:"size-3.5"})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Attach files"})]}),bF&&(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:bG,disabled:am,className:(0,i.cn)("rounded-lg transition-colors duration-200",bE?"text-red-500 hover:text-red-600 bg-red-500/10":"text-muted-foreground/60 hover:text-foreground")}),children:(0,b.jsx)(M,{className:(0,i.cn)("size-3.5",bE&&"animate-pulse")})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:bE?"Stop recording":"Voice input"})]}),!cI||aj.trim()||am?(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{size:"icon-sm",onClick:cy,disabled:!aj.trim()||am,className:(0,i.cn)("rounded-lg transition-opacity duration-200",!aj.trim()&&"opacity-40")}),children:am?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(G.ArrowUp,{className:"size-3.5"})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Send"})]}):(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{size:"icon-sm",onClick:cx,disabled:ap,className:"rounded-lg bg-red-500/10 text-red-500 hover:bg-red-500/20 transition-colors duration-200"}),children:ap?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(O.Square,{className:"size-3.5 fill-current"})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Stop task"})]})]})]})]})})}),(0,b.jsx)(U.ArtifactSheet,{open:aL,onOpenChange:a=>{aM(a),a||setTimeout(()=>{aO(null),aQ(null)},300)},artifacts:bK,workspaceId:r,initialArtifact:aN,versionMap:bL,duplicateFilenames:bM}),(0,b.jsx)(X,{open:aR,onOpenChange:a=>{aS(a),a||setTimeout(()=>aU(null),300)},emailId:aT,workspaceId:r}),(0,b.jsx)(Y.IssueSheet,{open:aV,onOpenChange:a=>{aW(a),a||setTimeout(()=>{aY(null),a$(null),a4(null)},300)},agents:t,issue:aZ?.issue??null,detail:aZ?{messages:aZ.messages,comments:aZ.comments,artifacts:aZ.artifacts,traceId:aZ.issue.trace_id}:null,detailLoading:a_,activeTask:a3,traceTasks:a1,slug:s,workspaceId:r,width:a5,onWidthChange:a6,onUpdate:async(a,b)=>{try{let c=await (0,x.updateIssue)(r,a,b);a$(d=>d&&d.issue.id===a?{...d,issue:{...d.issue,...b,updated_at:c.updated_at}}:d)}catch(a){D.toast.error(a instanceof Error?a.message:"Failed to update issue")}},onStatusChange:async(a,b)=>{try{await (0,x.updateIssue)(r,a,{status:b}),a$(c=>c&&c.issue.id===a?{...c,issue:{...c.issue,status:b}}:c)}catch(a){D.toast.error(a instanceof Error?a.message:"Failed to update status")}},onCommented:()=>{aX&&cB(aX)},onArtifactClick:bP})]}):(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:"Failed to load conversation"})}}];
|
|
4
4
|
|
|
5
5
|
//# sourceMappingURL=src_web_src_0~23g-y._.js.map
|