@alook/app 0.0.84 → 0.0.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/email-worker/index.js +6 -0
- package/bundled/email-worker/wrangler.toml +3 -0
- 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-iq3n0xk3eip.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/01y706~-elw55.css +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/06hxjzxq7-e03.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0d..9l~-zlc8y.js +60 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0f1jfqtbuvzk5.js +11 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{0~xam~jpkm~vn.js → 0h4ll.t5at.ac.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0h5tl-yh9wijv.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0madzro0r0v7m.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{07zixwn.53xcm.js → 0rfha8b_f3.d1.js} +3 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/{0oh4spqzj65-a.js → 0t2w-7.88r2xw.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0tvembqw.e82g.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0yhw7i91nm01l.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0zz2mxapzj90g.js +63 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0~itw~3ppm1_~.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/12h09aou2lrrx.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/15a-4vnz.3b5g.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{0bwptiqeu8.61.js → 16_j-kl72ldc4.js} +1 -1
- package/bundled/web/.open-next/cache/{uqh7k2CfR4q4Ho7LkspzI → SpcOOHJ2eqA1R7TZbgWwM}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/SpcOOHJ2eqA1R7TZbgWwM/_not-found.cache +1 -0
- package/bundled/web/.open-next/cache/SpcOOHJ2eqA1R7TZbgWwM/privacy.cache +1 -0
- package/bundled/web/.open-next/cache/{uqh7k2CfR4q4Ho7LkspzI → SpcOOHJ2eqA1R7TZbgWwM}/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 +6 -6
- 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/app-path-routes-manifest.json +1 -0
- 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 +27 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/required-server-files.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/routes-manifest.json +6 -0
- 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/calendar/[id]/route.js +2 -2
- 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/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/privacy/page/react-loadable-manifest.json +1 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/privacy/page.js +16 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/privacy/page_client-reference-manifest.js +3 -0
- 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/app-paths-manifest.json +1 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/0b5f_next_dist_esm_build_templates_app-route_08rz-qa.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0.1vmoe._.js +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__00_g5g4._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__027mioa._.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__02_0idg._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0grx101._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0kc1f.6._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0m_ya4f._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0niqi98._.js +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +22 -15
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0-7a9se._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_007pf4f._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0266t8u._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_037ndoa._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_04gp_km._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_05zp0zn._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_091mubc._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_09j_99x._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0aveiot._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0cji8yc._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0drn_ol._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0exm5_w._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0f.tk9k._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0g1_3hn._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0h3guve._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0h_dgb9._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0hxvvdy._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ke5r~m._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0l0biq~._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0oyl16-._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0pt9vvp._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0w6dw.t._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_12gxjds._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_13hlohp._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0mko5ir._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{0b5f_next_06huxd3._.js → 0b5f_next_dist_0-mvgs7._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/0b5f_next_dist_0xp.zww._.js +5 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/0b5f_next_dist_esm_build_templates_app-page_0bu809z.js +4 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/0i4a_@swc_helpers_cjs__interop_require_default_cjs_0xjeo11._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__00-llal._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__04aaf9e._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0rdn-xi._.js → [root-of-the-server]__05_ai99._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0na6feh._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__091lwu-._.js → [root-of-the-server]__0q~bq1n._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0~w0d_-._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +22 -15
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_015fu61._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0tu039y._.js → _01opi~8._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_11h_8jo._.js → _02ui5fr._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_063q-hj._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0d32yp~._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0ktjqeo._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0opajnf._.js +5 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0qeoehj._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0sh5zo0._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0t5o.14._.js +65 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0v-raz0._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0y-_3on._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_12e18r-._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_13__3im._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web__next-internal_server_app_privacy_page_actions_05yf_9h.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0~23g-y._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_agents_[id]_meetings_page_tsx_073~u~-._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_calendar_page_tsx_01geiyd._.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/next-font-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/next-font-manifest.json +7 -0
- 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 +87 -79
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +458 -296
- package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +6 -6
- package/bundled/ws-do/index.js +6 -0
- package/dist/cli/index.js +11 -0
- package/dist/cli/session-runner.js +11 -0
- package/dist/index.js +14 -2
- package/package.json +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/03s92jcv9_0ve.css +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/08rxpkmwrl28j.js +0 -11
- package/bundled/web/.open-next/assets/_next/static/chunks/0aedy~23652fn.js +0 -63
- package/bundled/web/.open-next/assets/_next/static/chunks/0dbw1te5ym2kd.js +0 -2
- package/bundled/web/.open-next/assets/_next/static/chunks/0e32q02m3ewux.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/0e3fj46r9j0os.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0e68yx9h-f6.4.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0j2~fioc-ekva.js +0 -59
- package/bundled/web/.open-next/assets/_next/static/chunks/0jahw0dpk9vgc.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/0yc2_do5~yn9l.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/10y9irnmfgbfy.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/15lauqmpngfj2.js +0 -1
- package/bundled/web/.open-next/cache/uqh7k2CfR4q4Ho7LkspzI/_not-found.cache +0 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/01k0_lucide-react_dist_esm_icons_clock_mjs_05q1~5y._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0esiqa8._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_02qoj2p._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0rgicks._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0st8pau._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0uvfz-u._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0xg~7mg._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0y3mwm6._.js +0 -65
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_11~t2ti._.js +0 -3
- /package/bundled/web/.open-next/assets/_next/static/{uqh7k2CfR4q4Ho7LkspzI → SpcOOHJ2eqA1R7TZbgWwM}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{uqh7k2CfR4q4Ho7LkspzI → SpcOOHJ2eqA1R7TZbgWwM}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{uqh7k2CfR4q4Ho7LkspzI → SpcOOHJ2eqA1R7TZbgWwM}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{uqh7k2CfR4q4Ho7LkspzI → SpcOOHJ2eqA1R7TZbgWwM}/robots.txt.cache +0 -0
|
@@ -322,6 +322,6 @@ Report additionally:
|
|
|
322
322
|
- Don't make policy exceptions without escalating to the leader.
|
|
323
323
|
- Don't send a response you're unsure about — flag it as DONE_WITH_CONCERNS.
|
|
324
324
|
|
|
325
|
-
${e}`;a.s(["SCENARIO_PRESETS",0,[{id:"software-dev",label:"Software Development",description:"Build and ship code with a coordinated dev team",icon:"🖥",members:[{role:"leader",description:"Coordinates work, summarizes results, and replies to you",instructions:f},{role:"engineer",description:"Writes code, runs tests, and verifies implementations",instructions:i},{role:"researcher",description:"Reads code, explores APIs, and gathers technical context",instructions:g}]},{id:"content-research",label:"Content & Research",description:"Research topics, write content, and manage publishing",icon:"📝",members:[{role:"leader",description:"Coordinates work, shapes content direction, and delivers output",instructions:f},{role:"researcher",description:"Finds sources, verifies facts, and organizes references",instructions:h},{role:"assistant",description:"Handles formatting, publishing workflows, and follow-ups",instructions:j}]},{id:"personal-assistant",label:"Personal Assistant",description:"One AI that handles your everyday tasks and communications",icon:"🤖",members:[{role:"leader",description:"Handles all tasks directly — emails, research, scheduling, and more",instructions:k}]},{id:"sales-outreach",label:"Sales & Outreach",description:"Prospect, follow up, and close deals as a team",icon:"📈",members:[{role:"leader",description:"Coordinates outreach strategy and manages deal flow",instructions:f},{role:"researcher",description:"Researches prospects, companies, and market intelligence",instructions:l},{role:"assistant",description:"Handles outreach emails, follow-ups, and pipeline tracking",instructions:m}]},{id:"customer-support",label:"Customer Support",description:"Handle tickets, draft replies, and track resolutions",icon:"🎧",members:[{role:"leader",description:"Coordinates support queue and handles escalations",instructions:f},{role:"assistant",description:"Drafts customer responses and tracks open issues",instructions:n}]},{id:"custom",label:"Custom",description:"Build your own team from scratch",icon:"✨",members:[{role:"leader",description:"Coordinates work and replies to you",instructions:f}]}],"shuffleMembers",0,function(a){let d=new Set,e=[];for(let f=0;f<a;f++){let a,f=0;do a=(0,b.uniqueNamesGenerator)({dictionaries:[b.names],length:1,style:"capital"}),f++;while(d.has(a)&&f<100)d.add(a),e.push({name:a,avatarUrl:(0,c.serializeAvatarConfig)((0,c.randomConfig)())})}return e}])},212484,a=>{"use strict";var b=a.i(749314),c=a.i(75118),d=a.i(762276);a.s(["ScenarioPicker",0,function({selected:a,onSelect:e,onBrowseTemplates:f}){return(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("h2",{className:"text-base font-semibold tracking-tight",children:"What will your company focus on?"}),f&&(0,b.jsxs)("button",{type:"button",onClick:f,className:"text-[11px] text-muted-foreground hover:text-foreground transition-colors underline underline-offset-2",children:["Browse templates ",(0,b.jsx)("span",{"aria-hidden":"true",children:"›"})]})]}),(0,b.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:d.SCENARIO_PRESETS.map(d=>(0,b.jsxs)("button",{onClick:()=>e(d.id),className:(0,c.cn)("flex flex-col items-start gap-1 rounded-lg border p-4 text-left transition-all hover:border-foreground/30",a===d.id?"border-foreground/50 bg-muted/50":"border-border"),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(0,b.jsx)("span",{className:"text-lg",children:d.icon}),(0,b.jsxs)("span",{className:"text-[10px] text-muted-foreground/70",children:[d.members.length," agent",d.members.length>1?"s":""]})]}),(0,b.jsx)("span",{className:"text-sm font-medium",children:d.label}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground leading-tight",children:d.description})]},d.id))})]})}])},263233,a=>{"use strict";var b=a.i(749314),c=a.i(75118),d=a.i(732254),e=a.i(439882),f=a.i(877014);a.i(735132);var g=a.i(325848),h=a.i(354498),i=a.i(74414);let j={leader:"Lead",researcher:"Researcher",engineer:"Engineer",assistant:"Assistant"};a.s(["TeamPreview",0,function({members:a,runtimes:k,onShuffle:l,onAssignRuntime:m}){let n=k.length>1&&m;return(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("h2",{className:"text-base font-semibold tracking-tight",children:"Your company"}),(0,b.jsxs)(d.Button,{variant:"ghost",size:"sm",onClick:l,className:"h-7 text-xs gap-1.5",children:[(0,b.jsx)(f.RefreshCw,{className:"size-3"}),"Shuffle"]})]}),(0,b.jsx)("div",{className:(0,c.cn)("grid gap-3 grid-cols-1",2===a.length&&"sm:grid-cols-2",3===a.length&&"sm:grid-cols-2 md:grid-cols-3",a.length>=4&&"sm:grid-cols-2 md:grid-cols-4"),children:a.map((a,c)=>{let d,f=a.avatarUrl?(0,g.parseAvatarUrl)(a.avatarUrl):null;return(0,b.jsxs)(e.Card,{size:"sm",className:"flex flex-col px-3 py-4 gap-2 h-full",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5",children:[f?(0,b.jsx)(g.AvatarRenderer,{config:f,size:36,className:"rounded-xl shrink-0"}):(0,b.jsx)("div",{className:"size-9 rounded-xl bg-muted flex items-center justify-center text-sm font-semibold shrink-0",children:a.name.charAt(0)}),(0,b.jsxs)("div",{className:"flex flex-col items-start gap-0.5",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:a.name}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground bg-muted/60 px-1.5 py-0.5 rounded",children:j[a.role]})]})]}),(0,b.jsxs)("p",{className:"text-[10px] text-muted-foreground/70 font-mono truncate",children:[a.emailHandle||a.name.toLowerCase(),"@alook.ai"]}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground leading-snug flex-1",children:a.description}),n&&(d=k.find(b=>b.id===a.runtimeId),(0,b.jsx)("div",{className:"mt-1",children:(0,b.jsxs)(h.Select,{value:a.runtimeId,onValueChange:a=>{a&&m(c,a)},children:[(0,b.jsx)(h.SelectTrigger,{className:"h-7 text-[11px]",children:(0,b.jsxs)("div",{className:"flex items-center gap-1.5 truncate",children:[d&&(0,b.jsx)(i.ProviderLogo,{provider:d.provider||"",className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:d?.provider||d?.runtime_mode||"Select"})]})}),(0,b.jsx)(h.SelectPopup,{children:k.map(a=>(0,b.jsx)(h.SelectItem,{value:a.id,children:a.provider||a.runtime_mode},a.id))})]})}))]},c)})})]})}])},927981,a=>a.a(async(b,c)=>{try{var d=a.i(749314),e=a.i(437199),f=a.i(207058),g=a.i(732254),h=a.i(334235),i=a.i(16831),j=a.i(940723),k=a.i(113046),l=a.i(388425),m=a.i(321932),n=a.i(671465),o=a.i(921584),p=a.i(454607),q=a.i(562706),r=a.i(561101),s=a.i(212484),t=a.i(263233),u=a.i(762276),v=a.i(588339),w=a.i(171492),x=b([p]);[p]=x.then?(await x)():x,a.s(["StudioOnboardingClient",0,function({workspaceId:a,workspaceSlug:b,workspaceName:c,initialTemplate:x}){let y=(0,f.useRouter)(),z=!a,[A,B]=(0,e.useState)(a),C=(0,e.useRef)(A);(0,e.useEffect)(()=>{C.current=A},[A]);let[D,E]=(0,e.useState)([]),[F,G]=(0,e.useState)(!!a),[H,I]=(0,e.useState)(x?x.baseScenario:null),[J,K]=(0,e.useState)(z||"Personal"===c?"":c),[L,M]=(0,e.useState)(null),[N,O]=(0,e.useState)(!1),[P,Q]=(0,e.useState)([]),[R,S]=(0,e.useState)(!1),[T,U]=(0,e.useState)(""),[V,W]=(0,e.useState)(!1),[X,Y]=(0,e.useState)(!1),[Z,$]=(0,e.useState)(!1),_=D.filter(a=>"online"===a.status),aa=_.length>0,ab=new Set(_.map(a=>a.daemon_id).filter(Boolean)).size;(0,e.useEffect)(()=>{A&&(0,v.listRuntimes)(A).then(E).catch(()=>{}).finally(()=>G(!1))},[A]);let ac=(0,e.useCallback)(a=>{let b=C.current;if("runtime.registered"===a.type){Y(!0);let c=a.workspaceId;c&&!b?(B(c),(0,v.listRuntimes)(c).then(E).catch(()=>{})):b&&(0,v.listRuntimes)(b).then(E).catch(()=>{})}else if("runtime.status"===a.type&&a.payload?.status==="online"){Y(!0);let a=C.current;a&&(0,v.listRuntimes)(a).then(E).catch(()=>{})}},[]);(0,w.useUserWs)(ac),(0,e.useEffect)(()=>{let a=_[0]?.id;a&&Q(b=>0!==b.length&&b.some(a=>!a.runtimeId)?b.map(b=>b.runtimeId?b:{...b,runtimeId:a}):b)},[_]);let ad=(0,e.useCallback)(async a=>{try{let b=await fetch("/api/studios/check-handles",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({names:a})});if(!b.ok)return null;return await b.json()}catch{return null}},[]);(0,e.useEffect)(()=>{if(!x||F||P.length>0)return;let a=(0,u.shuffleMembers)(x.members.length),b=_[0]?.id||"",c=x.members.map((c,d)=>({name:a[d].name,role:c.role,description:c.description,instructions:c.instructions,avatarUrl:a[d].avatarUrl,runtimeId:b}));Q(c),ad(c.map(a=>a.name)).then(a=>{a&&Q(b=>b.map(b=>{let c=a.find(a=>a.name===b.name);return c?{...b,emailHandle:c.handle}:b}))})},[x,F]);let ae=async a=>{I(a);let b=u.SCENARIO_PRESETS.find(b=>b.id===a),c=(0,u.shuffleMembers)(b.members.length),d=_[0]?.id||"",e=b.members.map((a,b)=>({name:c[b].name,role:a.role,description:a.description,instructions:a.instructions,avatarUrl:c[b].avatarUrl,runtimeId:d}));Q(e);let f=await ad(e.map(a=>a.name));f&&Q(a=>a.map(a=>{let b=f.find(b=>b.name===a.name);return b?{...a,emailHandle:b.handle}:a}))},af=async()=>{let a=(0,u.shuffleMembers)(P.length),b=P.map((b,c)=>({...b,name:a[c].name,avatarUrl:a[c].avatarUrl,emailHandle:void 0}));Q(b);let c=await ad(b.map(a=>a.name));c&&Q(a=>a.map(a=>{let b=c.find(b=>b.name===a.name);return b?{...a,emailHandle:b.handle}:a}))},ag=async()=>{if(J.trim()){O(!0),M(null);try{let a=A?`/api/studios/check-name?name=${encodeURIComponent(J.trim())}&workspace_id=${A}`:`/api/studios/check-name?name=${encodeURIComponent(J.trim())}`,b=await fetch(a),c=await b.json();M(c.available)}catch{M(null),o.toast.error("Failed to check name availability")}finally{O(!1)}}},ah=(0,e.useCallback)(async()=>{W(!0);try{let a=await (0,v.createMachineToken)("cli",A||void 0);U(a.token)}catch{o.toast.error("Failed to generate token")}finally{W(!1)}},[A]),ai=async()=>{S(!0);try{if(!A){o.toast.error("Please connect a computer first"),S(!1);return}let a=await fetch("/api/studios",{method:"POST",headers:{"Content-Type":"application/json","X-Workspace-ID":A},body:JSON.stringify({name:J.trim()||void 0,scenario:H,members:P.map(a=>({name:a.name,role:a.role,runtime_id:a.runtimeId,description:a.description,instructions:a.instructions,avatar_url:a.avatarUrl||null,email_handle:a.emailHandle||void 0}))})});if(!a.ok){let b=await a.json();throw Error(b.error||"Failed to create company")}let b=await a.json();o.toast.success("Company created!"),y.push(`/w/${b.workspace.slug}/agents/${b.leader_agent_id}`)}catch(a){o.toast.error(a instanceof Error?a.message:"Failed to create company"),S(!1)}},aj=z?J.trim()&&!0===L:!1!==L,ak=H&&P.length>0&&P.every(a=>a.runtimeId)&&aj&&(aa||X);return H?(0,d.jsxs)("div",{className:"relative flex min-h-dvh flex-col items-center p-6",children:[(0,d.jsxs)("div",{className:"absolute top-4 left-4 flex items-center gap-1",children:[(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground",onClick:()=>y.push("/workspaces"),children:[(0,d.jsx)(n.LayoutGrid,{className:"size-3 mr-1.5"}),"Workspaces"]}),(0,d.jsx)("span",{className:"text-muted-foreground/40",children:"/"}),(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground",onClick:()=>I(null),children:[(0,d.jsx)(m.ArrowLeft,{className:"size-3 mr-1.5"}),"Back"]})]}),(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"absolute top-4 right-4 text-xs text-muted-foreground",onClick:async()=>{await (0,q.clearAllCache)(),(0,p.signOut)({fetchOptions:{onSuccess:()=>y.push("/sign-in")}})},children:[(0,d.jsx)(l.LogOut,{className:"size-3 mr-1.5"}),"Sign out"]}),(0,d.jsxs)("div",{className:"w-full max-w-3xl space-y-10 py-14",children:[(0,d.jsx)("div",{className:"text-center",children:(0,d.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",style:{fontFamily:"var(--font-news)"},children:"Build your company"})}),F?(0,d.jsx)("div",{className:"flex justify-center py-8",children:(0,d.jsx)(i.Loader2,{className:"size-5 animate-spin text-muted-foreground"})}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h2",{className:"text-base font-semibold tracking-tight",children:"Company name"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.Input,{value:J,onChange:a=>{K(a.target.value),M(null)},placeholder:"e.g. Atlas Lab",className:"text-sm"}),(0,d.jsx)(g.Button,{variant:"outline",size:"sm",onClick:ag,disabled:!J.trim()||N,className:"shrink-0",children:N?(0,d.jsx)(i.Loader2,{className:"size-3 animate-spin"}):"Check"})]}),!1===L&&(0,d.jsxs)("p",{className:"text-xs text-red-500 flex items-center gap-1",children:[(0,d.jsx)(k.XCircle,{className:"size-3"})," Name is taken, try another"]}),(0,d.jsxs)("p",{className:"text-xs text-muted-foreground flex items-center gap-1.5",children:[!0===L&&(0,d.jsxs)("span",{className:"text-emerald-600 flex items-center gap-0.5",children:[(0,d.jsx)(j.CheckCircle2,{className:"size-3"})," Available"]}),!0===L&&(0,d.jsx)("span",{children:"·"}),z?(0,d.jsx)("span",{children:"Required — pick a name for your company."}):(0,d.jsx)("span",{children:"Optional — you can always rename later."})]})]}),(0,d.jsx)(t.TeamPreview,{members:P,runtimes:_,onShuffle:af,onAssignRuntime:(a,b)=>{Q(c=>c.map((c,d)=>d===a?{...c,runtimeId:b}:c))}}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)("h2",{className:"text-base font-semibold tracking-tight",children:"Connect a computer"}),aa?(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("p",{className:"text-xs text-emerald-600 flex items-center gap-1",children:[(0,d.jsx)(j.CheckCircle2,{className:"size-3"})," ",ab," computer",ab>1?"s":""," connected"]}),(0,d.jsx)("button",{type:"button",className:"text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:()=>$(a=>!a),children:"Register another"})]}),Z&&(0,d.jsx)("div",{className:"rounded-xl bg-muted/40 p-5",children:(0,d.jsx)(r.ConnectMachineSteps,{generatedToken:T,generatingToken:V,onGenerateToken:ah,registered:X})})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Your company needs a connected computer to run tasks."}),(0,d.jsx)("div",{className:"rounded-xl bg-muted/40 p-5",children:(0,d.jsx)(r.ConnectMachineSteps,{generatedToken:T,generatingToken:V,onGenerateToken:ah,registered:X})})]})]}),(0,d.jsx)(g.Button,{onClick:ai,disabled:!ak||R,className:"w-full",size:"lg",children:R?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.Loader2,{className:"size-4 animate-spin mr-2"}),"Launching..."]}):z&&J.trim()&&!0!==L?"Check company name first":"Launch company"})]})]})]}):(0,d.jsxs)("div",{className:"relative flex min-h-dvh flex-col items-center justify-center p-6",children:[(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"absolute top-4 left-4 text-xs text-muted-foreground",onClick:()=>y.push("/workspaces"),children:[(0,d.jsx)(n.LayoutGrid,{className:"size-3 mr-1.5"}),"Workspaces"]}),(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"absolute top-4 right-4 text-xs text-muted-foreground",onClick:async()=>{await (0,q.clearAllCache)(),(0,p.signOut)({fetchOptions:{onSuccess:()=>y.push("/sign-in")}})},children:[(0,d.jsx)(l.LogOut,{className:"size-3 mr-1.5"}),"Sign out"]}),(0,d.jsxs)("div",{className:"w-full max-w-3xl space-y-8",children:[(0,d.jsxs)("div",{className:"text-center space-y-2",children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",style:{fontFamily:"var(--font-news)"},children:"What will your company do?"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Pick a focus area. You can always add more agents later."})]}),(0,d.jsx)(s.ScenarioPicker,{selected:H,onSelect:ae,onBrowseTemplates:()=>y.push(A?`/templates?workspace_id=${A}`:"/templates")}),A&&(0,d.jsx)("div",{className:"flex justify-center pt-2",children:(0,d.jsx)("button",{type:"button",onClick:()=>{document.cookie=`skip_init=${A};path=/;max-age=86400`,y.push(`/w/${b}/home`)},className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Skip for now"})})]})]})}]),c()}catch(a){c(a)}},!1)];
|
|
325
|
+
${e}`;a.s(["SCENARIO_PRESETS",0,[{id:"software-dev",label:"Software Development",description:"Build and ship code with a coordinated dev team",icon:"🖥",members:[{role:"leader",description:"Coordinates work, summarizes results, and replies to you",instructions:f},{role:"engineer",description:"Writes code, runs tests, and verifies implementations",instructions:i},{role:"researcher",description:"Reads code, explores APIs, and gathers technical context",instructions:g}]},{id:"content-research",label:"Content & Research",description:"Research topics, write content, and manage publishing",icon:"📝",members:[{role:"leader",description:"Coordinates work, shapes content direction, and delivers output",instructions:f},{role:"researcher",description:"Finds sources, verifies facts, and organizes references",instructions:h},{role:"assistant",description:"Handles formatting, publishing workflows, and follow-ups",instructions:j}]},{id:"personal-assistant",label:"Personal Assistant",description:"One AI that handles your everyday tasks and communications",icon:"🤖",members:[{role:"leader",description:"Handles all tasks directly — emails, research, scheduling, and more",instructions:k}]},{id:"sales-outreach",label:"Sales & Outreach",description:"Prospect, follow up, and close deals as a team",icon:"📈",members:[{role:"leader",description:"Coordinates outreach strategy and manages deal flow",instructions:f},{role:"researcher",description:"Researches prospects, companies, and market intelligence",instructions:l},{role:"assistant",description:"Handles outreach emails, follow-ups, and pipeline tracking",instructions:m}]},{id:"customer-support",label:"Customer Support",description:"Handle tickets, draft replies, and track resolutions",icon:"🎧",members:[{role:"leader",description:"Coordinates support queue and handles escalations",instructions:f},{role:"assistant",description:"Drafts customer responses and tracks open issues",instructions:n}]},{id:"custom",label:"Custom",description:"Build your own team from scratch",icon:"✨",members:[{role:"leader",description:"Coordinates work and replies to you",instructions:f}]}],"shuffleMembers",0,function(a){let d=new Set,e=[];for(let f=0;f<a;f++){let a,f=0;do a=(0,b.uniqueNamesGenerator)({dictionaries:[b.names],length:1,style:"capital"}),f++;while(d.has(a)&&f<100)d.add(a),e.push({name:a,avatarUrl:(0,c.serializeAvatarConfig)((0,c.randomConfig)())})}return e}])},212484,a=>{"use strict";var b=a.i(749314),c=a.i(75118),d=a.i(762276);a.s(["ScenarioPicker",0,function({selected:a,onSelect:e,onBrowseTemplates:f}){return(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("h2",{className:"text-base font-semibold tracking-tight",children:"What will your company focus on?"}),f&&(0,b.jsxs)("button",{type:"button",onClick:f,className:"text-[11px] text-muted-foreground hover:text-foreground transition-colors underline underline-offset-2",children:["Browse templates ",(0,b.jsx)("span",{"aria-hidden":"true",children:"›"})]})]}),(0,b.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:d.SCENARIO_PRESETS.map(d=>(0,b.jsxs)("button",{onClick:()=>e(d.id),className:(0,c.cn)("flex flex-col items-start gap-1 rounded-lg border p-4 text-left transition-all hover:border-foreground/30",a===d.id?"border-foreground/50 bg-muted/50":"border-border"),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(0,b.jsx)("span",{className:"text-lg",children:d.icon}),(0,b.jsxs)("span",{className:"text-[10px] text-muted-foreground/70",children:[d.members.length," agent",d.members.length>1?"s":""]})]}),(0,b.jsx)("span",{className:"text-sm font-medium",children:d.label}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground leading-tight",children:d.description})]},d.id))})]})}])},263233,a=>{"use strict";var b=a.i(749314),c=a.i(75118),d=a.i(732254),e=a.i(439882),f=a.i(877014);a.i(735132);var g=a.i(325848),h=a.i(354498),i=a.i(74414);let j={leader:"Lead",researcher:"Researcher",engineer:"Engineer",assistant:"Assistant"};a.s(["TeamPreview",0,function({members:a,runtimes:k,onShuffle:l,onAssignRuntime:m}){let n=k.length>1&&m;return(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("h2",{className:"text-base font-semibold tracking-tight",children:"Your company"}),(0,b.jsxs)(d.Button,{variant:"ghost",size:"sm",onClick:l,className:"h-7 text-xs gap-1.5",children:[(0,b.jsx)(f.RefreshCw,{className:"size-3"}),"Shuffle"]})]}),(0,b.jsx)("div",{className:(0,c.cn)("grid gap-3 grid-cols-1",2===a.length&&"sm:grid-cols-2",3===a.length&&"sm:grid-cols-2 md:grid-cols-3",a.length>=4&&"sm:grid-cols-2 md:grid-cols-4"),children:a.map((a,c)=>{let d,f=a.avatarUrl?(0,g.parseAvatarUrl)(a.avatarUrl):null;return(0,b.jsxs)(e.Card,{size:"sm",className:"flex flex-col px-3 py-4 gap-2 h-full",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5",children:[f?(0,b.jsx)(g.AvatarRenderer,{config:f,size:36,className:"rounded-xl shrink-0"}):(0,b.jsx)("div",{className:"size-9 rounded-xl bg-muted flex items-center justify-center text-sm font-semibold shrink-0",children:a.name.charAt(0)}),(0,b.jsxs)("div",{className:"flex flex-col items-start gap-0.5",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:a.name}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground bg-muted/60 px-1.5 py-0.5 rounded",children:j[a.role]})]})]}),(0,b.jsxs)("p",{className:"text-[10px] text-muted-foreground/70 font-mono truncate",children:[a.emailHandle||a.name.toLowerCase(),"@alook.ai"]}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground leading-snug flex-1",children:a.description}),n&&(d=k.find(b=>b.id===a.runtimeId),(0,b.jsx)("div",{className:"mt-1",children:(0,b.jsxs)(h.Select,{value:a.runtimeId,onValueChange:a=>{a&&m(c,a)},children:[(0,b.jsx)(h.SelectTrigger,{className:"h-7 text-[11px]",children:(0,b.jsxs)("div",{className:"flex items-center gap-1.5 truncate",children:[d&&(0,b.jsx)(i.ProviderLogo,{provider:d.provider||"",className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:d?.provider||d?.runtime_mode||"Select"})]})}),(0,b.jsx)(h.SelectPopup,{children:k.map(a=>(0,b.jsx)(h.SelectItem,{value:a.id,children:a.provider||a.runtime_mode},a.id))})]})}))]},c)})})]})}])},927981,a=>a.a(async(b,c)=>{try{var d=a.i(749314),e=a.i(437199),f=a.i(207058),g=a.i(732254),h=a.i(334235),i=a.i(16831),j=a.i(940723),k=a.i(113046),l=a.i(388425),m=a.i(321932),n=a.i(671465),o=a.i(921584),p=a.i(454607),q=a.i(562706),r=a.i(561101),s=a.i(212484),t=a.i(263233),u=a.i(762276),v=a.i(588339),w=a.i(171492),x=b([p]);[p]=x.then?(await x)():x,a.s(["StudioOnboardingClient",0,function({workspaceId:a,workspaceSlug:b,workspaceName:c,initialTemplate:x}){let y=(0,f.useRouter)(),z=!a,[A,B]=(0,e.useState)(a),C=(0,e.useRef)(A);(0,e.useEffect)(()=>{C.current=A},[A]);let[D,E]=(0,e.useState)([]),[F,G]=(0,e.useState)(!!a),[H,I]=(0,e.useState)(x?x.baseScenario:null),[J,K]=(0,e.useState)(z||"Personal"===c?"":c),[L,M]=(0,e.useState)(null),[N,O]=(0,e.useState)(!1),[P,Q]=(0,e.useState)([]),[R,S]=(0,e.useState)(!1),[T,U]=(0,e.useState)(""),[V,W]=(0,e.useState)(!1),[X,Y]=(0,e.useState)(!1),[Z,$]=(0,e.useState)(!1),_=D.filter(a=>"online"===a.status),aa=_.length>0,ab=new Set(_.map(a=>a.daemon_id).filter(Boolean)).size;(0,e.useEffect)(()=>{A&&(0,v.listRuntimes)(A).then(E).catch(()=>{}).finally(()=>G(!1))},[A]);let ac=(0,e.useCallback)(a=>{let b=C.current;if("runtime.registered"===a.type){Y(!0);let c=a.workspaceId;c&&!b?(B(c),(0,v.listRuntimes)(c).then(E).catch(()=>{})):b&&(0,v.listRuntimes)(b).then(E).catch(()=>{})}else if("runtime.status"===a.type&&a.payload?.status==="online"){Y(!0);let a=C.current;a&&(0,v.listRuntimes)(a).then(E).catch(()=>{})}},[]);(0,w.useUserWs)(ac),(0,e.useEffect)(()=>{let a=_[0]?.id;a&&Q(b=>0!==b.length&&b.some(a=>!a.runtimeId)?b.map(b=>b.runtimeId?b:{...b,runtimeId:a}):b)},[_]);let ad=(0,e.useCallback)(async a=>{try{let b=await fetch("/api/studios/check-handles",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({names:a})});if(!b.ok)return null;return await b.json()}catch{return null}},[]);(0,e.useEffect)(()=>{if(!x||F||P.length>0)return;let a=(0,u.shuffleMembers)(x.members.length),b=_[0]?.id||"",c=x.members.map((c,d)=>({name:a[d].name,role:c.role,description:c.description,instructions:c.instructions,avatarUrl:a[d].avatarUrl,runtimeId:b}));Q(c),ad(c.map(a=>a.name)).then(a=>{a&&Q(b=>b.map(b=>{let c=a.find(a=>a.name===b.name);return c?{...b,emailHandle:c.handle}:b}))})},[x,F]);let ae=async a=>{I(a);let b=u.SCENARIO_PRESETS.find(b=>b.id===a),c=(0,u.shuffleMembers)(b.members.length),d=_[0]?.id||"",e=b.members.map((a,b)=>({name:c[b].name,role:a.role,description:a.description,instructions:a.instructions,avatarUrl:c[b].avatarUrl,runtimeId:d}));Q(e);let f=await ad(e.map(a=>a.name));f&&Q(a=>a.map(a=>{let b=f.find(b=>b.name===a.name);return b?{...a,emailHandle:b.handle}:a}))},af=async()=>{let a=(0,u.shuffleMembers)(P.length),b=P.map((b,c)=>({...b,name:a[c].name,avatarUrl:a[c].avatarUrl,emailHandle:void 0}));Q(b);let c=await ad(b.map(a=>a.name));c&&Q(a=>a.map(a=>{let b=c.find(b=>b.name===a.name);return b?{...a,emailHandle:b.handle}:a}))},ag=async()=>{if(J.trim()){O(!0),M(null);try{let a=A?`/api/studios/check-name?name=${encodeURIComponent(J.trim())}&workspace_id=${A}`:`/api/studios/check-name?name=${encodeURIComponent(J.trim())}`,b=await fetch(a),c=await b.json();M(c.available)}catch{M(null),o.toast.error("Failed to check name availability")}finally{O(!1)}}},ah=(0,e.useCallback)(async()=>{W(!0);try{let a=await (0,v.createMachineToken)("cli",A||void 0);U(a.token)}catch{o.toast.error("Failed to generate token")}finally{W(!1)}},[A]),ai=async()=>{S(!0);try{if(!A){o.toast.error("Please connect a computer first"),S(!1);return}let a=await fetch("/api/studios",{method:"POST",headers:{"Content-Type":"application/json","X-Workspace-ID":A},body:JSON.stringify({name:J.trim()||void 0,scenario:H,members:P.map(a=>({name:a.name,role:a.role,runtime_id:a.runtimeId,description:a.description,instructions:a.instructions,avatar_url:a.avatarUrl||null,email_handle:a.emailHandle||void 0}))})});if(!a.ok){let b=await a.json();throw Error(b.error||"Failed to create company")}let b=await a.json();o.toast.success("Company created!"),y.push(`/w/${b.workspace.slug}/agents/${b.leader_agent_id}`)}catch(a){o.toast.error(a instanceof Error?a.message:"Failed to create company"),S(!1)}},aj=z?J.trim()&&!0===L:!1!==L,ak=H&&P.length>0&&P.every(a=>a.runtimeId)&&aj&&(aa||X);return H?(0,d.jsxs)("div",{className:"relative flex min-h-dvh flex-col items-center p-6",children:[(0,d.jsxs)("div",{className:"absolute top-4 left-4 flex items-center gap-1",children:[(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground",onClick:()=>y.push("/workspaces"),children:[(0,d.jsx)(n.LayoutGrid,{className:"size-3 mr-1.5"}),"Workspaces"]}),(0,d.jsx)("span",{className:"text-muted-foreground/40",children:"/"}),(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground",onClick:()=>I(null),children:[(0,d.jsx)(m.ArrowLeft,{className:"size-3 mr-1.5"}),"Back"]})]}),(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"absolute top-4 right-4 text-xs text-muted-foreground",onClick:async()=>{await (0,q.clearAllCache)(),(0,p.signOut)({fetchOptions:{onSuccess:()=>y.push("/sign-in")}})},children:[(0,d.jsx)(l.LogOut,{className:"size-3 mr-1.5"}),"Sign out"]}),(0,d.jsxs)("div",{className:"w-full max-w-3xl space-y-10 py-14",children:[(0,d.jsx)("div",{className:"text-center",children:(0,d.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",style:{fontFamily:"var(--font-news)"},children:"Build your company"})}),F?(0,d.jsx)("div",{className:"flex justify-center py-8",children:(0,d.jsx)(i.Loader2,{className:"size-5 animate-spin text-muted-foreground"})}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h2",{className:"text-base font-semibold tracking-tight",children:"Company name"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.Input,{value:J,onChange:a=>{K(a.target.value),M(null)},placeholder:"e.g. Atlas Lab",className:"text-sm"}),(0,d.jsx)(g.Button,{variant:"outline",size:"sm",onClick:ag,disabled:!J.trim()||N,className:"shrink-0",children:N?(0,d.jsx)(i.Loader2,{className:"size-3 animate-spin"}):"Check"})]}),!1===L&&(0,d.jsxs)("p",{className:"text-xs text-red-500 flex items-center gap-1",children:[(0,d.jsx)(k.XCircle,{className:"size-3"})," Name is taken, try another"]}),(0,d.jsxs)("p",{className:"text-xs text-muted-foreground flex items-center gap-1.5",children:[!0===L&&(0,d.jsxs)("span",{className:"text-emerald-600 flex items-center gap-0.5",children:[(0,d.jsx)(j.CheckCircle2,{className:"size-3"})," Available"]}),!0===L&&(0,d.jsx)("span",{children:"·"}),z?(0,d.jsx)("span",{children:"Required — pick a name for your company."}):(0,d.jsx)("span",{children:"Optional — you can always rename later."})]})]}),(0,d.jsx)(t.TeamPreview,{members:P,runtimes:_,onShuffle:af,onAssignRuntime:(a,b)=>{Q(c=>c.map((c,d)=>d===a?{...c,runtimeId:b}:c))}}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)("h2",{className:"text-base font-semibold tracking-tight",children:"Connect a computer"}),aa?(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("p",{className:"text-xs text-emerald-600 flex items-center gap-1",children:[(0,d.jsx)(j.CheckCircle2,{className:"size-3"})," ",ab," computer",ab>1?"s":""," connected"]}),(0,d.jsx)("button",{type:"button",className:"text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:()=>$(a=>!a),children:"Register another"})]}),Z&&(0,d.jsx)("div",{className:"rounded-xl bg-muted/40 p-5",children:(0,d.jsx)(r.ConnectMachineSteps,{generatedToken:T,generatingToken:V,onGenerateToken:ah,registered:X})})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Your company needs a connected computer to run tasks."}),(0,d.jsx)("div",{className:"rounded-xl bg-muted/40 p-5",children:(0,d.jsx)(r.ConnectMachineSteps,{generatedToken:T,generatingToken:V,onGenerateToken:ah,registered:X})})]})]}),(0,d.jsx)(g.Button,{onClick:ai,disabled:!ak||R,className:"w-full",size:"lg",children:R?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.Loader2,{className:"size-4 animate-spin mr-2"}),"Launching..."]}):z&&J.trim()&&!0!==L?"Check company name first":"Launch company"})]})]})]}):(0,d.jsxs)("div",{className:"relative flex min-h-dvh flex-col items-center justify-center px-6 pt-14 pb-6 sm:p-6",children:[(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"absolute top-4 left-4 text-xs text-muted-foreground",onClick:()=>y.push("/workspaces"),children:[(0,d.jsx)(n.LayoutGrid,{className:"size-3 mr-1.5"}),"Workspaces"]}),(0,d.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"absolute top-4 right-4 text-xs text-muted-foreground",onClick:async()=>{await (0,q.clearAllCache)(),(0,p.signOut)({fetchOptions:{onSuccess:()=>y.push("/sign-in")}})},children:[(0,d.jsx)(l.LogOut,{className:"size-3 mr-1.5"}),"Sign out"]}),(0,d.jsxs)("div",{className:"w-full max-w-3xl space-y-8",children:[(0,d.jsxs)("div",{className:"text-center space-y-2",children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",style:{fontFamily:"var(--font-news)"},children:"What will your company do?"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Pick a focus area. You can always add more agents later."})]}),(0,d.jsx)(s.ScenarioPicker,{selected:H,onSelect:ae,onBrowseTemplates:()=>y.push(A?`/templates?workspace_id=${A}`:"/templates")}),A&&(0,d.jsx)("div",{className:"flex justify-center pt-2",children:(0,d.jsx)("button",{type:"button",onClick:()=>{document.cookie=`skip_init=${A};path=/;max-age=86400`,y.push(`/w/${b}/home`)},className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Skip for now"})})]})]})}]),c()}catch(a){c(a)}},!1)];
|
|
326
326
|
|
|
327
327
|
//# sourceMappingURL=_13__3im._.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
module.exports=[831893,896393,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(752792),f=a.i(506180),g=a.i(626806);let h=["user_dm_message"],i=["user_dm_message"];function j(){return h}a.s(["INBOX_FILTER_LABELS",0,{user_dm_message:"DM",calendar_event:"Calendar",email_notification:"Email"},"INBOX_FILTER_TYPES",0,["user_dm_message","calendar_event","email_notification"],"MANDATORY_INBOX_TYPES",0,i,"getInboxFilterTypes",0,j,"setInboxFilterTypes",0,function(a){let b=[...a];for(let a of i)b.includes(a)||b.unshift(a);localStorage.setItem("inbox-filter-types",JSON.stringify(b))}],896393);let k=(0,c.createContext)(null);a.s(["InboxCountProvider",0,function({children:a}){let{workspaceId:h}=(0,f.useWorkspace)(),{subscribeWs:i,agents:l}=(0,e.useAgentContext)(),[m,n]=(0,c.useState)(0),o=(0,c.useRef)(null),p=(0,c.useRef)(null),q=(0,c.useRef)(l);(0,c.useEffect)(()=>{q.current=l});let r=(0,c.useCallback)(()=>{let a=j();(0,d.getInboxCount)(h,{types:a}).then(a=>{let b=o.current;if(o.current=a.count,n(a.count),null!==b&&a.count>b){let a=p.current?q.current.find(a=>a.id===p.current):void 0;(0,g.sendTaskNotification)("completed",a?.name)}p.current=null}).catch(()=>{})},[h]),s=(0,c.useCallback)(()=>{n(a=>{let b=Math.max(0,a-1);return o.current=b,b})},[]);return(0,c.useEffect)(()=>{r()},[r]),(0,c.useEffect)(()=>i(a=>{"task.updated"===a.type&&("completed"===a.status||"failed"===a.status)&&(p.current=a.agentId,r())}),[i,r]),(0,c.useEffect)(()=>{let a=setInterval(r,6e4);return()=>clearInterval(a)},[r]),(0,b.jsx)(k.Provider,{value:{count:m,refresh:r,decrement:s},children:a})},"useInboxCount",0,function(){let a=(0,c.useContext)(k);if(!a)throw Error("useInboxCount must be used within InboxCountProvider");return a}],831893)},70813,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(506180);let f=(0,c.createContext)(null);a.s(["FlagCountProvider",0,function({children:a}){let{workspaceId:g}=(0,e.useWorkspace)(),[h,i]=(0,c.useState)(0),j=(0,c.useCallback)(()=>{(0,d.getFlaggedCount)(g).then(a=>i(a.count)).catch(()=>{})},[g]),k=(0,c.useCallback)(()=>{i(a=>a+1)},[]),l=(0,c.useCallback)(()=>{i(a=>Math.max(0,a-1))},[]);return(0,c.useEffect)(()=>{j()},[j]),(0,b.jsx)(f.Provider,{value:{count:h,refresh:j,increment:k,decrement:l},children:a})},"useFlagCount",0,function(){let a=(0,c.useContext)(f);if(!a)throw Error("useFlagCount must be used within FlagCountProvider");return a}])},781418,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(549931),e=a.i(584126),f=a.i(921584);a.i(735132);var g=a.i(253260),h=a.i(325848),i=a.i(191525),j=a.i(75118);a.s(["AgentPreviewCard",0,function({agent:a,isOnline:k,activeTaskCount:l,variant:m="default",isHovered:n}){let[o,p]=(0,c.useState)(!1),q=a.email_handle?`${a.email_handle}@alook.ai`:null,r=(0,c.useCallback)(async()=>{if(q)try{await navigator.clipboard.writeText(q),p(!0),f.toast.success("Email copied to clipboard"),setTimeout(()=>p(!1),2e3)}catch{f.toast.error("Failed to copy email")}},[q]);if("compact"===m){let c;return(0,b.jsxs)("div",{className:"flex items-center gap-2 p-0",children:[(c=(0,h.parseAvatarUrl)(a.avatar_url))?(0,b.jsx)(g.AnimatedAvatar,{config:c,size:32,className:"shrink-0 rounded-xl",isHovered:n??!1,isWorking:!!k&&(l??0)>0}):(0,b.jsx)("div",{className:"flex items-center justify-center size-8 rounded-xl bg-secondary text-secondary-foreground text-xs font-medium shrink-0",children:a.name.charAt(0).toUpperCase()}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate max-w-35",children:a.name}),q&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:q})]}),void 0!==k&&(0,b.jsx)("div",{className:"pointer-events-none mt-0.5",children:(0,b.jsx)(i.AgentStatusBadge,{isOnline:k,taskCount:l??0,agentId:a.id})})]})]})}return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5 p-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate",children:a.name}),(0,b.jsx)("span",{className:"flex-1"}),void 0!==k&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,b.jsx)("span",{className:(0,j.cn)("size-1.5 rounded-full",k?"bg-status-online":"bg-status-offline")}),k?(l??0)>0?"Working":null:"Offline"]})]}),q&&(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:q}),(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),r()},className:"shrink-0 p-0.5 rounded-sm text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:o?(0,b.jsx)(d.Check,{className:"size-3 text-green-500"}):(0,b.jsx)(e.Copy,{className:"size-3"})})]}),a.description&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2",children:a.description})]})}])},127026,40924,a=>{"use strict";a.s(["AgentChatView",()=>aw,"getEventIconType",()=>aq],127026);var b=a.i(749314),c=a.i(437199),d=a.i(131675),e=a.i(207058),f=a.i(506180),g=a.i(732254),h=a.i(464830),i=a.i(75118),j=a.i(549931),k=a.i(143984),l=a.i(647651);let m=(0,l.default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);var n=a.i(123047),o=a.i(723127),p=a.i(16831);a.i(343563);var q=a.i(347788);function r(a){return a.replace(/_/g," ").replace(/\b\w/g,a=>a.toUpperCase())}let s=new Set(["status","log"]);function t({item:a,isRunning:d,isLast:e}){let f=(0,c.useMemo)(()=>{if(!a.input)return null;try{return JSON.stringify(a.input,null,2)}catch{return String(a.input)}},[a.input]);return f?(0,b.jsxs)("details",{className:"group/tool",children:[(0,b.jsxs)("summary",{className:(0,i.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md cursor-pointer select-none","text-sm text-muted-foreground transition-colors duration-150","hover:bg-muted/60 hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,b.jsx)(k.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/tool:rotate-90"}),(0,b.jsx)("span",{className:"font-medium text-foreground/80",children:r(a.tool)}),d&&e&&(0,b.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),d&&!e&&(0,b.jsx)(j.Check,{className:"ml-auto size-3 text-emerald-500"})]}),(0,b.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,b.jsx)("pre",{className:"task-stream-pre overflow-x-auto rounded-md bg-muted/40 p-2.5 font-mono text-xs leading-relaxed text-muted-foreground max-h-48 max-w-full min-w-0 overflow-y-auto",children:f})})]}):(0,b.jsxs)("div",{className:(0,i.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground"),children:[(0,b.jsx)("span",{className:"font-medium text-foreground/80",children:r(a.tool)}),d&&e&&(0,b.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),d&&!e&&(0,b.jsx)(j.Check,{className:"ml-auto size-3 text-emerald-500"})]})}function u({item:a}){return a.content?(0,b.jsxs)("details",{className:"group/think",children:[(0,b.jsxs)("summary",{className:(0,i.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md cursor-pointer select-none","text-sm text-muted-foreground/60 italic transition-colors duration-150","hover:bg-muted/60 hover:text-muted-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,b.jsx)(k.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/40 transition-transform duration-150 group-open/think:rotate-90"}),(0,b.jsx)(m,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{children:"Thinking..."})]}),(0,b.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,b.jsx)("p",{className:"text-sm italic text-muted-foreground/60 whitespace-pre-wrap",children:a.content})})]}):(0,b.jsxs)("div",{className:(0,i.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground/60 italic"),children:[(0,b.jsx)(m,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{children:"Thinking..."})]})}function v({value:a}){let d=(0,c.useRef)(a),[e,f]=(0,c.useState)({current:a,previous:null}),[g,h]=(0,c.useState)("idle");return(0,c.useEffect)(()=>{if(a===d.current)return;let b=d.current;d.current=a,f({current:a,previous:b}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{h("animating")})});let c=setTimeout(()=>{h("idle"),f(a=>({...a,previous:null}))},300);return()=>clearTimeout(c)},[a]),(0,b.jsxs)("span",{style:{display:"inline-block",position:"relative",overflow:"hidden",height:"1.2em",lineHeight:"1.2em",verticalAlign:"bottom"},children:[null!==e.previous&&(0,b.jsx)("span",{style:{display:"block",position:"absolute",inset:"0",transition:"animating"===g?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:"animating"===g?"translateY(-100%)":"translateY(0)",opacity:+("animating"!==g)},children:e.previous}),(0,b.jsx)("span",{style:{display:"block",transition:"animating"===g?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:null!==e.previous&&"animating"!==g?"translateY(100%)":"translateY(0)",opacity:+(null===e.previous||"animating"===g)},children:e.current})]})}function w({task:a,messages:d,connectionLost:e,onRetry:f,stepCountHint:g,onExpandSteps:j,stepsLoading:l}){let[m,r]=(0,c.useState)(!1),x=(0,c.useMemo)(()=>(function(a){let b=[],c=new Map;for(let d of a){if(s.has(d.type))continue;let a=d.id||`seq-${d.seq}`;switch(d.type){case"tool-use":{let e=d.call_id,f={kind:"tool-call",id:a,tool:d.tool,input:d.input};e&&c.set(e,f),b.push(f);break}case"tool-result":break;case"text":b.push({kind:"text",id:a,content:d.content});break;case"thinking":b.push({kind:"thinking",id:a,content:d.content});break;case"error":b.push({kind:"status",id:a,content:d.content||d.output,type:"error"})}}return b})(d),[d]),y="completed"!==a.status&&"failed"!==a.status&&"cancelled"!==a.status&&"superseded"!==a.status,z=x.filter(a=>"text"!==a.kind),A=x.filter(a=>"text"===a.kind),B=A.length>0?A[A.length-1]:null,C=(0,c.useRef)(null),D=(0,c.useRef)(null),E=(0,c.useRef)(!1);(0,c.useEffect)(()=>{y&&C.current&&(C.current.scrollTop=C.current.scrollHeight)},[z.length,y]),(0,c.useEffect)(()=>{y&&D.current&&(D.current.scrollTop=D.current.scrollHeight)},[A.length,y]);let F=y?A:A.slice(0,-1),G=!y&&null!==B,H=z.length>0?z.length:g??0,I=z.length>0||g&&g>0;return(0,b.jsxs)("div",{className:"space-y-3 min-w-0 max-w-full",children:[(0,b.jsx)("div",{className:"flex items-center gap-2",children:"running"===a.status?(0,b.jsxs)(h.Badge,{variant:"secondary",className:"gap-1.5 relative overflow-hidden",children:[(0,b.jsx)("span",{className:"size-1.5 rounded-full bg-primary animate-pulse"}),"Working",(0,b.jsx)("div",{className:"pointer-events-none absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite]",style:{background:"linear-gradient(90deg, transparent 0%, var(--shimmer) 40%, var(--shimmer-peak) 50%, var(--shimmer) 60%, transparent 100%)"}})]}):y?(0,b.jsxs)(h.Badge,{variant:"secondary",className:"relative overflow-hidden",children:[a.status,(0,b.jsx)("div",{className:"pointer-events-none absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite]",style:{background:"linear-gradient(90deg, transparent 0%, var(--shimmer) 40%, var(--shimmer-peak) 50%, var(--shimmer) 60%, transparent 100%)"}})]}):(0,b.jsx)(h.Badge,{variant:"secondary",children:a.status})}),I&&(0,b.jsxs)("details",{className:"group/stream pl-1",onToggle:a=>{a.currentTarget.open&&!E.current&&j&&(E.current=!0,j())},children:[(0,b.jsxs)("summary",{className:(0,i.cn)("flex items-center gap-1.5 py-1 cursor-pointer select-none","text-xs text-muted-foreground transition-colors duration-150","hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,b.jsx)(k.ChevronRight,{className:(0,i.cn)("size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/stream:rotate-90",y&&"animate-pulse text-primary")}),(0,b.jsxs)("span",{children:[(0,b.jsx)(v,{value:H})," ",1===H?"step":"steps"]})]}),(0,b.jsxs)("div",{ref:C,className:"mt-1 max-h-80 overflow-y-auto overflow-x-hidden thin-scrollbar space-y-0.5 pl-1",children:[l&&0===z.length&&(0,b.jsxs)("div",{className:"flex items-center gap-2 py-2 text-xs text-muted-foreground",children:[(0,b.jsx)(p.Loader2,{className:"size-3 animate-spin"}),(0,b.jsx)("span",{children:"Loading steps..."})]}),z.map((a,c)=>{switch(a.kind){case"tool-call":return(0,b.jsx)(t,{item:a,isRunning:y,isLast:c===z.length-1},a.id);case"thinking":return(0,b.jsx)(u,{item:a},a.id);case"status":return(0,b.jsxs)("p",{className:"text-xs text-muted-foreground px-1 wrap-anywhere",children:["error"===a.type&&(0,b.jsx)(n.AlertCircle,{className:"inline size-3 mr-1 -mt-0.5 text-destructive"}),a.content]},a.id);default:return null}})]})]}),F.length>0&&(0,b.jsxs)("details",{className:"group/midtext pl-1",open:!G||void 0,children:[(0,b.jsxs)("summary",{className:(0,i.cn)("flex items-center gap-1.5 py-1 cursor-pointer select-none","text-xs text-muted-foreground transition-colors duration-150","hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,b.jsx)(k.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/midtext:rotate-90"}),(0,b.jsxs)("span",{children:[(0,b.jsx)(v,{value:F.length})," thinking"]})]}),(0,b.jsx)("div",{ref:D,className:"mt-1 space-y-2 pl-1",children:F.map(a=>(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-0.5 text-sm text-muted-foreground",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:a.content})},a.id))})]}),G&&!j&&(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:B.content})}),"failed"===a.status&&a.error&&(0,b.jsxs)("div",{className:"flex items-start gap-2 mt-2 max-w-full overflow-hidden",children:[(0,b.jsxs)("p",{className:"text-sm text-destructive flex items-start gap-1.5 min-w-0",children:[(0,b.jsx)(n.AlertCircle,{className:"size-3.5 shrink-0 mt-0.5"}),(0,b.jsx)("span",{className:"wrap-anywhere",children:a.error})]}),f&&(0,b.jsxs)("button",{type:"button",onClick:async()=>{r(!0);try{await f()}finally{r(!1)}},disabled:m,className:"shrink-0 text-xs text-muted-foreground hover:text-foreground transition-colors cursor-pointer disabled:opacity-50 flex items-center gap-1",children:[m?(0,b.jsx)(p.Loader2,{className:"size-3 animate-spin"}):(0,b.jsx)(o.RotateCw,{className:"size-3"}),"Retry"]})]}),e&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground animate-pulse mt-1",children:"Connection lost — retrying..."})]})}var x=a.i(588339),y=a.i(562706),z=a.i(752792),A=a.i(831893),B=a.i(70813),C=a.i(452906),D=a.i(921584),E=a.i(25668),F=a.i(525132),G=a.i(540858);let H=(0,l.default)("bed-double",[["path",{d:"M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8",key:"1k78r4"}],["path",{d:"M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4",key:"fb3tl2"}],["path",{d:"M12 4v6",key:"1dcgq2"}],["path",{d:"M2 18h20",key:"ajqnye"}]]),I=(0,l.default)("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);var J=a.i(510698),K=a.i(606896);let L=(0,l.default)("message-square-quote",[["path",{d:"M14 14a2 2 0 0 0 2-2V8h-2",key:"1r06pg"}],["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M8 14a2 2 0 0 0 2-2V8H8",key:"1jzu5j"}]]),M=(0,l.default)("mic",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]]);var N=a.i(546257),O=a.i(484573),P=a.i(518828);function Q({agent:a,isSelected:c,onSelect:d}){return(0,b.jsxs)("button",{type:"button","data-mention-item":!0,className:(0,i.cn)("flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",c?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:b=>{b.preventDefault(),d(a)},children:[(0,b.jsx)("span",{className:"truncate font-medium",children:a.name}),a.email_handle&&(0,b.jsxs)("span",{className:"truncate text-xs text-muted-foreground",children:[a.email_handle,"@alook.ai"]})]})}function R({isOpen:a,relatedAgents:d,otherAgents:e,selectedIndex:f,onSelect:g,anchorPos:h}){let i=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!i.current)return;let a=i.current.querySelectorAll("[data-mention-item]")[f];a?.scrollIntoView({block:"nearest"})},[f]);let j=d.length+e.length;if(!a||0===j)return null;let k=d.length>0&&e.length>0;return(0,b.jsx)("div",{className:"absolute z-50 w-64 rounded-lg border border-border bg-popover text-popover-foreground shadow-md transition-opacity duration-150",style:{top:h.top-4,left:h.left,transform:"translateY(-100%)"},children:(0,b.jsxs)("div",{ref:i,className:"max-h-50 overflow-y-auto py-1 thin-scrollbar",children:[d.map((a,c)=>(0,b.jsx)(Q,{agent:a,isSelected:c===f,onSelect:g},a.id)),k&&(0,b.jsx)("div",{className:"mx-3 my-1 border-t border-border"}),e.map((a,c)=>(0,b.jsx)(Q,{agent:a,isSelected:d.length+c===f,onSelect:g},a.id))]})})}function S(a,b){if(b>=a.length)return!0;let c=a.charCodeAt(b);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}function T(a,b){if(!a||0===b.length||!a.includes("@"))return a;let c=b.slice().sort((a,b)=>b.name.length-a.name.length),d=[];for(let b=0;b<a.length;b++){if("@"!==a[b]||!function(a,b){if(0===b)return!0;let c=a.charCodeAt(b-1);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}(a,b))continue;let e=b+1;for(let f of c){let c=e+f.name.length;if(c>a.length||a.slice(e,c).toLowerCase()!==f.name.toLowerCase())continue;let g=c,h=a.slice(c).match(/^ \([a-zA-Z0-9-]+@alook\.ai\)/);if(h&&(g=c+h[0].length),(h||S(a,c))&&(!h||S(a,g))){if(d.some(a=>b>=a.start&&b<a.end))break;d.push({start:b,end:c,name:f.name,agentId:f.id});break}}}let e=a;for(let a=d.length-1;a>=0;a--){let b=d[a],c=e.slice(b.start,b.end);e=e.slice(0,b.start)+`<mention data-agent-id="${b.agentId}">${c}</mention>`+e.slice(b.end)}return e}var U=a.i(207461),V=a.i(7455),W=a.i(135510);function X({open:a,onOpenChange:d,emailId:e,workspaceId:f}){let[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(500),q=(0,c.useRef)(!1),r=(0,c.useRef)(d);(0,c.useEffect)(()=>{r.current=d}),(0,c.useEffect)(()=>{a&&e&&(m(!0),i(null),k(null),Promise.all([(0,x.getEmail)(e,f),(0,x.getEmailBody)(e,f)]).then(([a,b])=>{i(a),k(b)}).catch(()=>{D.toast.error("Email not found"),r.current(!1)}).finally(()=>m(!1)))},[a,e,f]);let s=a=>{d(a),a||setTimeout(()=>{i(null),k(null)},300)},t=(0,c.useCallback)(a=>{a.preventDefault(),q.current=!0,a.target.setPointerCapture(a.pointerId)},[]),u=(0,c.useCallback)(a=>{q.current&&o(Math.min(.8*window.innerWidth,Math.max(320,window.innerWidth-a.clientX)))},[]),v=(0,c.useCallback)(()=>{q.current=!1},[]);return(0,b.jsx)(V.Sheet,{open:a,onOpenChange:s,children:(0,b.jsxs)(V.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${n}px, 100vw)`,maxWidth:"none"},className:"data-[side=right]:sm:inset-y-2 data-[side=right]:sm:right-2 data-[side=right]:sm:h-auto data-[side=right]:sm:rounded-xl data-[side=right]:sm:border",children:[(0,b.jsx)("div",{onPointerDown:t,onPointerMove:u,onPointerUp:v,className:"hidden sm:block absolute left-0 top-0 bottom-0 w-1.5 cursor-col-resize z-10 hover:bg-primary/20 active:bg-primary/30 transition-colors rounded-l-xl"}),(0,b.jsx)(V.SheetHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(K.Mail,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsx)(V.SheetTitle,{className:"truncate flex-1",children:l?"Loading...":h?.subject||"Email"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>s(!1),children:(0,b.jsx)(P.X,{className:"h-4 w-4"})})]})}),(0,b.jsx)(V.SheetBody,{className:"flex-1 overflow-y-auto thin-scrollbar",children:l?(0,b.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,b.jsx)(p.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):h?(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"text-sm space-y-1 border-b pb-3",children:[(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"From:"}),(0,b.jsx)("span",{className:"truncate",children:h.from_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"To:"}),(0,b.jsx)("span",{className:"truncate",children:h.to_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Date:"}),(0,b.jsx)("span",{children:new Date(h.created_at).toLocaleString()})]})]}),j?.isHtml?(0,b.jsx)(W.EmailBodyFrame,{html:j.content,className:"max-w-full"}):(0,b.jsx)("pre",{className:"whitespace-pre-wrap text-sm font-mono",children:j?.content}),h.attachments&&h.attachments.length>0&&(0,b.jsxs)("div",{className:"border-t pt-3",children:[(0,b.jsxs)("p",{className:"text-xs text-muted-foreground mb-2",children:[h.attachments.length," attachment",h.attachments.length>1?"s":""]}),(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:h.attachments.map(a=>(0,b.jsx)("span",{className:"inline-flex items-center gap-1 text-xs bg-muted rounded px-2 py-1",children:a.filename},a.key))})]})]}):null})]})})}let Y=(0,l.default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);function Z({open:a,onOpenChange:d,calendarEventId:e,workspaceId:f}){let[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(500),n=(0,c.useRef)(!1),o=(0,c.useRef)(d);(0,c.useEffect)(()=>{o.current=d}),(0,c.useEffect)(()=>{a&&e&&(k(!0),i(null),(0,x.getCalendarEvent)(e,f).then(i).catch(()=>{D.toast.error("Calendar event not found"),o.current(!1)}).finally(()=>k(!1)))},[a,e,f]);let q=a=>{d(a),a||setTimeout(()=>i(null),300)},r=(0,c.useCallback)(a=>{a.preventDefault(),n.current=!0,a.target.setPointerCapture(a.pointerId)},[]),s=(0,c.useCallback)(a=>{n.current&&m(Math.min(.8*window.innerWidth,Math.max(320,window.innerWidth-a.clientX)))},[]),t=(0,c.useCallback)(()=>{n.current=!1},[]);return(0,b.jsx)(V.Sheet,{open:a,onOpenChange:q,children:(0,b.jsxs)(V.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${l}px, 100vw)`,maxWidth:"none"},className:"data-[side=right]:sm:inset-y-2 data-[side=right]:sm:right-2 data-[side=right]:sm:h-auto data-[side=right]:sm:rounded-xl data-[side=right]:sm:border",children:[(0,b.jsx)("div",{onPointerDown:r,onPointerMove:s,onPointerUp:t,className:"hidden sm:block absolute left-0 top-0 bottom-0 w-1.5 cursor-col-resize z-10 hover:bg-primary/20 active:bg-primary/30 transition-colors rounded-l-xl"}),(0,b.jsx)(V.SheetHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(Y,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsx)(V.SheetTitle,{className:"truncate flex-1",children:j?"Loading...":h?.title||"Calendar Event"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>q(!1),children:(0,b.jsx)(P.X,{className:"h-4 w-4"})})]})}),(0,b.jsx)(V.SheetBody,{className:"flex-1 overflow-y-auto thin-scrollbar",children:j?(0,b.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,b.jsx)(p.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):h?(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"text-sm space-y-2 border-b pb-3",children:[(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Scheduled:"}),(0,b.jsx)("span",{children:new Date(h.scheduled_at).toLocaleString()})]}),h.repeat_interval&&(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Repeats:"}),(0,b.jsxs)("span",{children:["Every ",h.repeat_interval]})]}),h.repeat_stop_at&&(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Until:"}),(0,b.jsx)("span",{children:new Date(h.repeat_stop_at).toLocaleDateString()})]})]}),h.description&&(0,b.jsxs)("div",{className:"text-sm",children:[(0,b.jsx)("p",{className:"text-muted-foreground mb-1",children:"Description"}),(0,b.jsx)("pre",{className:"whitespace-pre-wrap font-sans",children:h.description})]})]}):null})]})})}var $=a.i(963744),_=a.i(698824);function aa({bufferedMessages:a,onDelete:d}){let[e,f]=(0,c.useState)(!1),g=a.length;if(0===g)return null;let h=Math.min(g,3);return(0,b.jsx)("div",{className:"relative px-5 pb-1",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl flex justify-center",children:(0,b.jsxs)("div",{className:"relative w-full max-w-lg transition-[height] duration-200 ease-out",style:{height:e?32*g+(g-1)*4:32+(h-1)*6},onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),children:[a.map((a,c)=>{var f;let j=g-1-c,k=c>=g-h;return(0,b.jsx)("div",{className:"absolute right-0 left-0 transition-all duration-200 ease-out",style:{height:32,zIndex:c+1,bottom:e?36*j:k?6*j:0,transform:e?"scale(1)":`scale(${k?1-.03*j:.91})`,opacity:e?1:k?1-.2*j:0,pointerEvents:e||k?"auto":"none"},children:(0,b.jsxs)("div",{className:"h-full rounded-lg border bg-background/95 backdrop-blur-sm shadow-sm flex items-center gap-2 px-3",children:[(0,b.jsx)("span",{className:"shrink-0 text-[11px] text-primary/60 tabular-nums w-4 text-center",children:c+1}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-[13px] text-muted-foreground leading-snug truncate",children:(f=a.content).length<=80?f:f.slice(0,80).trimEnd()+"…"}),a.attachment_ids&&a.attachment_ids.length>0&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5 shrink-0 text-[11px] text-muted-foreground/50",children:[(0,b.jsx)(N.Paperclip,{className:"size-2.5"}),a.attachment_ids.length]})]}),(0,b.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a.id)},className:(0,i.cn)("shrink-0 rounded-sm p-0.5 transition-all duration-150","text-muted-foreground/30 hover:text-foreground hover:bg-muted",e?"opacity-100":"opacity-0"),tabIndex:e?0:-1,children:(0,b.jsx)(P.X,{className:"size-3"})})]})},a.id)}),!e&&g>h&&(0,b.jsxs)("span",{className:"absolute -top-4 right-1 text-[10px] text-muted-foreground/40 tabular-nums",children:["+",g-h," more"]})]})})})}var ab=a.i(389660);let ac={id:"",agent_id:"",runtime_id:"",conversation_id:"",workspace_id:"",prompt:"",status:"completed",priority:0,dispatched_at:null,started_at:null,completed_at:null,result:null,error:null,created_at:"",type:""};function ad({taskId:a,stepCount:d,workspaceId:e}){let[f,g]=(0,c.useState)([]),[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(!1),l=(0,c.useCallback)(async()=>{if(!j&&!h){i(!0);try{let b=await (0,x.getTaskMessages)(a,e);g(b)}catch{g([])}finally{i(!1),k(!0)}}},[j,h,a,e]);return(0,b.jsx)(w,{task:ac,messages:f,stepCountHint:d,onExpandSteps:l,stepsLoading:h})}var ae=a.i(307992);let af=(0,l.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]);a.s(["Flag",0,af],40924);var ag=a.i(584126);let ah={mention:["data-agent-id"]},ai=["mention"];function aj({content:a,conversationType:c}){let d=aq(a,c),e="h-4 w-4 mt-0.5 shrink-0";return"issue"===d?(0,b.jsx)(ae.CircleDot,{className:e}):"email"===d?(0,b.jsx)(K.Mail,{className:e}):(0,b.jsx)(Y,{className:e})}function ak({attachmentIds:a,artifacts:c,onArtifactClick:d}){let e=a.map(a=>c.find(b=>b.id===a)).filter(a=>!!a);return 0===e.length?null:(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:e.map(a=>(0,b.jsxs)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a)},className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80 hover:bg-primary-foreground/20 transition-colors cursor-pointer",children:[(0,b.jsx)(J.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.filename})]},a.id))})}function al({pendingFiles:a,messageId:c}){let d=a.get(c);return d&&0!==d.length?(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:d.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80",children:[(0,b.jsx)(J.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.name})]},c))}):null}let am=(0,c.memo)(function({msg:a,agents:d,artifacts:e,activeTask:f,taskMessages:h,connectionLost:k,isLastMessage:l,stepCount:m,targetConvId:n,workspaceId:o,conversationType:p,pendingFilesByMessage:r,onArtifactClick:s,onEmailClick:t,onIssueClick:u,onCalendarEventClick:v,onRetry:x,mentionComponents:y,isFlagged:z,onToggleFlag:A}){let B,C,E,G,[H,I]=(0,c.useState)(!1),J=f&&"assistant"===a.role&&a.task_id===f.id&&a.conversation_id===f.conversation_id&&h.length>0,K=!J&&n&&"assistant"===a.role&&a.task_id&&m>0?m:0,L=J&&f&&["completed","failed","cancelled","superseded"].includes(f.status),M="assistant"===a.role?(0,b.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs","aria-label":H?"Copied":"Copy message",onClick:async b=>{b.stopPropagation();try{await navigator.clipboard.writeText(a.content),I(!0),D.toast.success("Copied to clipboard"),setTimeout(()=>I(!1),2e3)}catch{D.toast.error("Failed to copy")}},className:(0,i.cn)("self-start mb-1",H?"text-green-500 opacity-100":"text-muted-foreground opacity-0 group-hover/msg:opacity-100")}),children:H?(0,b.jsx)(j.Check,{className:"size-3.5"}):(0,b.jsx)(ag.Copy,{className:"size-3.5"})}),(0,b.jsx)(F.TooltipContent,{children:H?"Copied":"Copy"})]}),A&&(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",onClick:()=>A(a.id),className:(0,i.cn)("self-start mb-1",z?"text-primary opacity-100":"text-muted-foreground opacity-0 group-hover/msg:opacity-100")}),children:(0,b.jsx)(af,{className:(0,i.cn)("size-3.5",z&&"fill-current")})}),(0,b.jsx)(F.TooltipContent,{children:z?"Unflag":"Flag"})]})]}):null;return(0,b.jsxs)(c.default.Fragment,{children:[J&&(0,b.jsxs)("div",{className:(0,i.cn)("group/msg",z&&"bg-muted/30 rounded-lg px-2 -mx-2"),children:[(0,b.jsx)(w,{task:f,messages:h,connectionLost:k,onRetry:x}),L&&M]}),K>0&&a.task_id&&(0,b.jsx)(ad,{taskId:a.task_id,stepCount:K,workspaceId:o}),"user"===a.role?(B=l&&!!f&&"running"!==f.status&&!["completed","failed","cancelled","superseded"].includes(f.status),(0,b.jsx)("div",{className:"flex justify-end","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsxs)("div",{className:(0,i.cn)("max-w-[80%] rounded-lg px-4 py-2 bg-primary text-primary-foreground text-base relative"),children:[B&&(0,b.jsx)("div",{className:"absolute inset-0 rounded-lg animate-pulse pointer-events-none",style:{boxShadow:"0 0 0 2px var(--bubble-glow)"}}),(0,b.jsx)("div",{className:"markdown markdown-user",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!1,download:!1,fullscreen:!1}},linkSafety:{enabled:!1},allowedTags:ah,literalTagContent:ai,components:y,children:T(a.content,d)})}),a.attachment_ids&&a.attachment_ids.length>0&&(0,b.jsx)(ak,{attachmentIds:a.attachment_ids,artifacts:e,onArtifactClick:s}),!a.attachment_ids&&(0,b.jsx)(al,{pendingFiles:r,messageId:a.id})]})})):"event"===a.role?(C=a.metadata?.emailId,E=a.metadata?.issueId,G=a.metadata?.calendarEventId,(0,b.jsx)("div",{className:"flex justify-start","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsxs)("div",{className:(0,i.cn)("w-full rounded-md border bg-muted/50 text-muted-foreground text-sm px-3 py-2 flex items-start gap-2",(!!C||!!E||!!G)&&"cursor-pointer hover:bg-muted transition-colors"),onClick:C?()=>t(C):E?()=>u(E):G?()=>v(G):void 0,children:[(0,b.jsx)(aj,{content:a.content,conversationType:p}),(0,b.jsx)("span",{className:"min-w-0 wrap-anywhere",children:a.content})]})})):J?null:(0,b.jsxs)("div",{className:(0,i.cn)("group/msg flex flex-col justify-start min-w-0 overflow-hidden",z&&"bg-muted/30 rounded-lg px-2 -mx-2"),"data-message-id":a.id,"data-quote-source":!0,...a.task_id?{"data-task-id":a.task_id}:{},children:[(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},allowedTags:ah,literalTagContent:ai,components:y,children:T(a.content,d)})}),M]})]})});var an=a.i(781418),ao=a.i(722393);let ap={mention:function(a){let{children:c,...d}=a,{agents:e}=(0,z.useAgentContext)(),f=d["data-agent-id"]??d.dataAgentId,g=f?e.find(a=>a.id===f):void 0;if(!g&&"string"==typeof c){let a=c.startsWith("@")?c.slice(1):c;g=e.find(b=>b.name.toLowerCase()===a.toLowerCase())}return g?(0,b.jsxs)(ao.Popover,{children:[(0,b.jsx)(ao.PopoverTrigger,{openOnHover:!0,delay:300,nativeButton:!1,render:(0,b.jsx)("span",{className:"mention-highlight cursor-pointer"}),children:c}),(0,b.jsx)(ao.PopoverContent,{side:"top",className:"w-fit max-w-80",children:(0,b.jsx)(an.AgentPreviewCard,{agent:g})})]}):(0,b.jsx)("span",{className:"mention-highlight",children:c})},p:({children:a,node:c,...d})=>(0,b.jsx)("div",{"data-md-p":"",...d,children:a})};function aq(a,b){if("issue_event"===b)return"issue";if("email_notification"===b)return"email";if("calendar_event"===b)return"calendar";let c=a.toLowerCase();return c.startsWith("issue ")||c.startsWith("issue:")?"issue":c.includes("email")?"email":"calendar"}function ar(a,b){let c=new Map;for(let b of a)c.set(b.id,b);for(let a of b)c.set(a.id,a);return[...c.values()].slice().sort((a,b)=>{let c=a.created_at.localeCompare(b.created_at);return 0!==c?c:a.id.localeCompare(b.id)})}function as(a){let b=[],c=[],d=!1;for(let e of a)"message"===e.kind&&"user"===e.data.role?(d=!0,b.push(e)):"message"===e.kind&&"assistant"===e.data.role?(b.push(e),b.push(...c),c=[],d=!1):d&&"artifact"===e.kind?c.push(e):b.push(e);return b.push(...c),b}function at(a){let b=(0,c.useRef)(a);return(0,c.useEffect)(()=>{b.current=a},[a]),b}function au({agentName:a}){return(0,b.jsxs)("div",{className:"flex items-center gap-3 py-4 select-none","aria-hidden":!0,children:[(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground/60 whitespace-nowrap",children:[a," took a nap 💤"]}),(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"})]})}function av({artifact:a,version:c,hasDuplicates:d,onClick:e}){return(0,b.jsxs)("button",{onClick:()=>e(a),className:(0,i.cn)("flex items-center gap-3 w-full max-w-sm rounded-lg border border-border/60 bg-muted/30","px-3.5 py-2.5 text-left transition-colors duration-150","hover:bg-muted/60 hover:border-border"),children:[(0,b.jsx)(J.FileText,{className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("p",{className:"text-sm font-medium truncate",children:[a.filename,d&&(0,b.jsxs)("span",{className:"ml-1.5 text-xs text-muted-foreground bg-muted rounded-full px-1.5 py-0.5 font-normal",children:["v",c]})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:(0,U.formatSize)(a.size)})]})]})}function aw({agentId:a,targetConvId:h,scrollToTaskId:j,scrollToMessageId:k}){let l,m,n,o=(0,e.useParams)(),q=(0,e.useSearchParams)(),{workspaceId:r,slug:s}=(0,f.useWorkspace)(),{agents:t,agentLinks:u,activeTaskCounts:v,subscribeWs:Q}=(0,z.useAgentContext)(),{refresh:S}=(0,A.useInboxCount)(),{activeChannel:V,loading:W,setAgentId:Y}=(0,C.useChannel)(),ac=a??o.id,ad=void 0!==j?j:q.get("task"),ae=void 0!==k?k:q.get("msg"),af=void 0!==h?h:q.get("conv"),[ag,ah]=(0,c.useState)(null),[ai,aj]=(0,c.useState)([]),[ak,al]=(0,c.useState)(()=>""),[an,ao]=(0,c.useState)(!1),[aq,ax]=(0,c.useState)(!1),[ay,az]=(0,c.useState)(null),[aA,aB]=(0,c.useState)([]),[aC,aD]=(0,c.useState)(!0),[aE,aF]=(0,c.useState)(!1),[aG,aH]=(0,c.useState)(!1),[aI,aJ]=(0,c.useState)(!1),[aK,aL]=(0,c.useState)([]),[aM,aN]=(0,c.useState)(!1),[aO,aP]=(0,c.useState)(null),[aQ,aR]=(0,c.useState)(null),[aS,aT]=(0,c.useState)(!1),[aU,aV]=(0,c.useState)(null),[aW,aX]=(0,c.useState)(!1),[aY,aZ]=(0,c.useState)(null),[a$,a_]=(0,c.useState)(!1),[a0,a1]=(0,c.useState)(null),[a2,a3]=(0,c.useState)(null),[a4,a5]=(0,c.useState)(!1),[a6,a7]=(0,c.useState)(null),[a8,a9]=(0,c.useState)(null),[ba,bb]=(0,c.useState)(448),[bc,bd]=(0,c.useState)([]),[be,bf]=(0,c.useState)([]),[bg,bh]=(0,c.useState)(null),[bi,bj]=(0,c.useState)([]),[bk,bl]=(0,c.useState)(!1),[bm,bn]=(0,c.useState)([]),[bo,bp]=(0,c.useState)({}),[bq]=(0,c.useState)(()=>Date.now()),[br,bs]=(0,c.useState)(()=>new Map),[bt,bu]=(0,c.useState)(null),[bv,bw]=(0,c.useState)(null),[bx,by]=(0,c.useState)(new Set),bz=(0,c.useRef)(bx);(0,c.useEffect)(()=>{bz.current=bx});let{increment:bA,decrement:bB,refresh:bC}=(0,B.useFlagCount)(),{writeToCache:bD}=function(a,b){let[d,e]=(0,c.useState)(null),[f,g]=(0,c.useState)(!1),h=(0,c.useRef)(a);return(0,c.useEffect)(()=>{if(h.current=a,!a||!b){e(null),g(!1);return}(0,y.openCacheDB)(b);let c=!1;return(0,y.getCachedMessages)(a,b).then(b=>{c||h.current!==a||(b&&b.length>0?(e(b),g(!0)):(e(null),g(!1)))}),()=>{c=!0}},[a,b]),{cachedMessages:d,isFromCache:f,writeToCache:(0,c.useCallback)(async(a,c)=>{h.current&&b&&await (0,y.mergeCachedMessages)(h.current,a,c,b)},[b])}}(af??null,r),bE=(0,c.useRef)(bD);(0,c.useEffect)(()=>{bE.current=bD},[bD]),(0,c.useEffect)(()=>{Y(ac)},[ac,Y]);let{listening:bF,supported:bG,toggle:bH}=function(a){let[b,d]=(0,c.useState)(!1),[e,f]=(0,c.useState)(!1),g=(0,c.useRef)(null);(0,c.useEffect)(()=>{f(!1)},[]);let h=(0,c.useCallback)(()=>{},[a]),i=(0,c.useCallback)(()=>{g.current?.stop()},[]),j=(0,c.useCallback)(()=>{b?i():h()},[b,h,i]);return(0,c.useEffect)(()=>()=>{g.current?.abort()},[]),{listening:b,supported:e,toggle:j}}((0,c.useCallback)(a=>{al(b=>b?b+" "+a:a)},[])),bI=(0,c.useMemo)(()=>aK.filter(a=>"agent"===a.source),[aK]),{versionMap:bJ,duplicateFilenames:bK}=(0,c.useMemo)(()=>(0,_.computeArtifactVersions)(bI),[bI]),bL=(0,c.useMemo)(()=>"agent"===aQ?bI:"issue"===aQ?a2?.artifacts??[]:[],[aQ,bI,a2?.artifacts]),{versionMap:bM,duplicateFilenames:bN}=(0,c.useMemo)(()=>(0,_.computeArtifactVersions)(bL),[bL]),bO=(0,c.useMemo)(()=>(function(a,b,c,d){if(!d||0===c.length){let d=[...a.map(a=>({kind:"message",data:a})),...b.map(a=>({kind:"artifact",data:a})),...c.map(a=>({kind:"nap",data:a}))];return d.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);if(0!==c)return c;if("nap"===a.kind||"nap"===b.kind){if("nap"===a.kind&&"nap"!==b.kind)return 1;if("nap"!==a.kind&&"nap"===b.kind)return -1}return a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)}),as(d)}let e=new Set(c.map(a=>a.id.replace(/^nap-/,""))),f=[...c].sort((a,b)=>a.created_at.localeCompare(b.created_at)),g=c=>as([...a.filter(a=>a.conversation_id===c).map(a=>({kind:"message",data:a})),...b.filter(a=>a.conversation_id===c).map(a=>({kind:"artifact",data:a}))].sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)})),h=[];for(let a of f){let b=a.id.replace(/^nap-/,"");h.push(...g(b)),h.push({kind:"nap",data:a})}h.push(...g(d));let i=new Set([...e,d]),j=a.filter(a=>!i.has(a.conversation_id)),k=b.filter(a=>!i.has(a.conversation_id));if(j.length>0||k.length>0){let a=[...j.map(a=>({kind:"message",data:a})),...k.map(a=>({kind:"artifact",data:a}))];a.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)});let b=as(a),c=h.findIndex(a=>"nap"===a.kind);c>=0?h.splice(c,0,...b):h.push(...b)}return h})(ai,bI,bm,ag?.id),[ai,bI,bm,ag?.id]),bP=(0,c.useCallback)(a=>{(0,_.isPreviewable)(a)?(aP(a),aR("agent"),aN(!0)):window.open((0,_.getArtifactUrl)(a.id,r,!0),"_blank")},[r]),bQ=(0,c.useCallback)(a=>{(0,_.isPreviewable)(a)?(aP(a),aR("issue"),aN(!0)):window.open((0,_.getArtifactUrl)(a.id,r,!0),"_blank")},[r]),bR=(0,c.useRef)(null),bS=(0,c.useRef)(null),bT=(0,c.useRef)(null),bU=(0,c.useRef)(null),bV=(0,c.useRef)(0),bW=(0,c.useRef)(0),bX=(0,c.useRef)(!1),bY=(0,c.useRef)(!1),bZ=(0,c.useRef)(!0),b$=(0,c.useRef)(!1),b_=(0,c.useRef)(null),b0=(0,c.useRef)(null),b1=(0,c.useRef)(0),b2=(0,c.useRef)(void 0),b3=(0,c.useRef)(null),b4=(0,c.useRef)(null),b5=function({input:a,caretIndex:b,textareaRef:d,agents:e,agentLinks:f,currentAgentId:g,onInputChange:h}){let[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(""),[m,n]=(0,c.useState)(0),[o,p]=(0,c.useState)({top:0,left:0}),q=(0,c.useRef)(null),r=(0,c.useMemo)(()=>{let a=new Set;for(let b of f)b.source_agent_id===g&&a.add(b.target_agent_id),b.target_agent_id===g&&a.add(b.source_agent_id);return a},[f,g]),{relatedAgents:s,otherAgents:t,allAgents:u}=(0,c.useMemo)(()=>{if(!i)return{relatedAgents:[],otherAgents:[],allAgents:[]};let a=a=>{if(!k)return a.slice(0,20);let b=k.toLowerCase(),c=[],d=[];for(let e of a){let a=e.name.toLowerCase();a.startsWith(b)?c.push(e):a.includes(b)&&d.push(e)}return[...c,...d]},b=[],c=[];for(let a of e)r.has(a.id)?b.push(a):c.push(a);let d=a(b),f=a(c);return{relatedAgents:d,otherAgents:f,allAgents:[...d,...f]}},[i,k,e,r]);(0,c.useEffect)(()=>{n(0)},[u.length,k]),(0,c.useEffect)(()=>{if(null===b)return void j(!1);let c=function(a,b){let c=b-1;for(;c>=0&&b-c<=30;){let d=a.charCodeAt(c);if(64===d)return{start:c,query:a.slice(c+1,b)};if(10===d||13===d)break;c--}return null}(a,b);c?(q.current=c.start,l(c.query),j(!0),d.current&&p(function(a,b){let c=document.createElement("div"),d=window.getComputedStyle(a);for(let b of(c.style.position="absolute",c.style.top="-9999px",c.style.left="-9999px",c.style.visibility="hidden",c.style.overflow="hidden",c.style.width=`${a.offsetWidth}px`,["fontFamily","fontSize","fontWeight","fontStyle","letterSpacing","textTransform","wordSpacing","textIndent","lineHeight","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","boxSizing","whiteSpace","wordWrap","overflowWrap"]))c.style[b]=d.getPropertyValue(b.replace(/([A-Z])/g,"-$1").toLowerCase());c.textContent=a.value.slice(0,b);let e=document.createElement("span");e.textContent="",c.appendChild(e),document.body.appendChild(c);let f=e.offsetTop-a.scrollTop,g=Math.max(0,Math.min(e.offsetLeft,a.offsetWidth-256));return document.body.removeChild(c),{top:f,left:g}}(d.current,c.start))):(j(!1),q.current=null)},[a,b,d]);let v=(0,c.useCallback)(c=>{if(null===b||null===q.current)return;let e=a.slice(0,q.current),f=a.slice(b);h(`${e}@${c.name} ${f}`),j(!1);let g=e.length+1+c.name.length+1;requestAnimationFrame(()=>{let a=d.current;a&&(a.focus(),a.setSelectionRange(g,g))})},[a,b,d,h]),w=(0,c.useCallback)(a=>!!i&&0!==u.length&&!a.nativeEvent.isComposing&&("ArrowDown"===a.key?(a.preventDefault(),n(a=>(a+1)%u.length),!0):"ArrowUp"===a.key?(a.preventDefault(),n(a=>(a-1+u.length)%u.length),!0):"Enter"===a.key?(a.preventDefault(),v(u[m]),!0):"Escape"===a.key&&(a.preventDefault(),j(!1),!0)),[i,u,m,v]);return{isOpen:i,query:k,selectedIndex:m,anchorPos:o,relatedAgents:s,otherAgents:t,allAgents:u,handleMentionKeyDown:w,selectAgent:v}}({input:ak,caretIndex:bg,textareaRef:b4,agents:(0,c.useMemo)(()=>t.filter(a=>a.id!==ac),[t,ac]),agentLinks:u,currentAgentId:ac,onInputChange:al});(0,c.useEffect)(()=>{let a=`chat-draft:${ac}:${af??"default"}`;ak?localStorage.setItem(a,ak):localStorage.removeItem(a)},[ak,ac,af]),(0,c.useEffect)(()=>{an||b4.current?.focus()},[an]);let b6=(0,c.useCallback)(()=>{bZ.current=!0,setTimeout(()=>{bR.current?.scrollTo({top:bR.current.scrollHeight,behavior:"smooth"})},50)},[]);(0,c.useEffect)(()=>{if(W)return;bS.current&&clearInterval(bS.current),bS.current=null,bU.current=null;let a=!1;return aD(!0),bX.current=!1,az(null),aB([]),bf([]),bs(new Map),bn([]),bp({}),bj([]),bl(!1),b0.current=null,al(localStorage.getItem(`chat-draft:${ac}:${af??"default"}`)??""),aj([]),async function(){let b=!1;try{let c=null,d=null;if(af){if(c=af,d=await (0,y.getCacheMeta)(c,r),d?.newestMessageId){let e=await (0,y.getCachedMessages)(c,r);if(a)return;e&&e.length>0&&(b=!0,aj(e),aH(d.hasMore),aD(!1))}}else try{let e=await (0,x.checkFreshness)({agentId:ac,channel:V},r);if(a)return;if(c=e.conversation_id,d=await (0,y.getCacheMeta)(c,r),d?.newestMessageId&&d.newestMessageId===e.newest_message_id){let e=await (0,y.getCachedMessages)(c,r);if(a)return;e&&e.length>0&&(b=!0,aj(e),aH(d.hasMore),aD(!1))}}catch{}if(c){let b=await (0,x.conversationInit)(c,r,{newestMessageId:d?.newestMessageId??void 0});if(a)return;if(ah(b.conversation),bl(b.has_more_conversations),!b.cache_valid&&b.messages?(aj(a=>ar(a,b.messages)),bE.current(b.messages,b.has_more_messages).catch(()=>{}),aH(b.has_more_messages)):d&&aH(d.hasMore),bp(b.step_counts),aL(b.artifacts),bf(b.buffered_messages),by(new Set(b.flagged_message_ids)),b.active_task&&(az(b.active_task),aB(b.task_messages),b.task_messages.length>0&&(bV.current=Math.max(...b.task_messages.map(a=>a.seq))),b_.current?.(b.active_task.id,c,bV.current)),ad){let b=await (0,x.getTask)(ad,r).catch(()=>null);if(a)return;if(b&&!["completed","failed","cancelled","superseded"].includes(b.status)){az(b);let d=await (0,x.getTaskMessages)(ad,r).catch(()=>[]);if(a)return;aB(d),d.length>0&&(bV.current=Math.max(...d.map(a=>a.seq))),b_.current?.(b.id,c,bV.current)}}}else{let b=await (0,x.chatInit)(ac,r,V);if(a)return;ah(b.conversation),aj(a=>a.length>0?ar(a,b.messages):b.messages),aH(b.has_more_messages),aL(b.artifacts),bf(b.buffered_messages),bl(b.has_more_conversations),bE.current(b.messages,b.has_more_messages).catch(()=>{}),(0,x.listFlaggedMessageIds)(r,b.conversation.id).then(b=>{a||by(new Set(b.message_ids))}).catch(()=>{}),b.active_task&&(az(b.active_task),b.task_messages.length>0&&(aB(b.task_messages),bV.current=Math.max(...b.task_messages.map(a=>a.seq))),["completed","failed","cancelled","superseded"].includes(b.active_task.status)||b_.current?.(b.active_task.id,b.conversation.id,bV.current))}}catch{b?D.toast.error("Couldn't refresh conversation"):D.toast.error("Failed to load conversation")}finally{a||aD(!1)}}(),()=>{a=!0}},[ac,r,af,ad,V,W]);let b7=(0,c.useRef)(S);(0,c.useEffect)(()=>{b7.current=S},[S]);let b8=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!ag?.id||!r||b8.current===ag.id)return;b8.current=ag.id;let a=setTimeout(()=>{(0,x.markInboxRead)(ag.id,r).then(()=>b7.current()).catch(()=>{})},1e3);return()=>{b8.current=null,clearTimeout(a)}},[ag?.id,r]),(0,c.useEffect)(()=>{aC||!(ai.length>0)||bX.current||(bX.current=!0,ad||ae?bZ.current=!1:h?setTimeout(()=>{let a=bR.current?.querySelectorAll("[data-quote-source]");a&&a.length>0?a[a.length-1].scrollIntoView({behavior:"instant",block:"start"}):bR.current?.scrollTo({top:bR.current.scrollHeight})},50):setTimeout(()=>{bR.current?.scrollTo({top:bR.current.scrollHeight})},50))},[aC,ai.length,ad,ae,h]),(0,c.useEffect)(()=>{let a;if(!ad||aC||!ag)return;bZ.current=!1,b$.current=!0;let b=!1,c=()=>{if(b)return!1;let c=document.querySelector(`[data-task-id="${CSS.escape(ad)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"start"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(b$.current=!1)},1500),!0)},d=setTimeout(async()=>{if(!b&&!c())try{let a=await (0,x.listMessagesAroundTask)(ag.id,r,ad);if(b)return;a.length>0?(aj(b=>ar(b,a)),requestAnimationFrame(()=>{setTimeout(()=>{c()||(b$.current=!1)},100)})):b$.current=!1}catch{b||(b$.current=!1)}},100);return()=>{b=!0,clearTimeout(d),a&&clearTimeout(a)}},[ad,aC,ag,r]),(0,c.useEffect)(()=>{let a;if(!ae||ad||aC||!ag)return;bZ.current=!1,b$.current=!0;let b=!1,c=setTimeout(()=>{!b&&((()=>{if(b)return!1;let c=document.querySelector(`[data-message-id="${CSS.escape(ae)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"start"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(b$.current=!1)},1500),!0)})()||(bR.current?.scrollTo({top:bR.current.scrollHeight}),b$.current=!1))},100);return()=>{b=!0,clearTimeout(c),a&&clearTimeout(a)}},[ae,ad,aC,ag]);let b9=ay?.status;(0,c.useEffect)(()=>{b$.current||("running"===b9||"queued"===b9)&&bZ.current&&b6()},[aA.length,b9,b6]);let ca=(0,c.useMemo)(()=>t.find(a=>a.id===ac)?.name??"Agent",[t,ac]),cb=at(ai),cc=at(aG),cd=at(bi),ce=at(bk),cf=at(ca),cg=at(V),ch=(0,c.useCallback)(async(a=!1)=>{if(!ag||bY.current)return;bY.current=!0;let b=cb.current,c=cc.current,e=ce.current,f=cf.current,g=cg.current,h=!!af,i=b[0],j=b0.current?.id??ag.id,k=c&&i,l=cd.current;if(!h&&!k&&0===l.length&&e){let a=b0.current??{id:ag.id,created_at:ag.created_at};try{let b=await (0,x.listPreviousConversations)(ac,r,{exclude:ag.id,before:a.created_at,channel:g});l=b.conversations,bj(b.conversations),bl(b.has_more)}catch{bl(!1)}}let m=!h&&l.length>0;if(!k&&!m){bY.current=!1;return}aJ(!0);let n=bR.current;n&&(n.style.overflowAnchor="none");let o=n?.scrollHeight??0;try{let b=[],c=[],m=20,p=!1,q=[],s=!1;if(k){let a=j===ag.id?await (0,y.getCachedMessagesBefore)(j,i.created_at,i.id,20,r):null;if(a)b=a.messages,m-=a.messages.length,p=a.hasMore;else{let a=await (0,x.listMessages)(j,r,{limit:20,before:i.created_at,beforeId:i.id});b=a.messages,m-=a.messages.length,p=a.has_more}s=p}if(!h&&!p&&m>0){if(0===l.length&&e){let a=b0.current??{id:ag.id,created_at:ag.created_at};try{let b=await (0,x.listPreviousConversations)(ac,r,{exclude:ag.id,before:a.created_at,channel:g});l=b.conversations,bj(b.conversations),bl(b.has_more)}catch{bl(!1)}}let a=0,b=0;for(;a<l.length&&m>0&&b<5;){let d=l[a];a++,b++;let e=await (0,x.listMessages)(d.id,r,{limit:m});if(0===e.messages.length){b0.current=d;continue}let g=b0.current?.created_at??ag.created_at;q.push({agentName:f,created_at:g,id:`nap-${d.id}`}),c=[...e.messages,...c],m-=e.messages.length,p=e.has_more,b0.current=d}a>0&&bj(b=>b.slice(a))}let t=[...c,...b];if((0,d.flushSync)(()=>{t.length>0?(q.length>0&&bn(a=>{let b=new Set(a.map(a=>a.id)),c=q.filter(a=>!b.has(a.id));return[...a,...c]}),aH(p),aj(a=>{let b=new Set(a.map(a=>a.id));return[...t.filter(a=>!b.has(a.id)),...a]})):aH(!1)}),t.length>0&&ag){let a=t.filter(a=>a.conversation_id===ag.id);a.length>0&&(0,y.mergeCachedMessages)(ag.id,a,s,r).catch(()=>{})}if(bY.current=!1,(0,d.flushSync)(()=>aJ(!1)),n)if(a)n.scrollTop=n.scrollHeight;else{let a=n.scrollHeight;n.scrollTop=a-o}}catch{D.toast.error("Failed to load older messages")}finally{bY.current=!1,aJ(!1),bR.current&&(bR.current.style.overflowAnchor="")}},[ag,r,ac,af,cb,cc,ce,cf,cg,cd]),ci=af?aG:aG||bi.length>0||bk;(0,c.useEffect)(()=>{ag?.id!==b2.current&&(b2.current=ag?.id,b1.current=0)},[ag?.id]),(0,c.useEffect)(()=>{aC||!ag||ad||af||ai.length>=10||!ci||aI||b1.current>=3||(b1.current+=1,ch(!0))},[aC,ai.length,ci,aI,ag,ch,ad,af]);let cj=(0,c.useCallback)(()=>{let a=bR.current;a&&(bZ.current=a.scrollHeight-a.scrollTop-a.clientHeight<100)},[]),ck=(0,c.useCallback)((a,b,c)=>{bS.current&&clearInterval(bS.current),bV.current=c??0,bW.current=0,aF(!1),bU.current=a,bS.current=setInterval(async()=>{if(bU.current===a)try{let[c,d]=await Promise.all([(0,x.getTask)(a,r),(0,x.getTaskMessages)(a,r,bV.current||void 0)]),e=bU.current!==a;if(bW.current=0,aF(!1),d.length>0&&!e&&(aB(a=>{let b=new Set(a.map(a=>a.seq)),c=d.filter(a=>!b.has(a.seq));return c.length>0?[...a,...c]:a}),bV.current=Math.max(...d.map(a=>a.seq),bV.current)),"completed"===c.status||"failed"===c.status||"cancelled"===c.status||"superseded"===c.status){if(e)return void(0,x.listMessages)(b,r).then(({messages:a})=>{aj(b=>ar(b,a)),(0,y.mergeCachedMessages)(b,a,null,r).catch(()=>{})}).catch(()=>{});bS.current&&clearInterval(bS.current),bS.current=null,bT.current&&clearTimeout(bT.current),bT.current=setTimeout(()=>{(0,x.markInboxRead)(b,r).then(()=>b7.current()).catch(()=>{})},1e3);let d=!b$.current&&bZ.current;try{let[a,d]=await Promise.all([(0,x.listMessages)(b,r),(0,x.listArtifacts)(b,r).catch(()=>null)]);aj(b=>ar(b,a.messages)),(0,y.mergeCachedMessages)(b,a.messages,null,r).catch(()=>{}),d&&aL(d),az(c)}catch{az(c),D.toast.error("Failed to refresh messages")}d&&requestAnimationFrame(()=>{bR.current?.scrollTo({top:bR.current.scrollHeight,behavior:"smooth"})}),setTimeout(async()=>{if(!bS.current)try{let[c,d]=await Promise.all([(0,x.getActiveTask)(b,r),(0,x.listBufferedMessages)(b,r)]);if(bf(d),c&&c.id!==a){let{messages:a}=await (0,x.listMessages)(b,r);aj(b=>ar(b,a)),(0,y.mergeCachedMessages)(b,a,null,r).catch(()=>{}),az(c),aB([]),b_.current?.(c.id,b)}}catch{}},1e3)}else e||az(c)}catch{if(bU.current!==a)return;bW.current+=1,bW.current>=3&&aF(!0),bW.current>=10&&(bS.current&&clearInterval(bS.current),bS.current=null,D.toast.error("Lost connection to agent"))}},3e3)},[r]);(0,c.useEffect)(()=>{b_.current=ck},[ck]),(0,c.useEffect)(()=>()=>{bS.current&&clearInterval(bS.current),bT.current&&clearTimeout(bT.current)},[]);let cl=(0,c.useRef)(null);(0,c.useEffect)(()=>{cl.current=ay?.id??null},[ay]),(0,c.useEffect)(()=>Q(a=>{if("task.messages"===a.type&&a.taskId===cl.current){let b=a.messages.filter(a=>a.seq>bV.current);b.length>0&&(aB(a=>{let c=new Set(a.map(a=>a.seq)),d=b.filter(a=>!c.has(a.seq));return d.length>0?[...a,...d]:a}),bV.current=Math.max(...b.map(a=>a.seq),bV.current))}if("task.created"===a.type&&a.conversationId===ag?.id){(0,x.listMessages)(a.conversationId,r).then(({messages:b})=>{aj(a=>ar(a,b)),(0,y.mergeCachedMessages)(a.conversationId,b,null,r).catch(()=>{})}).catch(()=>{});let b=a.task;cl.current=b.id,az(b),aB([]),bV.current=0,b_.current?.(b.id,a.conversationId)}if("conversation.message"===a.type&&a.conversationId===ag?.id&&(aj(b=>ar(b,[a.message])),(0,y.appendCachedMessage)(a.conversationId,a.message,r).catch(()=>{})),"task.updated"===a.type&&a.taskId===cl.current&&az(b=>b?{...b,status:a.status}:b),"artifact.uploaded"===a.type&&a.conversationId===ag?.id&&aL(b=>b.some(b=>b.id===a.artifact.id)?b:[...b,a.artifact]),"followup.dispatched"===a.type&&a.conversationId===ag?.id){bf(b=>b.filter(b=>b.id!==a.message.id)),(0,x.listBufferedMessages)(a.conversationId,r).then(bf).catch(()=>{}),(0,x.listMessages)(a.conversationId,r).then(({messages:b})=>{aj(a=>ar(a,b)),(0,y.mergeCachedMessages)(a.conversationId,b,null,r).catch(()=>{})}).catch(()=>{});let b=a.task;cl.current=b.id,az(b),aB([]),b_.current?.(b.id,a.conversationId)}"followup.created"===a.type&&a.conversationId===ag?.id&&bf(b=>(function(a,b){if(a.some(a=>a.id===b.id))return a;let c=new Date(b.created_at).getTime();return a.some(a=>a.id.startsWith("temp-")&&2e3>Math.abs(new Date(a.created_at).getTime()-c))?a:[...a,b]})(b,a.message)),"followup.deleted"===a.type&&a.conversationId===ag?.id&&bf(b=>b.filter(b=>b.id!==a.messageId)),"followup.dispatch_failed"===a.type&&a.conversationId===ag?.id&&D.toast.error(a.error||"Failed to dispatch follow-up")}),[Q,ag?.id,r]);let cm=(0,c.useCallback)(a=>{let b=a.target.files;if(!b)return;let c=[];for(let a of Array.from(b))a.size>0xa00000?D.toast.error(`"${a.name}" exceeds 10 MB limit`):c.push(a);c.length>0&&bd(a=>[...a,...c]),a.target.value=""},[]),cn=(0,c.useCallback)(a=>{bd(b=>b.filter((b,c)=>c!==a))},[]),co=(0,c.useCallback)(()=>{let a=window.getSelection();if(!a||a.isCollapsed||!a.rangeCount)return void bw(null);let b=a.toString().trim();if(!b)return void bw(null);let c=a.getRangeAt(0),d=c.commonAncestorContainer instanceof HTMLElement?c.commonAncestorContainer:c.commonAncestorContainer.parentElement;if(!d?.closest("[data-quote-source]"))return void bw(null);let e=c.getClientRects(),f=e[e.length-1]||c.getBoundingClientRect();bw({text:b,x:f.right,y:f.top-4})},[]);(0,c.useEffect)(()=>(document.addEventListener("selectionchange",co),()=>document.removeEventListener("selectionchange",co)),[co]);let cp=(0,c.useCallback)(()=>{bv&&(bu(bv.text),bw(null),window.getSelection()?.removeAllRanges(),b4.current?.focus())},[bv]),[cq,cr]=(0,c.useState)(!1),cs=(0,c.useRef)(0),ct=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cs.current++,a.dataTransfer.types.includes("Files")&&cr(!0)},[]),cu=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cs.current--,0===cs.current&&cr(!1)},[]),cv=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),cw=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cr(!1),cs.current=0;let b=Array.from(a.dataTransfer.files),c=[];for(let a of b)a.size>0xa00000?D.toast.error(`"${a.name}" exceeds 10 MB limit`):c.push(a);c.length>0&&bd(a=>[...a,...c])},[]),cx=(0,c.useCallback)(a=>{let b=a.clipboardData?.items;if(!b)return;let c=[];for(let a=0;a<b.length;a++){let d=b[a];if("file"===d.kind){let a=d.getAsFile();a&&c.push(a)}}if(0===c.length)return;a.preventDefault();let d=[];for(let a of c)a.size>0xa00000?D.toast.error(`"${a.name}" exceeds 10 MB limit`):d.push(a);d.length>0&&bd(a=>[...a,...d])},[]),cy=async()=>{if(ag&&!aq){ax(!0);try{let a=await (0,x.cancelActiveTask)(ag.id,r);if(a){if(cl.current&&cl.current!==a.id)return;bS.current&&clearInterval(bS.current),bS.current=null;let[b,c]=await Promise.all([(0,x.listMessages)(ag.id,r),(0,x.listBufferedMessages)(ag.id,r)]);aj(a=>ar(a,b.messages)),(0,y.mergeCachedMessages)(ag.id,b.messages,null,r).catch(()=>{}),bf(c),az(a),aB([])}}catch{D.toast.error("Failed to cancel task")}finally{ax(!1)}}},cz=async()=>{let a=ak.trim();if(!a&&0===bc.length||an||!ag)return;if(!a)return void D.toast.error("Please type a message");let b=bt?`> ${bt.split("\n").join("\n> ")}
|
|
1
|
+
module.exports=[831893,896393,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(752792),f=a.i(506180),g=a.i(626806);let h=["user_dm_message"],i=["user_dm_message"];function j(){return h}a.s(["INBOX_FILTER_LABELS",0,{user_dm_message:"DM",calendar_event:"Calendar",email_notification:"Email"},"INBOX_FILTER_TYPES",0,["user_dm_message","calendar_event","email_notification"],"MANDATORY_INBOX_TYPES",0,i,"getInboxFilterTypes",0,j,"setInboxFilterTypes",0,function(a){let b=[...a];for(let a of i)b.includes(a)||b.unshift(a);localStorage.setItem("inbox-filter-types",JSON.stringify(b))}],896393);let k=(0,c.createContext)(null);a.s(["InboxCountProvider",0,function({children:a}){let{workspaceId:h}=(0,f.useWorkspace)(),{subscribeWs:i,agents:l}=(0,e.useAgentContext)(),[m,n]=(0,c.useState)(0),o=(0,c.useRef)(null),p=(0,c.useRef)(null),q=(0,c.useRef)(l);(0,c.useEffect)(()=>{q.current=l});let r=(0,c.useCallback)(()=>{let a=j();(0,d.getInboxCount)(h,{types:a}).then(a=>{let b=o.current;if(o.current=a.count,n(a.count),null!==b&&a.count>b){let a=p.current?q.current.find(a=>a.id===p.current):void 0;(0,g.sendTaskNotification)("completed",a?.name)}p.current=null}).catch(()=>{})},[h]),s=(0,c.useCallback)(()=>{n(a=>{let b=Math.max(0,a-1);return o.current=b,b})},[]);return(0,c.useEffect)(()=>{r()},[r]),(0,c.useEffect)(()=>i(a=>{"task.updated"===a.type&&("completed"===a.status||"failed"===a.status)&&(p.current=a.agentId,r())}),[i,r]),(0,c.useEffect)(()=>{let a=setInterval(r,6e4);return()=>clearInterval(a)},[r]),(0,b.jsx)(k.Provider,{value:{count:m,refresh:r,decrement:s},children:a})},"useInboxCount",0,function(){let a=(0,c.useContext)(k);if(!a)throw Error("useInboxCount must be used within InboxCountProvider");return a}],831893)},70813,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(506180);let f=(0,c.createContext)(null);a.s(["FlagCountProvider",0,function({children:a}){let{workspaceId:g}=(0,e.useWorkspace)(),[h,i]=(0,c.useState)(0),j=(0,c.useCallback)(()=>{(0,d.getFlaggedCount)(g).then(a=>i(a.count)).catch(()=>{})},[g]),k=(0,c.useCallback)(()=>{i(a=>a+1)},[]),l=(0,c.useCallback)(()=>{i(a=>Math.max(0,a-1))},[]);return(0,c.useEffect)(()=>{j()},[j]),(0,b.jsx)(f.Provider,{value:{count:h,refresh:j,increment:k,decrement:l},children:a})},"useFlagCount",0,function(){let a=(0,c.useContext)(f);if(!a)throw Error("useFlagCount must be used within FlagCountProvider");return a}])},781418,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(549931),e=a.i(584126),f=a.i(921584);a.i(735132);var g=a.i(253260),h=a.i(325848),i=a.i(191525),j=a.i(75118);a.s(["AgentPreviewCard",0,function({agent:a,isOnline:k,activeTaskCount:l,variant:m="default",isHovered:n}){let[o,p]=(0,c.useState)(!1),q=a.email_handle?`${a.email_handle}@alook.ai`:null,r=(0,c.useCallback)(async()=>{if(q)try{await navigator.clipboard.writeText(q),p(!0),f.toast.success("Email copied to clipboard"),setTimeout(()=>p(!1),2e3)}catch{f.toast.error("Failed to copy email")}},[q]);if("compact"===m){let c;return(0,b.jsxs)("div",{className:"flex items-center gap-2 p-0",children:[(c=(0,h.parseAvatarUrl)(a.avatar_url))?(0,b.jsx)(g.AnimatedAvatar,{config:c,size:32,className:"shrink-0 rounded-xl",isHovered:n??!1,isWorking:!!k&&(l??0)>0}):(0,b.jsx)("div",{className:"flex items-center justify-center size-8 rounded-xl bg-secondary text-secondary-foreground text-xs font-medium shrink-0",children:a.name.charAt(0).toUpperCase()}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate max-w-35",children:a.name}),q&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:q})]}),void 0!==k&&(0,b.jsx)("div",{className:"pointer-events-none mt-0.5",children:(0,b.jsx)(i.AgentStatusBadge,{isOnline:k,taskCount:l??0,agentId:a.id})})]})]})}return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5 p-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate",children:a.name}),(0,b.jsx)("span",{className:"flex-1"}),void 0!==k&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,b.jsx)("span",{className:(0,j.cn)("size-1.5 rounded-full",k?"bg-status-online":"bg-status-offline")}),k?(l??0)>0?"Working":null:"Offline"]})]}),q&&(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:q}),(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),r()},className:"shrink-0 p-0.5 rounded-sm text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:o?(0,b.jsx)(d.Check,{className:"size-3 text-green-500"}):(0,b.jsx)(e.Copy,{className:"size-3"})})]}),a.description&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2",children:a.description})]})}])},127026,40924,a=>{"use strict";a.s(["AgentChatView",()=>aw,"getEventIconType",()=>aq],127026);var b=a.i(749314),c=a.i(437199),d=a.i(131675),e=a.i(207058),f=a.i(506180),g=a.i(732254),h=a.i(464830),i=a.i(75118),j=a.i(549931),k=a.i(143984),l=a.i(647651);let m=(0,l.default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);var n=a.i(123047),o=a.i(723127),p=a.i(16831);a.i(343563);var q=a.i(347788);function r(a){return a.replace(/_/g," ").replace(/\b\w/g,a=>a.toUpperCase())}let s=new Set(["status","log"]);function t({item:a,isRunning:d,isLast:e}){let f=(0,c.useMemo)(()=>{if(!a.input)return null;try{return JSON.stringify(a.input,null,2)}catch{return String(a.input)}},[a.input]);return f?(0,b.jsxs)("details",{className:"group/tool",children:[(0,b.jsxs)("summary",{className:(0,i.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md cursor-pointer select-none","text-sm text-muted-foreground transition-colors duration-150","hover:bg-muted/60 hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,b.jsx)(k.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/tool:rotate-90"}),(0,b.jsx)("span",{className:"font-medium text-foreground/80",children:r(a.tool)}),d&&e&&(0,b.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),d&&!e&&(0,b.jsx)(j.Check,{className:"ml-auto size-3 text-emerald-500"})]}),(0,b.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,b.jsx)("pre",{className:"task-stream-pre overflow-x-auto rounded-md bg-muted/40 p-2.5 font-mono text-xs leading-relaxed text-muted-foreground max-h-48 max-w-full min-w-0 overflow-y-auto",children:f})})]}):(0,b.jsxs)("div",{className:(0,i.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground"),children:[(0,b.jsx)("span",{className:"font-medium text-foreground/80",children:r(a.tool)}),d&&e&&(0,b.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),d&&!e&&(0,b.jsx)(j.Check,{className:"ml-auto size-3 text-emerald-500"})]})}function u({item:a}){return a.content?(0,b.jsxs)("details",{className:"group/think",children:[(0,b.jsxs)("summary",{className:(0,i.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md cursor-pointer select-none","text-sm text-muted-foreground/60 italic transition-colors duration-150","hover:bg-muted/60 hover:text-muted-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,b.jsx)(k.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/40 transition-transform duration-150 group-open/think:rotate-90"}),(0,b.jsx)(m,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{children:"Thinking..."})]}),(0,b.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,b.jsx)("p",{className:"text-sm italic text-muted-foreground/60 whitespace-pre-wrap",children:a.content})})]}):(0,b.jsxs)("div",{className:(0,i.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground/60 italic"),children:[(0,b.jsx)(m,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{children:"Thinking..."})]})}function v({value:a}){let d=(0,c.useRef)(a),[e,f]=(0,c.useState)({current:a,previous:null}),[g,h]=(0,c.useState)("idle");return(0,c.useEffect)(()=>{if(a===d.current)return;let b=d.current;d.current=a,f({current:a,previous:b}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{h("animating")})});let c=setTimeout(()=>{h("idle"),f(a=>({...a,previous:null}))},300);return()=>clearTimeout(c)},[a]),(0,b.jsxs)("span",{style:{display:"inline-block",position:"relative",overflow:"hidden",height:"1.2em",lineHeight:"1.2em",verticalAlign:"bottom"},children:[null!==e.previous&&(0,b.jsx)("span",{style:{display:"block",position:"absolute",inset:"0",transition:"animating"===g?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:"animating"===g?"translateY(-100%)":"translateY(0)",opacity:+("animating"!==g)},children:e.previous}),(0,b.jsx)("span",{style:{display:"block",transition:"animating"===g?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:null!==e.previous&&"animating"!==g?"translateY(100%)":"translateY(0)",opacity:+(null===e.previous||"animating"===g)},children:e.current})]})}function w({task:a,messages:d,connectionLost:e,onRetry:f,stepCountHint:g,onExpandSteps:j,stepsLoading:l}){let[m,r]=(0,c.useState)(!1),x=(0,c.useMemo)(()=>(function(a){let b=[],c=new Map;for(let d of a){if(s.has(d.type))continue;let a=d.id||`seq-${d.seq}`;switch(d.type){case"tool-use":{let e=d.call_id,f={kind:"tool-call",id:a,tool:d.tool,input:d.input};e&&c.set(e,f),b.push(f);break}case"tool-result":break;case"text":b.push({kind:"text",id:a,content:d.content});break;case"thinking":b.push({kind:"thinking",id:a,content:d.content});break;case"error":b.push({kind:"status",id:a,content:d.content||d.output,type:"error"})}}return b})(d),[d]),y="completed"!==a.status&&"failed"!==a.status&&"cancelled"!==a.status&&"superseded"!==a.status,z=x.filter(a=>"text"!==a.kind),A=x.filter(a=>"text"===a.kind),B=A.length>0?A[A.length-1]:null,C=(0,c.useRef)(null),D=(0,c.useRef)(null),E=(0,c.useRef)(!1);(0,c.useEffect)(()=>{y&&C.current&&(C.current.scrollTop=C.current.scrollHeight)},[z.length,y]),(0,c.useEffect)(()=>{y&&D.current&&(D.current.scrollTop=D.current.scrollHeight)},[A.length,y]);let F=y?A:A.slice(0,-1),G=!y&&null!==B,H=z.length>0?z.length:g??0,I=z.length>0||g&&g>0;return(0,b.jsxs)("div",{className:"space-y-3 min-w-0 max-w-full",children:[(0,b.jsx)("div",{className:"flex items-center gap-2",children:"running"===a.status?(0,b.jsxs)(h.Badge,{variant:"secondary",className:"gap-1.5 relative overflow-hidden",children:[(0,b.jsx)("span",{className:"size-1.5 rounded-full bg-primary animate-pulse"}),"Working",(0,b.jsx)("div",{className:"pointer-events-none absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite]",style:{background:"linear-gradient(90deg, transparent 0%, var(--shimmer) 40%, var(--shimmer-peak) 50%, var(--shimmer) 60%, transparent 100%)"}})]}):y?(0,b.jsxs)(h.Badge,{variant:"secondary",className:"relative overflow-hidden",children:[a.status,(0,b.jsx)("div",{className:"pointer-events-none absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite]",style:{background:"linear-gradient(90deg, transparent 0%, var(--shimmer) 40%, var(--shimmer-peak) 50%, var(--shimmer) 60%, transparent 100%)"}})]}):(0,b.jsx)(h.Badge,{variant:"secondary",children:a.status})}),I&&(0,b.jsxs)("details",{className:"group/stream pl-1",onToggle:a=>{a.currentTarget.open&&!E.current&&j&&(E.current=!0,j())},children:[(0,b.jsxs)("summary",{className:(0,i.cn)("flex items-center gap-1.5 py-1 cursor-pointer select-none","text-xs text-muted-foreground transition-colors duration-150","hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,b.jsx)(k.ChevronRight,{className:(0,i.cn)("size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/stream:rotate-90",y&&"animate-pulse text-primary")}),(0,b.jsxs)("span",{children:[(0,b.jsx)(v,{value:H})," ",1===H?"step":"steps"]})]}),(0,b.jsxs)("div",{ref:C,className:"mt-1 max-h-80 overflow-y-auto overflow-x-hidden thin-scrollbar space-y-0.5 pl-1",children:[l&&0===z.length&&(0,b.jsxs)("div",{className:"flex items-center gap-2 py-2 text-xs text-muted-foreground",children:[(0,b.jsx)(p.Loader2,{className:"size-3 animate-spin"}),(0,b.jsx)("span",{children:"Loading steps..."})]}),z.map((a,c)=>{switch(a.kind){case"tool-call":return(0,b.jsx)(t,{item:a,isRunning:y,isLast:c===z.length-1},a.id);case"thinking":return(0,b.jsx)(u,{item:a},a.id);case"status":return(0,b.jsxs)("p",{className:"text-xs text-muted-foreground px-1 wrap-anywhere",children:["error"===a.type&&(0,b.jsx)(n.AlertCircle,{className:"inline size-3 mr-1 -mt-0.5 text-destructive"}),a.content]},a.id);default:return null}})]})]}),F.length>0&&(0,b.jsxs)("details",{className:"group/midtext pl-1",open:!G||void 0,children:[(0,b.jsxs)("summary",{className:(0,i.cn)("flex items-center gap-1.5 py-1 cursor-pointer select-none","text-xs text-muted-foreground transition-colors duration-150","hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,b.jsx)(k.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/midtext:rotate-90"}),(0,b.jsxs)("span",{children:[(0,b.jsx)(v,{value:F.length})," thinking"]})]}),(0,b.jsx)("div",{ref:D,className:"mt-1 space-y-2 pl-1",children:F.map(a=>(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-0.5 text-sm text-muted-foreground",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:a.content})},a.id))})]}),G&&!j&&(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:B.content})}),"failed"===a.status&&a.error&&(0,b.jsxs)("div",{className:"flex items-start gap-2 mt-2 max-w-full overflow-hidden",children:[(0,b.jsxs)("p",{className:"text-sm text-destructive flex items-start gap-1.5 min-w-0",children:[(0,b.jsx)(n.AlertCircle,{className:"size-3.5 shrink-0 mt-0.5"}),(0,b.jsx)("span",{className:"wrap-anywhere",children:a.error})]}),f&&(0,b.jsxs)("button",{type:"button",onClick:async()=>{r(!0);try{await f()}finally{r(!1)}},disabled:m,className:"shrink-0 text-xs text-muted-foreground hover:text-foreground transition-colors cursor-pointer disabled:opacity-50 flex items-center gap-1",children:[m?(0,b.jsx)(p.Loader2,{className:"size-3 animate-spin"}):(0,b.jsx)(o.RotateCw,{className:"size-3"}),"Retry"]})]}),e&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground animate-pulse mt-1",children:"Connection lost — retrying..."})]})}var x=a.i(588339),y=a.i(562706),z=a.i(752792),A=a.i(831893),B=a.i(70813),C=a.i(452906),D=a.i(921584),E=a.i(25668),F=a.i(525132),G=a.i(540858);let H=(0,l.default)("bed-double",[["path",{d:"M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8",key:"1k78r4"}],["path",{d:"M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4",key:"fb3tl2"}],["path",{d:"M12 4v6",key:"1dcgq2"}],["path",{d:"M2 18h20",key:"ajqnye"}]]),I=(0,l.default)("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);var J=a.i(510698),K=a.i(606896);let L=(0,l.default)("message-square-quote",[["path",{d:"M14 14a2 2 0 0 0 2-2V8h-2",key:"1r06pg"}],["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M8 14a2 2 0 0 0 2-2V8H8",key:"1jzu5j"}]]),M=(0,l.default)("mic",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]]);var N=a.i(546257),O=a.i(484573),P=a.i(518828);function Q({agent:a,isSelected:c,onSelect:d}){return(0,b.jsxs)("button",{type:"button","data-mention-item":!0,className:(0,i.cn)("flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",c?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:b=>{b.preventDefault(),d(a)},children:[(0,b.jsx)("span",{className:"truncate font-medium",children:a.name}),a.email_handle&&(0,b.jsxs)("span",{className:"truncate text-xs text-muted-foreground",children:[a.email_handle,"@alook.ai"]})]})}function R({isOpen:a,relatedAgents:d,otherAgents:e,selectedIndex:f,onSelect:g,anchorPos:h}){let i=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!i.current)return;let a=i.current.querySelectorAll("[data-mention-item]")[f];a?.scrollIntoView({block:"nearest"})},[f]);let j=d.length+e.length;if(!a||0===j)return null;let k=d.length>0&&e.length>0;return(0,b.jsx)("div",{className:"absolute z-50 w-64 rounded-lg border border-border bg-popover text-popover-foreground shadow-md transition-opacity duration-150",style:{top:h.top-4,left:h.left,transform:"translateY(-100%)"},children:(0,b.jsxs)("div",{ref:i,className:"max-h-50 overflow-y-auto py-1 thin-scrollbar",children:[d.map((a,c)=>(0,b.jsx)(Q,{agent:a,isSelected:c===f,onSelect:g},a.id)),k&&(0,b.jsx)("div",{className:"mx-3 my-1 border-t border-border"}),e.map((a,c)=>(0,b.jsx)(Q,{agent:a,isSelected:d.length+c===f,onSelect:g},a.id))]})})}function S(a,b){if(b>=a.length)return!0;let c=a.charCodeAt(b);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}function T(a,b){if(!a||0===b.length||!a.includes("@"))return a;let c=b.slice().sort((a,b)=>b.name.length-a.name.length),d=[];for(let b=0;b<a.length;b++){if("@"!==a[b]||!function(a,b){if(0===b)return!0;let c=a.charCodeAt(b-1);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}(a,b))continue;let e=b+1;for(let f of c){let c=e+f.name.length;if(c>a.length||a.slice(e,c).toLowerCase()!==f.name.toLowerCase())continue;let g=c,h=a.slice(c).match(/^ \([a-zA-Z0-9-]+@alook\.ai\)/);if(h&&(g=c+h[0].length),(h||S(a,c))&&(!h||S(a,g))){if(d.some(a=>b>=a.start&&b<a.end))break;d.push({start:b,end:c,name:f.name,agentId:f.id});break}}}let e=a;for(let a=d.length-1;a>=0;a--){let b=d[a],c=e.slice(b.start,b.end);e=e.slice(0,b.start)+`<mention data-agent-id="${b.agentId}">${c}</mention>`+e.slice(b.end)}return e}var U=a.i(207461),V=a.i(7455),W=a.i(135510);function X({open:a,onOpenChange:d,emailId:e,workspaceId:f}){let[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(500),q=(0,c.useRef)(!1),r=(0,c.useRef)(d);(0,c.useEffect)(()=>{r.current=d}),(0,c.useEffect)(()=>{a&&e&&(m(!0),i(null),k(null),Promise.all([(0,x.getEmail)(e,f),(0,x.getEmailBody)(e,f)]).then(([a,b])=>{i(a),k(b)}).catch(()=>{D.toast.error("Email not found"),r.current(!1)}).finally(()=>m(!1)))},[a,e,f]);let s=a=>{d(a),a||setTimeout(()=>{i(null),k(null)},300)},t=(0,c.useCallback)(a=>{a.preventDefault(),q.current=!0,a.target.setPointerCapture(a.pointerId)},[]),u=(0,c.useCallback)(a=>{q.current&&o(Math.min(.8*window.innerWidth,Math.max(320,window.innerWidth-a.clientX)))},[]),v=(0,c.useCallback)(()=>{q.current=!1},[]);return(0,b.jsx)(V.Sheet,{open:a,onOpenChange:s,children:(0,b.jsxs)(V.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${n}px, 100vw)`,maxWidth:"none"},className:"data-[side=right]:sm:inset-y-2 data-[side=right]:sm:right-2 data-[side=right]:sm:h-auto data-[side=right]:sm:rounded-xl data-[side=right]:sm:border",children:[(0,b.jsx)("div",{onPointerDown:t,onPointerMove:u,onPointerUp:v,className:"hidden sm:block absolute left-0 top-0 bottom-0 w-1.5 cursor-col-resize z-10 hover:bg-primary/20 active:bg-primary/30 transition-colors rounded-l-xl"}),(0,b.jsx)(V.SheetHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(K.Mail,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsx)(V.SheetTitle,{className:"truncate flex-1",children:l?"Loading...":h?.subject||"Email"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>s(!1),children:(0,b.jsx)(P.X,{className:"h-4 w-4"})})]})}),(0,b.jsx)(V.SheetBody,{className:"flex-1 overflow-y-auto thin-scrollbar",children:l?(0,b.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,b.jsx)(p.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):h?(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"text-sm space-y-1 border-b pb-3",children:[(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"From:"}),(0,b.jsx)("span",{className:"truncate",children:h.from_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"To:"}),(0,b.jsx)("span",{className:"truncate",children:h.to_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Date:"}),(0,b.jsx)("span",{children:new Date(h.created_at).toLocaleString()})]})]}),j?.isHtml?(0,b.jsx)(W.EmailBodyFrame,{html:j.content,className:"max-w-full"}):(0,b.jsx)("pre",{className:"whitespace-pre-wrap text-sm font-mono",children:j?.content}),h.attachments&&h.attachments.length>0&&(0,b.jsxs)("div",{className:"border-t pt-3",children:[(0,b.jsxs)("p",{className:"text-xs text-muted-foreground mb-2",children:[h.attachments.length," attachment",h.attachments.length>1?"s":""]}),(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:h.attachments.map(a=>(0,b.jsx)("span",{className:"inline-flex items-center gap-1 text-xs bg-muted rounded px-2 py-1",children:a.filename},a.key))})]})]}):null})]})})}var Y=a.i(276163),Z=a.i(963744),$=a.i(698824);function _({bufferedMessages:a,onDelete:d}){let[e,f]=(0,c.useState)(!1),g=a.length;if(0===g)return null;let h=Math.min(g,3);return(0,b.jsx)("div",{className:"relative px-5 pb-1",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl flex justify-center",children:(0,b.jsxs)("div",{className:"relative w-full max-w-lg transition-[height] duration-200 ease-out",style:{height:e?32*g+(g-1)*4:32+(h-1)*6},onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),children:[a.map((a,c)=>{var f;let j=g-1-c,k=c>=g-h;return(0,b.jsx)("div",{className:"absolute right-0 left-0 transition-all duration-200 ease-out",style:{height:32,zIndex:c+1,bottom:e?36*j:k?6*j:0,transform:e?"scale(1)":`scale(${k?1-.03*j:.91})`,opacity:e?1:k?1-.2*j:0,pointerEvents:e||k?"auto":"none"},children:(0,b.jsxs)("div",{className:"h-full rounded-lg border bg-background/95 backdrop-blur-sm shadow-sm flex items-center gap-2 px-3",children:[(0,b.jsx)("span",{className:"shrink-0 text-[11px] text-primary/60 tabular-nums w-4 text-center",children:c+1}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-[13px] text-muted-foreground leading-snug truncate",children:(f=a.content).length<=80?f:f.slice(0,80).trimEnd()+"…"}),a.attachment_ids&&a.attachment_ids.length>0&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5 shrink-0 text-[11px] text-muted-foreground/50",children:[(0,b.jsx)(N.Paperclip,{className:"size-2.5"}),a.attachment_ids.length]})]}),(0,b.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a.id)},className:(0,i.cn)("shrink-0 rounded-sm p-0.5 transition-all duration-150","text-muted-foreground/30 hover:text-foreground hover:bg-muted",e?"opacity-100":"opacity-0"),tabIndex:e?0:-1,children:(0,b.jsx)(P.X,{className:"size-3"})})]})},a.id)}),!e&&g>h&&(0,b.jsxs)("span",{className:"absolute -top-4 right-1 text-[10px] text-muted-foreground/40 tabular-nums",children:["+",g-h," more"]})]})})})}var aa=a.i(389660);let ab={id:"",agent_id:"",runtime_id:"",conversation_id:"",workspace_id:"",prompt:"",status:"completed",priority:0,dispatched_at:null,started_at:null,completed_at:null,result:null,error:null,created_at:"",type:""};function ac({taskId:a,stepCount:d,workspaceId:e}){let[f,g]=(0,c.useState)([]),[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(!1),l=(0,c.useCallback)(async()=>{if(!j&&!h){i(!0);try{let b=await (0,x.getTaskMessages)(a,e);g(b)}catch{g([])}finally{i(!1),k(!0)}}},[j,h,a,e]);return(0,b.jsx)(w,{task:ab,messages:f,stepCountHint:d,onExpandSteps:l,stepsLoading:h})}let ad=(0,l.default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);var ae=a.i(307992);let af=(0,l.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]);a.s(["Flag",0,af],40924);var ag=a.i(584126);let ah={mention:["data-agent-id"]},ai=["mention"];function aj({content:a,conversationType:c}){let d=aq(a,c),e="h-4 w-4 mt-0.5 shrink-0";return"issue"===d?(0,b.jsx)(ae.CircleDot,{className:e}):"email"===d?(0,b.jsx)(K.Mail,{className:e}):(0,b.jsx)(ad,{className:e})}function ak({attachmentIds:a,artifacts:c,onArtifactClick:d}){let e=a.map(a=>c.find(b=>b.id===a)).filter(a=>!!a);return 0===e.length?null:(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:e.map(a=>(0,b.jsxs)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a)},className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80 hover:bg-primary-foreground/20 transition-colors cursor-pointer",children:[(0,b.jsx)(J.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.filename})]},a.id))})}function al({pendingFiles:a,messageId:c}){let d=a.get(c);return d&&0!==d.length?(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:d.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80",children:[(0,b.jsx)(J.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.name})]},c))}):null}let am=(0,c.memo)(function({msg:a,agents:d,artifacts:e,activeTask:f,taskMessages:h,connectionLost:k,isLastMessage:l,stepCount:m,targetConvId:n,workspaceId:o,conversationType:p,pendingFilesByMessage:r,onArtifactClick:s,onEmailClick:t,onIssueClick:u,onCalendarEventClick:v,onRetry:x,mentionComponents:y,isFlagged:z,onToggleFlag:A}){let B,C,E,G,[H,I]=(0,c.useState)(!1),J=f&&"assistant"===a.role&&a.task_id===f.id&&a.conversation_id===f.conversation_id&&h.length>0,K=!J&&n&&"assistant"===a.role&&a.task_id&&m>0?m:0,L=J&&f&&["completed","failed","cancelled","superseded"].includes(f.status),M="assistant"===a.role?(0,b.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs","aria-label":H?"Copied":"Copy message",onClick:async b=>{b.stopPropagation();try{await navigator.clipboard.writeText(a.content),I(!0),D.toast.success("Copied to clipboard"),setTimeout(()=>I(!1),2e3)}catch{D.toast.error("Failed to copy")}},className:(0,i.cn)("self-start mb-1",H?"text-green-500 opacity-100":"text-muted-foreground md:opacity-0 md:group-hover/msg:opacity-100")}),children:H?(0,b.jsx)(j.Check,{className:"size-3.5"}):(0,b.jsx)(ag.Copy,{className:"size-3.5"})}),(0,b.jsx)(F.TooltipContent,{children:H?"Copied":"Copy"})]}),A&&(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",onClick:()=>A(a.id),className:(0,i.cn)("self-start mb-1",z?"text-primary opacity-100":"text-muted-foreground md:opacity-0 md:group-hover/msg:opacity-100")}),children:(0,b.jsx)(af,{className:(0,i.cn)("size-3.5",z&&"fill-current")})}),(0,b.jsx)(F.TooltipContent,{children:z?"Unflag":"Flag"})]})]}):null;return(0,b.jsxs)(c.default.Fragment,{children:[J&&(0,b.jsxs)("div",{className:(0,i.cn)("group/msg",z&&"bg-muted/30 rounded-lg px-2 -mx-2"),children:[(0,b.jsx)(w,{task:f,messages:h,connectionLost:k,onRetry:x}),L&&M]}),K>0&&a.task_id&&(0,b.jsx)(ac,{taskId:a.task_id,stepCount:K,workspaceId:o}),"user"===a.role?(B=l&&!!f&&"running"!==f.status&&!["completed","failed","cancelled","superseded"].includes(f.status),(0,b.jsx)("div",{className:"flex justify-end","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsxs)("div",{className:(0,i.cn)("max-w-[80%] rounded-lg px-4 py-2 bg-primary text-primary-foreground text-base relative"),children:[B&&(0,b.jsx)("div",{className:"absolute inset-0 rounded-lg animate-pulse pointer-events-none",style:{boxShadow:"0 0 0 2px var(--bubble-glow)"}}),(0,b.jsx)("div",{className:"markdown markdown-user",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!1,download:!1,fullscreen:!1}},linkSafety:{enabled:!1},allowedTags:ah,literalTagContent:ai,components:y,children:T(a.content,d)})}),a.attachment_ids&&a.attachment_ids.length>0&&(0,b.jsx)(ak,{attachmentIds:a.attachment_ids,artifacts:e,onArtifactClick:s}),!a.attachment_ids&&(0,b.jsx)(al,{pendingFiles:r,messageId:a.id})]})})):"event"===a.role?(C=a.metadata?.emailId,E=a.metadata?.issueId,G=a.metadata?.calendarEventId,(0,b.jsx)("div",{className:"flex justify-start","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsxs)("div",{className:(0,i.cn)("w-full rounded-md border bg-muted/50 text-muted-foreground text-sm px-3 py-2 flex items-start gap-2",(!!C||!!E||!!G)&&"cursor-pointer hover:bg-muted transition-colors"),onClick:C?()=>t(C):E?()=>u(E):G?()=>v(G):void 0,children:[(0,b.jsx)(aj,{content:a.content,conversationType:p}),(0,b.jsx)("span",{className:"min-w-0 wrap-anywhere",children:a.content})]})})):J?null:(0,b.jsxs)("div",{className:(0,i.cn)("group/msg flex flex-col justify-start min-w-0 overflow-hidden",z&&"bg-muted/30 rounded-lg px-2 -mx-2"),"data-message-id":a.id,"data-quote-source":!0,...a.task_id?{"data-task-id":a.task_id}:{},children:[(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},allowedTags:ah,literalTagContent:ai,components:y,children:T(a.content,d)})}),M]})]})});var an=a.i(781418),ao=a.i(722393);let ap={mention:function(a){let{children:c,...d}=a,{agents:e}=(0,z.useAgentContext)(),f=d["data-agent-id"]??d.dataAgentId,g=f?e.find(a=>a.id===f):void 0;if(!g&&"string"==typeof c){let a=c.startsWith("@")?c.slice(1):c;g=e.find(b=>b.name.toLowerCase()===a.toLowerCase())}return g?(0,b.jsxs)(ao.Popover,{children:[(0,b.jsx)(ao.PopoverTrigger,{openOnHover:!0,delay:300,nativeButton:!1,render:(0,b.jsx)("span",{className:"mention-highlight cursor-pointer"}),children:c}),(0,b.jsx)(ao.PopoverContent,{side:"top",className:"w-fit max-w-80",children:(0,b.jsx)(an.AgentPreviewCard,{agent:g})})]}):(0,b.jsx)("span",{className:"mention-highlight",children:c})},p:({children:a,node:c,...d})=>(0,b.jsx)("div",{"data-md-p":"",...d,children:a})};function aq(a,b){if("issue_event"===b)return"issue";if("email_notification"===b)return"email";if("calendar_event"===b)return"calendar";let c=a.toLowerCase();return c.startsWith("issue ")||c.startsWith("issue:")?"issue":c.includes("email")?"email":"calendar"}function ar(a,b){let c=new Map;for(let b of a)c.set(b.id,b);for(let a of b)c.set(a.id,a);return[...c.values()].slice().sort((a,b)=>{let c=a.created_at.localeCompare(b.created_at);return 0!==c?c:a.id.localeCompare(b.id)})}function as(a){let b=[],c=[],d=!1;for(let e of a)"message"===e.kind&&"user"===e.data.role?(d=!0,b.push(e)):"message"===e.kind&&"assistant"===e.data.role?(b.push(e),b.push(...c),c=[],d=!1):d&&"artifact"===e.kind?c.push(e):b.push(e);return b.push(...c),b}function at(a){let b=(0,c.useRef)(a);return(0,c.useEffect)(()=>{b.current=a},[a]),b}function au({agentName:a}){return(0,b.jsxs)("div",{className:"flex items-center gap-3 py-4 select-none","aria-hidden":!0,children:[(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground/60 whitespace-nowrap",children:[a," took a nap 💤"]}),(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"})]})}function av({artifact:a,version:c,hasDuplicates:d,onClick:e}){return(0,b.jsxs)("button",{onClick:()=>e(a),className:(0,i.cn)("flex items-center gap-3 w-full max-w-sm rounded-lg border border-border/60 bg-muted/30","px-3.5 py-2.5 text-left transition-colors duration-150","hover:bg-muted/60 hover:border-border"),children:[(0,b.jsx)(J.FileText,{className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("p",{className:"text-sm font-medium truncate",children:[a.filename,d&&(0,b.jsxs)("span",{className:"ml-1.5 text-xs text-muted-foreground bg-muted rounded-full px-1.5 py-0.5 font-normal",children:["v",c]})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:(0,U.formatSize)(a.size)})]})]})}function aw({agentId:a,targetConvId:h,scrollToTaskId:j,scrollToMessageId:k}){let l,m,n,o=(0,e.useParams)(),q=(0,e.useSearchParams)(),{workspaceId:r,slug:s}=(0,f.useWorkspace)(),{agents:t,agentLinks:u,activeTaskCounts:v,subscribeWs:Q}=(0,z.useAgentContext)(),{refresh:S}=(0,A.useInboxCount)(),{activeChannel:V,loading:W,setAgentId:ab}=(0,C.useChannel)(),ac=a??o.id,ad=void 0!==j?j:q.get("task"),ae=void 0!==k?k:q.get("msg"),af=void 0!==h?h:q.get("conv"),[ag,ah]=(0,c.useState)(null),[ai,aj]=(0,c.useState)([]),[ak,al]=(0,c.useState)(()=>""),[an,ao]=(0,c.useState)(!1),[aq,ax]=(0,c.useState)(!1),[ay,az]=(0,c.useState)(null),[aA,aB]=(0,c.useState)([]),[aC,aD]=(0,c.useState)(!0),[aE,aF]=(0,c.useState)(!1),[aG,aH]=(0,c.useState)(!1),[aI,aJ]=(0,c.useState)(!1),[aK,aL]=(0,c.useState)([]),[aM,aN]=(0,c.useState)(!1),[aO,aP]=(0,c.useState)(null),[aQ,aR]=(0,c.useState)(null),[aS,aT]=(0,c.useState)(!1),[aU,aV]=(0,c.useState)(null),[aW,aX]=(0,c.useState)(!1),[aY,aZ]=(0,c.useState)(null),[a$,a_]=(0,c.useState)(!1),[a0,a1]=(0,c.useState)(null),[a2,a3]=(0,c.useState)(null),[a4,a5]=(0,c.useState)(!1),[a6,a7]=(0,c.useState)(null),[a8,a9]=(0,c.useState)(null),[ba,bb]=(0,c.useState)(448),[bc,bd]=(0,c.useState)([]),[be,bf]=(0,c.useState)([]),[bg,bh]=(0,c.useState)(null),[bi,bj]=(0,c.useState)([]),[bk,bl]=(0,c.useState)(!1),[bm,bn]=(0,c.useState)([]),[bo,bp]=(0,c.useState)({}),[bq]=(0,c.useState)(()=>Date.now()),[br,bs]=(0,c.useState)(()=>new Map),[bt,bu]=(0,c.useState)(null),[bv,bw]=(0,c.useState)(null),[bx,by]=(0,c.useState)(new Set),bz=(0,c.useRef)(bx);(0,c.useEffect)(()=>{bz.current=bx});let{increment:bA,decrement:bB,refresh:bC}=(0,B.useFlagCount)(),{writeToCache:bD}=function(a,b){let[d,e]=(0,c.useState)(null),[f,g]=(0,c.useState)(!1),h=(0,c.useRef)(a);return(0,c.useEffect)(()=>{if(h.current=a,!a||!b){e(null),g(!1);return}(0,y.openCacheDB)(b);let c=!1;return(0,y.getCachedMessages)(a,b).then(b=>{c||h.current!==a||(b&&b.length>0?(e(b),g(!0)):(e(null),g(!1)))}),()=>{c=!0}},[a,b]),{cachedMessages:d,isFromCache:f,writeToCache:(0,c.useCallback)(async(a,c)=>{h.current&&b&&await (0,y.mergeCachedMessages)(h.current,a,c,b)},[b])}}(af??null,r),bE=(0,c.useRef)(bD);(0,c.useEffect)(()=>{bE.current=bD},[bD]),(0,c.useEffect)(()=>{ab(ac)},[ac,ab]);let{listening:bF,supported:bG,toggle:bH}=function(a){let[b,d]=(0,c.useState)(!1),[e,f]=(0,c.useState)(!1),g=(0,c.useRef)(null);(0,c.useEffect)(()=>{f(!1)},[]);let h=(0,c.useCallback)(()=>{},[a]),i=(0,c.useCallback)(()=>{g.current?.stop()},[]),j=(0,c.useCallback)(()=>{b?i():h()},[b,h,i]);return(0,c.useEffect)(()=>()=>{g.current?.abort()},[]),{listening:b,supported:e,toggle:j}}((0,c.useCallback)(a=>{al(b=>b?b+" "+a:a)},[])),bI=(0,c.useMemo)(()=>aK.filter(a=>"agent"===a.source),[aK]),{versionMap:bJ,duplicateFilenames:bK}=(0,c.useMemo)(()=>(0,$.computeArtifactVersions)(bI),[bI]),bL=(0,c.useMemo)(()=>"agent"===aQ?bI:"issue"===aQ?a2?.artifacts??[]:[],[aQ,bI,a2?.artifacts]),{versionMap:bM,duplicateFilenames:bN}=(0,c.useMemo)(()=>(0,$.computeArtifactVersions)(bL),[bL]),bO=(0,c.useMemo)(()=>(function(a,b,c,d){if(!d||0===c.length){let d=[...a.map(a=>({kind:"message",data:a})),...b.map(a=>({kind:"artifact",data:a})),...c.map(a=>({kind:"nap",data:a}))];return d.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);if(0!==c)return c;if("nap"===a.kind||"nap"===b.kind){if("nap"===a.kind&&"nap"!==b.kind)return 1;if("nap"!==a.kind&&"nap"===b.kind)return -1}return a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)}),as(d)}let e=new Set(c.map(a=>a.id.replace(/^nap-/,""))),f=[...c].sort((a,b)=>a.created_at.localeCompare(b.created_at)),g=c=>as([...a.filter(a=>a.conversation_id===c).map(a=>({kind:"message",data:a})),...b.filter(a=>a.conversation_id===c).map(a=>({kind:"artifact",data:a}))].sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)})),h=[];for(let a of f){let b=a.id.replace(/^nap-/,"");h.push(...g(b)),h.push({kind:"nap",data:a})}h.push(...g(d));let i=new Set([...e,d]),j=a.filter(a=>!i.has(a.conversation_id)),k=b.filter(a=>!i.has(a.conversation_id));if(j.length>0||k.length>0){let a=[...j.map(a=>({kind:"message",data:a})),...k.map(a=>({kind:"artifact",data:a}))];a.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)});let b=as(a),c=h.findIndex(a=>"nap"===a.kind);c>=0?h.splice(c,0,...b):h.push(...b)}return h})(ai,bI,bm,ag?.id),[ai,bI,bm,ag?.id]),bP=(0,c.useCallback)(a=>{(0,$.isPreviewable)(a)?(aP(a),aR("agent"),aN(!0)):window.open((0,$.getArtifactUrl)(a.id,r,!0),"_blank")},[r]),bQ=(0,c.useCallback)(a=>{(0,$.isPreviewable)(a)?(aP(a),aR("issue"),aN(!0)):window.open((0,$.getArtifactUrl)(a.id,r,!0),"_blank")},[r]),bR=(0,c.useRef)(null),bS=(0,c.useRef)(null),bT=(0,c.useRef)(null),bU=(0,c.useRef)(null),bV=(0,c.useRef)(0),bW=(0,c.useRef)(0),bX=(0,c.useRef)(!1),bY=(0,c.useRef)(!1),bZ=(0,c.useRef)(!0),b$=(0,c.useRef)(!1),b_=(0,c.useRef)(null),b0=(0,c.useRef)(null),b1=(0,c.useRef)(0),b2=(0,c.useRef)(void 0),b3=(0,c.useRef)(null),b4=(0,c.useRef)(null),b5=function({input:a,caretIndex:b,textareaRef:d,agents:e,agentLinks:f,currentAgentId:g,onInputChange:h}){let[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(""),[m,n]=(0,c.useState)(0),[o,p]=(0,c.useState)({top:0,left:0}),q=(0,c.useRef)(null),r=(0,c.useMemo)(()=>{let a=new Set;for(let b of f)b.source_agent_id===g&&a.add(b.target_agent_id),b.target_agent_id===g&&a.add(b.source_agent_id);return a},[f,g]),{relatedAgents:s,otherAgents:t,allAgents:u}=(0,c.useMemo)(()=>{if(!i)return{relatedAgents:[],otherAgents:[],allAgents:[]};let a=a=>{if(!k)return a.slice(0,20);let b=k.toLowerCase(),c=[],d=[];for(let e of a){let a=e.name.toLowerCase();a.startsWith(b)?c.push(e):a.includes(b)&&d.push(e)}return[...c,...d]},b=[],c=[];for(let a of e)r.has(a.id)?b.push(a):c.push(a);let d=a(b),f=a(c);return{relatedAgents:d,otherAgents:f,allAgents:[...d,...f]}},[i,k,e,r]);(0,c.useEffect)(()=>{n(0)},[u.length,k]),(0,c.useEffect)(()=>{if(null===b)return void j(!1);let c=function(a,b){let c=b-1;for(;c>=0&&b-c<=30;){let d=a.charCodeAt(c);if(64===d)return{start:c,query:a.slice(c+1,b)};if(10===d||13===d)break;c--}return null}(a,b);c?(q.current=c.start,l(c.query),j(!0),d.current&&p(function(a,b){let c=document.createElement("div"),d=window.getComputedStyle(a);for(let b of(c.style.position="absolute",c.style.top="-9999px",c.style.left="-9999px",c.style.visibility="hidden",c.style.overflow="hidden",c.style.width=`${a.offsetWidth}px`,["fontFamily","fontSize","fontWeight","fontStyle","letterSpacing","textTransform","wordSpacing","textIndent","lineHeight","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","boxSizing","whiteSpace","wordWrap","overflowWrap"]))c.style[b]=d.getPropertyValue(b.replace(/([A-Z])/g,"-$1").toLowerCase());c.textContent=a.value.slice(0,b);let e=document.createElement("span");e.textContent="",c.appendChild(e),document.body.appendChild(c);let f=e.offsetTop-a.scrollTop,g=Math.max(0,Math.min(e.offsetLeft,a.offsetWidth-256));return document.body.removeChild(c),{top:f,left:g}}(d.current,c.start))):(j(!1),q.current=null)},[a,b,d]);let v=(0,c.useCallback)(c=>{if(null===b||null===q.current)return;let e=a.slice(0,q.current),f=a.slice(b);h(`${e}@${c.name} ${f}`),j(!1);let g=e.length+1+c.name.length+1;requestAnimationFrame(()=>{let a=d.current;a&&(a.focus(),a.setSelectionRange(g,g))})},[a,b,d,h]),w=(0,c.useCallback)(a=>!!i&&0!==u.length&&!a.nativeEvent.isComposing&&("ArrowDown"===a.key?(a.preventDefault(),n(a=>(a+1)%u.length),!0):"ArrowUp"===a.key?(a.preventDefault(),n(a=>(a-1+u.length)%u.length),!0):"Enter"===a.key?(a.preventDefault(),v(u[m]),!0):"Escape"===a.key&&(a.preventDefault(),j(!1),!0)),[i,u,m,v]);return{isOpen:i,query:k,selectedIndex:m,anchorPos:o,relatedAgents:s,otherAgents:t,allAgents:u,handleMentionKeyDown:w,selectAgent:v}}({input:ak,caretIndex:bg,textareaRef:b4,agents:(0,c.useMemo)(()=>t.filter(a=>a.id!==ac),[t,ac]),agentLinks:u,currentAgentId:ac,onInputChange:al});(0,c.useEffect)(()=>{let a=`chat-draft:${ac}:${af??"default"}`;ak?localStorage.setItem(a,ak):localStorage.removeItem(a)},[ak,ac,af]),(0,c.useEffect)(()=>{an||b4.current?.focus()},[an]);let b6=(0,c.useCallback)(()=>{bZ.current=!0,setTimeout(()=>{bR.current?.scrollTo({top:bR.current.scrollHeight,behavior:"smooth"})},50)},[]);(0,c.useEffect)(()=>{if(W)return;bS.current&&clearInterval(bS.current),bS.current=null,bU.current=null;let a=!1;return aD(!0),bX.current=!1,az(null),aB([]),bf([]),bs(new Map),bn([]),bp({}),bj([]),bl(!1),b0.current=null,al(localStorage.getItem(`chat-draft:${ac}:${af??"default"}`)??""),aj([]),async function(){let b=!1;try{let c=null,d=null;if(af){if(c=af,d=await (0,y.getCacheMeta)(c,r),d?.newestMessageId){let e=await (0,y.getCachedMessages)(c,r);if(a)return;e&&e.length>0&&(b=!0,aj(e),aH(d.hasMore),aD(!1))}}else try{let e=await (0,x.checkFreshness)({agentId:ac,channel:V},r);if(a)return;if(c=e.conversation_id,d=await (0,y.getCacheMeta)(c,r),d?.newestMessageId&&d.newestMessageId===e.newest_message_id){let e=await (0,y.getCachedMessages)(c,r);if(a)return;e&&e.length>0&&(b=!0,aj(e),aH(d.hasMore),aD(!1))}}catch{}if(c){let b=await (0,x.conversationInit)(c,r,{newestMessageId:d?.newestMessageId??void 0});if(a)return;if(ah(b.conversation),bl(b.has_more_conversations),!b.cache_valid&&b.messages?(aj(a=>ar(a,b.messages)),bE.current(b.messages,b.has_more_messages).catch(()=>{}),aH(b.has_more_messages)):d&&aH(d.hasMore),bp(b.step_counts),aL(b.artifacts),bf(b.buffered_messages),by(new Set(b.flagged_message_ids)),b.active_task&&(az(b.active_task),aB(b.task_messages),b.task_messages.length>0&&(bV.current=Math.max(...b.task_messages.map(a=>a.seq))),b_.current?.(b.active_task.id,c,bV.current)),ad){let b=await (0,x.getTask)(ad,r).catch(()=>null);if(a)return;if(b&&!["completed","failed","cancelled","superseded"].includes(b.status)){az(b);let d=await (0,x.getTaskMessages)(ad,r).catch(()=>[]);if(a)return;aB(d),d.length>0&&(bV.current=Math.max(...d.map(a=>a.seq))),b_.current?.(b.id,c,bV.current)}}}else{let b=await (0,x.chatInit)(ac,r,V);if(a)return;ah(b.conversation),aj(a=>a.length>0?ar(a,b.messages):b.messages),aH(b.has_more_messages),aL(b.artifacts),bf(b.buffered_messages),bl(b.has_more_conversations),bE.current(b.messages,b.has_more_messages).catch(()=>{}),(0,x.listFlaggedMessageIds)(r,b.conversation.id).then(b=>{a||by(new Set(b.message_ids))}).catch(()=>{}),b.active_task&&(az(b.active_task),b.task_messages.length>0&&(aB(b.task_messages),bV.current=Math.max(...b.task_messages.map(a=>a.seq))),["completed","failed","cancelled","superseded"].includes(b.active_task.status)||b_.current?.(b.active_task.id,b.conversation.id,bV.current))}}catch{b?D.toast.error("Couldn't refresh conversation"):D.toast.error("Failed to load conversation")}finally{a||aD(!1)}}(),()=>{a=!0}},[ac,r,af,ad,V,W]);let b7=(0,c.useRef)(S);(0,c.useEffect)(()=>{b7.current=S},[S]);let b8=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!ag?.id||!r||b8.current===ag.id)return;b8.current=ag.id;let a=setTimeout(()=>{(0,x.markInboxRead)(ag.id,r).then(()=>b7.current()).catch(()=>{})},1e3);return()=>{b8.current=null,clearTimeout(a)}},[ag?.id,r]),(0,c.useEffect)(()=>{aC||!(ai.length>0)||bX.current||(bX.current=!0,ad||ae?bZ.current=!1:h?setTimeout(()=>{let a=bR.current?.querySelectorAll("[data-quote-source]");a&&a.length>0?a[a.length-1].scrollIntoView({behavior:"instant",block:"start"}):bR.current?.scrollTo({top:bR.current.scrollHeight})},50):setTimeout(()=>{bR.current?.scrollTo({top:bR.current.scrollHeight})},50))},[aC,ai.length,ad,ae,h]),(0,c.useEffect)(()=>{let a;if(!ad||aC||!ag)return;bZ.current=!1,b$.current=!0;let b=!1,c=()=>{if(b)return!1;let c=document.querySelector(`[data-task-id="${CSS.escape(ad)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"start"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(b$.current=!1)},1500),!0)},d=setTimeout(async()=>{if(!b&&!c())try{let a=await (0,x.listMessagesAroundTask)(ag.id,r,ad);if(b)return;a.length>0?(aj(b=>ar(b,a)),requestAnimationFrame(()=>{setTimeout(()=>{c()||(b$.current=!1)},100)})):b$.current=!1}catch{b||(b$.current=!1)}},100);return()=>{b=!0,clearTimeout(d),a&&clearTimeout(a)}},[ad,aC,ag,r]),(0,c.useEffect)(()=>{let a;if(!ae||ad||aC||!ag)return;bZ.current=!1,b$.current=!0;let b=!1,c=setTimeout(()=>{!b&&((()=>{if(b)return!1;let c=document.querySelector(`[data-message-id="${CSS.escape(ae)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"start"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(b$.current=!1)},1500),!0)})()||(bR.current?.scrollTo({top:bR.current.scrollHeight}),b$.current=!1))},100);return()=>{b=!0,clearTimeout(c),a&&clearTimeout(a)}},[ae,ad,aC,ag]);let b9=ay?.status;(0,c.useEffect)(()=>{b$.current||("running"===b9||"queued"===b9)&&bZ.current&&b6()},[aA.length,b9,b6]);let ca=(0,c.useMemo)(()=>t.find(a=>a.id===ac)?.name??"Agent",[t,ac]),cb=at(ai),cc=at(aG),cd=at(bi),ce=at(bk),cf=at(ca),cg=at(V),ch=(0,c.useCallback)(async(a=!1)=>{if(!ag||bY.current)return;bY.current=!0;let b=cb.current,c=cc.current,e=ce.current,f=cf.current,g=cg.current,h=!!af,i=b[0],j=b0.current?.id??ag.id,k=c&&i,l=cd.current;if(!h&&!k&&0===l.length&&e){let a=b0.current??{id:ag.id,created_at:ag.created_at};try{let b=await (0,x.listPreviousConversations)(ac,r,{exclude:ag.id,before:a.created_at,channel:g});l=b.conversations,bj(b.conversations),bl(b.has_more)}catch{bl(!1)}}let m=!h&&l.length>0;if(!k&&!m){bY.current=!1;return}aJ(!0);let n=bR.current;n&&(n.style.overflowAnchor="none");let o=n?.scrollHeight??0;try{let b=[],c=[],m=20,p=!1,q=[],s=!1;if(k){let a=j===ag.id?await (0,y.getCachedMessagesBefore)(j,i.created_at,i.id,20,r):null;if(a)b=a.messages,m-=a.messages.length,p=a.hasMore;else{let a=await (0,x.listMessages)(j,r,{limit:20,before:i.created_at,beforeId:i.id});b=a.messages,m-=a.messages.length,p=a.has_more}s=p}if(!h&&!p&&m>0){if(0===l.length&&e){let a=b0.current??{id:ag.id,created_at:ag.created_at};try{let b=await (0,x.listPreviousConversations)(ac,r,{exclude:ag.id,before:a.created_at,channel:g});l=b.conversations,bj(b.conversations),bl(b.has_more)}catch{bl(!1)}}let a=0,b=0;for(;a<l.length&&m>0&&b<5;){let d=l[a];a++,b++;let e=await (0,x.listMessages)(d.id,r,{limit:m});if(0===e.messages.length){b0.current=d;continue}let g=b0.current?.created_at??ag.created_at;q.push({agentName:f,created_at:g,id:`nap-${d.id}`}),c=[...e.messages,...c],m-=e.messages.length,p=e.has_more,b0.current=d}a>0&&bj(b=>b.slice(a))}let t=[...c,...b];if((0,d.flushSync)(()=>{t.length>0?(q.length>0&&bn(a=>{let b=new Set(a.map(a=>a.id)),c=q.filter(a=>!b.has(a.id));return[...a,...c]}),aH(p),aj(a=>{let b=new Set(a.map(a=>a.id));return[...t.filter(a=>!b.has(a.id)),...a]})):aH(!1)}),t.length>0&&ag){let a=t.filter(a=>a.conversation_id===ag.id);a.length>0&&(0,y.mergeCachedMessages)(ag.id,a,s,r).catch(()=>{})}if(bY.current=!1,(0,d.flushSync)(()=>aJ(!1)),n)if(a)n.scrollTop=n.scrollHeight;else{let a=n.scrollHeight;n.scrollTop=a-o}}catch{D.toast.error("Failed to load older messages")}finally{bY.current=!1,aJ(!1),bR.current&&(bR.current.style.overflowAnchor="")}},[ag,r,ac,af,cb,cc,ce,cf,cg,cd]),ci=af?aG:aG||bi.length>0||bk;(0,c.useEffect)(()=>{ag?.id!==b2.current&&(b2.current=ag?.id,b1.current=0)},[ag?.id]),(0,c.useEffect)(()=>{aC||!ag||ad||af||ai.length>=10||!ci||aI||b1.current>=3||(b1.current+=1,ch(!0))},[aC,ai.length,ci,aI,ag,ch,ad,af]);let cj=(0,c.useCallback)(()=>{let a=bR.current;a&&(bZ.current=a.scrollHeight-a.scrollTop-a.clientHeight<100)},[]),ck=(0,c.useCallback)((a,b,c)=>{bS.current&&clearInterval(bS.current),bV.current=c??0,bW.current=0,aF(!1),bU.current=a,bS.current=setInterval(async()=>{if(bU.current===a)try{let[c,d]=await Promise.all([(0,x.getTask)(a,r),(0,x.getTaskMessages)(a,r,bV.current||void 0)]),e=bU.current!==a;if(bW.current=0,aF(!1),d.length>0&&!e&&(aB(a=>{let b=new Set(a.map(a=>a.seq)),c=d.filter(a=>!b.has(a.seq));return c.length>0?[...a,...c]:a}),bV.current=Math.max(...d.map(a=>a.seq),bV.current)),"completed"===c.status||"failed"===c.status||"cancelled"===c.status||"superseded"===c.status){if(e)return void(0,x.listMessages)(b,r).then(({messages:a})=>{aj(b=>ar(b,a)),(0,y.mergeCachedMessages)(b,a,null,r).catch(()=>{})}).catch(()=>{});bS.current&&clearInterval(bS.current),bS.current=null,bT.current&&clearTimeout(bT.current),bT.current=setTimeout(()=>{(0,x.markInboxRead)(b,r).then(()=>b7.current()).catch(()=>{})},1e3);let d=!b$.current&&bZ.current;try{let[a,d]=await Promise.all([(0,x.listMessages)(b,r),(0,x.listArtifacts)(b,r).catch(()=>null)]);aj(b=>ar(b,a.messages)),(0,y.mergeCachedMessages)(b,a.messages,null,r).catch(()=>{}),d&&aL(d),az(c)}catch{az(c),D.toast.error("Failed to refresh messages")}d&&requestAnimationFrame(()=>{bR.current?.scrollTo({top:bR.current.scrollHeight,behavior:"smooth"})}),setTimeout(async()=>{if(!bS.current)try{let[c,d]=await Promise.all([(0,x.getActiveTask)(b,r),(0,x.listBufferedMessages)(b,r)]);if(bf(d),c&&c.id!==a){let{messages:a}=await (0,x.listMessages)(b,r);aj(b=>ar(b,a)),(0,y.mergeCachedMessages)(b,a,null,r).catch(()=>{}),az(c),aB([]),b_.current?.(c.id,b)}}catch{}},1e3)}else e||az(c)}catch{if(bU.current!==a)return;bW.current+=1,bW.current>=3&&aF(!0),bW.current>=10&&(bS.current&&clearInterval(bS.current),bS.current=null,D.toast.error("Lost connection to agent"))}},3e3)},[r]);(0,c.useEffect)(()=>{b_.current=ck},[ck]),(0,c.useEffect)(()=>()=>{bS.current&&clearInterval(bS.current),bT.current&&clearTimeout(bT.current)},[]);let cl=(0,c.useRef)(null);(0,c.useEffect)(()=>{cl.current=ay?.id??null},[ay]),(0,c.useEffect)(()=>Q(a=>{if("task.messages"===a.type&&a.taskId===cl.current){let b=a.messages.filter(a=>a.seq>bV.current);b.length>0&&(aB(a=>{let c=new Set(a.map(a=>a.seq)),d=b.filter(a=>!c.has(a.seq));return d.length>0?[...a,...d]:a}),bV.current=Math.max(...b.map(a=>a.seq),bV.current))}if("task.created"===a.type&&a.conversationId===ag?.id){(0,x.listMessages)(a.conversationId,r).then(({messages:b})=>{aj(a=>ar(a,b)),(0,y.mergeCachedMessages)(a.conversationId,b,null,r).catch(()=>{})}).catch(()=>{});let b=a.task;cl.current=b.id,az(b),aB([]),bV.current=0,b_.current?.(b.id,a.conversationId)}if("conversation.message"===a.type&&a.conversationId===ag?.id&&(aj(b=>ar(b,[a.message])),(0,y.appendCachedMessage)(a.conversationId,a.message,r).catch(()=>{})),"task.updated"===a.type&&a.taskId===cl.current&&az(b=>b?{...b,status:a.status}:b),"artifact.uploaded"===a.type&&a.conversationId===ag?.id&&aL(b=>b.some(b=>b.id===a.artifact.id)?b:[...b,a.artifact]),"followup.dispatched"===a.type&&a.conversationId===ag?.id){bf(b=>b.filter(b=>b.id!==a.message.id)),(0,x.listBufferedMessages)(a.conversationId,r).then(bf).catch(()=>{}),(0,x.listMessages)(a.conversationId,r).then(({messages:b})=>{aj(a=>ar(a,b)),(0,y.mergeCachedMessages)(a.conversationId,b,null,r).catch(()=>{})}).catch(()=>{});let b=a.task;cl.current=b.id,az(b),aB([]),b_.current?.(b.id,a.conversationId)}"followup.created"===a.type&&a.conversationId===ag?.id&&bf(b=>(function(a,b){if(a.some(a=>a.id===b.id))return a;let c=new Date(b.created_at).getTime();return a.some(a=>a.id.startsWith("temp-")&&2e3>Math.abs(new Date(a.created_at).getTime()-c))?a:[...a,b]})(b,a.message)),"followup.deleted"===a.type&&a.conversationId===ag?.id&&bf(b=>b.filter(b=>b.id!==a.messageId)),"followup.dispatch_failed"===a.type&&a.conversationId===ag?.id&&D.toast.error(a.error||"Failed to dispatch follow-up")}),[Q,ag?.id,r]);let cm=(0,c.useCallback)(a=>{let b=a.target.files;if(!b)return;let c=[];for(let a of Array.from(b))a.size>0xa00000?D.toast.error(`"${a.name}" exceeds 10 MB limit`):c.push(a);c.length>0&&bd(a=>[...a,...c]),a.target.value=""},[]),cn=(0,c.useCallback)(a=>{bd(b=>b.filter((b,c)=>c!==a))},[]),co=(0,c.useCallback)(()=>{let a=window.getSelection();if(!a||a.isCollapsed||!a.rangeCount)return void bw(null);let b=a.toString().trim();if(!b)return void bw(null);let c=a.getRangeAt(0),d=c.commonAncestorContainer instanceof HTMLElement?c.commonAncestorContainer:c.commonAncestorContainer.parentElement;if(!d?.closest("[data-quote-source]"))return void bw(null);let e=c.getClientRects(),f=e[e.length-1]||c.getBoundingClientRect();bw({text:b,x:f.right,y:f.top-4})},[]);(0,c.useEffect)(()=>(document.addEventListener("selectionchange",co),()=>document.removeEventListener("selectionchange",co)),[co]);let cp=(0,c.useCallback)(()=>{bv&&(bu(bv.text),bw(null),window.getSelection()?.removeAllRanges(),b4.current?.focus())},[bv]),[cq,cr]=(0,c.useState)(!1),cs=(0,c.useRef)(0),ct=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cs.current++,a.dataTransfer.types.includes("Files")&&cr(!0)},[]),cu=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cs.current--,0===cs.current&&cr(!1)},[]),cv=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),cw=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cr(!1),cs.current=0;let b=Array.from(a.dataTransfer.files),c=[];for(let a of b)a.size>0xa00000?D.toast.error(`"${a.name}" exceeds 10 MB limit`):c.push(a);c.length>0&&bd(a=>[...a,...c])},[]),cx=(0,c.useCallback)(a=>{let b=a.clipboardData?.items;if(!b)return;let c=[];for(let a=0;a<b.length;a++){let d=b[a];if("file"===d.kind){let a=d.getAsFile();a&&c.push(a)}}if(0===c.length)return;a.preventDefault();let d=[];for(let a of c)a.size>0xa00000?D.toast.error(`"${a.name}" exceeds 10 MB limit`):d.push(a);d.length>0&&bd(a=>[...a,...d])},[]),cy=async()=>{if(ag&&!aq){ax(!0);try{let a=await (0,x.cancelActiveTask)(ag.id,r);if(a){if(cl.current&&cl.current!==a.id)return;bS.current&&clearInterval(bS.current),bS.current=null;let[b,c]=await Promise.all([(0,x.listMessages)(ag.id,r),(0,x.listBufferedMessages)(ag.id,r)]);aj(a=>ar(a,b.messages)),(0,y.mergeCachedMessages)(ag.id,b.messages,null,r).catch(()=>{}),bf(c),az(a),aB([])}}catch{D.toast.error("Failed to cancel task")}finally{ax(!1)}}},cz=async()=>{let a=ak.trim();if(!a&&0===bc.length||an||!ag)return;if(!a)return void D.toast.error("Please type a message");let b=bt?`> ${bt.split("\n").join("\n> ")}
|
|
2
2
|
|
|
3
|
-
${a}`:a,c=[...bc];if(al(""),bd([]),bu(null),ao(!0),ay&&!["completed","failed","cancelled","superseded"].includes(ay.status)){let a=`temp-${Date.now()}`,d={id:a,conversation_id:ag.id,role:"user",content:b,task_id:null,attachment_ids:null,status:"buffered",created_at:new Date().toISOString()};bf(a=>[...a,d]);try{let{message:d}=await (0,x.createBufferedMessage)(ag.id,b,r,c.length>0?c:void 0);bf(b=>b.some(a=>a.id===d.id)?b.filter(b=>b.id!==a):b.map(b=>b.id===a?d:b))}catch(d){bf(b=>b.filter(b=>b.id!==a)),al(b),bd(c),D.toast.error(d instanceof Error?d.message:"Failed to queue follow-up")}finally{ao(!1)}return}let d=`temp-${Date.now()}`,e={id:d,conversation_id:ag.id,role:"user",content:b,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};c.length>0&&bs(a=>{let b=new Map(a);return b.set(d,c),b}),aj(a=>[...a,e]),b6();try{let{message:a,task:f}=await (0,x.sendMessage)(ag.id,b,r,c.length>0?c:void 0);bs(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),aj(b=>b.map(b=>b.id===e.id?a:b)),a.attachment_ids&&a.attachment_ids.length>0&&(0,x.listArtifacts)(ag.id,r).then(a=>aL(a)).catch(()=>{}),az(f),aB([]),ck(f.id,ag.id)}catch(a){bs(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),aj(a=>a.filter(a=>a.id!==e.id)),al(b),bd(c),D.toast.error(a instanceof Error?a.message:"Failed to send message")}finally{ao(!1),b4.current?.focus()}},cA=(0,c.useCallback)(async()=>{if(!ay||!ag)return;let a=await (0,x.retryTask)(ay.id,r);az(a),aB([]),ck(a.id,ag.id)},[ay,ag,r,ck]),cB=(0,c.useCallback)(async a=>{let b=bz.current.has(a);by(c=>{let d=new Set(c);return b?d.delete(a):d.add(a),d}),b?(bB(),(0,x.unflagMessage)(r,a).then(()=>{bC()}).catch(()=>{by(b=>new Set(b).add(a)),bA()})):(bA(),(0,x.flagMessage)(r,a).then(()=>{bC()}).catch(()=>{by(b=>{let c=new Set(b);return c.delete(a),c}),bB()}))},[r,bA,bB,bC]),cC=(0,c.useCallback)(async a=>{a1(a),a_(!0),a5(!0),a7(null),a9(null);try{let b=await (0,x.getIssue)(r,a);a3(b),b.issue.latest_task_id&&(0,x.getTask)(b.issue.latest_task_id,r).then(a=>a9(a)).catch(()=>a9(null)),b.issue.trace_id&&(0,x.getTrace)(b.issue.trace_id,r).then(a=>a7(a.tasks)).catch(()=>a7(null))}catch(a){D.toast.error(a instanceof Error?a.message:"Failed to load issue"),a_(!1)}finally{a5(!1)}},[r]),cD=a2?.issue?.conversation_id??null,cE=a2?.issue?.latest_task_id??null;(0,c.useEffect)(()=>{if(a$&&a0)return Q(a=>{if("task.updated"===a.type&&cE&&a.taskId===cE&&(0,x.getTask)(cE,r).then(a=>a9(a)).catch(()=>{}),"conversation.message"===a.type&&cD&&a.conversationId===cD&&(a3(b=>!b||b.messages.some(b=>b.id===a.message.id)?b:{...b,messages:[...b.messages,a.message]}),"event"===a.message.role&&a.message.content.startsWith("Issue status changed:"))){let b=a.message.content.match(/-> (\w+)/);b&&a3(a=>a?{...a,issue:{...a.issue,status:b[1]}}:a)}"issue.comment"===a.type&&a.issueId===a0&&a3(b=>!b||b.comments.some(b=>b.id===a.comment.id)?b:{...b,comments:[...b.comments,a.comment]})})},[a$,a0,cD,cE,r,Q]);let[cF,cG]=(0,c.useState)(!1),cH=(0,c.useMemo)(()=>!!ag&&ai.some(a=>a.conversation_id===ag.id),[ag,ai]),cI=async()=>{if(ag&&cH&&!cF){cG(!0);try{bS.current&&(clearInterval(bS.current),bS.current=null);let a=await (0,x.createConversation)(ac,r,V);bn(b=>[...b,{agentName:ca,created_at:a.created_at,id:`nap-${ag.id}`}]),bj(a=>[{id:ag.id,created_at:ag.created_at},...a]),ah(a),az(null),aB([]),aL([]),bf([]),bd([]),bs(new Map),bV.current=0,aF(!1),aH(!1),b0.current=null,b6()}catch{D.toast.error("Failed to start new conversation")}finally{cG(!1)}}},cJ=!!ay&&!["completed","failed","cancelled","superseded"].includes(ay.status);return aC?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-3 md:px-5",children:(0,b.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4",children:[(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(E.Skeleton,{className:"h-10 w-48 rounded-lg"})}),(0,b.jsx)("div",{className:"flex justify-start",children:(0,b.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,b.jsx)(E.Skeleton,{className:"h-4 w-72"}),(0,b.jsx)(E.Skeleton,{className:"h-4 w-56"}),(0,b.jsx)(E.Skeleton,{className:"h-4 w-64"})]})}),(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(E.Skeleton,{className:"h-10 w-36 rounded-lg"})}),(0,b.jsx)("div",{className:"flex justify-start",children:(0,b.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,b.jsx)(E.Skeleton,{className:"h-4 w-64"}),(0,b.jsx)(E.Skeleton,{className:"h-4 w-48"})]})})]})}),(0,b.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl",children:(0,b.jsx)(E.Skeleton,{className:"h-18 w-full rounded-xl"})})})]}):aC||ag||0!==ai.length?(0,b.jsxs)(b.Fragment,{children:[bv&&(0,b.jsxs)("button",{type:"button",className:"fixed z-50 flex items-center gap-1 px-2 py-1 rounded-md bg-popover border shadow-md text-xs text-popover-foreground hover:bg-accent transition-colors",style:{left:bv.x,top:bv.y,transform:"translate(-100%, -100%)"},onMouseDown:a=>a.preventDefault(),onClick:cp,children:[(0,b.jsx)(L,{className:"size-3"}),"Quote"]}),(0,b.jsxs)("div",{className:"relative flex-1 min-h-0",children:[(0,b.jsx)("div",{className:"h-full overflow-y-auto overflow-x-hidden px-3 md:px-5 thin-scrollbar",ref:bR,onScroll:cj,onClick:a=>{a.target.closest('[data-streamdown="code-block-actions"] button')&&D.toast.success("Copied to clipboard")},children:(0,b.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4 min-w-0",children:[ag&&ci&&!aI&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)("button",{onClick:()=>ch(),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Load earlier messages"})}),aI&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)(p.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}),0===ai.length&&!ay&&(l=t.find(a=>a.id===ac),m=l?.created_at&&bq-new Date(l.created_at).getTime()<3e5,n=(v[ac]??0)>0,m&&n&&"default"===V?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 gap-3 animate-[fade-up_400ms_ease-out_both]",children:[(0,b.jsxs)("div",{className:"relative animate-bounce",children:[(0,b.jsx)(K.Mail,{className:"size-8 text-primary"}),(0,b.jsxs)("span",{className:"absolute -top-1 -right-1 flex size-3",children:[(0,b.jsx)("span",{className:"animate-ping absolute inline-flex size-full rounded-full bg-primary/60"}),(0,b.jsx)("span",{className:"relative inline-flex size-3 rounded-full bg-primary"})]})]}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center max-w-xs",children:"Your agent is sending you a welcome email."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60 text-center max-w-xs",children:"Wait for the email task in the top-left to complete, then check your inbox. Or send a message below to start chatting."})]}):(0,b.jsx)("p",{className:"text-center text-muted-foreground py-20 text-sm",children:"Send a message to start chatting with the agent."})),bO.map(a=>{if("nap"===a.kind)return(0,b.jsx)(au,{agentName:ca},a.data.id);if("artifact"===a.kind)return(0,b.jsx)(av,{artifact:a.data,version:bJ.get(a.data.id)??1,hasDuplicates:bK.has(a.data.filename),onClick:bP},`artifact-${a.data.id}`);let c=a.data;return(0,b.jsx)(am,{msg:c,agents:t,artifacts:aK,activeTask:ay,taskMessages:aA,connectionLost:aE,isLastMessage:ai.length>0&&ai[ai.length-1].id===c.id,stepCount:c.task_id?bo[c.task_id]??0:0,targetConvId:af,workspaceId:r,conversationType:ag?.type,pendingFilesByMessage:br,onArtifactClick:bP,onEmailClick:a=>{aV(a),aT(!0)},onCalendarEventClick:a=>{aZ(a),aX(!0)},onIssueClick:a=>cC(a),onRetry:cA,mentionComponents:ap,isFlagged:bx.has(c.id),onToggleFlag:"assistant"===c.role?cB:void 0},c.id)}),ay&&ay.conversation_id===ag?.id&&!["completed","failed","cancelled","superseded"].includes(ay.status)&&(0,b.jsx)(w,{task:ay,messages:aA,connectionLost:aE})]})}),(0,b.jsx)(ab.ScrollToBottomButton,{scrollRef:bR})]}),ag&&(0,b.jsx)(aa,{bufferedMessages:be,onDelete:a=>{bf(b=>b.filter(b=>b.id!==a)),(0,x.deleteBufferedMessage)(ag.id,a,r).catch(()=>{bf(be),D.toast.error("Failed to delete follow-up")})}}),(0,b.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl relative",children:(0,b.jsxs)("div",{className:(0,i.cn)("relative flex flex-col rounded-xl border bg-background/60 transition-colors duration-200","focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50",an&&"opacity-50",cq&&"border-ring ring-3 ring-ring/50"),onDragEnter:ct,onDragLeave:cu,onDragOver:cv,onDrop:cw,children:[cq&&(0,b.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center rounded-xl bg-background/80 border-2 border-dashed border-ring pointer-events-none",children:(0,b.jsx)("p",{className:"text-sm text-muted-foreground font-medium",children:"Drop files here"})}),bt&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0 flex items-start gap-2",children:[(0,b.jsx)(L,{className:"size-3.5 shrink-0 mt-0.5 text-muted-foreground"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground truncate",children:[bt.slice(0,120),bt.length>120?"...":""]})]}),(0,b.jsx)("button",{type:"button",onClick:()=>bu(null),className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,b.jsx)(P.X,{className:"size-3.5"})})]}),(0,b.jsx)(R,{isOpen:b5.isOpen,relatedAgents:b5.relatedAgents,otherAgents:b5.otherAgents,selectedIndex:b5.selectedIndex,onSelect:b5.selectAgent,anchorPos:b5.anchorPos}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("div",{"aria-hidden":!0,className:"mention-backdrop absolute inset-0 px-3.5 py-2.5 text-base chat-input-line-height whitespace-pre-wrap wrap-break-word pointer-events-none overflow-y-auto thin-scrollbar",dangerouslySetInnerHTML:{__html:ak?T(ak.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),t).replace(/<mention[^>]*>/g,'<span class="mention-highlight">').replace(/<\/mention>/g,"</span>")+(ak.endsWith("\n")?"\n":""):""}}),(0,b.jsx)("textarea",{ref:b4,value:ak,onChange:a=>{al(a.target.value),bh(a.target.selectionStart),requestAnimationFrame(()=>{let b=a.target.previousElementSibling;b&&(b.scrollTop=a.target.scrollTop)})},onKeyDown:a=>{!b5.handleMentionKeyDown(a)&&("Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),cz()))},onPaste:cx,onKeyUp:a=>bh(a.target.selectionStart),onClick:a=>bh(a.target.selectionStart),onSelect:a=>bh(a.target.selectionStart),onScroll:a=>{let b=a.target.previousElementSibling;b&&(b.scrollTop=a.target.scrollTop)},placeholder:cJ?"Type a follow-up...":"Type a message...",rows:1,disabled:an,className:(0,i.cn)("relative field-sizing-content w-full resize-none bg-transparent px-3.5 py-2.5 text-base chat-input-line-height outline-none","placeholder:text-muted-foreground disabled:cursor-not-allowed","min-h-9.5 max-h-50 thin-scrollbar","caret-foreground textarea-text-hidden")})]}),bc.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 px-3.5 pb-1",children:bc.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-md bg-muted px-2 py-1 text-xs text-muted-foreground",children:[(0,b.jsx)(J.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-30",children:a.name}),(0,b.jsx)("span",{className:"text-muted-foreground/60",children:(0,U.formatSize)(a.size)}),(0,b.jsx)("button",{type:"button",onClick:()=>cn(c),className:"ml-0.5 rounded-sm p-0.5 hover:bg-muted-foreground/20 transition-colors",children:(0,b.jsx)(P.X,{className:"size-3"})})]},`${a.name}-${c}`))}),(0,b.jsxs)("div",{className:"flex items-center justify-between px-2 pb-2 pt-0.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[!af&&(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:a=>(0,b.jsx)("span",{...a,className:(0,i.cn)("inline-flex",a.className),children:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:cI,disabled:cF||!ag||!cH||cJ,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200",children:cF?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(H,{className:"size-3.5"})})})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:cJ?"Wait for the task to finish":cH?"Take a nap":`${ca} is well-rested and ready to go`})]}),(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsxs)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{aR("agent"),aN(!0)},className:"relative rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:[(0,b.jsx)(I,{className:"size-3.5"}),bI.length>0&&(0,b.jsx)("span",{className:"absolute -top-0.5 -right-0.5 flex size-3.5 items-center justify-center rounded-full bg-primary text-[9px] font-medium text-primary-foreground",children:bI.length})]}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Artifacts"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("input",{ref:b3,type:"file",multiple:!0,className:"hidden",onChange:cm}),(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:()=>b3.current?.click(),disabled:an,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,b.jsx)(N.Paperclip,{className:"size-3.5"})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Attach files"})]}),bG&&(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:bH,disabled:an,className:(0,i.cn)("rounded-lg transition-colors duration-200",bF?"text-red-500 hover:text-red-600 bg-red-500/10":"text-muted-foreground/60 hover:text-foreground")}),children:(0,b.jsx)(M,{className:(0,i.cn)("size-3.5",bF&&"animate-pulse")})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:bF?"Stop recording":"Voice input"})]}),!cJ||ak.trim()||an?(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{size:"icon-sm",onClick:cz,disabled:!ak.trim()||an,className:(0,i.cn)("rounded-lg transition-opacity duration-200",!ak.trim()&&"opacity-40")}),children:an?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(G.ArrowUp,{className:"size-3.5"})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Send"})]}):(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{size:"icon-sm",onClick:cy,disabled:aq,className:"rounded-lg bg-red-500/10 text-red-500 hover:bg-red-500/20 transition-colors duration-200"}),children:aq?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(O.Square,{className:"size-3.5 fill-current"})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Stop task"})]})]})]})]})})}),(0,b.jsx)(U.ArtifactSheet,{open:aM,onOpenChange:a=>{aN(a),a||setTimeout(()=>{aP(null),aR(null)},300)},artifacts:bL,workspaceId:r,initialArtifact:aO,versionMap:bM,duplicateFilenames:bN}),(0,b.jsx)(X,{open:aS,onOpenChange:a=>{aT(a),a||setTimeout(()=>aV(null),300)},emailId:aU,workspaceId:r}),(0,b.jsx)(Z,{open:aW,onOpenChange:a=>{aX(a),a||setTimeout(()=>aZ(null),300)},calendarEventId:aY,workspaceId:r}),(0,b.jsx)($.IssueSheet,{open:a$,onOpenChange:a=>{a_(a),a||setTimeout(()=>{a1(null),a3(null),a9(null)},300)},agents:t,issue:a2?.issue??null,detail:a2?{messages:a2.messages,comments:a2.comments,artifacts:a2.artifacts,traceId:a2.issue.trace_id}:null,detailLoading:a4,activeTask:a8,traceTasks:a6,slug:s,workspaceId:r,width:ba,onWidthChange:bb,onUpdate:async(a,b)=>{try{let c=await (0,x.updateIssue)(r,a,b);a3(d=>d&&d.issue.id===a?{...d,issue:{...d.issue,...b,updated_at:c.updated_at}}:d)}catch(a){D.toast.error(a instanceof Error?a.message:"Failed to update issue")}},onStatusChange:async(a,b)=>{try{await (0,x.updateIssue)(r,a,{status:b}),a3(c=>c&&c.issue.id===a?{...c,issue:{...c.issue,status:b}}:c)}catch(a){D.toast.error(a instanceof Error?a.message:"Failed to update status")}},onCommented:()=>{a0&&cC(a0)},onArtifactClick:bQ})]}):(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:"Failed to load conversation"})}}];
|
|
3
|
+
${a}`:a,c=[...bc];if(al(""),bd([]),bu(null),ao(!0),ay&&!["completed","failed","cancelled","superseded"].includes(ay.status)){let a=`temp-${Date.now()}`,d={id:a,conversation_id:ag.id,role:"user",content:b,task_id:null,attachment_ids:null,status:"buffered",created_at:new Date().toISOString()};bf(a=>[...a,d]);try{let{message:d}=await (0,x.createBufferedMessage)(ag.id,b,r,c.length>0?c:void 0);bf(b=>b.some(a=>a.id===d.id)?b.filter(b=>b.id!==a):b.map(b=>b.id===a?d:b))}catch(d){bf(b=>b.filter(b=>b.id!==a)),al(b),bd(c),D.toast.error(d instanceof Error?d.message:"Failed to queue follow-up")}finally{ao(!1)}return}let d=`temp-${Date.now()}`,e={id:d,conversation_id:ag.id,role:"user",content:b,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};c.length>0&&bs(a=>{let b=new Map(a);return b.set(d,c),b}),aj(a=>[...a,e]),b6();try{let{message:a,task:f}=await (0,x.sendMessage)(ag.id,b,r,c.length>0?c:void 0);bs(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),aj(b=>b.map(b=>b.id===e.id?a:b)),a.attachment_ids&&a.attachment_ids.length>0&&(0,x.listArtifacts)(ag.id,r).then(a=>aL(a)).catch(()=>{}),az(f),aB([]),ck(f.id,ag.id)}catch(a){bs(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),aj(a=>a.filter(a=>a.id!==e.id)),al(b),bd(c),D.toast.error(a instanceof Error?a.message:"Failed to send message")}finally{ao(!1),b4.current?.focus()}},cA=(0,c.useCallback)(async()=>{if(!ay||!ag)return;let a=await (0,x.retryTask)(ay.id,r);az(a),aB([]),ck(a.id,ag.id)},[ay,ag,r,ck]),cB=(0,c.useCallback)(async a=>{let b=bz.current.has(a);by(c=>{let d=new Set(c);return b?d.delete(a):d.add(a),d}),b?(bB(),(0,x.unflagMessage)(r,a).then(()=>{bC()}).catch(()=>{by(b=>new Set(b).add(a)),bA()})):(bA(),(0,x.flagMessage)(r,a).then(()=>{bC()}).catch(()=>{by(b=>{let c=new Set(b);return c.delete(a),c}),bB()}))},[r,bA,bB,bC]),cC=(0,c.useCallback)(async a=>{a1(a),a_(!0),a5(!0),a7(null),a9(null);try{let b=await (0,x.getIssue)(r,a);a3(b),b.issue.latest_task_id&&(0,x.getTask)(b.issue.latest_task_id,r).then(a=>a9(a)).catch(()=>a9(null)),b.issue.trace_id&&(0,x.getTrace)(b.issue.trace_id,r).then(a=>a7(a.tasks)).catch(()=>a7(null))}catch(a){D.toast.error(a instanceof Error?a.message:"Failed to load issue"),a_(!1)}finally{a5(!1)}},[r]),cD=a2?.issue?.conversation_id??null,cE=a2?.issue?.latest_task_id??null;(0,c.useEffect)(()=>{if(a$&&a0)return Q(a=>{if("task.updated"===a.type&&cE&&a.taskId===cE&&(0,x.getTask)(cE,r).then(a=>a9(a)).catch(()=>{}),"conversation.message"===a.type&&cD&&a.conversationId===cD&&(a3(b=>!b||b.messages.some(b=>b.id===a.message.id)?b:{...b,messages:[...b.messages,a.message]}),"event"===a.message.role&&a.message.content.startsWith("Issue status changed:"))){let b=a.message.content.match(/-> (\w+)/);b&&a3(a=>a?{...a,issue:{...a.issue,status:b[1]}}:a)}"issue.comment"===a.type&&a.issueId===a0&&a3(b=>!b||b.comments.some(b=>b.id===a.comment.id)?b:{...b,comments:[...b.comments,a.comment]})})},[a$,a0,cD,cE,r,Q]);let[cF,cG]=(0,c.useState)(!1),cH=(0,c.useMemo)(()=>!!ag&&ai.some(a=>a.conversation_id===ag.id),[ag,ai]),cI=async()=>{if(ag&&cH&&!cF){cG(!0);try{bS.current&&(clearInterval(bS.current),bS.current=null);let a=await (0,x.createConversation)(ac,r,V);bn(b=>[...b,{agentName:ca,created_at:a.created_at,id:`nap-${ag.id}`}]),bj(a=>[{id:ag.id,created_at:ag.created_at},...a]),ah(a),az(null),aB([]),aL([]),bf([]),bd([]),bs(new Map),bV.current=0,aF(!1),aH(!1),b0.current=null,b6()}catch{D.toast.error("Failed to start new conversation")}finally{cG(!1)}}},cJ=!!ay&&!["completed","failed","cancelled","superseded"].includes(ay.status);return aC?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-3 md:px-5",children:(0,b.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4",children:[(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(E.Skeleton,{className:"h-10 w-48 rounded-lg"})}),(0,b.jsx)("div",{className:"flex justify-start",children:(0,b.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,b.jsx)(E.Skeleton,{className:"h-4 w-72"}),(0,b.jsx)(E.Skeleton,{className:"h-4 w-56"}),(0,b.jsx)(E.Skeleton,{className:"h-4 w-64"})]})}),(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(E.Skeleton,{className:"h-10 w-36 rounded-lg"})}),(0,b.jsx)("div",{className:"flex justify-start",children:(0,b.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,b.jsx)(E.Skeleton,{className:"h-4 w-64"}),(0,b.jsx)(E.Skeleton,{className:"h-4 w-48"})]})})]})}),(0,b.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl",children:(0,b.jsx)(E.Skeleton,{className:"h-18 w-full rounded-xl"})})})]}):aC||ag||0!==ai.length?(0,b.jsxs)(b.Fragment,{children:[bv&&(0,b.jsxs)("button",{type:"button",className:"fixed z-50 flex items-center gap-1 px-2 py-1 rounded-md bg-popover border shadow-md text-xs text-popover-foreground hover:bg-accent transition-colors",style:{left:bv.x,top:bv.y,transform:"translate(-100%, -100%)"},onMouseDown:a=>a.preventDefault(),onClick:cp,children:[(0,b.jsx)(L,{className:"size-3"}),"Quote"]}),(0,b.jsxs)("div",{className:"relative flex-1 min-h-0",children:[(0,b.jsx)("div",{className:"h-full overflow-y-auto overflow-x-hidden px-3 md:px-5 thin-scrollbar",ref:bR,onScroll:cj,onClick:a=>{a.target.closest('[data-streamdown="code-block-actions"] button')&&D.toast.success("Copied to clipboard")},children:(0,b.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4 min-w-0",children:[ag&&ci&&!aI&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)("button",{onClick:()=>ch(),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Load earlier messages"})}),aI&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)(p.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}),0===ai.length&&!ay&&(l=t.find(a=>a.id===ac),m=l?.created_at&&bq-new Date(l.created_at).getTime()<3e5,n=(v[ac]??0)>0,m&&n&&"default"===V?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 gap-3 animate-[fade-up_400ms_ease-out_both]",children:[(0,b.jsxs)("div",{className:"relative animate-bounce",children:[(0,b.jsx)(K.Mail,{className:"size-8 text-primary"}),(0,b.jsxs)("span",{className:"absolute -top-1 -right-1 flex size-3",children:[(0,b.jsx)("span",{className:"animate-ping absolute inline-flex size-full rounded-full bg-primary/60"}),(0,b.jsx)("span",{className:"relative inline-flex size-3 rounded-full bg-primary"})]})]}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center max-w-xs",children:"Your agent is sending you a welcome email."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60 text-center max-w-xs",children:"Wait for the email task in the top-left to complete, then check your inbox. Or send a message below to start chatting."})]}):(0,b.jsx)("p",{className:"text-center text-muted-foreground py-20 text-sm",children:"Send a message to start chatting with the agent."})),bO.map(a=>{if("nap"===a.kind)return(0,b.jsx)(au,{agentName:ca},a.data.id);if("artifact"===a.kind)return(0,b.jsx)(av,{artifact:a.data,version:bJ.get(a.data.id)??1,hasDuplicates:bK.has(a.data.filename),onClick:bP},`artifact-${a.data.id}`);let c=a.data;return(0,b.jsx)(am,{msg:c,agents:t,artifacts:aK,activeTask:ay,taskMessages:aA,connectionLost:aE,isLastMessage:ai.length>0&&ai[ai.length-1].id===c.id,stepCount:c.task_id?bo[c.task_id]??0:0,targetConvId:af,workspaceId:r,conversationType:ag?.type,pendingFilesByMessage:br,onArtifactClick:bP,onEmailClick:a=>{aV(a),aT(!0)},onCalendarEventClick:a=>{aZ(a),aX(!0)},onIssueClick:a=>cC(a),onRetry:cA,mentionComponents:ap,isFlagged:bx.has(c.id),onToggleFlag:"assistant"===c.role?cB:void 0},c.id)}),ay&&ay.conversation_id===ag?.id&&!["completed","failed","cancelled","superseded"].includes(ay.status)&&(0,b.jsx)(w,{task:ay,messages:aA,connectionLost:aE})]})}),(0,b.jsx)(aa.ScrollToBottomButton,{scrollRef:bR})]}),ag&&(0,b.jsx)(_,{bufferedMessages:be,onDelete:a=>{bf(b=>b.filter(b=>b.id!==a)),(0,x.deleteBufferedMessage)(ag.id,a,r).catch(()=>{bf(be),D.toast.error("Failed to delete follow-up")})}}),(0,b.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl relative",children:(0,b.jsxs)("div",{className:(0,i.cn)("relative flex flex-col rounded-xl border bg-background/60 transition-colors duration-200","focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50",an&&"opacity-50",cq&&"border-ring ring-3 ring-ring/50"),onDragEnter:ct,onDragLeave:cu,onDragOver:cv,onDrop:cw,children:[cq&&(0,b.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center rounded-xl bg-background/80 border-2 border-dashed border-ring pointer-events-none",children:(0,b.jsx)("p",{className:"text-sm text-muted-foreground font-medium",children:"Drop files here"})}),bt&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0 flex items-start gap-2",children:[(0,b.jsx)(L,{className:"size-3.5 shrink-0 mt-0.5 text-muted-foreground"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground truncate",children:[bt.slice(0,120),bt.length>120?"...":""]})]}),(0,b.jsx)("button",{type:"button",onClick:()=>bu(null),className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,b.jsx)(P.X,{className:"size-3.5"})})]}),(0,b.jsx)(R,{isOpen:b5.isOpen,relatedAgents:b5.relatedAgents,otherAgents:b5.otherAgents,selectedIndex:b5.selectedIndex,onSelect:b5.selectAgent,anchorPos:b5.anchorPos}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("div",{"aria-hidden":!0,className:"mention-backdrop absolute inset-0 px-3.5 py-2.5 text-base chat-input-line-height whitespace-pre-wrap wrap-break-word pointer-events-none overflow-y-auto thin-scrollbar",dangerouslySetInnerHTML:{__html:ak?T(ak.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),t).replace(/<mention[^>]*>/g,'<span class="mention-highlight">').replace(/<\/mention>/g,"</span>")+(ak.endsWith("\n")?"\n":""):""}}),(0,b.jsx)("textarea",{ref:b4,value:ak,enterKeyHint:"send",onChange:a=>{al(a.target.value),bh(a.target.selectionStart),requestAnimationFrame(()=>{let b=a.target.previousElementSibling;b&&(b.scrollTop=a.target.scrollTop)})},onKeyDown:a=>{!b5.handleMentionKeyDown(a)&&("Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),cz()))},onPaste:cx,onKeyUp:a=>bh(a.target.selectionStart),onClick:a=>bh(a.target.selectionStart),onSelect:a=>bh(a.target.selectionStart),onScroll:a=>{let b=a.target.previousElementSibling;b&&(b.scrollTop=a.target.scrollTop)},placeholder:cJ?"Type a follow-up...":"Type a message...",rows:1,disabled:an,className:(0,i.cn)("relative field-sizing-content w-full resize-none bg-transparent px-3.5 py-2.5 text-base chat-input-line-height outline-none","placeholder:text-muted-foreground disabled:cursor-not-allowed","min-h-9.5 max-h-50 thin-scrollbar","caret-foreground textarea-text-hidden")})]}),bc.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 px-3.5 pb-1",children:bc.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-md bg-muted px-2 py-1 text-xs text-muted-foreground",children:[(0,b.jsx)(J.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-30",children:a.name}),(0,b.jsx)("span",{className:"text-muted-foreground/60",children:(0,U.formatSize)(a.size)}),(0,b.jsx)("button",{type:"button",onClick:()=>cn(c),className:"ml-0.5 rounded-sm p-0.5 hover:bg-muted-foreground/20 transition-colors",children:(0,b.jsx)(P.X,{className:"size-3"})})]},`${a.name}-${c}`))}),(0,b.jsxs)("div",{className:"flex items-center justify-between px-2 pb-2 pt-0.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[!af&&(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:a=>(0,b.jsx)("span",{...a,className:(0,i.cn)("inline-flex",a.className),children:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:cI,disabled:cF||!ag||!cH||cJ,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200",children:cF?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(H,{className:"size-3.5"})})})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:cJ?"Wait for the task to finish":cH?"Take a nap":`${ca} is well-rested and ready to go`})]}),(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsxs)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{aR("agent"),aN(!0)},className:"relative rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:[(0,b.jsx)(I,{className:"size-3.5"}),bI.length>0&&(0,b.jsx)("span",{className:"absolute -top-0.5 -right-0.5 flex size-3.5 items-center justify-center rounded-full bg-primary text-[9px] font-medium text-primary-foreground",children:bI.length})]}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Artifacts"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("input",{ref:b3,type:"file",multiple:!0,className:"hidden",onChange:cm}),(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:()=>b3.current?.click(),disabled:an,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,b.jsx)(N.Paperclip,{className:"size-3.5"})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Attach files"})]}),bG&&(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:bH,disabled:an,className:(0,i.cn)("rounded-lg transition-colors duration-200",bF?"text-red-500 hover:text-red-600 bg-red-500/10":"text-muted-foreground/60 hover:text-foreground")}),children:(0,b.jsx)(M,{className:(0,i.cn)("size-3.5",bF&&"animate-pulse")})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:bF?"Stop recording":"Voice input"})]}),!cJ||ak.trim()||an?(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{size:"icon-sm",onClick:cz,disabled:!ak.trim()||an,className:(0,i.cn)("rounded-lg transition-opacity duration-200",!ak.trim()&&"opacity-40")}),children:an?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(G.ArrowUp,{className:"size-3.5"})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Send"})]}):(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{size:"icon-sm",onClick:cy,disabled:aq,className:"rounded-lg bg-red-500/10 text-red-500 hover:bg-red-500/20 transition-colors duration-200"}),children:aq?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(O.Square,{className:"size-3.5 fill-current"})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Stop task"})]})]})]})]})})}),(0,b.jsx)(U.ArtifactSheet,{open:aM,onOpenChange:a=>{aN(a),a||setTimeout(()=>{aP(null),aR(null)},300)},artifacts:bL,workspaceId:r,initialArtifact:aO,versionMap:bM,duplicateFilenames:bN}),(0,b.jsx)(X,{open:aS,onOpenChange:a=>{aT(a),a||setTimeout(()=>aV(null),300)},emailId:aU,workspaceId:r}),(0,b.jsx)(Y.CalendarEventSheet,{readonly:!0,open:aW,onOpenChange:a=>{aX(a),a||setTimeout(()=>aZ(null),300)},calendarEventId:aY,workspaceId:r}),(0,b.jsx)(Z.IssueSheet,{open:a$,onOpenChange:a=>{a_(a),a||setTimeout(()=>{a1(null),a3(null),a9(null)},300)},agents:t,issue:a2?.issue??null,detail:a2?{messages:a2.messages,comments:a2.comments,artifacts:a2.artifacts,traceId:a2.issue.trace_id}:null,detailLoading:a4,activeTask:a8,traceTasks:a6,slug:s,workspaceId:r,width:ba,onWidthChange:bb,onUpdate:async(a,b)=>{try{let c=await (0,x.updateIssue)(r,a,b);a3(d=>d&&d.issue.id===a?{...d,issue:{...d.issue,...b,updated_at:c.updated_at}}:d)}catch(a){D.toast.error(a instanceof Error?a.message:"Failed to update issue")}},onStatusChange:async(a,b)=>{try{await (0,x.updateIssue)(r,a,{status:b}),a3(c=>c&&c.issue.id===a?{...c,issue:{...c.issue,status:b}}:c)}catch(a){D.toast.error(a instanceof Error?a.message:"Failed to update status")}},onCommented:()=>{a0&&cC(a0)},onArtifactClick:bQ})]}):(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:"Failed to load conversation"})}}];
|
|
4
4
|
|
|
5
5
|
//# sourceMappingURL=src_web_src_0~23g-y._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[845309,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(207058),e=a.i(506180),f=a.i(732254),g=a.i(464830),h=a.i(7455),i=a.i(22902),j=a.i(25668),k=a.i(110025),l=a.i(552012),m=a.i(484573),n=a.i(549931),o=a.i(619618),p=a.i(123047),q=a.i(16831),r=a.i(415584);let s=(0,a.i(647651).default)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var t=a.i(921584),u=a.i(75118),v=a.i(588339);let w={pending:{label:"Pending",variant:"outline",icon:o.Clock},scheduled:{label:"Scheduled",variant:"secondary",icon:o.Clock},joining:{label:"Joining...",variant:"default",icon:q.Loader2},recording:{label:"Recording",variant:"default",icon:k.Video},completed:{label:"Completed",variant:"secondary",icon:n.Check},failed:{label:"Failed",variant:"destructive",icon:p.AlertCircle}};function x({status:a}){let c=w[a]??w.pending,d=c.icon;return(0,b.jsxs)(g.Badge,{variant:c.variant,className:"gap-1 text-[10px]",children:[(0,b.jsx)(d,{className:(0,u.cn)("size-2.5","joining"===a&&"animate-spin","recording"===a&&"animate-pulse")}),c.label]})}function y(a){return a?new Date(a).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}a.s(["default",0,function(){let a=(0,d.useParams)().id,{workspaceId:g}=(0,e.useWorkspace)(),[n,o]=(0,c.useState)([]),[p,w]=(0,c.useState)(!0),[z,A]=(0,c.useState)(!1),[B,C]=(0,c.useState)(!1),[D,E]=(0,c.useState)(null),[F,G]=(0,c.useState)(!1),[H,I]=(0,c.useState)(""),[J,K]=(0,c.useState)(""),[L,M]=(0,c.useState)(""),N=(0,c.useCallback)(async()=>{try{let b=await (0,v.listMeetings)(a,g);o(b)}catch{t.toast.error("Failed to load meetings")}finally{w(!1)}},[a,g]);(0,c.useEffect)(()=>{let b=!1;return(0,v.listMeetings)(a,g).then(a=>{b||(o(a),w(!1))}).catch(()=>{b||(t.toast.error("Failed to load meetings"),w(!1))}),()=>{b=!0}},[a,g]),(0,c.useEffect)(()=>{if(!n.some(a=>"joining"===a.status||"recording"===a.status))return;let a=setInterval(N,5e3);return()=>clearInterval(a)},[n,N]);let O=async()=>{if(H){C(!0);try{let b=L.split(/[,\n]/).map(a=>a.trim()).filter(Boolean);await (0,v.createMeeting)(a,g,{meetingUrl:H,title:J||void 0,participants:b.length>0?b:void 0}),t.toast.success("Meeting created"),A(!1),I(""),K(""),M(""),N()}catch(a){t.toast.error(a instanceof Error?a.message:"Failed to create meeting")}finally{C(!1)}}},P=async b=>{try{await (0,v.stopMeeting)(a,b.id,g),t.toast.success("Meeting stopped"),N()}catch{t.toast.error("Failed to stop meeting")}},Q=async b=>{try{await (0,v.approveMeeting)(a,b.id,g),t.toast.success("Meeting approved"),N()}catch{t.toast.error("Failed to approve meeting")}},R=async()=>{if(D){G(!0);try{await (0,v.deleteMeeting)(a,D.id,g),t.toast.success("Meeting deleted"),E(null),N()}catch{t.toast.error("Failed to delete meeting")}finally{G(!1)}}};return(0,b.jsxs)("div",{className:"flex-1 flex flex-col min-h-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border/50",children:[(0,b.jsx)("h2",{className:"text-sm font-medium",children:"Meetings"}),(0,b.jsxs)(f.Button,{size:"sm",onClick:()=>A(!0),className:"gap-1",children:[(0,b.jsx)(l.Plus,{className:"size-3"}),"Join Meeting"]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto thin-scrollbar",children:p?(0,b.jsx)("div",{className:"p-4 space-y-3",children:[1,2,3].map(a=>(0,b.jsx)(j.Skeleton,{className:"h-16 w-full rounded-lg"},a))}):0===n.length?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground gap-2 p-8",children:[(0,b.jsx)(k.Video,{className:"size-8 opacity-40"}),(0,b.jsx)("p",{className:"text-sm",children:"No meetings yet"}),(0,b.jsx)("p",{className:"text-xs",children:"Join a Google Meet to start recording transcripts."})]}):(0,b.jsx)("div",{className:"p-2 space-y-1",children:n.map(a=>(0,b.jsxs)("div",{className:(0,u.cn)("flex items-center gap-3 rounded-lg border border-border/50 px-3 py-2.5 transition-colors","pending"===a.status&&!a.is_whitelisted&&"opacity-60"),children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-0.5",children:[(0,b.jsx)("span",{className:"text-sm font-medium truncate",children:a.title||"Untitled Meeting"}),(0,b.jsx)(x,{status:a.status})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,b.jsx)("span",{className:"truncate",children:a.meeting_url.replace("https://","")}),a.scheduled_at&&(0,b.jsx)("span",{className:"shrink-0",children:y(a.scheduled_at)}),a.started_at&&!a.completed_at&&(0,b.jsxs)("span",{className:"shrink-0",children:["Started ",y(a.started_at)]}),a.completed_at&&(0,b.jsx)("span",{className:"shrink-0",children:y(a.completed_at)}),a.participants?.length>0&&(0,b.jsxs)("span",{className:"shrink-0",children:[a.participants.length," participants"]})]}),a.error&&(0,b.jsx)("p",{className:"text-xs text-destructive mt-1 truncate",children:a.error})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:["pending"===a.status&&(0,b.jsxs)(f.Button,{variant:"outline",size:"xs",className:"gap-1",onClick:()=>Q(a),children:[(0,b.jsx)(s,{className:"size-3"}),"Approve"]}),("recording"===a.status||"joining"===a.status)&&(0,b.jsxs)(f.Button,{variant:"outline",size:"xs",className:"gap-1 text-destructive",onClick:()=>P(a),children:[(0,b.jsx)(m.Square,{className:"size-3"}),"Stop"]}),(0,b.jsx)(f.Button,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground hover:text-destructive",onClick:()=>E(a),children:(0,b.jsx)(r.Trash2,{className:"size-3"})})]})]},a.id))})}),(0,b.jsx)(h.Sheet,{open:z,onOpenChange:A,children:(0,b.jsxs)(h.SheetContent,{children:[(0,b.jsx)(h.SheetHeader,{children:(0,b.jsx)(h.SheetTitle,{children:"Join a Meeting"})}),(0,b.jsxs)(h.SheetBody,{className:"space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground mb-1 block",children:"Google Meet URL *"}),(0,b.jsx)("input",{type:"url",placeholder:"https://meet.google.com/abc-defg-hij",value:H,onChange:a=>I(a.target.value),className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-1 focus:ring-ring"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground mb-1 block",children:"Title"}),(0,b.jsx)("input",{type:"text",placeholder:"Weekly Standup",value:J,onChange:a=>K(a.target.value),className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-1 focus:ring-ring"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground mb-1 block",children:"Participants (one email per line)"}),(0,b.jsx)("textarea",{placeholder:"alice@example.com\nbob@example.com",value:L,onChange:a=>M(a.target.value),rows:3,className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-1 focus:ring-ring resize-none"})]})]}),(0,b.jsxs)(h.SheetFooter,{children:[(0,b.jsx)(f.Button,{variant:"outline",onClick:()=>A(!1),children:"Cancel"}),(0,b.jsxs)(f.Button,{onClick:O,disabled:B||!H,children:[B&&(0,b.jsx)(q.Loader2,{className:"size-3 animate-spin"}),"Join Meeting"]})]})]})}),(0,b.jsx)(i.ConfirmDialog,{open:!!D,onOpenChange:a=>!a&&E(null),title:"Delete meeting",description:`Remove "${D?.title||"this meeting"}" and its transcript?`,loading:F,onConfirm:R})]})}],845309)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=src_web_src_app_%28app%29_w_%5Bslug%5D_agents_%5Bid%5D_meetings_page_tsx_073~u~-._.js.map
|