@alook/app 0.0.61 → 0.0.63
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/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-mpehtea82gj.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0.2cm-frpsn46.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/02l4ozfj-bus0.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/02m~kr41yqpgu.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/02oywn5r~vty4.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/037bobdy3gbd3.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/05pjee3c_08ry.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/09g3tf250sygu.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0_.5~wi4~pwek.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0b~ih_tyx7kz2.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0e68yx9h-f6.4.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{0lgopr2yexpa7.css → 0gd8byhyta7hd.css} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0gjkn.vza5oyl.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0h--f0f9fru_b.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{0ckywgfha.zc8.js → 0ioy_kjd42n1w.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0khqgglj_9zdp.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0mq7ossd6d7or.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0mrr8ohbrf3fk.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0ojkmo0k890x0.js +63 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{05x9e8ndr.o12.js → 0pg7cnm39yoom.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0qjnhpatz4jz2.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0uht5kak3uat9.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0v~f5hjxbtvse.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0wehjlyi0zl04.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0xn4hv~_hthre.js +2 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0ypg5.fp9-.a2.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0zplaqwk4a-ro.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/17ophdu_.3idx.js +1 -0
- package/bundled/web/.open-next/cache/{ouY0UJDBkwSzFlKOVDaoD → INqpTkTDjsmltEUOkUefn}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/{ouY0UJDBkwSzFlKOVDaoD → INqpTkTDjsmltEUOkUefn}/_not-found.cache +1 -1
- package/bundled/web/.open-next/cache/{ouY0UJDBkwSzFlKOVDaoD → INqpTkTDjsmltEUOkUefn}/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 +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agent-links/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/access/[userId]/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/access/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/active-tasks/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/activity/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/chat-init/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/conversation/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/conversations/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/[accountId]/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/[accountId]/sync/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/[accountId]/test/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/[meetingId]/approve/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/[meetingId]/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/[meetingId]/stop/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/pin/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/whitelist/[whitelistId]/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/whitelist/route.js +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/workspace/browse/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/active-task-counts/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/active-tasks/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/pins/reorder/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/pins/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/route.js +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/sidebar/reorder/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/[id]/content/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/[id]/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/upload/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/[id]/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/[id]/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/route.js +6 -6
- 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 +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/active-task/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/[messageId]/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/messages/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/deregister/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/register/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/complete/route.js +8 -8
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/fail/route.js +8 -8
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/messages/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/progress/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/start/route.js +8 -8
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/status/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/supersede/route.js +8 -8
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/poll/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/workspace/report/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/attachment/[index]/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/body/route.js +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/raw/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/thread/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/notify/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/send/route.js +8 -8
- 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 +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/flags/count/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/flags/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/count/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/read/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/read-all/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/invite/[token]/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/comments/route.js +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/route.js +10 -10
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/route.js +10 -10
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/machine-tokens/[id]/route.js +7 -7
- 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 +6 -6
- 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 +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/members/me/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/[runtimeId]/rescan/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/[runtimeId]/update/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/machine/route.js +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/route.js +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/check-handles/route.js +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/check-name/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/route.js +9 -9
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/messages/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/retry/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/step-counts/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/traces/[traceId]/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/traces/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/invites/[inviteId]/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/invites/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/members/[memberId]/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/members/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/overview/route.js +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/route.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/route.js +2 -2
- 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/0b5f_next_dist_esm_build_templates_app-route_032cv~l.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0.4xeaa._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0.t8o5c._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__001qh~f._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__00k.jcq._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__019.3_5._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0379ihd._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__03owi_a._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__04.w-i4._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__04_ukje._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__04ihz8_._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__04o~n3i._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__04qq0tv._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__05s9s66._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__05xfn7u._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__05yyq4h._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__061icx0._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__06a6si6._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__06fzsms._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__08epfkt._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__09m4mqi._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__09~bddx._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__09~cltd._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0_1dli7._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0_mbope._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0a0kpty._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0agsqel._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0au7iz1._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0a~mr1e._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0b23dwz._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0b29nzd._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0bd.si~._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0bib-8p._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0brvj4~._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0c2x5jp._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0c662gc._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ch.pkt._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0chl8t4._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0cs1y~x._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0tw8jdy._.js → [root-of-the-server]__0cubo90._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0d6v3di._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0df6~7t._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0dfq68j._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0es8pc5._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ewjxcx._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ffgd5i._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0fid774._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0fphyf-._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0fu-ec.._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0g4t__l._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0g5et1u._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0gp4um4._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0gtjf_r._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0h~s0.y._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0i2jl2e._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0jjbzaf._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0jjdy9m._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0jju-gp._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0k4v8~1._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ktfmjw._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0kvsfuj._.js +85 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0l2vdne._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0l3u9pl._.js +85 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0l76icf._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0lsx5n_._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0m0yrqt._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0xfezo.._.js → [root-of-the-server]__0mev6bt._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0n.2_vo._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0n2f8ri._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0nkeh9v._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0n~0ku0._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ol5kwx._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0pewrju._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0qh0sp-._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0qis51-._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0rok.xa._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0so_os.._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0sop7g3._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0tb6av3._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0tc-yl.._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0u0vk90._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ug4a08._.js +10 -10
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0v_j9cd._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0w7teg0._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0x0uioj._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ykflnw._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0yq-hn.._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ys-dq2._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0zau8vm._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0zd3zx9._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0~4t--s._.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0~p_j5_._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__10.dgv-._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__101ujpf._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__10rvdcx._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__10yz5k.._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__11bbum_._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__11~qlgx._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__12ar1ku._.js +5 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__12le..n._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +109 -111
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_web_src_lib_0w3tdcm._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0jkll-p._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0tpn293._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +109 -111
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_00tia4h._.js +65 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_01-aa1p._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_06cffai._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_07nc8as._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0_gdn-k._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0grgpqw._.js → _0icffya._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0xd~7d0._.js → _0l89059._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_07nfm8a._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_0d6x0l6._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_0ivfx3i._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_0o~nukr._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0dvds67._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0stugv_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_agents_[id]_activity_page_tsx_0sthpjy._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_agents_[id]_email_page_tsx_09mq1-g._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_agents_[id]_files_page_tsx_11eh380._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_agents_[id]_layout_tsx_0juu2um._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_flags_page_tsx_01u6ba1._.js +1 -1
- 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/chunks/ssr/src_web_src_app_(app)_w_[slug]_issues_page_tsx_0_k5j03._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_settings_page_tsx_0fdcupy._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_threads_[traceId]_page_tsx_00bx721._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_00xgo_-._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_0nj0euq._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_avatar_index_ts_0v3qm09._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_issues_issue-sheet_tsx_02fma1.._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_ui_tooltip_tsx_01x-izi._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_workspace-shell_tsx_0479plk._.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 +86 -86
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +12577 -6009
- package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +3 -3
- package/package.json +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0.sz8uokz4r3z.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/02eur_~.0beq1.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0897z5r~zf_64.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/09cf5_rxgdweq.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/09g0nda2m8qs6.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/09xlaawkmeo-1.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0_r2q9b0p3~43.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0cevbp17ckdk8.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0cfcuvz1i5ib-.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0d_~94mojr73c.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0fv1xxx5~japv.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0h3_qte--w1zd.js +0 -2
- package/bundled/web/.open-next/assets/_next/static/chunks/0kv3zo-jlu8ys.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0ns6eebx34b7y.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0s.jfkn9-ghod.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0tzluwv791ius.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0v1r-i08gf2_r.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0vy6bvkl._5cz.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0wh92yl8ru81f.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0wiz11twa9nza.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0xgmeffaed_g1.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/11awu4cnrpf_2.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/13ghp4pyj_rtr.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/15b8tj5zgbyem.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/17vrtnfkomuz6.js +0 -63
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0.3mubc._.js +0 -85
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__05xoje9._.js +0 -85
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0kazb~a._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0.2jl97._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0.dzs.w._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0.jo5qc._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0.rutuh._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_00eiyw0._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_00el19e._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_00kfi2-._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_00zd.1q._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_00~t8zi._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_01krma7._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_021hkem._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_02449ks._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_02fn7nj._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_02iwe58._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_02v0_u-._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_03m9a~f._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_04ea.3f._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_04ivf4_._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_05kikph._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_066er3j._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_06iebdv._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_06uiipb._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_06yp.s8._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_07gawub._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_07yuduz._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08.w82m._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08ayl4h._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08fgbb.._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08fxnsd._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08t_6x5._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_09mceo0._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_09om9f4._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0_g_-z4._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0_gu.~7._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0aak8pg._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0at_ssn._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0b30pve._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0b5rpbc._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0bectrx._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0c0zs40._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0cquz~q._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0dnffma._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0dpquhv._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0e60.br._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0eaj_1s._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ej.nlc._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0euis.k._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ewx3cn._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0gsmhrp._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0hgib3c._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0i-jv6v._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ip7w.8._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0jnt2z5._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0jz_se0._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0lv0pel._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0m.1coq._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0mcy5ep._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0mualhz._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0nawy0h._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0nd.s-5._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0o-_mo0._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0o0lcbx._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ohh15i._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0orqy3.._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0pdj0d~._.js +0 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0q2wyb2._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0q3pz3~._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0q8jm2b._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0qhunty._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0qi64h5._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0r35d39._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0rnb~5y._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0shx15x._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0snm~e8._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0snxp6.._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0uzo6l3._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0v18x4x._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0wak0p5._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0x46v2e._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0x4bvsm._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0xgx8u0._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0y60lfl._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0z.o0za._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0z70u14._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0zq5--~._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_11_9vc-._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_11vu8-m._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_11wvokq._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_12dwd8z._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_12ldege._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_137dypu._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_web_src_lib_013vn3t._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_web_src_lib_0u1lkbw._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/0r03_@base-ui_react_esm_0rw~qhg._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__07kw94m._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0j4zfi1._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_00lrpyh._.js +0 -65
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0388irl._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0cq9vt9._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0rb2_75._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0rkr3t4._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_01s8r3n._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_0r.85x_._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_0rwgvis._.js +0 -3
- /package/bundled/web/.open-next/assets/_next/static/{ouY0UJDBkwSzFlKOVDaoD → INqpTkTDjsmltEUOkUefn}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{ouY0UJDBkwSzFlKOVDaoD → INqpTkTDjsmltEUOkUefn}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{ouY0UJDBkwSzFlKOVDaoD → INqpTkTDjsmltEUOkUefn}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{ouY0UJDBkwSzFlKOVDaoD → INqpTkTDjsmltEUOkUefn}/robots.txt.cache +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[369581,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(207058),e=a.i(26822),f=a.i(506180),g=a.i(588339),h=a.i(25668),i=a.i(
|
|
1
|
+
module.exports=[369581,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(207058),e=a.i(26822),f=a.i(506180),g=a.i(588339),h=a.i(25668),i=a.i(732254),j=a.i(525132),k=a.i(354498),l=a.i(363928),m=a.i(918768),n=a.i(348634),o=a.i(249453),p=a.i(759793),q=a.i(688832),r=a.i(527779),s=a.i(389660);let t=[{label:"All",value:""},{label:"Queued",value:"queued,dispatched"},{label:"Running",value:"running"},{label:"Completed",value:"completed"},{label:"Failed",value:"failed"},{label:"Cancelled",value:"cancelled,superseded"}],u=[{label:"All",value:""},{label:"Message",value:"user_dm_message"},{label:"Email",value:"email_notification"},{label:"Calendar",value:"calendar_event"}],v={user_dm_message:l.MessageSquare,email_notification:m.Mail,calendar_event:n.CalendarDays},w={queued:"Queued",dispatched:"Queued",running:"Running",completed:"Completed",failed:"Failed",cancelled:"Cancelled",superseded:"Cancelled"},x=new Set(["completed","failed","cancelled","superseded"]);function y({status:a}){return(0,b.jsx)("span",{className:`size-1.5 rounded-full shrink-0 ${"completed"===a?"bg-[oklch(0.72_0.19_145)]":"failed"===a?"bg-destructive":"running"===a?"bg-primary animate-pulse":"bg-muted-foreground/40"}`})}function z({task:a,slug:d,agentId:f,workspaceId:h,onRetry:k}){let l=v[a.type]??o.CircleDot,m=x.has(a.status)?function(a,b){if(!a||!b)return null;let c=Math.max(0,Math.floor((new Date(b).getTime()-new Date(a).getTime())/1e3));if(c>=3600){let a=Math.floor(c/3600),b=Math.floor(c%3600/60);return`${a}h ${b}m`}if(c>=60){let a=Math.floor(c/60);return`${a}m ${c%60}s`}return`${c}s`}(a.started_at,a.completed_at):null,[n,p]=(0,c.useState)(!1),s=async b=>{b.preventDefault(),b.stopPropagation(),p(!0);try{await (0,g.retryTask)(a.id,h),k()}catch{}finally{p(!1)}};return(0,b.jsxs)(e.default,{href:`/w/${d}/agents/${f}?task=${a.id}&conv=${a.conversation_id}`,className:"block px-4 py-3 border-b border-border/30 hover:bg-accent/30 transition-colors duration-150 cursor-pointer",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,b.jsx)(l,{className:"shrink-0 size-3.5 text-muted-foreground"}),(0,b.jsx)("span",{className:"text-sm text-foreground truncate flex-1 min-w-0",children:a.prompt}),(0,b.jsxs)(j.Tooltip,{children:[(0,b.jsx)(j.TooltipTrigger,{render:(0,b.jsx)("span",{className:"text-xs text-muted-foreground shrink-0 ml-2"}),children:function(a){let b=new Date(a),c=Math.floor((new Date().getTime()-b.getTime())/6e4);if(c<1)return"just now";if(c<60)return`${c}m ago`;let d=Math.floor(c/60);if(d<24)return`${d}h ago`;let e=Math.floor(d/24);return e<7?`${e}d ago`:b.toLocaleDateString(void 0,{month:"short",day:"numeric"})}(a.created_at)}),(0,b.jsx)(j.TooltipContent,{children:new Date(a.created_at).toLocaleString()})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mt-1 ml-5.5",children:[(0,b.jsx)(y,{status:a.status}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:w[a.status]??a.status}),m&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-muted-foreground/40",children:"·"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:m})]}),"failed"===a.status&&a.error&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-muted-foreground/40",children:"—"}),(0,b.jsx)("span",{className:"text-xs text-destructive truncate max-w-50",children:a.error})]}),"failed"===a.status&&(0,b.jsxs)(j.Tooltip,{children:[(0,b.jsx)(j.TooltipTrigger,{render:(0,b.jsx)(i.Button,{variant:"ghost",size:"icon-sm",onClick:s,disabled:n,className:"ml-auto text-muted-foreground"}),children:n?(0,b.jsx)(r.Loader2,{className:"size-3 animate-spin"}):(0,b.jsx)(q.RotateCw,{className:"size-3"})}),(0,b.jsx)(j.TooltipContent,{children:"Retry task"})]})]})]})}function A({promptWidth:a}){return(0,b.jsxs)("div",{className:"px-4 py-3 border-b border-border/30",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Skeleton,{className:"h-3.5 w-4 rounded shrink-0"}),(0,b.jsx)(h.Skeleton,{className:"h-3.5 rounded",style:{width:a}}),(0,b.jsx)(h.Skeleton,{className:"h-2.5 w-10 rounded shrink-0 ml-auto"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mt-1 ml-5.5",children:[(0,b.jsx)(h.Skeleton,{className:"h-2.5 w-20 rounded-full"}),(0,b.jsx)(h.Skeleton,{className:"h-2.5 w-8 rounded"})]})]})}a.s(["default",0,function(){let a=(0,d.useParams)(),e=(0,d.useRouter)(),h=(0,d.useSearchParams)(),i=a.id,{slug:j,workspaceId:l}=(0,f.useWorkspace)(),[m,n]=(0,c.useState)([]),[o,q]=(0,c.useState)(!0),[r,v]=(0,c.useState)(!1),[w,x]=(0,c.useState)(!1),y=(0,c.useRef)(null),B=(0,c.useRef)(!1),C=(0,c.useRef)(!1),D=h.get("status")??"",E=h.get("type")??"",F=(0,c.useCallback)(async()=>{q(!0);try{let a=await (0,g.listAgentActivity)(i,l,{limit:30,status:D||void 0,type:E||void 0});n(a.tasks),v(a.has_more),C.current=!1}catch{}finally{q(!1)}},[i,l,D,E]);(0,c.useEffect)(()=>{F()},[F]),(0,c.useEffect)(()=>{o||C.current||!y.current||(y.current.scrollTop=y.current.scrollHeight,C.current=!0)},[o,m]);let G=(0,c.useCallback)(async()=>{if(B.current||!r||0===m.length)return;B.current=!0,x(!0);let a=y.current,b=a?.scrollHeight??0;try{let c=m[0],d=await (0,g.listAgentActivity)(i,l,{limit:30,before:c.created_at,beforeId:c.id,status:D||void 0,type:E||void 0});if(0===d.tasks.length)return void v(!1);v(d.has_more),n(a=>{let b=new Set(a.map(a=>a.id));return[...d.tasks.filter(a=>!b.has(a.id)),...a]}),requestAnimationFrame(()=>{if(a){let c=a.scrollHeight;a.scrollTop=c-b}})}finally{B.current=!1,x(!1)}},[i,l,m,r,D,E]),H=(0,c.useCallback)(()=>{let a=y.current;a&&!w&&r&&a.scrollTop<80&&G()},[G,w,r]),I=(0,c.useCallback)((a,b)=>{let c=new URLSearchParams(h.toString());b?c.set(a,b):c.delete(a);let d=`/w/${j}/agents/${i}/activity`,f=c.toString();e.replace(f?`${d}?${f}`:d,{scroll:!1})},[e,j,i,h]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"sticky top-0 z-10 flex items-center gap-2 px-4 py-2.5",children:[(0,b.jsxs)(k.Select,{value:D,onValueChange:a=>I("status",a??""),children:[(0,b.jsx)(k.SelectTrigger,{className:"w-35 border-none bg-transparent shadow-none text-xs text-muted-foreground hover:bg-muted hover:text-foreground transition-colors",children:(0,b.jsx)(k.SelectValue,{placeholder:"Status: All"})}),(0,b.jsx)(k.SelectPopup,{children:t.map(a=>(0,b.jsx)(k.SelectItem,{value:a.value,children:"All"===a.label?"Status: All":a.label},a.value))})]}),(0,b.jsxs)(k.Select,{value:E,onValueChange:a=>I("type",a??""),children:[(0,b.jsx)(k.SelectTrigger,{className:"w-32.5 border-none bg-transparent shadow-none text-xs text-muted-foreground hover:bg-muted hover:text-foreground transition-colors",children:(0,b.jsx)(k.SelectValue,{placeholder:"Type: All"})}),(0,b.jsx)(k.SelectPopup,{children:u.map(a=>(0,b.jsx)(k.SelectItem,{value:a.value,children:"All"===a.label?"Type: All":a.label},a.value))})]})]}),(0,b.jsxs)("div",{className:"relative flex-1 min-h-0",children:[(0,b.jsx)("div",{ref:y,className:"h-full overflow-y-auto thin-scrollbar",onScroll:H,children:o?(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)(A,{promptWidth:"40%"}),(0,b.jsx)(A,{promptWidth:"55%"}),(0,b.jsx)(A,{promptWidth:"48%"})]}):0===m.length?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center h-full animate-[fade-up_400ms_ease-out_both]",children:[(0,b.jsx)(p.History,{className:"size-8 text-muted-foreground mb-3"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No activity yet"}),(D||E)&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60 mt-1",children:"Try changing your filters"})]}):(0,b.jsxs)("div",{className:"flex flex-col animate-[fade-up_400ms_ease-out_both]",children:[w&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(A,{promptWidth:"48%"}),(0,b.jsx)(A,{promptWidth:"40%"})]}),m.map(a=>(0,b.jsx)(z,{task:a,slug:j,agentId:i,workspaceId:l,onRetry:F},a.id))]})}),(0,b.jsx)(s.ScrollToBottomButton,{scrollRef:y})]})]})}])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_web_src_app_%28app%29_w_%5Bslug%5D_agents_%5Bid%5D_activity_page_tsx_0sthpjy._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[221781,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(207058),e=a.i(506180),f=a.i(752792),g=a.i(588339),h=a.i(732254),i=a.i(22902),j=a.i(45991),k=a.i(186401),l=a.i(492005),m=a.i(916814),n=a.i(799272),o=a.i(439110),p=o.Extension.create({name:"textAlign",addOptions:()=>({types:[],alignments:["left","center","right","justify"],defaultAlignment:null}),addGlobalAttributes(){return[{types:this.options.types,attributes:{textAlign:{default:this.options.defaultAlignment,parseHTML:a=>{let b=a.style.textAlign;return this.options.alignments.includes(b)?b:this.options.defaultAlignment},renderHTML:a=>a.textAlign?{style:`text-align: ${a.textAlign}`}:{}}}}]},addCommands(){return{setTextAlign:a=>({commands:b})=>!!this.options.alignments.includes(a)&&this.options.types.map(c=>b.updateAttributes(c,{textAlign:a})).some(a=>a),unsetTextAlign:()=>({commands:a})=>this.options.types.map(b=>a.resetAttributes(b,"textAlign")).some(a=>a),toggleTextAlign:a=>({editor:b,commands:c})=>!!this.options.alignments.includes(a)&&(b.isActive({textAlign:a})?c.unsetTextAlign():c.setTextAlign(a))}},addKeyboardShortcuts(){return{"Mod-Shift-l":()=>this.editor.commands.setTextAlign("left"),"Mod-Shift-e":()=>this.editor.commands.setTextAlign("center"),"Mod-Shift-r":()=>this.editor.commands.setTextAlign("right"),"Mod-Shift-j":()=>this.editor.commands.setTextAlign("justify")}}}),q=(a,b=0)=>{let c=[];return!a.children.length||b>20||Array.from(a.children).forEach(a=>{"SPAN"===a.tagName?c.push(a):a.children.length&&c.push(...q(a,b+1))}),c},r=o.Mark.create({name:"textStyle",priority:101,addOptions:()=>({HTMLAttributes:{},mergeNestedSpanStyles:!0}),parseHTML(){return[{tag:"span",consuming:!1,getAttrs:a=>{var b;return!!a.hasAttribute("style")&&(this.options.mergeNestedSpanStyles&&(b=a).children.length&&q(b).forEach(a=>{var b,c;let d=a.getAttribute("style"),e=null==(c=null==(b=a.parentElement)?void 0:b.closest("span"))?void 0:c.getAttribute("style");a.setAttribute("style",`${e};${d}`)}),{})}}]},renderHTML({HTMLAttributes:a}){return["span",(0,o.mergeAttributes)(this.options.HTMLAttributes,a),0]},addCommands(){return{toggleTextStyle:a=>({commands:b})=>b.toggleMark(this.name,a),removeEmptyTextStyle:()=>({tr:a})=>{let{selection:b}=a;return a.doc.nodesBetween(b.from,b.to,(b,c)=>{if(b.isTextblock)return!0;b.marks.filter(a=>a.type===this.type).some(a=>Object.values(a.attrs).some(a=>!!a))||a.removeMark(c,c+b.nodeSize,this.type)}),!0}}}}),s=o.Extension.create({name:"backgroundColor",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{backgroundColor:{default:null,parseHTML:a=>{var b;let c=a.getAttribute("style");if(c){let a=c.split(";").map(a=>a.trim()).filter(Boolean);for(let b=a.length-1;b>=0;b-=1){let c=a[b].split(":");if(c.length>=2){let a=c[0].trim().toLowerCase(),b=c.slice(1).join(":").trim();if("background-color"===a)return b.replace(/['"]+/g,"")}}}return null==(b=a.style.backgroundColor)?void 0:b.replace(/['"]+/g,"")},renderHTML:a=>a.backgroundColor?{style:`background-color: ${a.backgroundColor}`}:{}}}}]},addCommands:()=>({setBackgroundColor:a=>({chain:b})=>b().setMark("textStyle",{backgroundColor:a}).run(),unsetBackgroundColor:()=>({chain:a})=>a().setMark("textStyle",{backgroundColor:null}).removeEmptyTextStyle().run()})}),t=o.Extension.create({name:"color",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:a=>{var b;let c=a.getAttribute("style");if(c){let a=c.split(";").map(a=>a.trim()).filter(Boolean);for(let b=a.length-1;b>=0;b-=1){let c=a[b].split(":");if(c.length>=2){let a=c[0].trim().toLowerCase(),b=c.slice(1).join(":").trim();if("color"===a)return b.replace(/['"]+/g,"")}}}return null==(b=a.style.color)?void 0:b.replace(/['"]+/g,"")},renderHTML:a=>a.color?{style:`color: ${a.color}`}:{}}}}]},addCommands:()=>({setColor:a=>({chain:b})=>b().setMark("textStyle",{color:a}).run(),unsetColor:()=>({chain:a})=>a().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()})}),u=o.Extension.create({name:"fontFamily",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{fontFamily:{default:null,parseHTML:a=>a.style.fontFamily,renderHTML:a=>a.fontFamily?{style:`font-family: ${a.fontFamily}`}:{}}}}]},addCommands:()=>({setFontFamily:a=>({chain:b})=>b().setMark("textStyle",{fontFamily:a}).run(),unsetFontFamily:()=>({chain:a})=>a().setMark("textStyle",{fontFamily:null}).removeEmptyTextStyle().run()})}),v=o.Extension.create({name:"fontSize",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{fontSize:{default:null,parseHTML:a=>a.style.fontSize,renderHTML:a=>a.fontSize?{style:`font-size: ${a.fontSize}`}:{}}}}]},addCommands:()=>({setFontSize:a=>({chain:b})=>b().setMark("textStyle",{fontSize:a}).run(),unsetFontSize:()=>({chain:a})=>a().setMark("textStyle",{fontSize:null}).removeEmptyTextStyle().run()})}),w=o.Extension.create({name:"lineHeight",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{lineHeight:{default:null,parseHTML:a=>a.style.lineHeight,renderHTML:a=>a.lineHeight?{style:`line-height: ${a.lineHeight}`}:{}}}}]},addCommands:()=>({setLineHeight:a=>({chain:b})=>b().setMark("textStyle",{lineHeight:a}).run(),unsetLineHeight:()=>({chain:a})=>a().setMark("textStyle",{lineHeight:null}).removeEmptyTextStyle().run()})});o.Extension.create({name:"textStyleKit",addExtensions(){let a=[];return!1!==this.options.backgroundColor&&a.push(s.configure(this.options.backgroundColor)),!1!==this.options.color&&a.push(t.configure(this.options.color)),!1!==this.options.fontFamily&&a.push(u.configure(this.options.fontFamily)),!1!==this.options.fontSize&&a.push(v.configure(this.options.fontSize)),!1!==this.options.lineHeight&&a.push(w.configure(this.options.lineHeight)),!1!==this.options.textStyle&&a.push(r.configure(this.options.textStyle)),a}});var x=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,y=o.Node.create({name:"image",addOptions:()=>({inline:!1,allowBase64:!1,HTMLAttributes:{},resize:!1}),inline(){return this.options.inline},group(){return this.options.inline?"inline":"block"},draggable:!0,addAttributes:()=>({src:{default:null},alt:{default:null},title:{default:null},width:{default:null},height:{default:null}}),parseHTML(){return[{tag:this.options.allowBase64?"img[src]":'img[src]:not([src^="data:"])'}]},renderHTML({HTMLAttributes:a}){return["img",(0,o.mergeAttributes)(this.options.HTMLAttributes,a)]},parseMarkdown:(a,b)=>b.createNode("image",{src:a.href,title:a.title,alt:a.text}),renderMarkdown:a=>{var b,c,d,e,f,g;let h=null!=(c=null==(b=a.attrs)?void 0:b.src)?c:"",i=null!=(e=null==(d=a.attrs)?void 0:d.alt)?e:"",j=null!=(g=null==(f=a.attrs)?void 0:f.title)?g:"";return j?``:``},addNodeView(){if(!this.options.resize||!this.options.resize.enabled||"u"<typeof document)return null;let{directions:a,minWidth:b,minHeight:c,alwaysPreserveAspectRatio:d}=this.options.resize;return({node:e,getPos:f,HTMLAttributes:g,editor:h})=>{let i=document.createElement("img");Object.entries(g).forEach(([a,b])=>{if(null!=b)switch(a){case"width":case"height":break;default:i.setAttribute(a,b)}}),i.src=g.src;let j=new o.ResizableNodeView({element:i,editor:h,node:e,getPos:f,onResize:(a,b)=>{i.style.width=`${a}px`,i.style.height=`${b}px`},onCommit:(a,b)=>{let c=f();void 0!==c&&this.editor.chain().setNodeSelection(c).updateAttributes(this.name,{width:a,height:b}).run()},onUpdate:(a,b,c)=>a.type===e.type,options:{directions:a,min:{width:b,height:c},preserveAspectRatio:!0===d}}),k=j.dom;return k.style.visibility="hidden",k.style.pointerEvents="none",i.onload=()=>{k.style.visibility="",k.style.pointerEvents=""},j}},addCommands(){return{setImage:a=>({commands:b})=>b.insertContent({type:this.name,attrs:a})}},addInputRules(){return[(0,o.nodeInputRule)({find:x,type:this.type,getAttributes:a=>{let[,,b,c,d]=a;return{src:c,alt:b,title:d}}})]}}),z=a.i(75118),A=a.i(790090);let B=(0,A.default)("bold",[["path",{d:"M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8",key:"mg9rjx"}]]),C=(0,A.default)("italic",[["line",{x1:"19",x2:"10",y1:"4",y2:"4",key:"15jd3p"}],["line",{x1:"14",x2:"5",y1:"20",y2:"20",key:"bu0au3"}],["line",{x1:"15",x2:"9",y1:"4",y2:"20",key:"uljnxc"}]]),D=(0,A.default)("underline",[["path",{d:"M6 4v6a6 6 0 0 0 12 0V4",key:"9kb039"}],["line",{x1:"4",x2:"20",y1:"20",y2:"20",key:"nun2al"}]]),E=(0,A.default)("strikethrough",[["path",{d:"M16 4H9a3 3 0 0 0-2.83 4",key:"43sutm"}],["path",{d:"M14 12a4 4 0 0 1 0 8H6",key:"nlfj13"}],["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}]]),F=(0,A.default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]),G=(0,A.default)("list-ordered",[["path",{d:"M11 5h10",key:"1cz7ny"}],["path",{d:"M11 12h10",key:"1438ji"}],["path",{d:"M11 19h10",key:"11t30w"}],["path",{d:"M4 4h1v5",key:"10yrso"}],["path",{d:"M4 9h2",key:"r1h2o0"}],["path",{d:"M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02",key:"xtkcd5"}]]),H=(0,A.default)("text-align-start",[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M17 19H3",key:"z6ezky"}]]),I=(0,A.default)("text-align-center",[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M17 12H7",key:"16if0g"}],["path",{d:"M19 19H5",key:"vjpgq2"}]]),J=(0,A.default)("text-align-end",[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M21 19H7",key:"4cu937"}]]),K=(0,A.default)("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]),L=(0,A.default)("unlink",[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71",key:"yqzxt4"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71",key:"4qinb0"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5",key:"1041cp"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8",key:"14m1p5"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22",key:"rzdirn"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16",key:"ox905f"}]]),M=(0,A.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),N=(0,A.default)("heading-1",[["path",{d:"M4 12h8",key:"17cfdx"}],["path",{d:"M4 18V6",key:"1rz3zl"}],["path",{d:"M12 18V6",key:"zqpxq5"}],["path",{d:"m17 12 3-2v8",key:"1hhhft"}]]),O=(0,A.default)("heading-2",[["path",{d:"M4 12h8",key:"17cfdx"}],["path",{d:"M4 18V6",key:"1rz3zl"}],["path",{d:"M12 18V6",key:"zqpxq5"}],["path",{d:"M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1",key:"9jr5yi"}]]);var P=a.i(483250),P=P;function Q({active:a,disabled:c,onClick:d,title:e,children:f}){return(0,b.jsx)("button",{type:"button",title:e,disabled:c,onMouseDown:a=>a.preventDefault(),onClick:d,className:(0,z.cn)("flex items-center justify-center size-7 rounded-md transition-colors cursor-pointer","text-muted-foreground/70 hover:text-foreground hover:bg-accent",a&&"bg-accent text-foreground",c&&"opacity-40 pointer-events-none"),children:f})}function R(){return(0,b.jsx)("div",{className:"w-px h-4 bg-border/60 mx-0.5 shrink-0"})}function S({editor:a}){if(!a)return null;let c="size-3.5";return(0,b.jsxs)("div",{className:"flex items-center gap-0.5 px-3 py-1 overflow-x-auto",children:[(0,b.jsx)(Q,{title:"Bold",active:a.isActive("bold"),onClick:()=>a.chain().focus().toggleBold().run(),children:(0,b.jsx)(B,{className:c})}),(0,b.jsx)(Q,{title:"Italic",active:a.isActive("italic"),onClick:()=>a.chain().focus().toggleItalic().run(),children:(0,b.jsx)(C,{className:c})}),(0,b.jsx)(Q,{title:"Underline",active:a.isActive("underline"),onClick:()=>a.chain().focus().toggleUnderline().run(),children:(0,b.jsx)(D,{className:c})}),(0,b.jsx)(Q,{title:"Strikethrough",active:a.isActive("strike"),onClick:()=>a.chain().focus().toggleStrike().run(),children:(0,b.jsx)(E,{className:c})}),(0,b.jsx)(R,{}),(0,b.jsx)(Q,{title:"Heading 1",active:a.isActive("heading",{level:1}),onClick:()=>a.chain().focus().toggleHeading({level:1}).run(),children:(0,b.jsx)(N,{className:c})}),(0,b.jsx)(Q,{title:"Heading 2",active:a.isActive("heading",{level:2}),onClick:()=>a.chain().focus().toggleHeading({level:2}).run(),children:(0,b.jsx)(O,{className:c})}),(0,b.jsx)(R,{}),(0,b.jsx)(Q,{title:"Bullet List",active:a.isActive("bulletList"),onClick:()=>a.chain().focus().toggleBulletList().run(),children:(0,b.jsx)(F,{className:c})}),(0,b.jsx)(Q,{title:"Ordered List",active:a.isActive("orderedList"),onClick:()=>a.chain().focus().toggleOrderedList().run(),children:(0,b.jsx)(G,{className:c})}),(0,b.jsx)(R,{}),(0,b.jsx)(Q,{title:"Align Left",active:a.isActive({textAlign:"left"}),onClick:()=>a.chain().focus().setTextAlign("left").run(),children:(0,b.jsx)(H,{className:c})}),(0,b.jsx)(Q,{title:"Align Center",active:a.isActive({textAlign:"center"}),onClick:()=>a.chain().focus().setTextAlign("center").run(),children:(0,b.jsx)(I,{className:c})}),(0,b.jsx)(Q,{title:"Align Right",active:a.isActive({textAlign:"right"}),onClick:()=>a.chain().focus().setTextAlign("right").run(),children:(0,b.jsx)(J,{className:c})}),(0,b.jsx)(R,{}),(0,b.jsx)(Q,{title:a.isActive("link")?"Remove Link":"Insert Link",active:a.isActive("link"),onClick:()=>{if(a.isActive("link"))return void a.chain().focus().unsetLink().run();let b=window.prompt("URL");b&&a.chain().focus().extendMarkRange("link").setLink({href:b}).run()},children:a.isActive("link")?(0,b.jsx)(L,{className:c}):(0,b.jsx)(K,{className:c})}),(0,b.jsx)(Q,{title:"Insert Image",onClick:()=>{let b=window.prompt("Image URL");b&&a.chain().focus().setImage({src:b}).run()},children:(0,b.jsx)(M,{className:c})}),(0,b.jsx)(R,{}),(0,b.jsx)(Q,{title:"Horizontal Rule",onClick:()=>a.chain().focus().setHorizontalRule().run(),children:(0,b.jsx)(P.default,{className:c})})]})}var T=a.i(334235),U=a.i(921584),V=a.i(292948),W=a.i(58643),X=a.i(527779),Y=a.i(700425),Z=a.i(338660);function $({fromAddress:d,onSend:e,onDiscard:f,initialTo:g="",initialSubject:i="",initialBody:o="",initialAttachments:q=[],inReplyTo:s,references:u}){let[v,w]=(0,c.useState)(g),[x,z]=(0,c.useState)(i),[A,B]=(0,c.useState)(!1),[C,D]=(0,c.useState)(q),[E,F]=(0,c.useState)(!1),G=(0,c.useRef)(null),H=(0,j.useEditor)({immediatelyRender:!1,content:o||void 0,extensions:[k.default.configure({link:!1,underline:!1}),l.default.configure({placeholder:"Write your email..."}),m.default,n.default.configure({autolink:!0,openOnClick:!1,linkOnPaste:!0}),p.configure({types:["heading","paragraph"]}),r,t,y.configure({inline:!0,allowBase64:!0})],editorProps:{attributes:{class:"text-sm max-w-none focus:outline-none min-h-50 px-4 py-3"}}}),I=async()=>{if(v.trim()&&x.trim()&&H){B(!0);try{let a=H.getHTML();await e(v.trim(),x.trim(),a,C,s||u?{inReplyTo:s,references:u}:void 0)&&(w(""),z(""),D([]),H.commands.clearContent())}finally{B(!1)}}},J=async b=>{let c=b.target.files;if(c&&0!==c.length){F(!0);try{let{uploadEmailAttachment:b}=await a.A(81396);for(let a of Array.from(c)){if(a.size>0xa00000){U.toast.error(`${a.name} exceeds 10 MB limit`);continue}let c=new URLSearchParams(window.location.search).get("workspace_id")??"",d=await b(a,c);D(a=>[...a,d])}}catch{U.toast.error("Failed to upload attachment")}finally{F(!1),G.current&&(G.current.value="")}}};return(0,b.jsxs)("div",{className:"flex flex-col h-full w-full min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border/40 px-4 py-2",children:[(0,b.jsx)("h3",{className:"text-sm font-heading font-medium tracking-tight",children:"New Email"}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsxs)(h.Button,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground h-7 px-2",onClick:f,disabled:A,children:[(0,b.jsx)(W.X,{className:"size-3 mr-1"}),"Discard"]}),(0,b.jsxs)(h.Button,{size:"sm",className:"text-xs h-7 px-3",onClick:I,disabled:A||!v.trim()||!x.trim(),children:[A?(0,b.jsx)(X.Loader2,{className:"size-3 mr-1 animate-spin"}):(0,b.jsx)(V.Send,{className:"size-3 mr-1"}),"Send"]})]})]}),(0,b.jsxs)("div",{className:"border-b border-border/30 px-4 py-2.5 space-y-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm min-w-0",children:[(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0",children:"From"}),(0,b.jsx)("span",{className:"text-muted-foreground truncate min-w-0",children:d})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm min-w-0",children:[(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0",children:"To"}),(0,b.jsx)("div",{className:"flex-1 min-w-0 -ml-1.5 rounded-md bg-muted/40",children:(0,b.jsx)(T.Input,{type:"email",value:v,onChange:a=>w(a.target.value),placeholder:"recipient@example.com",className:"h-7 text-sm border-0 bg-transparent px-1.5 shadow-none focus-visible:ring-0 placeholder:text-muted-foreground/50",disabled:A})})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm min-w-0",children:[(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0",children:"Subject"}),(0,b.jsx)("div",{className:"flex-1 min-w-0 -ml-1.5 rounded-md bg-muted/40",children:(0,b.jsx)(T.Input,{value:x,onChange:a=>z(a.target.value),placeholder:"Email subject",className:"h-7 text-sm border-0 bg-transparent px-1.5 shadow-none focus-visible:ring-0 placeholder:text-muted-foreground/50",disabled:A})})]})]}),(0,b.jsxs)("div",{className:"flex items-center border-b border-border/30",children:[(0,b.jsx)(S,{editor:H}),(0,b.jsxs)("div",{className:"flex items-center gap-1 px-2 border-l border-border/30",children:[(0,b.jsx)("input",{ref:G,type:"file",multiple:!0,className:"hidden",onChange:J}),(0,b.jsx)("button",{type:"button",title:"Attach file",disabled:E,onMouseDown:a=>a.preventDefault(),onClick:()=>G.current?.click(),className:"flex items-center justify-center size-7 rounded-md transition-colors cursor-pointer text-muted-foreground/70 hover:text-foreground hover:bg-accent disabled:opacity-40",children:E?(0,b.jsx)(X.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(Y.Paperclip,{className:"size-3.5"})})]})]}),C.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 px-4 py-2 border-b border-border/30",children:C.map(a=>{var c;return(0,b.jsxs)("div",{className:"flex items-center gap-1.5 rounded-md bg-muted px-2 py-1 text-xs",children:[(0,b.jsx)(Z.File,{className:"size-3 text-muted-foreground shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.filename}),(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:(c=a.size)<1024?`${c} B`:c<1048576?`${(c/1024).toFixed(1)} KB`:`${(c/1048576).toFixed(1)} MB`}),(0,b.jsx)("button",{type:"button",onClick:()=>{var b;return b=a.key,void D(a=>a.filter(a=>a.key!==b))},className:"text-muted-foreground hover:text-foreground ml-0.5 cursor-pointer",children:(0,b.jsx)(W.X,{className:"size-3"})})]},a.key)})}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto thin-scrollbar",children:(0,b.jsx)(j.EditorContent,{editor:H})})]})}var _=a.i(25668),aa=a.i(143788),ab=a.i(918768),ac=a.i(929201),ad=a.i(911057),ae=a.i(695004);let af=(0,A.default)("forward",[["path",{d:"m15 17 5-5-5-5",key:"nf172w"}],["path",{d:"M4 18v-2a4 4 0 0 1 4-4h12",key:"jmiej9"}]]),ag=(0,A.default)("reply",[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]]);var ah=a.i(166776),ai=a.i(556371);let aj=(0,A.default)("shield-alert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);var ak=a.i(505285),ak=ak,al=a.i(586220),am=a.i(511238),an=a.i(135510);function ao(a){let b=new Date(a),c=Math.floor((new Date().getTime()-b.getTime())/6e4);if(c<1)return"just now";if(c<60)return`${c}m ago`;let d=Math.floor(c/60);if(d<24)return`${d}h ago`;let e=Math.floor(d/24);return e<7?`${e}d ago`:b.toLocaleDateString(void 0,{month:"short",day:"numeric"})}a.s(["default",0,function(){let a=(0,d.useParams)().id,{workspaceId:j}=(0,e.useWorkspace)(),{agents:k,subscribeWs:l}=(0,f.useAgentContext)(),m=k.find(b=>b.id===a),n=(0,al.useIsMobile)(),[o,p]=(0,c.useState)("inbox"),[q,r]=(0,c.useState)([]),s=(0,c.useMemo)(()=>q.filter(a=>"unread"===a.status).length,[q]),[t,u]=(0,c.useState)(!0),[v,w]=(0,c.useState)(null),[x,y]=(0,c.useState)(null),[A,B]=(0,c.useState)(!1),[C,D]=(0,c.useState)(!1),[E,F]=(0,c.useState)({}),[G,H]=(0,c.useState)([]),[I,J]=(0,c.useState)(null),[K,L]=(0,c.useState)({}),[M,N]=(0,c.useState)(!1),[O,P]=(0,c.useState)(null),[Q,R]=(0,c.useState)(!1),[S,T]=(0,c.useState)([]),[W,ap]=(0,c.useState)(!1),aq=(0,c.useCallback)(a=>{p(a),r([]),w(null),y(null),D(!1)},[]),ar=m?.email_handle?`${m.email_handle}@alook.ai`:"",as=[...ar?[{type:"alook",address:ar}]:[],...S.map(a=>({type:"custom",address:a.email_address,accountId:a.id}))],[at,au]=(0,c.useState)(0),av=as[at]??as[0]??null,aw=av?.address??"",ax=av?.type==="custom"?av.accountId:void 0,ay=q.find(a=>a.id===v)??null,az=(0,c.useCallback)(async(b,c)=>{u(!0);try{let d=await (0,g.listEmails)(a,j,b,c);r(d)}catch{U.toast.error("Failed to load emails")}finally{u(!1)}},[a,j]);(0,c.useEffect)(()=>{(0,g.listEmailAccounts)(a,j).then(T).catch(()=>{})},[a,j]),(0,c.useEffect)(()=>{az(o,aw)},[o,aw,az]),(0,c.useEffect)(()=>l(b=>{("email.received"===b.type&&b.agentId===a||"email.sent"===b.type&&b.agentId===a)&&az(o,aw)}),[l,a,o,aw,az]);let aA=async a=>{D(!1),w(a),y(null),B(!0),H([]),J(null),L({});try{let[b,c]=await Promise.all([(0,g.getEmailBody)(a,j),(0,g.getEmailThread)(a,j).catch(()=>[])]);y(b),H(c);let d=q.find(b=>b.id===a);d&&"unread"===d.status&&(0,g.updateEmailStatus)(a,j,"read").then(()=>{r(b=>b.map(b=>b.id===a?{...b,status:"read"}:b))}).catch(()=>{r(b=>b.map(b=>b.id===a?{...b,status:"unread"}:b))})}catch{y({content:"(body not available)",isHtml:!1})}finally{B(!1)}},aB=async a=>{if(I===a)return void J(null);if(J(a),!K[a])try{let b=await (0,g.getEmailBody)(a,j);L(c=>({...c,[a]:b}))}catch{L(b=>({...b,[a]:{content:"(body not available)",isHtml:!1}}))}},aC=async()=>{if(O){R(!0);try{await (0,g.deleteEmail)(O,j),r(a=>a.filter(a=>a.id!==O)),v===O&&(w(null),y(null)),U.toast.success("Email deleted")}catch{U.toast.error("Failed to delete email")}finally{R(!1),N(!1),P(null)}}},aD=async(b,c,d,e,f)=>{try{return await (0,g.sendEmail)(a,b,c,d,j,e.length>0?e:void 0,f,ax),U.toast.success("Email sent"),D(!1),aq("sent"),!0}catch{return U.toast.error("Failed to send email"),!1}},aE=a=>`<br/><br/><div style="border-left: 2px solid #ccc; padding-left: 12px; margin-left: 0; color: #666;"><p><strong>From:</strong> ${a.from_email}<br/><strong>To:</strong> ${a.to_email}<br/><strong>Date:</strong> ${new Date(a.created_at).toLocaleString()}<br/><strong>Subject:</strong> ${a.subject}</p>`+(a.html_body?a.html_body:x?.isHtml?x.content:`<pre>${x?.content??""}</pre>`)+"</div>",aF=a=>({inReplyTo:a.message_id||void 0,references:[a.references,a.message_id].filter(Boolean).join(" ").trim()||void 0}),[aG,aH]=(0,c.useState)(!1),aI=async()=>{if(aw)try{await navigator.clipboard.writeText(aw),aH(!0),setTimeout(()=>aH(!1),1500)}catch{U.toast.error("Failed to copy")}},aJ=(0,b.jsxs)("div",{className:"flex h-full flex-col",children:[as.length>0?(0,b.jsx)("div",{className:"px-3 pt-3 pb-1 relative",children:1===as.length?(0,b.jsxs)("button",{type:"button",onClick:aI,className:"group flex items-center gap-1.5 text-left cursor-pointer w-full",title:"Click to copy",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:aw}),aG?(0,b.jsx)(ai.Check,{className:"size-2.5 text-green-500 shrink-0"}):(0,b.jsx)(ah.Copy,{className:"size-2.5 text-muted-foreground/0 group-hover:text-muted-foreground/60 shrink-0 transition-colors"})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-1 w-full",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>ap(!W),className:"flex items-center gap-1 text-left cursor-pointer min-w-0 flex-1",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:aw}),(0,b.jsx)(ak.default,{className:"size-2.5 text-muted-foreground shrink-0"})]}),(0,b.jsx)("button",{type:"button",onClick:aI,className:"shrink-0 p-0.5",title:"Copy address",children:aG?(0,b.jsx)(ai.Check,{className:"size-2.5 text-green-500"}):(0,b.jsx)(ah.Copy,{className:"size-2.5 text-muted-foreground/40 hover:text-muted-foreground/80 transition-colors"})})]}),W&&(0,b.jsx)("div",{className:"absolute left-2 right-2 top-full mt-0.5 z-10 rounded-lg border border-border bg-popover shadow-md py-1",children:as.map((a,c)=>(0,b.jsxs)("button",{type:"button",onClick:()=>{au(c),ap(!1)},className:(0,z.cn)("flex items-center gap-2 w-full px-2.5 py-1.5 text-left text-xs transition-colors",c===at?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50"),children:[(0,b.jsx)(ab.Mail,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:a.address}),"custom"===a.type&&(0,b.jsx)("span",{className:"text-[9px] text-muted-foreground/60 shrink-0",children:"IMAP"})]},a.address))})]})}):(0,b.jsx)("div",{className:"px-3 pt-3 pb-1",children:(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:"No email configured"})}),(0,b.jsx)("div",{className:"p-2",children:(0,b.jsxs)(h.Button,{size:"sm",className:"w-full justify-start text-xs h-8 gap-1.5",onClick:()=>{F({}),D(!0),w(null)},disabled:0===as.length,title:0===as.length?"Configure an email in agent settings to send emails":"Compose new email",children:[(0,b.jsx)(ad.Plus,{className:"size-3.5"}),"New Email"]})}),(0,b.jsxs)("nav",{className:"flex flex-col gap-0.5 px-2",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>aq("inbox"),className:(0,z.cn)("flex items-center gap-2 rounded-lg px-2.5 py-1.5 text-sm transition-colors cursor-pointer","inbox"===o?"bg-accent text-foreground font-medium":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:[(0,b.jsx)(ac.Inbox,{className:"size-4 shrink-0"}),"Inbox","inbox"===o&&s>0&&(0,b.jsx)("span",{className:"ml-auto text-xs bg-blue-500 text-white rounded-full px-1.5 py-0.5 leading-none min-w-5 text-center",children:s})]}),(0,b.jsxs)("button",{type:"button",onClick:()=>aq("sent"),className:(0,z.cn)("flex items-center gap-2 rounded-lg px-2.5 py-1.5 text-sm transition-colors cursor-pointer","sent"===o?"bg-accent text-foreground font-medium":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:[(0,b.jsx)(V.Send,{className:"size-4 shrink-0"}),"Sent"]}),(0,b.jsxs)("button",{type:"button",onClick:()=>aq("untrust"),className:(0,z.cn)("flex items-center gap-2 rounded-lg px-2.5 py-1.5 text-sm transition-colors cursor-pointer","untrust"===o?"bg-accent text-foreground font-medium":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:[(0,b.jsx)(aj,{className:"size-4 shrink-0"}),"Untrust"]})]})]}),aK=(0,b.jsx)("div",{className:(0,z.cn)("h-full thin-scrollbar",q.length>0&&!t?"overflow-y-auto":"overflow-hidden"),children:t?(0,b.jsx)(b.Fragment,{children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"px-4 py-3 border-b border-border/30",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-1.5",children:[(0,b.jsx)(_.Skeleton,{className:"h-3.5 w-32"}),(0,b.jsx)(_.Skeleton,{className:"h-2.5 w-10"})]}),(0,b.jsx)(_.Skeleton,{className:"h-3.5 w-48 mb-1.5"}),(0,b.jsx)(_.Skeleton,{className:"h-4 w-16 rounded-full"})]},c))}):0===q.length?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center h-full animate-[fade-up_400ms_ease-out_both]",children:[(0,b.jsx)(ab.Mail,{className:"size-8 text-muted-foreground mb-3"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"inbox"===o?"No emails from trusted senders":"sent"===o?"No emails sent yet":"No untrusted emails"})]}):q.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>aA(a.id),className:(0,z.cn)("w-full text-left px-4 py-3 border-b border-border/30 transition-colors duration-150 cursor-pointer",v===a.id?"bg-accent/60":"hover:bg-accent/30"),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-0.5",children:[(0,b.jsx)("p",{className:(0,z.cn)("text-sm truncate","unread"===a.status?"font-semibold":"font-medium text-muted-foreground"),children:"sent"===o?a.to_email:a.from_email}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:["sent"!==o&&(0,b.jsx)("span",{className:(0,z.cn)("text-[10px] rounded-full px-1.5 py-0.5 leading-none font-medium","unread"===a.status?"bg-blue-500/15 text-blue-600 dark:text-blue-400":"bg-muted text-muted-foreground"),children:"unread"===a.status?"unread":"read"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:ao(a.created_at)})]})]}),(0,b.jsx)("p",{className:(0,z.cn)("text-[13px] truncate","unread"===a.status?"text-foreground":"text-muted-foreground"),children:a.subject||"(no subject)"})]},a.id))}),aL=(0,b.jsx)("div",{className:"h-full overflow-auto flex flex-col min-w-0 thin-scrollbar",children:C?(0,b.jsx)($,{fromAddress:aw,onSend:aD,onDiscard:()=>{D(!1),F({})},initialTo:E.to,initialSubject:E.subject,initialBody:E.body,initialAttachments:E.attachments,inReplyTo:E.inReplyTo,references:E.references},JSON.stringify(E)):ay?(0,b.jsxs)("div",{className:"flex flex-col h-full md:min-w-100 max-w-3xl mx-auto w-full",children:[(0,b.jsxs)("div",{className:"flex items-center gap-0.5 border-b border-border/40 px-4 py-1.5",children:["sent"!==o&&(0,b.jsx)(h.Button,{variant:"ghost",size:"icon",className:"size-7 text-muted-foreground/60 hover:text-foreground",title:"Reply",onClick:()=>{let a;return a=ay.subject.startsWith("Re:")?ay.subject:`Re: ${ay.subject}`,void(w(null),F({to:ay.from_email,subject:a,body:aE(ay),...aF(ay)}),D(!0))},children:(0,b.jsx)(ag,{className:"size-3.5"})}),(0,b.jsx)(h.Button,{variant:"ghost",size:"icon",className:"size-7 text-muted-foreground/60 hover:text-foreground",title:"Forward",onClick:()=>{let a;return a=ay.subject.startsWith("Fwd:")?ay.subject:`Fwd: ${ay.subject}`,void(w(null),F({subject:a,body:aE(ay),attachments:ay.attachments??[],...aF(ay)}),D(!0))},children:(0,b.jsx)(af,{className:"size-3.5"})}),(0,b.jsx)(h.Button,{variant:"ghost",size:"icon",className:"size-7 text-muted-foreground/60 hover:text-destructive",title:"Delete",onClick:()=>{P(ay.id),N(!0)},children:(0,b.jsx)(ae.Trash2,{className:"size-3.5"})})]}),G.length>0&&(0,b.jsx)("div",{className:"border-b border-border/30",children:G.map(a=>(0,b.jsxs)("div",{className:"border-b border-border/20 last:border-b-0",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>aB(a.id),className:"w-full flex items-center gap-2 px-5 py-2.5 text-left hover:bg-accent/30 transition-colors cursor-pointer",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:I===a.id?"▾":"▸"}),(0,b.jsx)("span",{className:"text-sm font-medium truncate flex-1",children:a.from_email}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground shrink-0",children:ao(a.created_at)})]}),I===a.id&&(0,b.jsxs)("div",{className:"px-5 pb-3",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground mb-2",children:a.subject}),K[a.id]?K[a.id].isHtml?(0,b.jsx)(an.EmailBodyFrame,{html:K[a.id].content,className:"max-w-full text-sm"}):(0,b.jsx)("div",{className:"text-sm whitespace-pre-wrap leading-[1.65] text-foreground",children:K[a.id].content}):(0,b.jsx)(X.Loader2,{className:"size-3 animate-spin text-muted-foreground"})]})]},a.id))}),(0,b.jsxs)("div",{className:"p-5",children:[(0,b.jsx)("h2",{className:"text-lg font-heading font-semibold tracking-tight mb-1",children:ay.subject||"(no subject)"}),(0,b.jsxs)("div",{className:"text-sm space-y-1 mb-5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0",children:"From"}),(0,b.jsx)("span",{children:ay.from_email})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0",children:"To"}),(0,b.jsx)("span",{children:ay.to_email})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0",children:"sent"===o?"Sent":"Received"}),(0,b.jsx)("span",{className:"text-muted-foreground",children:new Date(ay.created_at).toLocaleString()})]})]}),A?(0,b.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,b.jsx)(X.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}):ay.html_body?(0,b.jsx)(an.EmailBodyFrame,{html:ay.html_body,className:"max-w-full"}):x?.isHtml?(0,b.jsx)(an.EmailBodyFrame,{html:x.content,className:"max-w-full"}):(0,b.jsx)("div",{className:"text-sm whitespace-pre-wrap leading-[1.65] text-foreground",children:x?.content}),ay.attachments&&ay.attachments.length>0&&(0,b.jsxs)("div",{className:"mt-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mb-2 text-xs text-muted-foreground",children:[(0,b.jsx)(Y.Paperclip,{className:"size-3"}),ay.attachments.length," attachment",ay.attachments.length>1?"s":""]}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:ay.attachments.map((a,c)=>(0,b.jsxs)("a",{href:`/api/email/${ay.id}/attachment/${c}?workspace_id=${j}`,target:"_blank",rel:"noopener noreferrer",download:a.filename,className:"flex items-center gap-1.5 rounded-md border border-border/50 bg-muted/50 px-2.5 py-1.5 text-xs hover:bg-muted transition-colors cursor-pointer",children:[(0,b.jsx)(Z.File,{className:"size-3 text-muted-foreground shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-45",children:a.filename}),(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:a.size<1024?`${a.size} B`:a.size<1048576?`${(a.size/1024).toFixed(1)} KB`:`${(a.size/1048576).toFixed(1)} MB`})]},a.key))})]})]})]}):(0,b.jsx)("div",{className:"flex items-center justify-center h-full text-sm text-muted-foreground",children:"Select an email to view"})}),aM=C?(0,b.jsxs)("div",{className:"flex flex-col h-full",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 border-b border-border/50 px-3 py-2",children:[(0,b.jsx)(h.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{D(!1),F({})},children:(0,b.jsx)(aa.ArrowLeft,{className:"size-4"})}),(0,b.jsx)("span",{className:"text-sm font-medium",children:"New Email"})]}),(0,b.jsx)("div",{className:"flex-1 min-h-0 overflow-auto",children:aL})]}):v&&ay?(0,b.jsxs)("div",{className:"flex flex-col h-full",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 border-b border-border/50 px-3 py-2",children:[(0,b.jsx)(h.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{w(null),y(null)},children:(0,b.jsx)(aa.ArrowLeft,{className:"size-4"})}),(0,b.jsx)("span",{className:"text-sm font-medium truncate",children:ay.subject||"(no subject)"})]}),(0,b.jsx)("div",{className:"flex-1 min-h-0 overflow-auto",children:aL})]}):(0,b.jsxs)("div",{className:"flex flex-col h-full",children:[as.length>1&&(0,b.jsxs)("div",{className:"relative px-3 pt-2 pb-1 border-b border-border/30",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>ap(!W),className:"flex items-center gap-1 text-left cursor-pointer min-w-0 flex-1",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:aw}),(0,b.jsx)(ak.default,{className:"size-2.5 text-muted-foreground shrink-0"})]}),(0,b.jsx)("button",{type:"button",onClick:aI,className:"shrink-0 p-0.5",title:"Copy address",children:aG?(0,b.jsx)(ai.Check,{className:"size-2.5 text-green-500"}):(0,b.jsx)(ah.Copy,{className:"size-2.5 text-muted-foreground/40 hover:text-muted-foreground/80 transition-colors"})})]}),W&&(0,b.jsx)("div",{className:"absolute left-2 right-2 top-full mt-0.5 z-10 rounded-lg border border-border bg-popover shadow-md py-1",children:as.map((a,c)=>(0,b.jsxs)("button",{type:"button",onClick:()=>{au(c),ap(!1)},className:(0,z.cn)("flex items-center gap-2 w-full px-2.5 py-1.5 text-left text-xs transition-colors",c===at?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50"),children:[(0,b.jsx)(ab.Mail,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:a.address}),"custom"===a.type&&(0,b.jsx)("span",{className:"text-[9px] text-muted-foreground/60 shrink-0",children:"IMAP"})]},a.address))})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 border-b border-border/50 px-3 py-2",children:[(0,b.jsx)("div",{className:"flex items-center gap-0.5 flex-1 min-w-0",children:[{id:"inbox",label:"Inbox"},{id:"sent",label:"Sent"},{id:"untrust",label:"Untrust"}].map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>aq(a.id),className:(0,z.cn)("px-2.5 py-1 rounded-md text-xs font-medium transition-colors",o===a.id?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground"),children:[a.label,"inbox"===a.id&&"inbox"===o&&s>0&&(0,b.jsx)("span",{className:"ml-0.5 text-[10px] bg-blue-500 text-white rounded-full px-1 leading-none min-w-4 text-center",children:s})]},a.id))}),(0,b.jsx)(h.Button,{size:"icon-sm",variant:"ghost",onClick:()=>{F({}),D(!0),w(null)},disabled:0===as.length,children:(0,b.jsx)(ad.Plus,{className:"size-4"})})]}),(0,b.jsx)("div",{className:"flex-1 min-h-0 overflow-auto",children:aK})]});return(0,b.jsxs)(b.Fragment,{children:[n?aM:(0,b.jsx)(am.ResizablePanels,{storageKey:"email-panel-sizes",panels:[{defaultWidth:180,minWidth:120,maxWidth:240,children:aJ},{defaultWidth:300,minWidth:200,maxWidth:480,children:aK},{children:aL,minWidth:300}]}),(0,b.jsx)(i.ConfirmDialog,{open:M,onOpenChange:N,title:"Delete email",description:"This will permanently delete this email.",loading:Q,onConfirm:aC})]})}],221781)}];
|
|
1
|
+
module.exports=[221781,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(207058),e=a.i(506180),f=a.i(752792),g=a.i(588339),h=a.i(732254),i=a.i(22902),j=a.i(45991),k=a.i(186401),l=a.i(492005),m=a.i(916814),n=a.i(799272),o=a.i(439110),p=o.Extension.create({name:"textAlign",addOptions:()=>({types:[],alignments:["left","center","right","justify"],defaultAlignment:null}),addGlobalAttributes(){return[{types:this.options.types,attributes:{textAlign:{default:this.options.defaultAlignment,parseHTML:a=>{let b=a.style.textAlign;return this.options.alignments.includes(b)?b:this.options.defaultAlignment},renderHTML:a=>a.textAlign?{style:`text-align: ${a.textAlign}`}:{}}}}]},addCommands(){return{setTextAlign:a=>({commands:b})=>!!this.options.alignments.includes(a)&&this.options.types.map(c=>b.updateAttributes(c,{textAlign:a})).some(a=>a),unsetTextAlign:()=>({commands:a})=>this.options.types.map(b=>a.resetAttributes(b,"textAlign")).some(a=>a),toggleTextAlign:a=>({editor:b,commands:c})=>!!this.options.alignments.includes(a)&&(b.isActive({textAlign:a})?c.unsetTextAlign():c.setTextAlign(a))}},addKeyboardShortcuts(){return{"Mod-Shift-l":()=>this.editor.commands.setTextAlign("left"),"Mod-Shift-e":()=>this.editor.commands.setTextAlign("center"),"Mod-Shift-r":()=>this.editor.commands.setTextAlign("right"),"Mod-Shift-j":()=>this.editor.commands.setTextAlign("justify")}}}),q=(a,b=0)=>{let c=[];return!a.children.length||b>20||Array.from(a.children).forEach(a=>{"SPAN"===a.tagName?c.push(a):a.children.length&&c.push(...q(a,b+1))}),c},r=o.Mark.create({name:"textStyle",priority:101,addOptions:()=>({HTMLAttributes:{},mergeNestedSpanStyles:!0}),parseHTML(){return[{tag:"span",consuming:!1,getAttrs:a=>{var b;return!!a.hasAttribute("style")&&(this.options.mergeNestedSpanStyles&&(b=a).children.length&&q(b).forEach(a=>{var b,c;let d=a.getAttribute("style"),e=null==(c=null==(b=a.parentElement)?void 0:b.closest("span"))?void 0:c.getAttribute("style");a.setAttribute("style",`${e};${d}`)}),{})}}]},renderHTML({HTMLAttributes:a}){return["span",(0,o.mergeAttributes)(this.options.HTMLAttributes,a),0]},addCommands(){return{toggleTextStyle:a=>({commands:b})=>b.toggleMark(this.name,a),removeEmptyTextStyle:()=>({tr:a})=>{let{selection:b}=a;return a.doc.nodesBetween(b.from,b.to,(b,c)=>{if(b.isTextblock)return!0;b.marks.filter(a=>a.type===this.type).some(a=>Object.values(a.attrs).some(a=>!!a))||a.removeMark(c,c+b.nodeSize,this.type)}),!0}}}}),s=o.Extension.create({name:"backgroundColor",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{backgroundColor:{default:null,parseHTML:a=>{var b;let c=a.getAttribute("style");if(c){let a=c.split(";").map(a=>a.trim()).filter(Boolean);for(let b=a.length-1;b>=0;b-=1){let c=a[b].split(":");if(c.length>=2){let a=c[0].trim().toLowerCase(),b=c.slice(1).join(":").trim();if("background-color"===a)return b.replace(/['"]+/g,"")}}}return null==(b=a.style.backgroundColor)?void 0:b.replace(/['"]+/g,"")},renderHTML:a=>a.backgroundColor?{style:`background-color: ${a.backgroundColor}`}:{}}}}]},addCommands:()=>({setBackgroundColor:a=>({chain:b})=>b().setMark("textStyle",{backgroundColor:a}).run(),unsetBackgroundColor:()=>({chain:a})=>a().setMark("textStyle",{backgroundColor:null}).removeEmptyTextStyle().run()})}),t=o.Extension.create({name:"color",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:a=>{var b;let c=a.getAttribute("style");if(c){let a=c.split(";").map(a=>a.trim()).filter(Boolean);for(let b=a.length-1;b>=0;b-=1){let c=a[b].split(":");if(c.length>=2){let a=c[0].trim().toLowerCase(),b=c.slice(1).join(":").trim();if("color"===a)return b.replace(/['"]+/g,"")}}}return null==(b=a.style.color)?void 0:b.replace(/['"]+/g,"")},renderHTML:a=>a.color?{style:`color: ${a.color}`}:{}}}}]},addCommands:()=>({setColor:a=>({chain:b})=>b().setMark("textStyle",{color:a}).run(),unsetColor:()=>({chain:a})=>a().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()})}),u=o.Extension.create({name:"fontFamily",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{fontFamily:{default:null,parseHTML:a=>a.style.fontFamily,renderHTML:a=>a.fontFamily?{style:`font-family: ${a.fontFamily}`}:{}}}}]},addCommands:()=>({setFontFamily:a=>({chain:b})=>b().setMark("textStyle",{fontFamily:a}).run(),unsetFontFamily:()=>({chain:a})=>a().setMark("textStyle",{fontFamily:null}).removeEmptyTextStyle().run()})}),v=o.Extension.create({name:"fontSize",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{fontSize:{default:null,parseHTML:a=>a.style.fontSize,renderHTML:a=>a.fontSize?{style:`font-size: ${a.fontSize}`}:{}}}}]},addCommands:()=>({setFontSize:a=>({chain:b})=>b().setMark("textStyle",{fontSize:a}).run(),unsetFontSize:()=>({chain:a})=>a().setMark("textStyle",{fontSize:null}).removeEmptyTextStyle().run()})}),w=o.Extension.create({name:"lineHeight",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{lineHeight:{default:null,parseHTML:a=>a.style.lineHeight,renderHTML:a=>a.lineHeight?{style:`line-height: ${a.lineHeight}`}:{}}}}]},addCommands:()=>({setLineHeight:a=>({chain:b})=>b().setMark("textStyle",{lineHeight:a}).run(),unsetLineHeight:()=>({chain:a})=>a().setMark("textStyle",{lineHeight:null}).removeEmptyTextStyle().run()})});o.Extension.create({name:"textStyleKit",addExtensions(){let a=[];return!1!==this.options.backgroundColor&&a.push(s.configure(this.options.backgroundColor)),!1!==this.options.color&&a.push(t.configure(this.options.color)),!1!==this.options.fontFamily&&a.push(u.configure(this.options.fontFamily)),!1!==this.options.fontSize&&a.push(v.configure(this.options.fontSize)),!1!==this.options.lineHeight&&a.push(w.configure(this.options.lineHeight)),!1!==this.options.textStyle&&a.push(r.configure(this.options.textStyle)),a}});var x=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,y=o.Node.create({name:"image",addOptions:()=>({inline:!1,allowBase64:!1,HTMLAttributes:{},resize:!1}),inline(){return this.options.inline},group(){return this.options.inline?"inline":"block"},draggable:!0,addAttributes:()=>({src:{default:null},alt:{default:null},title:{default:null},width:{default:null},height:{default:null}}),parseHTML(){return[{tag:this.options.allowBase64?"img[src]":'img[src]:not([src^="data:"])'}]},renderHTML({HTMLAttributes:a}){return["img",(0,o.mergeAttributes)(this.options.HTMLAttributes,a)]},parseMarkdown:(a,b)=>b.createNode("image",{src:a.href,title:a.title,alt:a.text}),renderMarkdown:a=>{var b,c,d,e,f,g;let h=null!=(c=null==(b=a.attrs)?void 0:b.src)?c:"",i=null!=(e=null==(d=a.attrs)?void 0:d.alt)?e:"",j=null!=(g=null==(f=a.attrs)?void 0:f.title)?g:"";return j?``:``},addNodeView(){if(!this.options.resize||!this.options.resize.enabled||"u"<typeof document)return null;let{directions:a,minWidth:b,minHeight:c,alwaysPreserveAspectRatio:d}=this.options.resize;return({node:e,getPos:f,HTMLAttributes:g,editor:h})=>{let i=document.createElement("img");Object.entries(g).forEach(([a,b])=>{if(null!=b)switch(a){case"width":case"height":break;default:i.setAttribute(a,b)}}),i.src=g.src;let j=new o.ResizableNodeView({element:i,editor:h,node:e,getPos:f,onResize:(a,b)=>{i.style.width=`${a}px`,i.style.height=`${b}px`},onCommit:(a,b)=>{let c=f();void 0!==c&&this.editor.chain().setNodeSelection(c).updateAttributes(this.name,{width:a,height:b}).run()},onUpdate:(a,b,c)=>a.type===e.type,options:{directions:a,min:{width:b,height:c},preserveAspectRatio:!0===d}}),k=j.dom;return k.style.visibility="hidden",k.style.pointerEvents="none",i.onload=()=>{k.style.visibility="",k.style.pointerEvents=""},j}},addCommands(){return{setImage:a=>({commands:b})=>b.insertContent({type:this.name,attrs:a})}},addInputRules(){return[(0,o.nodeInputRule)({find:x,type:this.type,getAttributes:a=>{let[,,b,c,d]=a;return{src:c,alt:b,title:d}}})]}}),z=a.i(75118),A=a.i(525132),B=a.i(790090);let C=(0,B.default)("bold",[["path",{d:"M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8",key:"mg9rjx"}]]),D=(0,B.default)("italic",[["line",{x1:"19",x2:"10",y1:"4",y2:"4",key:"15jd3p"}],["line",{x1:"14",x2:"5",y1:"20",y2:"20",key:"bu0au3"}],["line",{x1:"15",x2:"9",y1:"4",y2:"20",key:"uljnxc"}]]),E=(0,B.default)("underline",[["path",{d:"M6 4v6a6 6 0 0 0 12 0V4",key:"9kb039"}],["line",{x1:"4",x2:"20",y1:"20",y2:"20",key:"nun2al"}]]),F=(0,B.default)("strikethrough",[["path",{d:"M16 4H9a3 3 0 0 0-2.83 4",key:"43sutm"}],["path",{d:"M14 12a4 4 0 0 1 0 8H6",key:"nlfj13"}],["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}]]),G=(0,B.default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]),H=(0,B.default)("list-ordered",[["path",{d:"M11 5h10",key:"1cz7ny"}],["path",{d:"M11 12h10",key:"1438ji"}],["path",{d:"M11 19h10",key:"11t30w"}],["path",{d:"M4 4h1v5",key:"10yrso"}],["path",{d:"M4 9h2",key:"r1h2o0"}],["path",{d:"M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02",key:"xtkcd5"}]]),I=(0,B.default)("text-align-start",[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M17 19H3",key:"z6ezky"}]]),J=(0,B.default)("text-align-center",[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M17 12H7",key:"16if0g"}],["path",{d:"M19 19H5",key:"vjpgq2"}]]),K=(0,B.default)("text-align-end",[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M21 19H7",key:"4cu937"}]]),L=(0,B.default)("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]),M=(0,B.default)("unlink",[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71",key:"yqzxt4"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71",key:"4qinb0"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5",key:"1041cp"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8",key:"14m1p5"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22",key:"rzdirn"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16",key:"ox905f"}]]),N=(0,B.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),O=(0,B.default)("heading-1",[["path",{d:"M4 12h8",key:"17cfdx"}],["path",{d:"M4 18V6",key:"1rz3zl"}],["path",{d:"M12 18V6",key:"zqpxq5"}],["path",{d:"m17 12 3-2v8",key:"1hhhft"}]]),P=(0,B.default)("heading-2",[["path",{d:"M4 12h8",key:"17cfdx"}],["path",{d:"M4 18V6",key:"1rz3zl"}],["path",{d:"M12 18V6",key:"zqpxq5"}],["path",{d:"M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1",key:"9jr5yi"}]]);var Q=a.i(483250),Q=Q;function R({active:a,disabled:c,onClick:d,title:e,children:f}){return(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)(h.Button,{variant:"ghost",size:"icon-sm",disabled:c,onMouseDown:a=>a.preventDefault(),onClick:d,className:(0,z.cn)("text-muted-foreground/70",a&&"bg-accent text-foreground")}),children:f}),(0,b.jsx)(A.TooltipContent,{children:e})]})}function S(){return(0,b.jsx)("div",{className:"w-px h-4 bg-border/60 mx-0.5 shrink-0"})}function T({editor:a}){if(!a)return null;let c="size-3.5";return(0,b.jsxs)("div",{className:"flex items-center gap-0.5 px-3 py-1 overflow-x-auto",children:[(0,b.jsx)(R,{title:"Bold",active:a.isActive("bold"),onClick:()=>a.chain().focus().toggleBold().run(),children:(0,b.jsx)(C,{className:c})}),(0,b.jsx)(R,{title:"Italic",active:a.isActive("italic"),onClick:()=>a.chain().focus().toggleItalic().run(),children:(0,b.jsx)(D,{className:c})}),(0,b.jsx)(R,{title:"Underline",active:a.isActive("underline"),onClick:()=>a.chain().focus().toggleUnderline().run(),children:(0,b.jsx)(E,{className:c})}),(0,b.jsx)(R,{title:"Strikethrough",active:a.isActive("strike"),onClick:()=>a.chain().focus().toggleStrike().run(),children:(0,b.jsx)(F,{className:c})}),(0,b.jsx)(S,{}),(0,b.jsx)(R,{title:"Heading 1",active:a.isActive("heading",{level:1}),onClick:()=>a.chain().focus().toggleHeading({level:1}).run(),children:(0,b.jsx)(O,{className:c})}),(0,b.jsx)(R,{title:"Heading 2",active:a.isActive("heading",{level:2}),onClick:()=>a.chain().focus().toggleHeading({level:2}).run(),children:(0,b.jsx)(P,{className:c})}),(0,b.jsx)(S,{}),(0,b.jsx)(R,{title:"Bullet List",active:a.isActive("bulletList"),onClick:()=>a.chain().focus().toggleBulletList().run(),children:(0,b.jsx)(G,{className:c})}),(0,b.jsx)(R,{title:"Ordered List",active:a.isActive("orderedList"),onClick:()=>a.chain().focus().toggleOrderedList().run(),children:(0,b.jsx)(H,{className:c})}),(0,b.jsx)(S,{}),(0,b.jsx)(R,{title:"Align Left",active:a.isActive({textAlign:"left"}),onClick:()=>a.chain().focus().setTextAlign("left").run(),children:(0,b.jsx)(I,{className:c})}),(0,b.jsx)(R,{title:"Align Center",active:a.isActive({textAlign:"center"}),onClick:()=>a.chain().focus().setTextAlign("center").run(),children:(0,b.jsx)(J,{className:c})}),(0,b.jsx)(R,{title:"Align Right",active:a.isActive({textAlign:"right"}),onClick:()=>a.chain().focus().setTextAlign("right").run(),children:(0,b.jsx)(K,{className:c})}),(0,b.jsx)(S,{}),(0,b.jsx)(R,{title:a.isActive("link")?"Remove Link":"Insert Link",active:a.isActive("link"),onClick:()=>{if(a.isActive("link"))return void a.chain().focus().unsetLink().run();let b=window.prompt("URL");b&&a.chain().focus().extendMarkRange("link").setLink({href:b}).run()},children:a.isActive("link")?(0,b.jsx)(M,{className:c}):(0,b.jsx)(L,{className:c})}),(0,b.jsx)(R,{title:"Insert Image",onClick:()=>{let b=window.prompt("Image URL");b&&a.chain().focus().setImage({src:b}).run()},children:(0,b.jsx)(N,{className:c})}),(0,b.jsx)(S,{}),(0,b.jsx)(R,{title:"Horizontal Rule",onClick:()=>a.chain().focus().setHorizontalRule().run(),children:(0,b.jsx)(Q.default,{className:c})})]})}var U=a.i(334235),V=a.i(921584),W=a.i(292948),X=a.i(58643),Y=a.i(527779),Z=a.i(700425),$=a.i(338660);function _({fromAddress:d,onSend:e,onDiscard:f,initialTo:g="",initialSubject:i="",initialBody:o="",initialAttachments:q=[],inReplyTo:s,references:u}){let[v,w]=(0,c.useState)(g),[x,z]=(0,c.useState)(i),[B,C]=(0,c.useState)(!1),[D,E]=(0,c.useState)(q),[F,G]=(0,c.useState)(!1),H=(0,c.useRef)(null),I=(0,j.useEditor)({immediatelyRender:!1,content:o||void 0,extensions:[k.default.configure({link:!1,underline:!1}),l.default.configure({placeholder:"Write your email..."}),m.default,n.default.configure({autolink:!0,openOnClick:!1,linkOnPaste:!0}),p.configure({types:["heading","paragraph"]}),r,t,y.configure({inline:!0,allowBase64:!0})],editorProps:{attributes:{class:"text-sm max-w-none focus:outline-none min-h-50 px-4 py-3"}}}),J=async()=>{if(v.trim()&&x.trim()&&I){C(!0);try{let a=I.getHTML();await e(v.trim(),x.trim(),a,D,s||u?{inReplyTo:s,references:u}:void 0)&&(w(""),z(""),E([]),I.commands.clearContent())}finally{C(!1)}}},K=async b=>{let c=b.target.files;if(c&&0!==c.length){G(!0);try{let{uploadEmailAttachment:b}=await a.A(81396);for(let a of Array.from(c)){if(a.size>0xa00000){V.toast.error(`${a.name} exceeds 10 MB limit`);continue}let c=new URLSearchParams(window.location.search).get("workspace_id")??"",d=await b(a,c);E(a=>[...a,d])}}catch{V.toast.error("Failed to upload attachment")}finally{G(!1),H.current&&(H.current.value="")}}};return(0,b.jsxs)("div",{className:"flex flex-col h-full w-full min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border/40 px-4 py-2",children:[(0,b.jsx)("h3",{className:"text-sm font-heading font-medium tracking-tight",children:"New Email"}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsxs)(h.Button,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground h-7 px-2",onClick:f,disabled:B,children:[(0,b.jsx)(X.X,{className:"size-3 mr-1"}),"Discard"]}),(0,b.jsxs)(h.Button,{size:"sm",className:"text-xs h-7 px-3",onClick:J,disabled:B||!v.trim()||!x.trim(),children:[B?(0,b.jsx)(Y.Loader2,{className:"size-3 mr-1 animate-spin"}):(0,b.jsx)(W.Send,{className:"size-3 mr-1"}),"Send"]})]})]}),(0,b.jsxs)("div",{className:"border-b border-border/30 px-4 py-2.5 space-y-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm min-w-0",children:[(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0",children:"From"}),(0,b.jsx)("span",{className:"text-muted-foreground truncate min-w-0",children:d})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm min-w-0",children:[(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0",children:"To"}),(0,b.jsx)("div",{className:"flex-1 min-w-0 -ml-1.5 rounded-md bg-muted/40",children:(0,b.jsx)(U.Input,{type:"email",value:v,onChange:a=>w(a.target.value),placeholder:"recipient@example.com",className:"h-7 text-sm border-0 bg-transparent px-1.5 shadow-none focus-visible:ring-0 placeholder:text-muted-foreground/50",disabled:B})})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm min-w-0",children:[(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0",children:"Subject"}),(0,b.jsx)("div",{className:"flex-1 min-w-0 -ml-1.5 rounded-md bg-muted/40",children:(0,b.jsx)(U.Input,{value:x,onChange:a=>z(a.target.value),placeholder:"Email subject",className:"h-7 text-sm border-0 bg-transparent px-1.5 shadow-none focus-visible:ring-0 placeholder:text-muted-foreground/50",disabled:B})})]})]}),(0,b.jsxs)("div",{className:"flex items-center border-b border-border/30",children:[(0,b.jsx)(T,{editor:I}),(0,b.jsxs)("div",{className:"flex items-center gap-1 px-2 border-l border-border/30",children:[(0,b.jsx)("input",{ref:H,type:"file",multiple:!0,className:"hidden",onChange:K}),(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)(h.Button,{variant:"ghost",size:"icon-sm",disabled:F,onMouseDown:a=>a.preventDefault(),onClick:()=>H.current?.click(),className:"text-muted-foreground/70"}),children:F?(0,b.jsx)(Y.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(Z.Paperclip,{className:"size-3.5"})}),(0,b.jsx)(A.TooltipContent,{children:"Attach file"})]})]})]}),D.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 px-4 py-2 border-b border-border/30",children:D.map(a=>{var c;return(0,b.jsxs)("div",{className:"flex items-center gap-1.5 rounded-md bg-muted px-2 py-1 text-xs",children:[(0,b.jsx)($.File,{className:"size-3 text-muted-foreground shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.filename}),(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:(c=a.size)<1024?`${c} B`:c<1048576?`${(c/1024).toFixed(1)} KB`:`${(c/1048576).toFixed(1)} MB`}),(0,b.jsx)("button",{type:"button",onClick:()=>{var b;return b=a.key,void E(a=>a.filter(a=>a.key!==b))},className:"text-muted-foreground hover:text-foreground ml-0.5 cursor-pointer",children:(0,b.jsx)(X.X,{className:"size-3"})})]},a.key)})}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto thin-scrollbar",children:(0,b.jsx)(j.EditorContent,{editor:I})})]})}var aa=a.i(25668),ab=a.i(143788),ac=a.i(918768),ad=a.i(929201),ae=a.i(911057),af=a.i(695004);let ag=(0,B.default)("forward",[["path",{d:"m15 17 5-5-5-5",key:"nf172w"}],["path",{d:"M4 18v-2a4 4 0 0 1 4-4h12",key:"jmiej9"}]]),ah=(0,B.default)("reply",[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]]);var ai=a.i(166776),aj=a.i(556371);let ak=(0,B.default)("shield-alert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);var al=a.i(505285),al=al,am=a.i(586220),an=a.i(511238),ao=a.i(135510);function ap(a){let b=new Date(a),c=Math.floor((new Date().getTime()-b.getTime())/6e4);if(c<1)return"just now";if(c<60)return`${c}m ago`;let d=Math.floor(c/60);if(d<24)return`${d}h ago`;let e=Math.floor(d/24);return e<7?`${e}d ago`:b.toLocaleDateString(void 0,{month:"short",day:"numeric"})}a.s(["default",0,function(){let a=(0,d.useParams)().id,{workspaceId:j}=(0,e.useWorkspace)(),{agents:k,subscribeWs:l}=(0,f.useAgentContext)(),m=k.find(b=>b.id===a),n=(0,am.useIsMobile)(),[o,p]=(0,c.useState)("inbox"),[q,r]=(0,c.useState)([]),s=(0,c.useMemo)(()=>q.filter(a=>"unread"===a.status).length,[q]),[t,u]=(0,c.useState)(!0),[v,w]=(0,c.useState)(null),[x,y]=(0,c.useState)(null),[B,C]=(0,c.useState)(!1),[D,E]=(0,c.useState)(!1),[F,G]=(0,c.useState)({}),[H,I]=(0,c.useState)([]),[J,K]=(0,c.useState)(null),[L,M]=(0,c.useState)({}),[N,O]=(0,c.useState)(!1),[P,Q]=(0,c.useState)(null),[R,S]=(0,c.useState)(!1),[T,U]=(0,c.useState)([]),[X,aq]=(0,c.useState)(!1),ar=(0,c.useCallback)(a=>{p(a),r([]),w(null),y(null),E(!1)},[]),as=m?.email_handle?`${m.email_handle}@alook.ai`:"",at=[...as?[{type:"alook",address:as}]:[],...T.map(a=>({type:"custom",address:a.email_address,accountId:a.id}))],[au,av]=(0,c.useState)(0),aw=at[au]??at[0]??null,ax=aw?.address??"",ay=aw?.type==="custom"?aw.accountId:void 0,az=q.find(a=>a.id===v)??null,aA=(0,c.useCallback)(async(b,c)=>{u(!0);try{let d=await (0,g.listEmails)(a,j,b,c);r(d)}catch{V.toast.error("Failed to load emails")}finally{u(!1)}},[a,j]);(0,c.useEffect)(()=>{(0,g.listEmailAccounts)(a,j).then(U).catch(()=>{})},[a,j]),(0,c.useEffect)(()=>{aA(o,ax)},[o,ax,aA]),(0,c.useEffect)(()=>l(b=>{("email.received"===b.type&&b.agentId===a||"email.sent"===b.type&&b.agentId===a)&&aA(o,ax)}),[l,a,o,ax,aA]);let aB=async a=>{E(!1),w(a),y(null),C(!0),I([]),K(null),M({});try{let[b,c]=await Promise.all([(0,g.getEmailBody)(a,j),(0,g.getEmailThread)(a,j).catch(()=>[])]);y(b),I(c);let d=q.find(b=>b.id===a);d&&"unread"===d.status&&(0,g.updateEmailStatus)(a,j,"read").then(()=>{r(b=>b.map(b=>b.id===a?{...b,status:"read"}:b))}).catch(()=>{r(b=>b.map(b=>b.id===a?{...b,status:"unread"}:b))})}catch{y({content:"(body not available)",isHtml:!1})}finally{C(!1)}},aC=async a=>{if(J===a)return void K(null);if(K(a),!L[a])try{let b=await (0,g.getEmailBody)(a,j);M(c=>({...c,[a]:b}))}catch{M(b=>({...b,[a]:{content:"(body not available)",isHtml:!1}}))}},aD=async()=>{if(P){S(!0);try{await (0,g.deleteEmail)(P,j),r(a=>a.filter(a=>a.id!==P)),v===P&&(w(null),y(null)),V.toast.success("Email deleted")}catch{V.toast.error("Failed to delete email")}finally{S(!1),O(!1),Q(null)}}},aE=async(b,c,d,e,f)=>{try{return await (0,g.sendEmail)(a,b,c,d,j,e.length>0?e:void 0,f,ay),V.toast.success("Email sent"),E(!1),ar("sent"),!0}catch{return V.toast.error("Failed to send email"),!1}},aF=a=>`<br/><br/><div style="border-left: 2px solid #ccc; padding-left: 12px; margin-left: 0; color: #666;"><p><strong>From:</strong> ${a.from_email}<br/><strong>To:</strong> ${a.to_email}<br/><strong>Date:</strong> ${new Date(a.created_at).toLocaleString()}<br/><strong>Subject:</strong> ${a.subject}</p>`+(a.html_body?a.html_body:x?.isHtml?x.content:`<pre>${x?.content??""}</pre>`)+"</div>",aG=a=>({inReplyTo:a.message_id||void 0,references:[a.references,a.message_id].filter(Boolean).join(" ").trim()||void 0}),[aH,aI]=(0,c.useState)(!1),aJ=async()=>{if(ax)try{await navigator.clipboard.writeText(ax),aI(!0),setTimeout(()=>aI(!1),1500)}catch{V.toast.error("Failed to copy")}},aK=(0,b.jsxs)("div",{className:"flex h-full flex-col",children:[at.length>0?(0,b.jsx)("div",{className:"px-3 pt-3 pb-1 relative",children:1===at.length?(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsxs)(A.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:aJ,className:"group flex items-center gap-1.5 text-left cursor-pointer w-full"}),children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:ax}),aH?(0,b.jsx)(aj.Check,{className:"size-2.5 text-green-500 shrink-0"}):(0,b.jsx)(ai.Copy,{className:"size-2.5 text-muted-foreground/0 group-hover:text-muted-foreground/60 shrink-0 transition-colors"})]}),(0,b.jsx)(A.TooltipContent,{children:"Click to copy"})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-1 w-full",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>aq(!X),className:"flex items-center gap-1 text-left cursor-pointer min-w-0 flex-1",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:ax}),(0,b.jsx)(al.default,{className:"size-2.5 text-muted-foreground shrink-0"})]}),(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:aJ,className:"shrink-0 p-0.5"}),children:aH?(0,b.jsx)(aj.Check,{className:"size-2.5 text-green-500"}):(0,b.jsx)(ai.Copy,{className:"size-2.5 text-muted-foreground/40 hover:text-muted-foreground/80 transition-colors"})}),(0,b.jsx)(A.TooltipContent,{children:"Copy address"})]})]}),X&&(0,b.jsx)("div",{className:"absolute left-2 right-2 top-full mt-0.5 z-10 rounded-lg border border-border bg-popover shadow-md py-1",children:at.map((a,c)=>(0,b.jsxs)("button",{type:"button",onClick:()=>{av(c),aq(!1)},className:(0,z.cn)("flex items-center gap-2 w-full px-2.5 py-1.5 text-left text-xs transition-colors",c===au?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50"),children:[(0,b.jsx)(ac.Mail,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:a.address}),"custom"===a.type&&(0,b.jsx)("span",{className:"text-[9px] text-muted-foreground/60 shrink-0",children:"IMAP"})]},a.address))})]})}):(0,b.jsx)("div",{className:"px-3 pt-3 pb-1",children:(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:"No email configured"})}),(0,b.jsx)("div",{className:"p-2",children:(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsxs)(A.TooltipTrigger,{render:(0,b.jsx)(h.Button,{size:"sm",className:"w-full justify-start text-xs h-8 gap-1.5",onClick:()=>{G({}),E(!0),w(null)},disabled:0===at.length}),children:[(0,b.jsx)(ae.Plus,{className:"size-3.5"}),"New Email"]}),(0,b.jsx)(A.TooltipContent,{children:0===at.length?"Configure an email in agent settings to send emails":"Compose new email"})]})}),(0,b.jsxs)("nav",{className:"flex flex-col gap-0.5 px-2",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>ar("inbox"),className:(0,z.cn)("flex items-center gap-2 rounded-lg px-2.5 py-1.5 text-sm transition-colors cursor-pointer","inbox"===o?"bg-accent text-foreground font-medium":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:[(0,b.jsx)(ad.Inbox,{className:"size-4 shrink-0"}),"Inbox","inbox"===o&&s>0&&(0,b.jsx)("span",{className:"ml-auto text-xs bg-blue-500 text-white rounded-full px-1.5 py-0.5 leading-none min-w-5 text-center",children:s})]}),(0,b.jsxs)("button",{type:"button",onClick:()=>ar("sent"),className:(0,z.cn)("flex items-center gap-2 rounded-lg px-2.5 py-1.5 text-sm transition-colors cursor-pointer","sent"===o?"bg-accent text-foreground font-medium":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:[(0,b.jsx)(W.Send,{className:"size-4 shrink-0"}),"Sent"]}),(0,b.jsxs)("button",{type:"button",onClick:()=>ar("untrust"),className:(0,z.cn)("flex items-center gap-2 rounded-lg px-2.5 py-1.5 text-sm transition-colors cursor-pointer","untrust"===o?"bg-accent text-foreground font-medium":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:[(0,b.jsx)(ak,{className:"size-4 shrink-0"}),"Untrust"]})]})]}),aL=(0,b.jsx)("div",{className:(0,z.cn)("h-full thin-scrollbar",q.length>0&&!t?"overflow-y-auto":"overflow-hidden"),children:t?(0,b.jsx)(b.Fragment,{children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"px-4 py-3 border-b border-border/30",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-1.5",children:[(0,b.jsx)(aa.Skeleton,{className:"h-3.5 w-32"}),(0,b.jsx)(aa.Skeleton,{className:"h-2.5 w-10"})]}),(0,b.jsx)(aa.Skeleton,{className:"h-3.5 w-48 mb-1.5"}),(0,b.jsx)(aa.Skeleton,{className:"h-4 w-16 rounded-full"})]},c))}):0===q.length?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center h-full animate-[fade-up_400ms_ease-out_both]",children:[(0,b.jsx)(ac.Mail,{className:"size-8 text-muted-foreground mb-3"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"inbox"===o?"No emails from trusted senders":"sent"===o?"No emails sent yet":"No untrusted emails"})]}):q.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>aB(a.id),className:(0,z.cn)("w-full text-left px-4 py-3 border-b border-border/30 transition-colors duration-150 cursor-pointer",v===a.id?"bg-accent/60":"hover:bg-accent/30"),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-0.5",children:[(0,b.jsx)("p",{className:(0,z.cn)("text-sm truncate","unread"===a.status?"font-semibold":"font-medium text-muted-foreground"),children:"sent"===o?a.to_email:a.from_email}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:["sent"!==o&&(0,b.jsx)("span",{className:(0,z.cn)("text-[10px] rounded-full px-1.5 py-0.5 leading-none font-medium","unread"===a.status?"bg-blue-500/15 text-blue-600 dark:text-blue-400":"bg-muted text-muted-foreground"),children:"unread"===a.status?"unread":"read"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:ap(a.created_at)})]})]}),(0,b.jsx)("p",{className:(0,z.cn)("text-[13px] truncate","unread"===a.status?"text-foreground":"text-muted-foreground"),children:a.subject||"(no subject)"})]},a.id))}),aM=(0,b.jsx)("div",{className:"h-full overflow-auto flex flex-col min-w-0 thin-scrollbar",children:D?(0,b.jsx)(_,{fromAddress:ax,onSend:aE,onDiscard:()=>{E(!1),G({})},initialTo:F.to,initialSubject:F.subject,initialBody:F.body,initialAttachments:F.attachments,inReplyTo:F.inReplyTo,references:F.references},JSON.stringify(F)):az?(0,b.jsxs)("div",{className:"flex flex-col h-full md:min-w-100 max-w-3xl mx-auto w-full",children:[(0,b.jsxs)("div",{className:"flex items-center gap-0.5 border-b border-border/40 px-4 py-1.5",children:["sent"!==o&&(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)(h.Button,{variant:"ghost",size:"icon",className:"size-7 text-muted-foreground/60 hover:text-foreground",onClick:()=>{let a;return a=az.subject.startsWith("Re:")?az.subject:`Re: ${az.subject}`,void(w(null),G({to:az.from_email,subject:a,body:aF(az),...aG(az)}),E(!0))}}),children:(0,b.jsx)(ah,{className:"size-3.5"})}),(0,b.jsx)(A.TooltipContent,{children:"Reply"})]}),(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)(h.Button,{variant:"ghost",size:"icon",className:"size-7 text-muted-foreground/60 hover:text-foreground",onClick:()=>{let a;return a=az.subject.startsWith("Fwd:")?az.subject:`Fwd: ${az.subject}`,void(w(null),G({subject:a,body:aF(az),attachments:az.attachments??[],...aG(az)}),E(!0))}}),children:(0,b.jsx)(ag,{className:"size-3.5"})}),(0,b.jsx)(A.TooltipContent,{children:"Forward"})]}),(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)(h.Button,{variant:"ghost",size:"icon",className:"size-7 text-muted-foreground/60 hover:text-destructive",onClick:()=>{Q(az.id),O(!0)}}),children:(0,b.jsx)(af.Trash2,{className:"size-3.5"})}),(0,b.jsx)(A.TooltipContent,{children:"Delete"})]})]}),H.length>0&&(0,b.jsx)("div",{className:"border-b border-border/30",children:H.map(a=>(0,b.jsxs)("div",{className:"border-b border-border/20 last:border-b-0",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>aC(a.id),className:"w-full flex items-center gap-2 px-5 py-2.5 text-left hover:bg-accent/30 transition-colors cursor-pointer",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:J===a.id?"▾":"▸"}),(0,b.jsx)("span",{className:"text-sm font-medium truncate flex-1",children:a.from_email}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground shrink-0",children:ap(a.created_at)})]}),J===a.id&&(0,b.jsxs)("div",{className:"px-5 pb-3",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground mb-2",children:a.subject}),L[a.id]?L[a.id].isHtml?(0,b.jsx)(ao.EmailBodyFrame,{html:L[a.id].content,className:"max-w-full text-sm"}):(0,b.jsx)("div",{className:"text-sm whitespace-pre-wrap leading-[1.65] text-foreground",children:L[a.id].content}):(0,b.jsx)(Y.Loader2,{className:"size-3 animate-spin text-muted-foreground"})]})]},a.id))}),(0,b.jsxs)("div",{className:"p-5",children:[(0,b.jsx)("h2",{className:"text-lg font-heading font-semibold tracking-tight mb-1",children:az.subject||"(no subject)"}),(0,b.jsxs)("div",{className:"text-sm space-y-1 mb-5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0",children:"From"}),(0,b.jsx)("span",{children:az.from_email})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0",children:"To"}),(0,b.jsx)("span",{children:az.to_email})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0",children:"sent"===o?"Sent":"Received"}),(0,b.jsx)("span",{className:"text-muted-foreground",children:new Date(az.created_at).toLocaleString()})]})]}),B?(0,b.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,b.jsx)(Y.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}):az.html_body?(0,b.jsx)(ao.EmailBodyFrame,{html:az.html_body,className:"max-w-full"}):x?.isHtml?(0,b.jsx)(ao.EmailBodyFrame,{html:x.content,className:"max-w-full"}):(0,b.jsx)("div",{className:"text-sm whitespace-pre-wrap leading-[1.65] text-foreground",children:x?.content}),az.attachments&&az.attachments.length>0&&(0,b.jsxs)("div",{className:"mt-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mb-2 text-xs text-muted-foreground",children:[(0,b.jsx)(Z.Paperclip,{className:"size-3"}),az.attachments.length," attachment",az.attachments.length>1?"s":""]}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:az.attachments.map((a,c)=>(0,b.jsxs)("a",{href:`/api/email/${az.id}/attachment/${c}?workspace_id=${j}`,target:"_blank",rel:"noopener noreferrer",download:a.filename,className:"flex items-center gap-1.5 rounded-md border border-border/50 bg-muted/50 px-2.5 py-1.5 text-xs hover:bg-muted transition-colors cursor-pointer",children:[(0,b.jsx)($.File,{className:"size-3 text-muted-foreground shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-45",children:a.filename}),(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:a.size<1024?`${a.size} B`:a.size<1048576?`${(a.size/1024).toFixed(1)} KB`:`${(a.size/1048576).toFixed(1)} MB`})]},a.key))})]})]})]}):(0,b.jsx)("div",{className:"flex items-center justify-center h-full text-sm text-muted-foreground",children:"Select an email to view"})}),aN=D?(0,b.jsxs)("div",{className:"flex flex-col h-full",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 border-b border-border/50 px-3 py-2",children:[(0,b.jsx)(h.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{E(!1),G({})},children:(0,b.jsx)(ab.ArrowLeft,{className:"size-4"})}),(0,b.jsx)("span",{className:"text-sm font-medium",children:"New Email"})]}),(0,b.jsx)("div",{className:"flex-1 min-h-0 overflow-auto",children:aM})]}):v&&az?(0,b.jsxs)("div",{className:"flex flex-col h-full",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 border-b border-border/50 px-3 py-2",children:[(0,b.jsx)(h.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{w(null),y(null)},children:(0,b.jsx)(ab.ArrowLeft,{className:"size-4"})}),(0,b.jsx)("span",{className:"text-sm font-medium truncate",children:az.subject||"(no subject)"})]}),(0,b.jsx)("div",{className:"flex-1 min-h-0 overflow-auto",children:aM})]}):(0,b.jsxs)("div",{className:"flex flex-col h-full",children:[at.length>1&&(0,b.jsxs)("div",{className:"relative px-3 pt-2 pb-1 border-b border-border/30",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>aq(!X),className:"flex items-center gap-1 text-left cursor-pointer min-w-0 flex-1",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:ax}),(0,b.jsx)(al.default,{className:"size-2.5 text-muted-foreground shrink-0"})]}),(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:aJ,className:"shrink-0 p-0.5"}),children:aH?(0,b.jsx)(aj.Check,{className:"size-2.5 text-green-500"}):(0,b.jsx)(ai.Copy,{className:"size-2.5 text-muted-foreground/40 hover:text-muted-foreground/80 transition-colors"})}),(0,b.jsx)(A.TooltipContent,{children:"Copy address"})]})]}),X&&(0,b.jsx)("div",{className:"absolute left-2 right-2 top-full mt-0.5 z-10 rounded-lg border border-border bg-popover shadow-md py-1",children:at.map((a,c)=>(0,b.jsxs)("button",{type:"button",onClick:()=>{av(c),aq(!1)},className:(0,z.cn)("flex items-center gap-2 w-full px-2.5 py-1.5 text-left text-xs transition-colors",c===au?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50"),children:[(0,b.jsx)(ac.Mail,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:a.address}),"custom"===a.type&&(0,b.jsx)("span",{className:"text-[9px] text-muted-foreground/60 shrink-0",children:"IMAP"})]},a.address))})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 border-b border-border/50 px-3 py-2",children:[(0,b.jsx)("div",{className:"flex items-center gap-0.5 flex-1 min-w-0",children:[{id:"inbox",label:"Inbox"},{id:"sent",label:"Sent"},{id:"untrust",label:"Untrust"}].map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>ar(a.id),className:(0,z.cn)("px-2.5 py-1 rounded-md text-xs font-medium transition-colors",o===a.id?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground"),children:[a.label,"inbox"===a.id&&"inbox"===o&&s>0&&(0,b.jsx)("span",{className:"ml-0.5 text-[10px] bg-blue-500 text-white rounded-full px-1 leading-none min-w-4 text-center",children:s})]},a.id))}),(0,b.jsx)(h.Button,{size:"icon-sm",variant:"ghost",onClick:()=>{G({}),E(!0),w(null)},disabled:0===at.length,children:(0,b.jsx)(ae.Plus,{className:"size-4"})})]}),(0,b.jsx)("div",{className:"flex-1 min-h-0 overflow-auto",children:aL})]});return(0,b.jsxs)(b.Fragment,{children:[n?aN:(0,b.jsx)(an.ResizablePanels,{storageKey:"email-panel-sizes",panels:[{defaultWidth:180,minWidth:120,maxWidth:240,children:aK},{defaultWidth:300,minWidth:200,maxWidth:480,children:aL},{children:aM,minWidth:300}]}),(0,b.jsx)(i.ConfirmDialog,{open:N,onOpenChange:O,title:"Delete email",description:"This will permanently delete this email.",loading:R,onConfirm:aD})]})}],221781)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_web_src_app_%28app%29_w_%5Bslug%5D_agents_%5Bid%5D_email_page_tsx_09mq1-g._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[46714,a=>{"use strict";var b,c,d,e,f,g=a.i(749314),h=a.i(437199),i=a.i(207058),j=a.i(752792),k=a.i(506180),l=a.i(588339),m=a.i(25668);a.s([],731708),a.i(731708);var n=a.i(935469),o=a.i(622079),p=a.i(485177);let q=h.createContext(void 0);function r(){let a=h.useContext(q);if(void 0===a)throw Error((0,p.default)(53));return a}var s=a.i(147909);let t=((b={}).scrollAreaCornerHeight="--scroll-area-corner-height",b.scrollAreaCornerWidth="--scroll-area-corner-width",b);function u(a,b,c){if(!a)return 0;let d=getComputedStyle(a),e="x"===c?"Inline":"Block";return"x"===c&&"margin"===b?2*parseFloat(d[`${b}InlineStart`]):parseFloat(d[`${b}${e}Start`])+parseFloat(d[`${b}${e}End`])}let v=((c={}).orientation="data-orientation",c.hovering="data-hovering",c.scrolling="data-scrolling",c.hasOverflowX="data-has-overflow-x",c.hasOverflowY="data-has-overflow-y",c.overflowXStart="data-overflow-x-start",c.overflowXEnd="data-overflow-x-end",c.overflowYStart="data-overflow-y-start",c.overflowYEnd="data-overflow-y-end",c);var w=a.i(822428),x=a.i(423994);let y=((d={}).scrolling="data-scrolling",d.hasOverflowX="data-has-overflow-x",d.hasOverflowY="data-has-overflow-y",d.overflowXStart="data-overflow-x-start",d.overflowXEnd="data-overflow-x-end",d.overflowYStart="data-overflow-y-start",d.overflowYEnd="data-overflow-y-end",d),z={hasOverflowX:a=>a?{[y.hasOverflowX]:""}:null,hasOverflowY:a=>a?{[y.hasOverflowY]:""}:null,overflowXStart:a=>a?{[y.overflowXStart]:""}:null,overflowXEnd:a=>a?{[y.overflowXEnd]:""}:null,overflowYStart:a=>a?{[y.overflowYStart]:""}:null,overflowYEnd:a=>a?{[y.overflowYEnd]:""}:null,cornerHidden:()=>null};var A=a.i(685748),B=a.i(765671);let C={x:0,y:0},D={width:0,height:0},E={xStart:!1,xEnd:!1,yStart:!1,yEnd:!1},F={x:!0,y:!0,corner:!0},G=h.forwardRef(function(a,b){let{render:c,className:d,overflowEdgeThreshold:e,style:f,...i}=a,j=function(a){if("number"==typeof a){let b=Math.max(0,a);return{xStart:b,xEnd:b,yStart:b,yEnd:b}}return{xStart:Math.max(0,a?.xStart||0),xEnd:Math.max(0,a?.xEnd||0),yStart:Math.max(0,a?.yStart||0),yEnd:Math.max(0,a?.yEnd||0)}}(e),k=(0,x.useBaseUiId)(),l=(0,o.useTimeout)(),m=(0,o.useTimeout)(),{nonce:p,disableStyleElements:r}=(0,B.useCSPContext)(),[y,G]=h.useState(!1),[H,I]=h.useState(!1),[J,K]=h.useState(!1),[L,M]=h.useState(!1),[N,O]=h.useState(!1),[P,Q]=h.useState(D),[R,S]=h.useState(D),[T,U]=h.useState(E),[V,W]=h.useState(F),X=h.useRef(null),Y=h.useRef(null),Z=h.useRef(null),$=h.useRef(null),_=h.useRef(null),aa=h.useRef(null),ab=h.useRef(null),ac=h.useRef(!1),ad=h.useRef(0),ae=h.useRef(0),af=h.useRef(0),ag=h.useRef(0),ah=h.useRef("vertical"),ai=h.useRef(C),aj=(0,n.useStableCallback)(a=>{let b=a.x-ai.current.x,c=a.y-ai.current.y;ai.current=a,0!==c&&(K(!0),l.start(500,()=>{K(!1)})),0!==b&&(I(!0),m.start(500,()=>{I(!1)}))}),ak=(0,n.useStableCallback)(a=>{0===a.button&&(ac.current=!0,ad.current=a.clientY,ae.current=a.clientX,ah.current=a.currentTarget.getAttribute(v.orientation),Y.current&&(af.current=Y.current.scrollTop,ag.current=Y.current.scrollLeft),_.current&&"vertical"===ah.current&&_.current.setPointerCapture(a.pointerId),aa.current&&"horizontal"===ah.current&&aa.current.setPointerCapture(a.pointerId))}),al=(0,n.useStableCallback)(a=>{if(!ac.current)return;let b=a.clientY-ad.current,c=a.clientX-ae.current;if(Y.current){let d=Y.current.scrollHeight,e=Y.current.clientHeight,f=Y.current.scrollWidth,g=Y.current.clientWidth;if(_.current&&Z.current&&"vertical"===ah.current){let c=u(Z.current,"padding","y"),f=u(_.current,"margin","y"),g=_.current.offsetHeight,h=Z.current.offsetHeight-g-c-f;Y.current.scrollTop=af.current+b/h*(d-e),a.preventDefault(),K(!0),l.start(500,()=>{K(!1)})}if(aa.current&&$.current&&"horizontal"===ah.current){let b=u($.current,"padding","x"),d=u(aa.current,"margin","x"),e=aa.current.offsetWidth,h=$.current.offsetWidth-e-b-d;Y.current.scrollLeft=ag.current+c/h*(f-g),a.preventDefault(),I(!0),m.start(500,()=>{I(!1)})}}}),am=(0,n.useStableCallback)(a=>{ac.current=!1,_.current&&"vertical"===ah.current&&_.current.releasePointerCapture(a.pointerId),aa.current&&"horizontal"===ah.current&&aa.current.releasePointerCapture(a.pointerId)});function an(a){M("touch"===a.pointerType)}function ao(a){an(a),"touch"!==a.pointerType&&G((0,A.contains)(X.current,a.target))}let ap=h.useMemo(()=>({scrolling:H||J,hasOverflowX:!V.x,hasOverflowY:!V.y,overflowXStart:T.xStart,overflowXEnd:T.xEnd,overflowYStart:T.yStart,overflowYEnd:T.yEnd,cornerHidden:V.corner}),[H,J,V.x,V.y,V.corner,T]),aq={role:"presentation",onPointerEnter:ao,onPointerMove:ao,onPointerDown:an,onPointerLeave(){G(!1)},style:{position:"relative",[t.scrollAreaCornerHeight]:`${P.height}px`,[t.scrollAreaCornerWidth]:`${P.width}px`}},ar=(0,s.useRenderElement)("div",a,{state:ap,ref:[b,X],props:[aq,i],stateAttributesMapping:z}),as=h.useMemo(()=>({handlePointerDown:ak,handlePointerMove:al,handlePointerUp:am,handleScroll:aj,cornerSize:P,setCornerSize:Q,thumbSize:R,setThumbSize:S,hasMeasuredScrollbar:N,setHasMeasuredScrollbar:O,touchModality:L,cornerRef:ab,scrollingX:H,setScrollingX:I,scrollingY:J,setScrollingY:K,hovering:y,setHovering:G,viewportRef:Y,rootRef:X,scrollbarYRef:Z,scrollbarXRef:$,thumbYRef:_,thumbXRef:aa,rootId:k,hiddenState:V,setHiddenState:W,overflowEdges:T,setOverflowEdges:U,viewportState:ap,overflowEdgeThreshold:j}),[ak,al,am,aj,P,R,N,L,H,I,J,K,y,G,k,V,T,ap,j]);return(0,g.jsxs)(q.Provider,{value:as,children:[!r&&w.styleDisableScrollbar.getElement(p),ar]})});var H=a.i(901496),I=a.i(883281);let J=h.createContext(void 0);var K=a.i(581074),L=a.i(848213);let M=((e={}).scrollAreaOverflowXStart="--scroll-area-overflow-x-start",e.scrollAreaOverflowXEnd="--scroll-area-overflow-x-end",e.scrollAreaOverflowYStart="--scroll-area-overflow-y-start",e.scrollAreaOverflowYEnd="--scroll-area-overflow-y-end",e);var N=a.i(921617);let O=!1,P=h.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,{viewportRef:i,scrollbarYRef:j,scrollbarXRef:k,thumbYRef:l,thumbXRef:m,cornerRef:p,cornerSize:q,setCornerSize:t,setThumbSize:v,rootId:x,setHiddenState:y,hiddenState:A,setHasMeasuredScrollbar:B,handleScroll:C,setHovering:D,setOverflowEdges:E,overflowEdges:F,overflowEdgeThreshold:G,scrollingX:P,scrollingY:Q}=r(),R=(0,K.useDirection)(),S=h.useRef(!0),T=h.useRef([NaN,NaN,NaN,NaN]),U=(0,o.useTimeout)(),V=(0,o.useTimeout)(),W=(0,n.useStableCallback)(()=>{var a;let b,c,d=i.current,e=j.current,f=k.current,g=l.current,h=m.current,n=p.current;if(!d)return;let o=d.scrollHeight,r=d.scrollWidth,s=d.clientHeight,w=d.clientWidth,x=d.scrollTop,z=d.scrollLeft,A=T.current,C=Number.isNaN(A[0]);if(A[0]=s,A[1]=o,A[2]=w,A[3]=r,C&&B(!0),0===o||0===r)return;let D=(b=(a=d).clientHeight>=a.scrollHeight,{y:b,x:c=a.clientWidth>=a.scrollWidth,corner:b||c}),F=D.y,H=D.x,I=w/r,J=s/o,K=Math.max(0,r-w),O=Math.max(0,o-s),P=0,Q=0;if(!H){let a=0;a="rtl"===R?(0,L.clamp)(-z,0,K):(0,L.clamp)(z,0,K),P=(0,N.normalizeScrollOffset)(a,K),Q=K-P}let S=F?0:(0,L.clamp)(x,0,O),U=F?0:(0,N.normalizeScrollOffset)(S,O),V=F?0:O-U,W=H?0:w,X=F?0:s,Y=0,Z=0;H||F||(Y=e?.offsetWidth||0,Z=f?.offsetHeight||0);let $=0===q.width&&0===q.height,_=$?Y:0,aa=$?Z:0,ab=u(f,"padding","x"),ac=u(e,"padding","y"),ad=u(h,"margin","x"),ae=u(g,"margin","y"),af=W-ab-ad,ag=X-ac-ae,ah=f?Math.min(f.offsetWidth-_,af):af,ai=e?Math.min(e.offsetHeight-aa,ag):ag,aj=Math.max(16,ah*I),ak=Math.max(16,ai*J);if(v(a=>a.height===ak&&a.width===aj?a:{width:aj,height:ak}),e&&g){let a=e.offsetHeight-ak-ac-ae,b=o-s,c=Math.min(a,Math.max(0,(0===b?0:x/b)*a));g.style.transform=`translate3d(0,${c}px,0)`}if(f&&h){let a=f.offsetWidth-aj-ab-ad,b=r-w,c=0===b?0:z/b,d="rtl"===R?(0,L.clamp)(c*a,-a,0):(0,L.clamp)(c*a,0,a);h.style.transform=`translate3d(${d}px,0,0)`}for(let[a,b]of[[M.scrollAreaOverflowXStart,P],[M.scrollAreaOverflowXEnd,Q],[M.scrollAreaOverflowYStart,U],[M.scrollAreaOverflowYEnd,V]])d.style.setProperty(a,`${b}px`);n&&(H||F?t({width:0,height:0}):H||F||t({width:Y,height:Z})),y(a=>{var b,c;return b=a,c=D,b.y===c.y&&b.x===c.x&&b.corner===c.corner?b:c});let al={xStart:!H&&P>G.xStart,xEnd:!H&&Q>G.xEnd,yStart:!F&&U>G.yStart,yEnd:!F&&V>G.yEnd};E(a=>a.xStart===al.xStart&&a.xEnd===al.xEnd&&a.yStart===al.yStart&&a.yEnd===al.yEnd?a:al)});function X(){S.current=!1}(0,H.useIsoLayoutEffect)(()=>{i.current&&(O||I.isWebKit||("u">typeof CSS&&"registerProperty"in CSS&&[M.scrollAreaOverflowXStart,M.scrollAreaOverflowXEnd,M.scrollAreaOverflowYStart,M.scrollAreaOverflowYEnd].forEach(a=>{try{CSS.registerProperty({name:a,syntax:"<length>",inherits:!1,initialValue:"0px"})}catch{}}),O=!0))},[i]),(0,H.useIsoLayoutEffect)(()=>{queueMicrotask(W)},[W,A,R]),(0,H.useIsoLayoutEffect)(()=>{i.current?.matches(":hover")&&D(!0)},[i,D]),h.useEffect(()=>{let a=i.current;if("u"<typeof ResizeObserver||!a)return;let b=!1,c=new ResizeObserver(()=>{if(!b){b=!0;let c=T.current;if(c[0]===a.clientHeight&&c[1]===a.scrollHeight&&c[2]===a.clientWidth&&c[3]===a.scrollWidth)return}W()});return c.observe(a),V.start(0,()=>{let b=a.getAnimations({subtree:!0});0!==b.length&&Promise.allSettled(b.map(a=>a.finished)).then(W).catch(()=>{})}),()=>{c.disconnect(),V.clear()}},[W,i,V]);let Y={role:"presentation",...x&&{"data-id":`${x}-viewport`},tabIndex:A.x&&A.y?-1:0,className:w.styleDisableScrollbar.className,style:{overflow:"scroll"},onScroll(){i.current&&(W(),S.current||C({x:i.current.scrollLeft,y:i.current.scrollTop}),U.start(100,()=>{S.current=!0}))},onWheel:X,onTouchMove:X,onPointerMove:X,onPointerEnter:X,onKeyDown:X},Z=h.useMemo(()=>({scrolling:P||Q,hasOverflowX:!A.x,hasOverflowY:!A.y,overflowXStart:F.xStart,overflowXEnd:F.xEnd,overflowYStart:F.yStart,overflowYEnd:F.yEnd,cornerHidden:A.corner}),[P,Q,A.x,A.y,A.corner,F]),$=(0,s.useRenderElement)("div",a,{ref:[b,i],state:Z,props:[Y,f],stateAttributesMapping:z}),_=h.useMemo(()=>({computeThumbPosition:W}),[W]);return(0,g.jsx)(J.Provider,{value:_,children:$})});var Q=a.i(780332);let R=h.createContext(void 0),S=((f={}).scrollAreaThumbHeight="--scroll-area-thumb-height",f.scrollAreaThumbWidth="--scroll-area-thumb-width",f),T=h.forwardRef(function(a,b){let{render:c,className:d,orientation:e="vertical",keepMounted:f=!1,style:i,...j}=a,{hovering:k,scrollingX:l,scrollingY:m,hiddenState:n,overflowEdges:o,scrollbarYRef:p,scrollbarXRef:q,viewportRef:v,thumbYRef:w,thumbXRef:x,handlePointerDown:y,handlePointerUp:B,rootId:C,thumbSize:D,hasMeasuredScrollbar:E}=r(),F={hovering:k,scrolling:{horizontal:l,vertical:m}[e],orientation:e,hasOverflowX:!n.x,hasOverflowY:!n.y,overflowXStart:o.xStart,overflowXEnd:o.xEnd,overflowYStart:o.yStart,overflowYEnd:o.yEnd,cornerHidden:n.corner},G=(0,K.useDirection)();h.useEffect(()=>{let a=v.current,b="vertical"===e?p.current:q.current;if(b)return(0,Q.addEventListener)(b,"wheel",function(c){if(a&&b&&!c.ctrlKey){if(c.preventDefault(),"vertical"===e){if(0===a.scrollTop&&c.deltaY<0)return}else if(0===a.scrollLeft&&c.deltaX<0)return;if("vertical"===e){if(a.scrollTop===a.scrollHeight-a.clientHeight&&c.deltaY>0)return}else if(a.scrollLeft===a.scrollWidth-a.clientWidth&&c.deltaX>0)return;"vertical"===e?a.scrollTop+=c.deltaY:a.scrollLeft+=c.deltaX}},{passive:!1})},[e,q,p,v]);let H={...C&&{"data-id":`${C}-scrollbar`},onPointerDown(a){if(0!==a.button)return;let b=(0,A.getTarget)(a.nativeEvent),c="vertical"===e?w.current:x.current;if(!(c&&(0,A.contains)(c,b))&&v.current){if(w.current&&p.current&&"vertical"===e){let b=u(w.current,"margin","y"),c=u(p.current,"padding","y"),d=w.current.offsetHeight,e=p.current.getBoundingClientRect(),f=a.clientY-e.top-d/2-c+b/2,g=v.current.scrollHeight,h=v.current.clientHeight,i=p.current.offsetHeight-d-c-b;v.current.scrollTop=f/i*(g-h)}if(x.current&&q.current&&"horizontal"===e){let b,c=u(x.current,"margin","x"),d=u(q.current,"padding","x"),e=x.current.offsetWidth,f=q.current.getBoundingClientRect(),g=a.clientX-f.left-e/2-d+c/2,h=v.current.scrollWidth,i=v.current.clientWidth,j=g/(q.current.offsetWidth-e-d-c);"rtl"===G?(b=(1-j)*(h-i),v.current.scrollLeft<=0&&(b=-b)):b=j*(h-i),v.current.scrollLeft=b}y(a)}},onPointerUp:B,style:{position:"absolute",touchAction:"none",WebkitUserSelect:"none",userSelect:"none",visibility:E||f?void 0:"hidden",..."vertical"===e&&{top:0,bottom:`var(${t.scrollAreaCornerHeight})`,insetInlineEnd:0,[S.scrollAreaThumbHeight]:`${D.height}px`},..."horizontal"===e&&{insetInlineStart:0,insetInlineEnd:`var(${t.scrollAreaCornerWidth})`,bottom:0,[S.scrollAreaThumbWidth]:`${D.width}px`}}},I=(0,s.useRenderElement)("div",a,{ref:[b,"vertical"===e?p:q],state:F,props:[H,j],stateAttributesMapping:z}),J=h.useMemo(()=>({orientation:e}),[e]),L="vertical"===e?n.y:n.x;return f||!L?(0,g.jsx)(R.Provider,{value:J,children:I}):null}),U=h.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=h.useRef(null),{computeThumbPosition:i}=function(){let a=h.useContext(J);if(void 0===a)throw Error((0,p.default)(55));return a}(),{viewportState:j}=r();return(0,H.useIsoLayoutEffect)(()=>{if("u"<typeof ResizeObserver)return;let a=!1,b=new ResizeObserver(()=>{if(!a){a=!0;return}i()});return g.current&&b.observe(g.current),()=>{b.disconnect()}},[i]),(0,s.useRenderElement)("div",a,{ref:[b,g],state:j,stateAttributesMapping:z,props:[{role:"presentation",style:{minWidth:"fit-content"}},f]})}),V=h.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,{thumbYRef:g,thumbXRef:i,handlePointerDown:j,handlePointerMove:k,handlePointerUp:l,setScrollingX:m,setScrollingY:n,hasMeasuredScrollbar:o}=r(),{orientation:q}=function(){let a=h.useContext(R);if(void 0===a)throw Error((0,p.default)(54));return a}();return(0,s.useRenderElement)("div",a,{ref:[b,"vertical"===q?g:i],state:{orientation:q},props:[{onPointerDown:j,onPointerMove:k,onPointerUp(a){"vertical"===q&&n(!1),"horizontal"===q&&m(!1),l(a)},style:{visibility:o?void 0:"hidden",..."vertical"===q&&{height:`var(${S.scrollAreaThumbHeight})`},..."horizontal"===q&&{width:`var(${S.scrollAreaThumbWidth})`}}},f]})}),W=h.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,{cornerRef:g,cornerSize:h,hiddenState:i}=r(),j=(0,s.useRenderElement)("div",a,{ref:[b,g],props:[{style:{position:"absolute",bottom:0,insetInlineEnd:0,width:h.width,height:h.height}},f]});return i.corner?null:j});a.s(["Content",0,U,"Corner",0,W,"Root",0,G,"Scrollbar",0,T,"Thumb",0,V,"Viewport",0,P],383122);var X=a.i(383122),X=X,Y=a.i(75118);function Z({className:a,children:b,...c}){return(0,g.jsxs)(X.Root,{"data-slot":"scroll-area",className:(0,Y.cn)("relative",a),...c,children:[(0,g.jsx)(X.Viewport,{"data-slot":"scroll-area-viewport",className:"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",children:b}),(0,g.jsx)($,{}),(0,g.jsx)(X.Corner,{})]})}function $({className:a,orientation:b="vertical",...c}){return(0,g.jsx)(X.Scrollbar,{"data-slot":"scroll-area-scrollbar","data-orientation":b,orientation:b,className:(0,Y.cn)("flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent",a),...c,children:(0,g.jsx)(X.Thumb,{"data-slot":"scroll-area-thumb",className:"relative flex-1 rounded-full bg-border"})})}var _=a.i(511238),aa=a.i(586220);a.i(343563);var ab=a.i(347788),ac=a.i(143788),ad=a.i(95590),ae=a.i(166776),af=a.i(338660),ag=a.i(784847);let ah=(0,a.i(790090).default)("file-code",[["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 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]);var ai=a.i(993532),aj=a.i(779958),ak=a.i(527779);function al({node:a,depth:b,selectedFile:c,onToggleDir:d,onSelectFile:e}){var f;let{entry:h}=a,i=12+16*b;return h.isDirectory?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("button",{onClick:()=>d(h.path,a),className:"w-full flex items-center gap-1.5 py-1 text-sm hover:bg-muted/50 transition-colors text-left",style:{paddingLeft:i},children:[(0,g.jsx)(ad.ChevronRight,{className:`size-3 text-muted-foreground/60 shrink-0 transition-transform duration-150 ${a.expanded?"rotate-90":""}`}),a.expanded?(0,g.jsx)(aj.FolderOpen,{className:"size-3.5 text-blue-500/70 shrink-0"}):(0,g.jsx)(ai.Folder,{className:"size-3.5 text-blue-500/70 shrink-0"}),(0,g.jsx)("span",{className:"truncate",children:h.name}),a.loading&&(0,g.jsx)(ak.Loader2,{className:"size-3 text-muted-foreground animate-spin shrink-0 ml-auto mr-2"})]}),a.expanded&&a.children&&a.children.map(a=>(0,g.jsx)(al,{node:a,depth:b+1,selectedFile:c,onToggleDir:d,onSelectFile:e},a.entry.path)),a.expanded&&a.children&&0===a.children.length&&(0,g.jsx)("div",{className:"text-[10px] text-muted-foreground/50 py-0.5",style:{paddingLeft:i+24},children:"empty"})]}):(0,g.jsxs)("button",{onClick:()=>e(h.path),className:`w-full flex items-center gap-1.5 py-1 text-sm hover:bg-muted/50 transition-colors text-left ${c===h.path?"bg-muted text-foreground":""}`,style:{paddingLeft:i+15},children:[(0,g.jsx)(an,{name:h.name}),(0,g.jsx)("span",{className:"truncate",children:h.name}),(0,g.jsx)("span",{className:"ml-auto text-[10px] text-muted-foreground/50 shrink-0 tabular-nums mr-2",children:(f=h.size)<1024?`${f}B`:f<1048576?`${(f/1024).toFixed(1)}K`:`${(f/1048576).toFixed(1)}M`})]})}function am(a,b,c){return a.map(a=>a.entry.path===b?c(a):a.children&&b.startsWith(a.entry.path+"/")?{...a,children:am(a.children,b,c)}:a)}function an({name:a}){return a.endsWith(".md")||a.endsWith(".txt")?(0,g.jsx)(ag.FileText,{className:"size-3.5 text-muted-foreground shrink-0"}):/\.(js|ts|tsx|jsx|py|sh|go|rs|rb|css|html|sql)$/.test(a)?(0,g.jsx)(ah,{className:"size-3.5 text-muted-foreground shrink-0"}):(0,g.jsx)(af.File,{className:"size-3.5 text-muted-foreground shrink-0"})}a.s(["default",0,function(){let a=(0,i.useParams)().id,{workspaceId:b}=(0,k.useWorkspace)(),{subscribeWs:c,runtimes:d,agents:e}=(0,j.useAgentContext)(),f=(0,aa.useIsMobile)(),n=e.find(b=>b.id===a),o=n?d.find(a=>a.id===n.runtime_id):null,p=o?.status==="online",[q,r]=(0,h.useState)([]),[s,t]=(0,h.useState)(!0),[u,v]=(0,h.useState)(null),[w,x]=(0,h.useState)(null),[y,z]=(0,h.useState)(null),[A,B]=(0,h.useState)(!1),[C,D]=(0,h.useState)(!1),[E,F]=(0,h.useState)(null),[G,H]=(0,h.useState)("preview"),I=(0,h.useRef)(new Map),J=o?.metadata?.workspaces_root,K=`${J||"~/.alook/workspaces"}/${b}/${a}/workdir`,L=(0,h.useCallback)(a=>{let b=I.current.get(a);b&&(clearTimeout(b.timer),I.current.delete(a))},[]),M=(0,h.useCallback)((a,b)=>{r(c=>am(c,a,a=>({...a,loading:b})))},[]),N=(0,h.useCallback)(async c=>{try{let{request_id:d}=await (0,l.requestWorkspaceBrowse)(a,b,"tree",c),e=setTimeout(()=>{I.current.has(d)&&(I.current.delete(d),"."===c?(v("Request timed out — daemon may be offline"),t(!1)):M(c,!1))},15e3);return I.current.set(d,{type:"tree",path:c,timer:e}),d}catch{return null}},[a,b,M]),O=(0,h.useCallback)(async c=>{D(!0),F(null),z(null),B(!1),x(c),H("preview");try{let{request_id:d}=await (0,l.requestWorkspaceBrowse)(a,b,"read",c),e=setTimeout(()=>{I.current.has(d)&&(I.current.delete(d),F("Request timed out — daemon may be offline"),D(!1))},15e3);I.current.set(d,{type:"read",path:c,timer:e})}catch{F("Failed to request file"),D(!1)}},[a,b]);(0,h.useEffect)(()=>{t(!0),v(null),N(".");let a=I.current;return()=>{for(let b of a.values())clearTimeout(b.timer);a.clear()}},[N]);let P=(0,h.useCallback)((a,b)=>{let c=b.map(a=>({entry:a,children:null,loading:!1,expanded:!1}));if("."===a){r(c),t(!1);return}r(b=>am(b,a,a=>({...a,children:c,loading:!1,expanded:!0})))},[]);(0,h.useEffect)(()=>c(b=>{if("workspace.files"!==b.type||b.agentId!==a)return;let c=I.current.get(b.requestId);c&&(L(b.requestId),"tree"===c.type&&(b.result.error?"."===c.path?(v(b.result.error),t(!1)):M(c.path,!1):P(c.path,b.result.entries??[])),"read"===c.type&&(b.result.error?F(b.result.error):(z(b.result.content??null),B(b.result.isBinary??!1)),D(!1)))}),[c,a,P,M,L]);let Q=(0,h.useCallback)((a,b)=>{b.expanded?r(b=>am(b,a,a=>({...a,expanded:!1}))):(null===b.children&&(M(a,!0),N(a)),r(b=>am(b,a,a=>({...a,expanded:!0}))))},[N,M]);if(!p)return(0,g.jsx)("div",{className:"flex-1 flex items-center justify-center text-muted-foreground text-sm p-8",children:(0,g.jsxs)("div",{className:"text-center space-y-2",children:[(0,g.jsx)(aj.FolderOpen,{className:"size-8 mx-auto opacity-40"}),(0,g.jsx)("p",{children:"Agent runtime is offline"}),(0,g.jsx)("p",{className:"text-xs",children:"File browsing requires the daemon to be running."})]})});let R=(0,g.jsxs)("div",{className:"flex items-center gap-1.5 px-4 py-2 border-b border-border/50 text-xs text-muted-foreground shrink-0 min-w-0",children:[(0,g.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(K).catch(()=>{})},className:"hover:text-foreground transition-colors shrink-0",title:"Copy full path",children:(0,g.jsx)(ae.Copy,{className:"size-3"})}),(0,g.jsx)("span",{className:"truncate opacity-60",children:K})]}),S=(0,g.jsx)(Z,{className:"h-full",children:s?(0,g.jsx)("div",{className:"p-3 space-y-1",children:Array.from({length:6}).map((a,b)=>(0,g.jsx)(m.Skeleton,{className:"h-6 w-full rounded"},b))}):u?(0,g.jsx)("div",{className:"p-4 text-sm text-destructive",children:u}):0===q.length?(0,g.jsx)("div",{className:"p-4 text-sm text-muted-foreground",children:"Empty directory"}):(0,g.jsx)("div",{className:"py-0.5",children:q.map(a=>(0,g.jsx)(al,{node:a,depth:0,selectedFile:w,onToggleDir:Q,onSelectFile:O},a.entry.path))})}),T=w?.split("/").pop()??"",U=T.endsWith(".md"),V=w?(0,g.jsxs)("div",{className:"flex-1 min-h-0 flex flex-col",children:[(0,g.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border/50 shrink-0",children:[(0,g.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[f&&(0,g.jsx)("button",{onClick:()=>{x(null),z(null)},className:"text-muted-foreground hover:text-foreground transition-colors shrink-0",children:(0,g.jsx)(ac.ArrowLeft,{className:"size-4"})}),(0,g.jsx)("span",{className:"text-xs font-medium truncate",children:T})]}),(0,g.jsx)("div",{className:"flex items-center gap-0.5 shrink-0 ml-2",children:U&&!A&&!E&&!C&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("button",{onClick:()=>H("raw"),className:`text-[10px] px-1.5 py-0.5 rounded transition-colors ${"raw"===G?"bg-muted text-foreground":"text-muted-foreground hover:text-foreground"}`,children:"Raw"}),(0,g.jsx)("button",{onClick:()=>H("preview"),className:`text-[10px] px-1.5 py-0.5 rounded transition-colors ${"preview"===G?"bg-muted text-foreground":"text-muted-foreground hover:text-foreground"}`,children:"Preview"})]})})]}),(0,g.jsx)(Z,{className:"flex-1 min-h-0",children:C?(0,g.jsx)("div",{className:"p-4 space-y-2",children:Array.from({length:10}).map((a,b)=>(0,g.jsx)(m.Skeleton,{className:"h-3.5 w-full rounded"},b))}):E?(0,g.jsx)("div",{className:"p-4 text-sm text-destructive",children:E}):A?(0,g.jsx)("div",{className:"flex-1 flex items-center justify-center p-8 text-sm text-muted-foreground",children:"Binary file — cannot display"}):U&&"preview"===G?(0,g.jsx)("div",{className:"markdown text-sm p-4",children:(0,g.jsx)(ab.Streamdown,{children:y??""})}):(0,g.jsx)("pre",{className:"p-4 text-[11px] font-mono whitespace-pre-wrap break-all leading-relaxed text-foreground/80",children:y})})]}):(0,g.jsx)("div",{className:"flex-1 flex items-center justify-center text-muted-foreground text-xs h-full",children:"Select a file to view"});return f?w?(0,g.jsx)("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:V}):(0,g.jsxs)("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[R,(0,g.jsx)("div",{className:"flex-1 min-h-0",children:S})]}):(0,g.jsxs)("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[R,(0,g.jsx)(_.ResizablePanels,{storageKey:"agent-files-panel-sizes",panels:[{defaultWidth:280,minWidth:180,maxWidth:480,children:S,className:"overflow-hidden"},{children:V,className:"overflow-hidden flex flex-col"}]})]})}],46714)}];
|
|
1
|
+
module.exports=[46714,a=>{"use strict";var b,c,d,e,f,g=a.i(749314),h=a.i(437199),i=a.i(207058),j=a.i(752792),k=a.i(506180),l=a.i(588339),m=a.i(25668),n=a.i(525132);a.s([],731708),a.i(731708);var o=a.i(935469),p=a.i(622079),q=a.i(485177);let r=h.createContext(void 0);function s(){let a=h.useContext(r);if(void 0===a)throw Error((0,q.default)(53));return a}var t=a.i(147909);let u=((b={}).scrollAreaCornerHeight="--scroll-area-corner-height",b.scrollAreaCornerWidth="--scroll-area-corner-width",b);function v(a,b,c){if(!a)return 0;let d=getComputedStyle(a),e="x"===c?"Inline":"Block";return"x"===c&&"margin"===b?2*parseFloat(d[`${b}InlineStart`]):parseFloat(d[`${b}${e}Start`])+parseFloat(d[`${b}${e}End`])}let w=((c={}).orientation="data-orientation",c.hovering="data-hovering",c.scrolling="data-scrolling",c.hasOverflowX="data-has-overflow-x",c.hasOverflowY="data-has-overflow-y",c.overflowXStart="data-overflow-x-start",c.overflowXEnd="data-overflow-x-end",c.overflowYStart="data-overflow-y-start",c.overflowYEnd="data-overflow-y-end",c);var x=a.i(822428),y=a.i(423994);let z=((d={}).scrolling="data-scrolling",d.hasOverflowX="data-has-overflow-x",d.hasOverflowY="data-has-overflow-y",d.overflowXStart="data-overflow-x-start",d.overflowXEnd="data-overflow-x-end",d.overflowYStart="data-overflow-y-start",d.overflowYEnd="data-overflow-y-end",d),A={hasOverflowX:a=>a?{[z.hasOverflowX]:""}:null,hasOverflowY:a=>a?{[z.hasOverflowY]:""}:null,overflowXStart:a=>a?{[z.overflowXStart]:""}:null,overflowXEnd:a=>a?{[z.overflowXEnd]:""}:null,overflowYStart:a=>a?{[z.overflowYStart]:""}:null,overflowYEnd:a=>a?{[z.overflowYEnd]:""}:null,cornerHidden:()=>null};var B=a.i(685748),C=a.i(765671);let D={x:0,y:0},E={width:0,height:0},F={xStart:!1,xEnd:!1,yStart:!1,yEnd:!1},G={x:!0,y:!0,corner:!0},H=h.forwardRef(function(a,b){let{render:c,className:d,overflowEdgeThreshold:e,style:f,...i}=a,j=function(a){if("number"==typeof a){let b=Math.max(0,a);return{xStart:b,xEnd:b,yStart:b,yEnd:b}}return{xStart:Math.max(0,a?.xStart||0),xEnd:Math.max(0,a?.xEnd||0),yStart:Math.max(0,a?.yStart||0),yEnd:Math.max(0,a?.yEnd||0)}}(e),k=(0,y.useBaseUiId)(),l=(0,p.useTimeout)(),m=(0,p.useTimeout)(),{nonce:n,disableStyleElements:q}=(0,C.useCSPContext)(),[s,z]=h.useState(!1),[H,I]=h.useState(!1),[J,K]=h.useState(!1),[L,M]=h.useState(!1),[N,O]=h.useState(!1),[P,Q]=h.useState(E),[R,S]=h.useState(E),[T,U]=h.useState(F),[V,W]=h.useState(G),X=h.useRef(null),Y=h.useRef(null),Z=h.useRef(null),$=h.useRef(null),_=h.useRef(null),aa=h.useRef(null),ab=h.useRef(null),ac=h.useRef(!1),ad=h.useRef(0),ae=h.useRef(0),af=h.useRef(0),ag=h.useRef(0),ah=h.useRef("vertical"),ai=h.useRef(D),aj=(0,o.useStableCallback)(a=>{let b=a.x-ai.current.x,c=a.y-ai.current.y;ai.current=a,0!==c&&(K(!0),l.start(500,()=>{K(!1)})),0!==b&&(I(!0),m.start(500,()=>{I(!1)}))}),ak=(0,o.useStableCallback)(a=>{0===a.button&&(ac.current=!0,ad.current=a.clientY,ae.current=a.clientX,ah.current=a.currentTarget.getAttribute(w.orientation),Y.current&&(af.current=Y.current.scrollTop,ag.current=Y.current.scrollLeft),_.current&&"vertical"===ah.current&&_.current.setPointerCapture(a.pointerId),aa.current&&"horizontal"===ah.current&&aa.current.setPointerCapture(a.pointerId))}),al=(0,o.useStableCallback)(a=>{if(!ac.current)return;let b=a.clientY-ad.current,c=a.clientX-ae.current;if(Y.current){let d=Y.current.scrollHeight,e=Y.current.clientHeight,f=Y.current.scrollWidth,g=Y.current.clientWidth;if(_.current&&Z.current&&"vertical"===ah.current){let c=v(Z.current,"padding","y"),f=v(_.current,"margin","y"),g=_.current.offsetHeight,h=Z.current.offsetHeight-g-c-f;Y.current.scrollTop=af.current+b/h*(d-e),a.preventDefault(),K(!0),l.start(500,()=>{K(!1)})}if(aa.current&&$.current&&"horizontal"===ah.current){let b=v($.current,"padding","x"),d=v(aa.current,"margin","x"),e=aa.current.offsetWidth,h=$.current.offsetWidth-e-b-d;Y.current.scrollLeft=ag.current+c/h*(f-g),a.preventDefault(),I(!0),m.start(500,()=>{I(!1)})}}}),am=(0,o.useStableCallback)(a=>{ac.current=!1,_.current&&"vertical"===ah.current&&_.current.releasePointerCapture(a.pointerId),aa.current&&"horizontal"===ah.current&&aa.current.releasePointerCapture(a.pointerId)});function an(a){M("touch"===a.pointerType)}function ao(a){an(a),"touch"!==a.pointerType&&z((0,B.contains)(X.current,a.target))}let ap=h.useMemo(()=>({scrolling:H||J,hasOverflowX:!V.x,hasOverflowY:!V.y,overflowXStart:T.xStart,overflowXEnd:T.xEnd,overflowYStart:T.yStart,overflowYEnd:T.yEnd,cornerHidden:V.corner}),[H,J,V.x,V.y,V.corner,T]),aq={role:"presentation",onPointerEnter:ao,onPointerMove:ao,onPointerDown:an,onPointerLeave(){z(!1)},style:{position:"relative",[u.scrollAreaCornerHeight]:`${P.height}px`,[u.scrollAreaCornerWidth]:`${P.width}px`}},ar=(0,t.useRenderElement)("div",a,{state:ap,ref:[b,X],props:[aq,i],stateAttributesMapping:A}),as=h.useMemo(()=>({handlePointerDown:ak,handlePointerMove:al,handlePointerUp:am,handleScroll:aj,cornerSize:P,setCornerSize:Q,thumbSize:R,setThumbSize:S,hasMeasuredScrollbar:N,setHasMeasuredScrollbar:O,touchModality:L,cornerRef:ab,scrollingX:H,setScrollingX:I,scrollingY:J,setScrollingY:K,hovering:s,setHovering:z,viewportRef:Y,rootRef:X,scrollbarYRef:Z,scrollbarXRef:$,thumbYRef:_,thumbXRef:aa,rootId:k,hiddenState:V,setHiddenState:W,overflowEdges:T,setOverflowEdges:U,viewportState:ap,overflowEdgeThreshold:j}),[ak,al,am,aj,P,R,N,L,H,I,J,K,s,z,k,V,T,ap,j]);return(0,g.jsxs)(r.Provider,{value:as,children:[!q&&x.styleDisableScrollbar.getElement(n),ar]})});var I=a.i(901496),J=a.i(883281);let K=h.createContext(void 0);var L=a.i(581074),M=a.i(848213);let N=((e={}).scrollAreaOverflowXStart="--scroll-area-overflow-x-start",e.scrollAreaOverflowXEnd="--scroll-area-overflow-x-end",e.scrollAreaOverflowYStart="--scroll-area-overflow-y-start",e.scrollAreaOverflowYEnd="--scroll-area-overflow-y-end",e);var O=a.i(921617);let P=!1,Q=h.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,{viewportRef:i,scrollbarYRef:j,scrollbarXRef:k,thumbYRef:l,thumbXRef:m,cornerRef:n,cornerSize:q,setCornerSize:r,setThumbSize:u,rootId:w,setHiddenState:y,hiddenState:z,setHasMeasuredScrollbar:B,handleScroll:C,setHovering:D,setOverflowEdges:E,overflowEdges:F,overflowEdgeThreshold:G,scrollingX:H,scrollingY:Q}=s(),R=(0,L.useDirection)(),S=h.useRef(!0),T=h.useRef([NaN,NaN,NaN,NaN]),U=(0,p.useTimeout)(),V=(0,p.useTimeout)(),W=(0,o.useStableCallback)(()=>{var a;let b,c,d=i.current,e=j.current,f=k.current,g=l.current,h=m.current,o=n.current;if(!d)return;let p=d.scrollHeight,s=d.scrollWidth,t=d.clientHeight,w=d.clientWidth,x=d.scrollTop,z=d.scrollLeft,A=T.current,C=Number.isNaN(A[0]);if(A[0]=t,A[1]=p,A[2]=w,A[3]=s,C&&B(!0),0===p||0===s)return;let D=(b=(a=d).clientHeight>=a.scrollHeight,{y:b,x:c=a.clientWidth>=a.scrollWidth,corner:b||c}),F=D.y,H=D.x,I=w/s,J=t/p,K=Math.max(0,s-w),L=Math.max(0,p-t),P=0,Q=0;if(!H){let a=0;a="rtl"===R?(0,M.clamp)(-z,0,K):(0,M.clamp)(z,0,K),P=(0,O.normalizeScrollOffset)(a,K),Q=K-P}let S=F?0:(0,M.clamp)(x,0,L),U=F?0:(0,O.normalizeScrollOffset)(S,L),V=F?0:L-U,W=H?0:w,X=F?0:t,Y=0,Z=0;H||F||(Y=e?.offsetWidth||0,Z=f?.offsetHeight||0);let $=0===q.width&&0===q.height,_=$?Y:0,aa=$?Z:0,ab=v(f,"padding","x"),ac=v(e,"padding","y"),ad=v(h,"margin","x"),ae=v(g,"margin","y"),af=W-ab-ad,ag=X-ac-ae,ah=f?Math.min(f.offsetWidth-_,af):af,ai=e?Math.min(e.offsetHeight-aa,ag):ag,aj=Math.max(16,ah*I),ak=Math.max(16,ai*J);if(u(a=>a.height===ak&&a.width===aj?a:{width:aj,height:ak}),e&&g){let a=e.offsetHeight-ak-ac-ae,b=p-t,c=Math.min(a,Math.max(0,(0===b?0:x/b)*a));g.style.transform=`translate3d(0,${c}px,0)`}if(f&&h){let a=f.offsetWidth-aj-ab-ad,b=s-w,c=0===b?0:z/b,d="rtl"===R?(0,M.clamp)(c*a,-a,0):(0,M.clamp)(c*a,0,a);h.style.transform=`translate3d(${d}px,0,0)`}for(let[a,b]of[[N.scrollAreaOverflowXStart,P],[N.scrollAreaOverflowXEnd,Q],[N.scrollAreaOverflowYStart,U],[N.scrollAreaOverflowYEnd,V]])d.style.setProperty(a,`${b}px`);o&&(H||F?r({width:0,height:0}):H||F||r({width:Y,height:Z})),y(a=>{var b,c;return b=a,c=D,b.y===c.y&&b.x===c.x&&b.corner===c.corner?b:c});let al={xStart:!H&&P>G.xStart,xEnd:!H&&Q>G.xEnd,yStart:!F&&U>G.yStart,yEnd:!F&&V>G.yEnd};E(a=>a.xStart===al.xStart&&a.xEnd===al.xEnd&&a.yStart===al.yStart&&a.yEnd===al.yEnd?a:al)});function X(){S.current=!1}(0,I.useIsoLayoutEffect)(()=>{i.current&&(P||J.isWebKit||("u">typeof CSS&&"registerProperty"in CSS&&[N.scrollAreaOverflowXStart,N.scrollAreaOverflowXEnd,N.scrollAreaOverflowYStart,N.scrollAreaOverflowYEnd].forEach(a=>{try{CSS.registerProperty({name:a,syntax:"<length>",inherits:!1,initialValue:"0px"})}catch{}}),P=!0))},[i]),(0,I.useIsoLayoutEffect)(()=>{queueMicrotask(W)},[W,z,R]),(0,I.useIsoLayoutEffect)(()=>{i.current?.matches(":hover")&&D(!0)},[i,D]),h.useEffect(()=>{let a=i.current;if("u"<typeof ResizeObserver||!a)return;let b=!1,c=new ResizeObserver(()=>{if(!b){b=!0;let c=T.current;if(c[0]===a.clientHeight&&c[1]===a.scrollHeight&&c[2]===a.clientWidth&&c[3]===a.scrollWidth)return}W()});return c.observe(a),V.start(0,()=>{let b=a.getAnimations({subtree:!0});0!==b.length&&Promise.allSettled(b.map(a=>a.finished)).then(W).catch(()=>{})}),()=>{c.disconnect(),V.clear()}},[W,i,V]);let Y={role:"presentation",...w&&{"data-id":`${w}-viewport`},tabIndex:z.x&&z.y?-1:0,className:x.styleDisableScrollbar.className,style:{overflow:"scroll"},onScroll(){i.current&&(W(),S.current||C({x:i.current.scrollLeft,y:i.current.scrollTop}),U.start(100,()=>{S.current=!0}))},onWheel:X,onTouchMove:X,onPointerMove:X,onPointerEnter:X,onKeyDown:X},Z=h.useMemo(()=>({scrolling:H||Q,hasOverflowX:!z.x,hasOverflowY:!z.y,overflowXStart:F.xStart,overflowXEnd:F.xEnd,overflowYStart:F.yStart,overflowYEnd:F.yEnd,cornerHidden:z.corner}),[H,Q,z.x,z.y,z.corner,F]),$=(0,t.useRenderElement)("div",a,{ref:[b,i],state:Z,props:[Y,f],stateAttributesMapping:A}),_=h.useMemo(()=>({computeThumbPosition:W}),[W]);return(0,g.jsx)(K.Provider,{value:_,children:$})});var R=a.i(780332);let S=h.createContext(void 0),T=((f={}).scrollAreaThumbHeight="--scroll-area-thumb-height",f.scrollAreaThumbWidth="--scroll-area-thumb-width",f),U=h.forwardRef(function(a,b){let{render:c,className:d,orientation:e="vertical",keepMounted:f=!1,style:i,...j}=a,{hovering:k,scrollingX:l,scrollingY:m,hiddenState:n,overflowEdges:o,scrollbarYRef:p,scrollbarXRef:q,viewportRef:r,thumbYRef:w,thumbXRef:x,handlePointerDown:y,handlePointerUp:z,rootId:C,thumbSize:D,hasMeasuredScrollbar:E}=s(),F={hovering:k,scrolling:{horizontal:l,vertical:m}[e],orientation:e,hasOverflowX:!n.x,hasOverflowY:!n.y,overflowXStart:o.xStart,overflowXEnd:o.xEnd,overflowYStart:o.yStart,overflowYEnd:o.yEnd,cornerHidden:n.corner},G=(0,L.useDirection)();h.useEffect(()=>{let a=r.current,b="vertical"===e?p.current:q.current;if(b)return(0,R.addEventListener)(b,"wheel",function(c){if(a&&b&&!c.ctrlKey){if(c.preventDefault(),"vertical"===e){if(0===a.scrollTop&&c.deltaY<0)return}else if(0===a.scrollLeft&&c.deltaX<0)return;if("vertical"===e){if(a.scrollTop===a.scrollHeight-a.clientHeight&&c.deltaY>0)return}else if(a.scrollLeft===a.scrollWidth-a.clientWidth&&c.deltaX>0)return;"vertical"===e?a.scrollTop+=c.deltaY:a.scrollLeft+=c.deltaX}},{passive:!1})},[e,q,p,r]);let H={...C&&{"data-id":`${C}-scrollbar`},onPointerDown(a){if(0!==a.button)return;let b=(0,B.getTarget)(a.nativeEvent),c="vertical"===e?w.current:x.current;if(!(c&&(0,B.contains)(c,b))&&r.current){if(w.current&&p.current&&"vertical"===e){let b=v(w.current,"margin","y"),c=v(p.current,"padding","y"),d=w.current.offsetHeight,e=p.current.getBoundingClientRect(),f=a.clientY-e.top-d/2-c+b/2,g=r.current.scrollHeight,h=r.current.clientHeight,i=p.current.offsetHeight-d-c-b;r.current.scrollTop=f/i*(g-h)}if(x.current&&q.current&&"horizontal"===e){let b,c=v(x.current,"margin","x"),d=v(q.current,"padding","x"),e=x.current.offsetWidth,f=q.current.getBoundingClientRect(),g=a.clientX-f.left-e/2-d+c/2,h=r.current.scrollWidth,i=r.current.clientWidth,j=g/(q.current.offsetWidth-e-d-c);"rtl"===G?(b=(1-j)*(h-i),r.current.scrollLeft<=0&&(b=-b)):b=j*(h-i),r.current.scrollLeft=b}y(a)}},onPointerUp:z,style:{position:"absolute",touchAction:"none",WebkitUserSelect:"none",userSelect:"none",visibility:E||f?void 0:"hidden",..."vertical"===e&&{top:0,bottom:`var(${u.scrollAreaCornerHeight})`,insetInlineEnd:0,[T.scrollAreaThumbHeight]:`${D.height}px`},..."horizontal"===e&&{insetInlineStart:0,insetInlineEnd:`var(${u.scrollAreaCornerWidth})`,bottom:0,[T.scrollAreaThumbWidth]:`${D.width}px`}}},I=(0,t.useRenderElement)("div",a,{ref:[b,"vertical"===e?p:q],state:F,props:[H,j],stateAttributesMapping:A}),J=h.useMemo(()=>({orientation:e}),[e]),K="vertical"===e?n.y:n.x;return f||!K?(0,g.jsx)(S.Provider,{value:J,children:I}):null}),V=h.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=h.useRef(null),{computeThumbPosition:i}=function(){let a=h.useContext(K);if(void 0===a)throw Error((0,q.default)(55));return a}(),{viewportState:j}=s();return(0,I.useIsoLayoutEffect)(()=>{if("u"<typeof ResizeObserver)return;let a=!1,b=new ResizeObserver(()=>{if(!a){a=!0;return}i()});return g.current&&b.observe(g.current),()=>{b.disconnect()}},[i]),(0,t.useRenderElement)("div",a,{ref:[b,g],state:j,stateAttributesMapping:A,props:[{role:"presentation",style:{minWidth:"fit-content"}},f]})}),W=h.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,{thumbYRef:g,thumbXRef:i,handlePointerDown:j,handlePointerMove:k,handlePointerUp:l,setScrollingX:m,setScrollingY:n,hasMeasuredScrollbar:o}=s(),{orientation:p}=function(){let a=h.useContext(S);if(void 0===a)throw Error((0,q.default)(54));return a}();return(0,t.useRenderElement)("div",a,{ref:[b,"vertical"===p?g:i],state:{orientation:p},props:[{onPointerDown:j,onPointerMove:k,onPointerUp(a){"vertical"===p&&n(!1),"horizontal"===p&&m(!1),l(a)},style:{visibility:o?void 0:"hidden",..."vertical"===p&&{height:`var(${T.scrollAreaThumbHeight})`},..."horizontal"===p&&{width:`var(${T.scrollAreaThumbWidth})`}}},f]})}),X=h.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,{cornerRef:g,cornerSize:h,hiddenState:i}=s(),j=(0,t.useRenderElement)("div",a,{ref:[b,g],props:[{style:{position:"absolute",bottom:0,insetInlineEnd:0,width:h.width,height:h.height}},f]});return i.corner?null:j});a.s(["Content",0,V,"Corner",0,X,"Root",0,H,"Scrollbar",0,U,"Thumb",0,W,"Viewport",0,Q],383122);var Y=a.i(383122),Y=Y,Z=a.i(75118);function $({className:a,children:b,...c}){return(0,g.jsxs)(Y.Root,{"data-slot":"scroll-area",className:(0,Z.cn)("relative",a),...c,children:[(0,g.jsx)(Y.Viewport,{"data-slot":"scroll-area-viewport",className:"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",children:b}),(0,g.jsx)(_,{}),(0,g.jsx)(Y.Corner,{})]})}function _({className:a,orientation:b="vertical",...c}){return(0,g.jsx)(Y.Scrollbar,{"data-slot":"scroll-area-scrollbar","data-orientation":b,orientation:b,className:(0,Z.cn)("flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent",a),...c,children:(0,g.jsx)(Y.Thumb,{"data-slot":"scroll-area-thumb",className:"relative flex-1 rounded-full bg-border"})})}var aa=a.i(511238),ab=a.i(586220);a.i(343563);var ac=a.i(347788),ad=a.i(143788),ae=a.i(95590),af=a.i(166776),ag=a.i(338660),ah=a.i(784847);let ai=(0,a.i(790090).default)("file-code",[["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 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]);var aj=a.i(993532),ak=a.i(779958),al=a.i(527779);function am({node:a,depth:b,selectedFile:c,onToggleDir:d,onSelectFile:e}){var f;let{entry:h}=a,i=12+16*b;return h.isDirectory?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("button",{onClick:()=>d(h.path,a),className:"w-full flex items-center gap-1.5 py-1 text-sm hover:bg-muted/50 transition-colors text-left",style:{paddingLeft:i},children:[(0,g.jsx)(ae.ChevronRight,{className:`size-3 text-muted-foreground/60 shrink-0 transition-transform duration-150 ${a.expanded?"rotate-90":""}`}),a.expanded?(0,g.jsx)(ak.FolderOpen,{className:"size-3.5 text-blue-500/70 shrink-0"}):(0,g.jsx)(aj.Folder,{className:"size-3.5 text-blue-500/70 shrink-0"}),(0,g.jsx)("span",{className:"truncate",children:h.name}),a.loading&&(0,g.jsx)(al.Loader2,{className:"size-3 text-muted-foreground animate-spin shrink-0 ml-auto mr-2"})]}),a.expanded&&a.children&&a.children.map(a=>(0,g.jsx)(am,{node:a,depth:b+1,selectedFile:c,onToggleDir:d,onSelectFile:e},a.entry.path)),a.expanded&&a.children&&0===a.children.length&&(0,g.jsx)("div",{className:"text-[10px] text-muted-foreground/50 py-0.5",style:{paddingLeft:i+24},children:"empty"})]}):(0,g.jsxs)("button",{onClick:()=>e(h.path),className:`w-full flex items-center gap-1.5 py-1 text-sm hover:bg-muted/50 transition-colors text-left ${c===h.path?"bg-muted text-foreground":""}`,style:{paddingLeft:i+15},children:[(0,g.jsx)(ao,{name:h.name}),(0,g.jsx)("span",{className:"truncate",children:h.name}),(0,g.jsx)("span",{className:"ml-auto text-[10px] text-muted-foreground/50 shrink-0 tabular-nums mr-2",children:(f=h.size)<1024?`${f}B`:f<1048576?`${(f/1024).toFixed(1)}K`:`${(f/1048576).toFixed(1)}M`})]})}function an(a,b,c){return a.map(a=>a.entry.path===b?c(a):a.children&&b.startsWith(a.entry.path+"/")?{...a,children:an(a.children,b,c)}:a)}function ao({name:a}){return a.endsWith(".md")||a.endsWith(".txt")?(0,g.jsx)(ah.FileText,{className:"size-3.5 text-muted-foreground shrink-0"}):/\.(js|ts|tsx|jsx|py|sh|go|rs|rb|css|html|sql)$/.test(a)?(0,g.jsx)(ai,{className:"size-3.5 text-muted-foreground shrink-0"}):(0,g.jsx)(ag.File,{className:"size-3.5 text-muted-foreground shrink-0"})}a.s(["default",0,function(){let a=(0,i.useParams)().id,{workspaceId:b}=(0,k.useWorkspace)(),{subscribeWs:c,runtimes:d,agents:e}=(0,j.useAgentContext)(),f=(0,ab.useIsMobile)(),o=e.find(b=>b.id===a),p=o?d.find(a=>a.id===o.runtime_id):null,q=p?.status==="online",[r,s]=(0,h.useState)([]),[t,u]=(0,h.useState)(!0),[v,w]=(0,h.useState)(null),[x,y]=(0,h.useState)(null),[z,A]=(0,h.useState)(null),[B,C]=(0,h.useState)(!1),[D,E]=(0,h.useState)(!1),[F,G]=(0,h.useState)(null),[H,I]=(0,h.useState)("preview"),J=(0,h.useRef)(new Map),K=p?.metadata?.workspaces_root,L=`${K||"~/.alook/workspaces"}/${b}/${a}/workdir`,M=(0,h.useCallback)(a=>{let b=J.current.get(a);b&&(clearTimeout(b.timer),J.current.delete(a))},[]),N=(0,h.useCallback)((a,b)=>{s(c=>an(c,a,a=>({...a,loading:b})))},[]),O=(0,h.useCallback)(async c=>{try{let{request_id:d}=await (0,l.requestWorkspaceBrowse)(a,b,"tree",c),e=setTimeout(()=>{J.current.has(d)&&(J.current.delete(d),"."===c?(w("Request timed out — daemon may be offline"),u(!1)):N(c,!1))},15e3);return J.current.set(d,{type:"tree",path:c,timer:e}),d}catch{return null}},[a,b,N]),P=(0,h.useCallback)(async c=>{E(!0),G(null),A(null),C(!1),y(c),I("preview");try{let{request_id:d}=await (0,l.requestWorkspaceBrowse)(a,b,"read",c),e=setTimeout(()=>{J.current.has(d)&&(J.current.delete(d),G("Request timed out — daemon may be offline"),E(!1))},15e3);J.current.set(d,{type:"read",path:c,timer:e})}catch{G("Failed to request file"),E(!1)}},[a,b]);(0,h.useEffect)(()=>{u(!0),w(null),O(".");let a=J.current;return()=>{for(let b of a.values())clearTimeout(b.timer);a.clear()}},[O]);let Q=(0,h.useCallback)((a,b)=>{let c=b.map(a=>({entry:a,children:null,loading:!1,expanded:!1}));if("."===a){s(c),u(!1);return}s(b=>an(b,a,a=>({...a,children:c,loading:!1,expanded:!0})))},[]);(0,h.useEffect)(()=>c(b=>{if("workspace.files"!==b.type||b.agentId!==a)return;let c=J.current.get(b.requestId);c&&(M(b.requestId),"tree"===c.type&&(b.result.error?"."===c.path?(w(b.result.error),u(!1)):N(c.path,!1):Q(c.path,b.result.entries??[])),"read"===c.type&&(b.result.error?G(b.result.error):(A(b.result.content??null),C(b.result.isBinary??!1)),E(!1)))}),[c,a,Q,N,M]);let R=(0,h.useCallback)((a,b)=>{b.expanded?s(b=>an(b,a,a=>({...a,expanded:!1}))):(null===b.children&&(N(a,!0),O(a)),s(b=>an(b,a,a=>({...a,expanded:!0}))))},[O,N]);if(!q)return(0,g.jsx)("div",{className:"flex-1 flex items-center justify-center text-muted-foreground text-sm p-8",children:(0,g.jsxs)("div",{className:"text-center space-y-2",children:[(0,g.jsx)(ak.FolderOpen,{className:"size-8 mx-auto opacity-40"}),(0,g.jsx)("p",{children:"Agent runtime is offline"}),(0,g.jsx)("p",{className:"text-xs",children:"File browsing requires the daemon to be running."})]})});let S=(0,g.jsxs)("div",{className:"flex items-center gap-1.5 px-4 py-2 border-b border-border/50 text-xs text-muted-foreground shrink-0 min-w-0",children:[(0,g.jsxs)(n.Tooltip,{children:[(0,g.jsx)(n.TooltipTrigger,{render:(0,g.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(L).catch(()=>{})},className:"hover:text-foreground transition-colors shrink-0"}),children:(0,g.jsx)(af.Copy,{className:"size-3"})}),(0,g.jsx)(n.TooltipContent,{children:"Copy full path"})]}),(0,g.jsx)("span",{className:"truncate opacity-60",children:L})]}),T=(0,g.jsx)($,{className:"h-full",children:t?(0,g.jsx)("div",{className:"p-3 space-y-1",children:Array.from({length:6}).map((a,b)=>(0,g.jsx)(m.Skeleton,{className:"h-6 w-full rounded"},b))}):v?(0,g.jsx)("div",{className:"p-4 text-sm text-destructive",children:v}):0===r.length?(0,g.jsx)("div",{className:"p-4 text-sm text-muted-foreground",children:"Empty directory"}):(0,g.jsx)("div",{className:"py-0.5",children:r.map(a=>(0,g.jsx)(am,{node:a,depth:0,selectedFile:x,onToggleDir:R,onSelectFile:P},a.entry.path))})}),U=x?.split("/").pop()??"",V=U.endsWith(".md"),W=x?(0,g.jsxs)("div",{className:"flex-1 min-h-0 flex flex-col",children:[(0,g.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border/50 shrink-0",children:[(0,g.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[f&&(0,g.jsx)("button",{onClick:()=>{y(null),A(null)},className:"text-muted-foreground hover:text-foreground transition-colors shrink-0",children:(0,g.jsx)(ad.ArrowLeft,{className:"size-4"})}),(0,g.jsx)("span",{className:"text-xs font-medium truncate",children:U})]}),(0,g.jsx)("div",{className:"flex items-center gap-0.5 shrink-0 ml-2",children:V&&!B&&!F&&!D&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("button",{onClick:()=>I("raw"),className:`text-[10px] px-1.5 py-0.5 rounded transition-colors ${"raw"===H?"bg-muted text-foreground":"text-muted-foreground hover:text-foreground"}`,children:"Raw"}),(0,g.jsx)("button",{onClick:()=>I("preview"),className:`text-[10px] px-1.5 py-0.5 rounded transition-colors ${"preview"===H?"bg-muted text-foreground":"text-muted-foreground hover:text-foreground"}`,children:"Preview"})]})})]}),(0,g.jsx)($,{className:"flex-1 min-h-0",children:D?(0,g.jsx)("div",{className:"p-4 space-y-2",children:Array.from({length:10}).map((a,b)=>(0,g.jsx)(m.Skeleton,{className:"h-3.5 w-full rounded"},b))}):F?(0,g.jsx)("div",{className:"p-4 text-sm text-destructive",children:F}):B?(0,g.jsx)("div",{className:"flex-1 flex items-center justify-center p-8 text-sm text-muted-foreground",children:"Binary file — cannot display"}):V&&"preview"===H?(0,g.jsx)("div",{className:"markdown text-sm p-4",children:(0,g.jsx)(ac.Streamdown,{children:z??""})}):(0,g.jsx)("pre",{className:"p-4 text-[11px] font-mono whitespace-pre-wrap break-all leading-relaxed text-foreground/80",children:z})})]}):(0,g.jsx)("div",{className:"flex-1 flex items-center justify-center text-muted-foreground text-xs h-full",children:"Select a file to view"});return f?x?(0,g.jsx)("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:W}):(0,g.jsxs)("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[S,(0,g.jsx)("div",{className:"flex-1 min-h-0",children:T})]}):(0,g.jsxs)("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[S,(0,g.jsx)(aa.ResizablePanels,{storageKey:"agent-files-panel-sizes",panels:[{defaultWidth:280,minWidth:180,maxWidth:480,children:T,className:"overflow-hidden"},{children:W,className:"overflow-hidden flex flex-col"}]})]})}],46714)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_web_src_app_%28app%29_w_%5Bslug%5D_agents_%5Bid%5D_files_page_tsx_11eh380._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[812187,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(207058),e=a.i(26822),f=a.i(752792),g=a.i(506180),h=a.i(732254),i=a.i(22902),j=a.i(654461),k=a.i(75118),l=a.i(790090);let m=(0,l.default)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var n=a.i(137993),o=a.i(889624),p=a.i(588339),q=a.i(921584),r=a.i(224226);a.i(735132);var s=a.i(628508),t=a.i(325848);function u({ratio:a,size:c=16,stroke:d=1.5}){let e=(c-d)/2,f=2*Math.PI*e,g=(a<=0?0:a>=1?1:Math.log1p(99*a)/Math.log(100))*f;return(0,b.jsxs)("svg",{width:c,height:c,className:"shrink-0 -rotate-90","aria-hidden":!0,children:[(0,b.jsx)("circle",{cx:c/2,cy:c/2,r:e,fill:"none",stroke:"currentColor",strokeWidth:d,className:"text-border"}),(0,b.jsx)("circle",{cx:c/2,cy:c/2,r:e,fill:"none",stroke:"currentColor",strokeWidth:d,strokeDasharray:`${g} ${f-g}`,strokeLinecap:"round",className:(0,k.cn)("transition-all duration-300",a>.9?"text-destructive/70":a>.7?"text-yellow-500/50":"text-muted-foreground/30")})]})}function v({agent:a,runtimes:d,modelOptions:e,onSave:f,onCancel:i,saving:l}){let{workspaceId:w}=(0,g.useWorkspace)(),[x,y]=(0,c.useState)("general"),[z,A]=(0,c.useState)(a.name??""),[B,C]=(0,c.useState)(a.description??""),[D,E]=(0,c.useState)(a.runtime_id??""),[F,G]=(0,c.useState)(()=>(0,t.parseAvatarUrl)(a.avatar_url)??t.DEFAULT_CONFIG),[H,I]=(0,c.useState)(()=>{let b=a.runtime_config;return"string"==typeof b?.model?b.model:""}),[J,K]=(0,c.useState)(a.instructions??""),[L,M]=(0,c.useState)(a.instructions??""),N=(0,c.useRef)(J);(0,c.useEffect)(()=>{N.current=J},[J]);let O=(0,c.useRef)(L);(0,c.useEffect)(()=>{O.current=L},[L]);let P=(0,c.useRef)(null),Q=(0,c.useRef)(!1),R=(0,c.useRef)(()=>{}),S=(0,c.useCallback)(async()=>{if(Q.current)return;let b=N.current;if(b!==O.current){Q.current=!0;try{await (0,p.updateAgent)(a.id,{instructions:b},w),M(b)}catch(a){q.toast.error(a instanceof Error?a.message:"Failed to save instructions")}finally{Q.current=!1,N.current!==O.current&&R.current()}}},[a.id,w]),T=(0,c.useCallback)(()=>{P.current&&clearTimeout(P.current),P.current=setTimeout(S,500)},[S]);(0,c.useEffect)(()=>{R.current=T},[T]);let U=(0,c.useCallback)(a=>{K(a),T()},[T]);(0,c.useEffect)(()=>{let b=()=>{if(P.current&&clearTimeout(P.current),N.current!==O.current){let b=new URLSearchParams({workspace_id:w});fetch(`/api/agents/${a.id}?${b}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({instructions:N.current}),keepalive:!0})}};return window.addEventListener("beforeunload",b),()=>window.removeEventListener("beforeunload",b)},[a.id,w]),(0,c.useEffect)(()=>()=>{if(P.current&&clearTimeout(P.current),N.current!==O.current){let b=new URLSearchParams({workspace_id:w});fetch(`/api/agents/${a.id}?${b}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({instructions:N.current}),keepalive:!0})}},[a.id,w]);let V=d.find(a=>a.id===D),W=V&&e?e[V.provider]??[]:[],X=async a=>{a.preventDefault(),await f({name:z,description:B,runtime_id:D,runtime_config:H?{model:H}:{},avatar_url:(0,t.serializeAvatarConfig)(F)})},Y=[{id:"general",label:"General"},{id:"instruction",label:"Instruction"},{id:"email",label:"Email"},{id:"permission",label:"Permission"}],Z="general"===x||"email"===x,$=J.length/5e4;return(0,b.jsxs)("div",{className:"flex flex-1 min-h-0",children:[(0,b.jsx)("nav",{className:"w-48 shrink-0 border-r border-border/50 py-3 px-2 hidden md:block",children:Y.map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>y(a.id),className:(0,k.cn)("w-full rounded-md px-2.5 py-1.5 text-left text-sm transition-colors",x===a.id?"bg-accent text-foreground font-medium":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:a.label},a.id))}),(0,b.jsxs)("div",{className:"flex-1 min-w-0 flex flex-col",children:[(0,b.jsx)("div",{className:"px-4 pt-2 md:hidden",children:(0,b.jsx)(j.Tabs,{className:"items-center",value:x,onValueChange:a=>y(a),children:(0,b.jsx)(j.TabsList,{className:"h-auto gap-1",children:Y.map(a=>(0,b.jsx)(j.TabsTrigger,{value:a.id,children:a.label},a.id))})})}),"instruction"===x?(0,b.jsxs)("div",{className:"flex flex-col flex-1 min-h-0",children:[(0,b.jsx)("div",{className:"flex-1 px-6 pt-4 pb-4 overflow-y-auto",children:(0,b.jsx)(o.MarkdownEditor,{value:J,onChange:U,placeholder:"Write instructions for this agent...",minHeight:"calc(100vh - 240px)",contentType:"markdown",variant:"seamless"})}),(0,b.jsxs)("div",{className:"flex items-center gap-2 px-6 py-3 border-t border-border/50",children:[(0,b.jsx)(u,{ratio:$}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Agent-specific instruction. Your global instruction is prepended automatically."})]})]}):(0,b.jsx)("div",{className:"flex-1 overflow-y-auto thin-scrollbar px-5 py-6",children:Z?(0,b.jsxs)("form",{onSubmit:X,className:"mx-auto max-w-md space-y-4",children:["general"===x&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s.AvatarPickerDialog,{config:F,onChange:G}),(0,b.jsx)(r.GeneralFields,{name:z,setName:A,description:B,setDescription:C,model:H,setModel:I,runtimeId:D,setRuntimeId:E,runtimes:d,providerModels:W}),(0,b.jsx)(r.PinToggle,{agentId:a.id})]}),"email"===x&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"rounded-lg border border-border/50 bg-muted/30 px-4 py-3",children:[(0,b.jsxs)("div",{className:"mb-2.5 flex items-center gap-1.5",children:[(0,b.jsx)(m,{className:"size-3 text-muted-foreground/60"}),(0,b.jsx)("span",{className:"text-xs font-medium text-muted-foreground/60",children:"Set at creation"})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"Email"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a.email_handle?`${a.email_handle}@alook.ai`:"Not configured"})]})]}),(0,b.jsx)(n.CustomEmailForm,{agentId:a.id,workspaceId:a.workspace_id}),a.email_handle&&(0,b.jsx)("div",{className:"border-t border-border/50 pt-4 mt-4",children:(0,b.jsx)(r.AllowedSendersTab,{agentId:a.id})})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 pt-2",children:[(0,b.jsx)(h.Button,{type:"button",variant:"ghost",size:"sm",onClick:i,children:"Cancel"}),(0,b.jsx)(h.Button,{type:"submit",size:"sm",disabled:l||!z,children:l?"Saving...":"Save"})]})]}):(0,b.jsx)(r.AgentAccessTab,{agentId:a.id,ownerId:a.owner_id})})]})]})}var w=a.i(953528),x=a.i(25668),y=a.i(191525),z=a.i(779958),A=a.i(89275),B=a.i(759793),C=a.i(918768),D=a.i(363928);let E=(0,l.default)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);var F=a.i(84332),G=a.i(695004),H=a.i(93098),I=a.i(58643),J=a.i(867561);a.s(["default",0,function({children:a}){let j=(0,d.useParams)(),k=(0,d.useRouter)(),l=(0,d.usePathname)(),{slug:m}=(0,g.useWorkspace)(),n=(0,d.useSearchParams)(),o=j.id,q=!!n.get("conv"),r=l.includes("/activity")||q?"activity":l.includes("/meetings")?"meetings":l.includes("/email")?"email":l.includes("/files")?"files":"chat",{agents:s,runtimes:t,handleDeleteAgent:u,handleUpdateAgent:K}=(0,f.useAgentContext)(),L=s.find(a=>a.id===o),M=L?t.find(a=>a.id===L.runtime_id):null,N=M?.status==="online",{activeTaskCounts:O}=(0,f.useAgentContext)(),P=O[o]??0,[Q,R]=(0,c.useState)(!1),[S,T]=(0,c.useState)(!1),[U,V]=(0,c.useState)(!1),[W,X]=(0,c.useState)(!1),[Y,Z]=(0,c.useState)({});return(0,c.useEffect)(()=>{(0,p.fetchModelOptions)().then(Z).catch(()=>{})},[]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border/50 px-3 md:px-5 py-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[L?(0,b.jsx)(y.AgentStatusBadge,{isOnline:N,taskCount:P,agentId:o}):(0,b.jsx)(x.Skeleton,{className:"size-2 rounded-full shrink-0"}),L?(0,b.jsx)(e.default,{href:`/w/${m}/agents/${o}`,onClick:()=>R(!1),className:"text-sm font-medium truncate hover:text-foreground/80 transition-colors",children:(0,b.jsx)("span",{title:L.description||"No description",children:L.name})}):(0,b.jsx)(x.Skeleton,{className:"h-3.5 w-24"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:["/ ",Q?"Settings":({email:"Email",meetings:"Meetings",activity:"Activity",files:"Files"})[r]??"Chat"]})]}),L?(0,b.jsx)("div",{className:"flex items-center gap-0.5 shrink-0",children:Q?(0,b.jsxs)(h.Button,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground h-7 gap-1 px-2",onClick:()=>R(!1),children:[(0,b.jsx)(I.X,{className:"size-3"}),"Cancel"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"hidden sm:flex items-center gap-0.5",children:[(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"chat"===r?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(D.MessageSquare,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"chat"===r?"max-w-16 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Chat"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}/email`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"email"===r?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(C.Mail,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"email"===r?"max-w-16 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Email"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}/meetings`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"meetings"===r?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(H.Video,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"meetings"===r?"max-w-20 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-20 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Meetings"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}/activity`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"activity"===r?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(B.History,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"activity"===r?"max-w-16 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Activity"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}/files`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"files"===r?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(z.FolderOpen,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"files"===r?"max-w-16 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Files"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/threads?agentId=${o}`,className:"group inline-flex items-center rounded-lg text-xs text-muted-foreground h-7 px-2 hover:bg-muted hover:text-foreground transition-all",children:[(0,b.jsx)(A.GitBranch,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"max-w-0 opacity-0 group-hover:max-w-20 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300 overflow-hidden transition-all duration-500 ease-out",children:"Threads"})]}),(0,b.jsx)("div",{className:"w-px h-4 bg-border mx-1"}),(0,b.jsxs)("button",{className:"group inline-flex items-center rounded-lg text-xs text-muted-foreground h-7 px-2 hover:bg-muted hover:text-foreground transition-all",onClick:()=>R(!0),children:[(0,b.jsx)(F.Pencil,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"max-w-0 opacity-0 group-hover:max-w-12 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300 overflow-hidden transition-all duration-500 ease-out",children:"Edit"})]}),(0,b.jsxs)("button",{className:"group inline-flex items-center rounded-lg text-xs text-muted-foreground h-7 px-2 hover:bg-muted hover:text-destructive transition-all",onClick:()=>V(!0),children:[(0,b.jsx)(G.Trash2,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300 overflow-hidden transition-all duration-500 ease-out",children:"Remove"})]})]}),(0,b.jsx)("div",{className:"sm:hidden",children:(0,b.jsxs)(J.DropdownMenu,{children:[(0,b.jsx)(J.DropdownMenuTrigger,{render:(0,b.jsx)(h.Button,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground"}),children:(0,b.jsx)(E,{className:"size-4"})}),(0,b.jsxs)(J.DropdownMenuContent,{align:"end",sideOffset:6,children:["chat"!==r&&(0,b.jsxs)(J.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}`),children:[(0,b.jsx)(D.MessageSquare,{className:"size-3.5"})," Chat"]}),"email"!==r&&(0,b.jsxs)(J.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}/email`),children:[(0,b.jsx)(C.Mail,{className:"size-3.5"})," Email"]}),"meetings"!==r&&(0,b.jsxs)(J.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}/meetings`),children:[(0,b.jsx)(H.Video,{className:"size-3.5"})," Meetings"]}),"activity"!==r&&(0,b.jsxs)(J.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}/activity`),children:[(0,b.jsx)(B.History,{className:"size-3.5"})," Activity"]}),"files"!==r&&(0,b.jsxs)(J.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}/files`),children:[(0,b.jsx)(z.FolderOpen,{className:"size-3.5"})," Files"]}),(0,b.jsxs)(J.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/threads?agentId=${o}`),children:[(0,b.jsx)(A.GitBranch,{className:"size-3.5"}),"Threads"]}),(0,b.jsx)(J.DropdownMenuSeparator,{}),(0,b.jsxs)(J.DropdownMenuItem,{onClick:()=>R(!0),children:[(0,b.jsx)(F.Pencil,{className:"size-3.5"}),"Edit"]}),(0,b.jsx)(J.DropdownMenuSeparator,{}),(0,b.jsxs)(J.DropdownMenuItem,{variant:"destructive",onClick:()=>V(!0),children:[(0,b.jsx)(G.Trash2,{className:"size-3.5"}),"Remove"]})]})]})})]})}):(0,b.jsx)("div",{className:"h-7 shrink-0"})]}),Q&&L?(0,b.jsx)(v,{agent:L,runtimes:t,modelOptions:Y,saving:S,onCancel:()=>R(!1),onSave:async a=>{T(!0);try{let b=await K(L.id,a);return b&&R(!1),b}finally{T(!1)}}}):(0,b.jsxs)("div",{className:"flex-1 min-h-0 overflow-hidden flex flex-col",children:["chat"===r&&(0,b.jsx)(w.ChannelBar,{}),a]}),L&&(0,b.jsx)(i.ConfirmDialog,{open:U,onOpenChange:V,title:"Remove agent",description:`This will permanently delete "${L.name}" and all its conversations.`,loading:W,onConfirm:async()=>{X(!0);try{await u(L.id)&&k.push(`/w/${m}/home`)}finally{X(!1),V(!1)}}})]})}],812187)}];
|
|
1
|
+
module.exports=[812187,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(207058),e=a.i(26822),f=a.i(752792),g=a.i(506180),h=a.i(732254),i=a.i(22902),j=a.i(654461),k=a.i(75118),l=a.i(790090);let m=(0,l.default)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var n=a.i(137993),o=a.i(889624),p=a.i(588339),q=a.i(921584),r=a.i(224226);a.i(735132);var s=a.i(628508),t=a.i(325848);function u({ratio:a,size:c=16,stroke:d=1.5}){let e=(c-d)/2,f=2*Math.PI*e,g=(a<=0?0:a>=1?1:Math.log1p(99*a)/Math.log(100))*f;return(0,b.jsxs)("svg",{width:c,height:c,className:"shrink-0 -rotate-90","aria-hidden":!0,children:[(0,b.jsx)("circle",{cx:c/2,cy:c/2,r:e,fill:"none",stroke:"currentColor",strokeWidth:d,className:"text-border"}),(0,b.jsx)("circle",{cx:c/2,cy:c/2,r:e,fill:"none",stroke:"currentColor",strokeWidth:d,strokeDasharray:`${g} ${f-g}`,strokeLinecap:"round",className:(0,k.cn)("transition-all duration-300",a>.9?"text-destructive/70":a>.7?"text-yellow-500/50":"text-muted-foreground/30")})]})}function v({agent:a,runtimes:d,modelOptions:e,onSave:f,onCancel:i,saving:l}){let{workspaceId:w}=(0,g.useWorkspace)(),[x,y]=(0,c.useState)("general"),[z,A]=(0,c.useState)(a.name??""),[B,C]=(0,c.useState)(a.description??""),[D,E]=(0,c.useState)(a.runtime_id??""),[F,G]=(0,c.useState)(()=>(0,t.parseAvatarUrl)(a.avatar_url)??t.DEFAULT_CONFIG),[H,I]=(0,c.useState)(()=>{let b=a.runtime_config;return"string"==typeof b?.model?b.model:""}),[J,K]=(0,c.useState)(a.instructions??""),[L,M]=(0,c.useState)(a.instructions??""),N=(0,c.useRef)(J);(0,c.useEffect)(()=>{N.current=J},[J]);let O=(0,c.useRef)(L);(0,c.useEffect)(()=>{O.current=L},[L]);let P=(0,c.useRef)(null),Q=(0,c.useRef)(!1),R=(0,c.useRef)(()=>{}),S=(0,c.useCallback)(async()=>{if(Q.current)return;let b=N.current;if(b!==O.current){Q.current=!0;try{await (0,p.updateAgent)(a.id,{instructions:b},w),M(b)}catch(a){q.toast.error(a instanceof Error?a.message:"Failed to save instructions")}finally{Q.current=!1,N.current!==O.current&&R.current()}}},[a.id,w]),T=(0,c.useCallback)(()=>{P.current&&clearTimeout(P.current),P.current=setTimeout(S,500)},[S]);(0,c.useEffect)(()=>{R.current=T},[T]);let U=(0,c.useCallback)(a=>{K(a),T()},[T]);(0,c.useEffect)(()=>{let b=()=>{if(P.current&&clearTimeout(P.current),N.current!==O.current){let b=new URLSearchParams({workspace_id:w});fetch(`/api/agents/${a.id}?${b}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({instructions:N.current}),keepalive:!0})}};return window.addEventListener("beforeunload",b),()=>window.removeEventListener("beforeunload",b)},[a.id,w]),(0,c.useEffect)(()=>()=>{if(P.current&&clearTimeout(P.current),N.current!==O.current){let b=new URLSearchParams({workspace_id:w});fetch(`/api/agents/${a.id}?${b}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({instructions:N.current}),keepalive:!0})}},[a.id,w]);let V=d.find(a=>a.id===D),W=V&&e?e[V.provider]??[]:[],X=async a=>{a.preventDefault(),await f({name:z,description:B,runtime_id:D,runtime_config:H?{model:H}:{},avatar_url:(0,t.serializeAvatarConfig)(F)})},Y=[{id:"general",label:"General"},{id:"instruction",label:"Instruction"},{id:"email",label:"Email"},{id:"permission",label:"Permission"}],Z="general"===x||"email"===x,$=J.length/5e4;return(0,b.jsxs)("div",{className:"flex flex-1 min-h-0",children:[(0,b.jsx)("nav",{className:"w-48 shrink-0 border-r border-border/50 py-3 px-2 hidden md:block",children:Y.map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>y(a.id),className:(0,k.cn)("w-full rounded-md px-2.5 py-1.5 text-left text-sm transition-colors",x===a.id?"bg-accent text-foreground font-medium":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:a.label},a.id))}),(0,b.jsxs)("div",{className:"flex-1 min-w-0 flex flex-col",children:[(0,b.jsx)("div",{className:"px-4 pt-2 md:hidden",children:(0,b.jsx)(j.Tabs,{className:"items-center",value:x,onValueChange:a=>y(a),children:(0,b.jsx)(j.TabsList,{className:"h-auto gap-1",children:Y.map(a=>(0,b.jsx)(j.TabsTrigger,{value:a.id,children:a.label},a.id))})})}),"instruction"===x?(0,b.jsxs)("div",{className:"flex flex-col flex-1 min-h-0",children:[(0,b.jsx)("div",{className:"flex-1 px-6 pt-4 pb-4 overflow-y-auto",children:(0,b.jsx)(o.MarkdownEditor,{value:J,onChange:U,placeholder:"Write instructions for this agent...",minHeight:"calc(100vh - 240px)",contentType:"markdown",variant:"seamless"})}),(0,b.jsxs)("div",{className:"flex items-center gap-2 px-6 py-3 border-t border-border/50",children:[(0,b.jsx)(u,{ratio:$}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Agent-specific instruction. Your global instruction is prepended automatically."})]})]}):(0,b.jsx)("div",{className:"flex-1 overflow-y-auto thin-scrollbar px-5 py-6",children:Z?(0,b.jsxs)("form",{onSubmit:X,className:"mx-auto max-w-md space-y-4",children:["general"===x&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s.AvatarPickerDialog,{config:F,onChange:G}),(0,b.jsx)(r.GeneralFields,{name:z,setName:A,description:B,setDescription:C,model:H,setModel:I,runtimeId:D,setRuntimeId:E,runtimes:d,providerModels:W}),(0,b.jsx)(r.PinToggle,{agentId:a.id})]}),"email"===x&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"rounded-lg border border-border/50 bg-muted/30 px-4 py-3",children:[(0,b.jsxs)("div",{className:"mb-2.5 flex items-center gap-1.5",children:[(0,b.jsx)(m,{className:"size-3 text-muted-foreground/60"}),(0,b.jsx)("span",{className:"text-xs font-medium text-muted-foreground/60",children:"Set at creation"})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"Email"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a.email_handle?`${a.email_handle}@alook.ai`:"Not configured"})]})]}),(0,b.jsx)(n.CustomEmailForm,{agentId:a.id,workspaceId:a.workspace_id}),a.email_handle&&(0,b.jsx)("div",{className:"border-t border-border/50 pt-4 mt-4",children:(0,b.jsx)(r.AllowedSendersTab,{agentId:a.id})})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 pt-2",children:[(0,b.jsx)(h.Button,{type:"button",variant:"ghost",size:"sm",onClick:i,children:"Cancel"}),(0,b.jsx)(h.Button,{type:"submit",size:"sm",disabled:l||!z,children:l?"Saving...":"Save"})]})]}):(0,b.jsx)(r.AgentAccessTab,{agentId:a.id,ownerId:a.owner_id})})]})]})}var w=a.i(953528),x=a.i(25668),y=a.i(191525),z=a.i(779958),A=a.i(89275),B=a.i(759793),C=a.i(918768),D=a.i(363928);let E=(0,l.default)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);var F=a.i(84332),G=a.i(695004),H=a.i(93098),I=a.i(58643),J=a.i(867561),K=a.i(525132);a.s(["default",0,function({children:a}){let j=(0,d.useParams)(),k=(0,d.useRouter)(),l=(0,d.usePathname)(),{slug:m}=(0,g.useWorkspace)(),n=(0,d.useSearchParams)(),o=j.id,q=!!n.get("conv"),r=l.includes("/activity")||q?"activity":l.includes("/meetings")?"meetings":l.includes("/email")?"email":l.includes("/files")?"files":"chat",{agents:s,runtimes:t,handleDeleteAgent:u,handleUpdateAgent:L}=(0,f.useAgentContext)(),M=s.find(a=>a.id===o),N=M?t.find(a=>a.id===M.runtime_id):null,O=N?.status==="online",{activeTaskCounts:P}=(0,f.useAgentContext)(),Q=P[o]??0,[R,S]=(0,c.useState)(!1),[T,U]=(0,c.useState)(!1),[V,W]=(0,c.useState)(!1),[X,Y]=(0,c.useState)(!1),[Z,$]=(0,c.useState)({});return(0,c.useEffect)(()=>{(0,p.fetchModelOptions)().then($).catch(()=>{})},[]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border/50 px-3 md:px-5 py-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[M?(0,b.jsx)(y.AgentStatusBadge,{isOnline:O,taskCount:Q,agentId:o}):(0,b.jsx)(x.Skeleton,{className:"size-2 rounded-full shrink-0"}),M?(0,b.jsxs)(K.Tooltip,{children:[(0,b.jsx)(K.TooltipTrigger,{render:(0,b.jsx)(e.default,{href:`/w/${m}/agents/${o}`,onClick:()=>S(!1),className:"text-sm font-medium truncate hover:text-foreground/80 transition-colors"}),children:M.name}),(0,b.jsx)(K.TooltipContent,{children:M.description||"No description"})]}):(0,b.jsx)(x.Skeleton,{className:"h-3.5 w-24"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:["/ ",R?"Settings":({email:"Email",meetings:"Meetings",activity:"Activity",files:"Files"})[r]??"Chat"]})]}),M?(0,b.jsx)("div",{className:"flex items-center gap-0.5 shrink-0",children:R?(0,b.jsxs)(h.Button,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground h-7 gap-1 px-2",onClick:()=>S(!1),children:[(0,b.jsx)(I.X,{className:"size-3"}),"Cancel"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"hidden sm:flex items-center gap-0.5",children:[(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"chat"===r?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(D.MessageSquare,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"chat"===r?"max-w-16 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Chat"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}/email`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"email"===r?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(C.Mail,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"email"===r?"max-w-16 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Email"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}/meetings`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"meetings"===r?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(H.Video,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"meetings"===r?"max-w-20 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-20 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Meetings"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}/activity`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"activity"===r?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(B.History,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"activity"===r?"max-w-16 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Activity"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}/files`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"files"===r?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(z.FolderOpen,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"files"===r?"max-w-16 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Files"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/threads?agentId=${o}`,className:"group inline-flex items-center rounded-lg text-xs text-muted-foreground h-7 px-2 hover:bg-muted hover:text-foreground transition-all",children:[(0,b.jsx)(A.GitBranch,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"max-w-0 opacity-0 group-hover:max-w-20 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300 overflow-hidden transition-all duration-500 ease-out",children:"Threads"})]}),(0,b.jsx)("div",{className:"w-px h-4 bg-border mx-1"}),(0,b.jsxs)("button",{className:"group inline-flex items-center rounded-lg text-xs text-muted-foreground h-7 px-2 hover:bg-muted hover:text-foreground transition-all",onClick:()=>S(!0),children:[(0,b.jsx)(F.Pencil,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"max-w-0 opacity-0 group-hover:max-w-12 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300 overflow-hidden transition-all duration-500 ease-out",children:"Edit"})]}),(0,b.jsxs)("button",{className:"group inline-flex items-center rounded-lg text-xs text-muted-foreground h-7 px-2 hover:bg-muted hover:text-destructive transition-all",onClick:()=>W(!0),children:[(0,b.jsx)(G.Trash2,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300 overflow-hidden transition-all duration-500 ease-out",children:"Remove"})]})]}),(0,b.jsx)("div",{className:"sm:hidden",children:(0,b.jsxs)(J.DropdownMenu,{children:[(0,b.jsx)(J.DropdownMenuTrigger,{render:(0,b.jsx)(h.Button,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground"}),children:(0,b.jsx)(E,{className:"size-4"})}),(0,b.jsxs)(J.DropdownMenuContent,{align:"end",sideOffset:6,children:["chat"!==r&&(0,b.jsxs)(J.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}`),children:[(0,b.jsx)(D.MessageSquare,{className:"size-3.5"})," Chat"]}),"email"!==r&&(0,b.jsxs)(J.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}/email`),children:[(0,b.jsx)(C.Mail,{className:"size-3.5"})," Email"]}),"meetings"!==r&&(0,b.jsxs)(J.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}/meetings`),children:[(0,b.jsx)(H.Video,{className:"size-3.5"})," Meetings"]}),"activity"!==r&&(0,b.jsxs)(J.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}/activity`),children:[(0,b.jsx)(B.History,{className:"size-3.5"})," Activity"]}),"files"!==r&&(0,b.jsxs)(J.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}/files`),children:[(0,b.jsx)(z.FolderOpen,{className:"size-3.5"})," Files"]}),(0,b.jsxs)(J.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/threads?agentId=${o}`),children:[(0,b.jsx)(A.GitBranch,{className:"size-3.5"}),"Threads"]}),(0,b.jsx)(J.DropdownMenuSeparator,{}),(0,b.jsxs)(J.DropdownMenuItem,{onClick:()=>S(!0),children:[(0,b.jsx)(F.Pencil,{className:"size-3.5"}),"Edit"]}),(0,b.jsx)(J.DropdownMenuSeparator,{}),(0,b.jsxs)(J.DropdownMenuItem,{variant:"destructive",onClick:()=>W(!0),children:[(0,b.jsx)(G.Trash2,{className:"size-3.5"}),"Remove"]})]})]})})]})}):(0,b.jsx)("div",{className:"h-7 shrink-0"})]}),R&&M?(0,b.jsx)(v,{agent:M,runtimes:t,modelOptions:Z,saving:T,onCancel:()=>S(!1),onSave:async a=>{U(!0);try{let b=await L(M.id,a);return b&&S(!1),b}finally{U(!1)}}}):(0,b.jsxs)("div",{className:"flex-1 min-h-0 overflow-hidden flex flex-col",children:["chat"===r&&(0,b.jsx)(w.ChannelBar,{}),a]}),M&&(0,b.jsx)(i.ConfirmDialog,{open:V,onOpenChange:W,title:"Remove agent",description:`This will permanently delete "${M.name}" and all its conversations.`,loading:X,onConfirm:async()=>{Y(!0);try{await u(M.id)&&k.push(`/w/${m}/home`)}finally{Y(!1),W(!1)}}})]})}],812187)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_web_src_app_%28app%29_w_%5Bslug%5D_agents_%5Bid%5D_layout_tsx_0juu2um._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[493154,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(506180),e=a.i(588339),f=a.i(70813),g=a.i(430744),h=a.i(25668),i=a.i(
|
|
1
|
+
module.exports=[493154,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(506180),e=a.i(588339),f=a.i(70813),g=a.i(430744),h=a.i(25668),i=a.i(732254),j=a.i(221959),k=a.i(58643);a.i(735132);var l=a.i(949409),m=a.i(387123),n=a.i(525132);function o({item:a,slug:c,onClick:d,onUnflag:e}){return(0,b.jsx)("a",{href:`/w/${c}/agents/${a.agent_id}?conv=${a.conversation_id}`,onClick:d,className:"block px-4 py-3 border-b border-border/30 hover:bg-accent/30 transition-colors duration-150 cursor-pointer",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(l.AgentAvatar,{name:a.agent_name,avatarUrl:a.agent_avatar_url}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,b.jsx)("span",{className:"text-sm text-foreground truncate flex-1 min-w-0",children:a.message_content}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{render:(0,b.jsx)("span",{className:"text-xs text-muted-foreground shrink-0 ml-2"}),children:(0,m.relativeTime)(a.flagged_at)}),(0,b.jsx)(n.TooltipContent,{children:new Date(a.flagged_at).toLocaleString()})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mt-0.5",children:[a.agent_name&&(0,b.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:a.agent_name}),a.conversation_title&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-muted-foreground/40",children:"·"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a.conversation_title})]})]})]}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{render:(0,b.jsx)(i.Button,{variant:"ghost",size:"icon-sm",onClick:a=>{a.preventDefault(),a.stopPropagation(),e()},className:"text-muted-foreground"}),children:(0,b.jsx)(k.X,{className:"size-3.5"})}),(0,b.jsx)(n.TooltipContent,{children:"Unflag"})]})]})})}function p({promptWidth:a}){return(0,b.jsx)("div",{className:"px-4 py-3 border-b border-border/30",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Skeleton,{className:"size-8 rounded-full shrink-0"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)(h.Skeleton,{className:"h-3.5 rounded",style:{width:a}}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mt-1.5",children:[(0,b.jsx)(h.Skeleton,{className:"h-2.5 w-16 rounded"}),(0,b.jsx)(h.Skeleton,{className:"h-2.5 w-8 rounded"})]})]})]})})}a.s(["default",0,function(){let{slug:a,workspaceId:h}=(0,d.useWorkspace)(),{decrement:i,increment:k}=(0,f.useFlagCount)(),{openAgentChat:l}=(0,g.useAgentChatSheet)(),[m,n]=(0,c.useState)([]),[q,r]=(0,c.useState)(!0),[s,t]=(0,c.useState)(!1),[u,v]=(0,c.useState)(!1),w=(0,c.useRef)(null),x=(0,c.useRef)(!1),y=(0,c.useCallback)(async()=>{r(!0);try{let a=await (0,e.listFlaggedItems)(h,{limit:30});n(a.items),t(a.has_more)}catch{}finally{r(!1)}},[h]);(0,c.useEffect)(()=>{y()},[y]);let z=(0,c.useCallback)(async()=>{if(!x.current&&s&&0!==m.length){x.current=!0,v(!0);try{let a=m[m.length-1],b=await (0,e.listFlaggedItems)(h,{limit:30,before:a.flagged_at});if(0===b.items.length)return void t(!1);t(b.has_more),n(a=>{let c=new Set(a.map(a=>a.id)),d=b.items.filter(a=>!c.has(a.id));return[...a,...d]})}finally{x.current=!1,v(!1)}}},[h,m,s]),A=(0,c.useCallback)(()=>{let a=w.current;if(!a)return;let b=a.scrollHeight-a.scrollTop-a.clientHeight<200;!u&&s&&b&&z()},[z,u,s]),B=(0,c.useCallback)(async a=>{n(b=>b.filter(b=>b.id!==a.id)),i();try{await (0,e.unflagMessage)(h,a.message_id)}catch{n(b=>[...b,a].sort((a,b)=>b.flagged_at.localeCompare(a.flagged_at))),k()}},[h,i,k]);return(0,b.jsxs)("div",{className:"flex flex-col h-full",children:[(0,b.jsx)("div",{className:"flex items-center justify-between border-b border-border/50 px-3 md:px-5 py-2.5 gap-3",children:(0,b.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,b.jsx)("h1",{className:"text-sm font-medium",children:"Flagged"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground hidden md:block",children:"Messages you flagged for later."})]})}),(0,b.jsx)("div",{ref:w,onScroll:A,className:"flex-1 overflow-y-auto thin-scrollbar",children:q?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(p,{promptWidth:"60%"}),(0,b.jsx)(p,{promptWidth:"45%"}),(0,b.jsx)(p,{promptWidth:"70%"}),(0,b.jsx)(p,{promptWidth:"55%"})]}):0===m.length?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground gap-3 py-20",children:[(0,b.jsx)(j.Flag,{className:"size-10 opacity-30"}),(0,b.jsx)("p",{className:"text-sm",children:"No flagged messages"})]}):(0,b.jsxs)(b.Fragment,{children:[m.map(c=>(0,b.jsx)(o,{item:c,slug:a,onClick:a=>{a.metaKey||a.ctrlKey||a.shiftKey||0!==a.button||(a.preventDefault(),l(c.agent_id,{conversationId:c.conversation_id,messageId:c.message_id}))},onUnflag:()=>B(c)},c.id)),u&&(0,b.jsx)(p,{promptWidth:"50%"})]})})]})}])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_web_src_app_%28app%29_w_%5Bslug%5D_flags_page_tsx_01u6ba1._.js.map
|