@alook/app 0.0.72 → 0.0.74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/web/.open-next/.build/durable-objects/queue.js +5 -5
- package/bundled/web/.open-next/assets/BUILD_ID +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/08q1jdm7c98jd.js +63 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{060hy1yx9.8u4.js → 0eab27fokr42h.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/{0ymb~iviyjlb_.js → 0o3ol51uyvngq.js} +2 -2
- package/bundled/web/.open-next/assets/_next/static/chunks/{0_ceurra~p4yl.js → 0r91umgrdcg_w.js} +2 -2
- package/bundled/web/.open-next/assets/_next/static/chunks/0z1nxwsyi9qzp.js +1 -0
- package/bundled/web/.open-next/cache/{UKi2wJge4r06KGiZ66_h- → EVK310PIpcfkd7nSFHa07}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/{UKi2wJge4r06KGiZ66_h- → EVK310PIpcfkd7nSFHa07}/_not-found.cache +1 -1
- package/bundled/web/.open-next/cache/{UKi2wJge4r06KGiZ66_h- → EVK310PIpcfkd7nSFHa07}/sitemap.xml.cache +1 -1
- package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
- package/bundled/web/.open-next/cloudflare/init.js +1 -1
- package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
- package/bundled/web/.open-next/middleware/handler.mjs +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/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/api/agent-links/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/whitelist/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/[id]/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/[id]/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/notify/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/send/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/machine-tokens/activate/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0..x3e2._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0.1j36e._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0.1vmoe._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__009_wu3._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__00_g5g4._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__01crkpf._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__01~--ue._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__027mioa._.js +2 -2
- 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]__02rso~7._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__02tc9uk._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__02wurdb._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__034wlco._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__04ds4z_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__04icw5-._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__06j-6ja._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__06tjmxh._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__06y_c-r._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__06~zt4i._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__09cer93._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__09ud9_1._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ars103._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0b9cycy._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0dkg608._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0dy~25_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0e7o6zp._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0faxj6t._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0flvgaf._.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]__0gzp~d6._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0h1bbqr._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0hx4le1._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0j6wy8r._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0jvwtv1._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0k4l9.h._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0kc1f.6._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ko5xa_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0kruv9u._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0lc586o._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0lp-qwk._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0m5a1_f._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0m_ya4f._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0n6p6k4._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0niqi98._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ntc1ld._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0om99x0._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0oofrc0._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0p769.0._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0p8t~on._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0pyyhr-._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0qmcw57._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0r73dmn._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0s0l_.j._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0s9v7kt._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0sho.f4._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ud56v.._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0v.x5_r._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0vc50cl._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0vvh~.2._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0w._3fo._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0wjwi1-._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0wp61q0._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0y4q15f._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0y_pjkm._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0~afpm2._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__10b3oxj._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__13imtgy._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0--kvw_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0-r4t0g._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_05_d3df._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_06.am62._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_07-798_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08mdiy6._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08z6pkf._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_09ivzvb._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0csh82a._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j.pt~7._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j1t6f2._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0k3wl-3._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0lmedw9._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ns9.qo._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0r0h9so._.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0u3tu2x._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0q3gvkd._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__04mf.th._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0e65njz._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0r2s1aj._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0y3mwm6._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_11~t2ti._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_0liq_10._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0~23g-y._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_home_page_tsx_0lkx78f._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +34 -34
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +203 -203
- package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +3 -3
- package/package.json +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/08u3p1v8e1gxg.js +0 -63
- package/bundled/web/.open-next/assets/_next/static/chunks/0ua2sdw9pqxwv.js +0 -1
- /package/bundled/web/.open-next/assets/_next/static/{UKi2wJge4r06KGiZ66_h- → EVK310PIpcfkd7nSFHa07}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{UKi2wJge4r06KGiZ66_h- → EVK310PIpcfkd7nSFHa07}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{UKi2wJge4r06KGiZ66_h- → EVK310PIpcfkd7nSFHa07}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{UKi2wJge4r06KGiZ66_h- → EVK310PIpcfkd7nSFHa07}/robots.txt.cache +0 -0
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0r0h9so._.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
module.exports=[192142,e=>e.a(async(t,a)=>{try{var r=e.i(291484);e.i(700598);var n=e.i(291109),i=e.i(888247),s=e.i(424166),o=e.i(469187),l=e.i(704024),d=e.i(719436),c=e.i(386581),u=e.i(675139),p=e.i(152327),
|
|
2
|
-
${t.toLeader}`});q.push(r)}catch{}}let O=new Date().toISOString().slice(0,10);await Promise.all([(0,f.invalidate)(f.cacheKeys.allAgents(a.workspaceId)),(0,f.invalidate)(f.cacheKeys.allHandles(a.workspaceId)),(0,f.invalidate)(f.cacheKeys.allColleagues(a.workspaceId)),(0,f.invalidate)(f.cacheKeys.allAgentAccess(a.workspaceId)),(0,f.invalidate)(f.cacheKeys.allMembers(a.workspaceId)),(0,f.invalidate)(f.cacheKeys.overviewTaskStats(a.workspaceId,O))]);try{await n.queries.agentPin.pinAgent(y,{agentId:
|
|
1
|
+
module.exports=[192142,e=>e.a(async(t,a)=>{try{var r=e.i(291484);e.i(700598);var n=e.i(291109),i=e.i(888247),s=e.i(424166),o=e.i(469187),l=e.i(704024),d=e.i(719436),c=e.i(386581),u=e.i(675139),p=e.i(152327),h=e.i(47962),m=e.i(776227),w=e.i(740580),g=e.i(205054),f=e.i(774078),y=t([p]);[p]=y.then?(await y)():y;let k={"software-dev":{researcher:{fromLeader:"Delegate technical research: what to investigate (API, library, architecture pattern), what decision it informs, and what format/depth you need back. Include relevant file paths or code pointers.",toLeader:"Report with: Status, technical summary, evidence (file paths, doc URLs, code snippets), recommendation for implementation, and confidence level. Flag anything you couldn't verify from source."},engineer:{fromLeader:"Delegate coding tasks with: clear requirement, relevant file paths, existing patterns to follow, expected behavior, and test expectations. Include context from researcher findings if relevant.",toLeader:"Report with: Status, files changed with descriptions, test results (pass/fail), self-review findings, and concerns about correctness or edge cases."}},"content-research":{researcher:{fromLeader:"Delegate content research: topic/claim to investigate, target content format (article, report, social), depth needed (quick check vs. deep dive), and any specific sources to check.",toLeader:"Report with: Status, key facts for the writer, organized source list (URL, date, reliability), verification gaps, angle suggestion, and per-claim confidence levels."},assistant:{fromLeader:"Delegate content operations: what content to format/publish, which platform, deadline, and any style/formatting requirements.",toLeader:"Report with: Status, what was done (formatted, published, submitted), next step (awaiting review, scheduled for X), and any blockers (platform issues, access problems)."}},"sales-outreach":{researcher:{fromLeader:"Delegate prospect research: target criteria, market/industry focus, what intelligence is needed, and how it will be used (outreach, pitch, proposal).",toLeader:"Report with: Status, prospect list with context and suggested angles, market signals, source reliability, and confidence levels."},assistant:{fromLeader:"Delegate outreach tasks: who to contact, messaging angle, follow-up cadence, and desired outcome.",toLeader:"Report with: Status, emails sent/scheduled, responses received, pipeline updates, and deals needing attention."}},"customer-support":{assistant:{fromLeader:"Delegate support tasks: customer issue summary, urgency level, prior interaction context, and resolution approach.",toLeader:"Report with: Status, response drafted/sent, issue resolution status, follow-up schedule, and recurring patterns flagged."}}},v={researcher:{fromLeader:"Delegate research tasks with: clear question, decision context, scope boundary, and expected output format.",toLeader:"Report findings with: Status (DONE/BLOCKED/NEEDS_CONTEXT), summary, evidence with sources, recommendation, and confidence level."},engineer:{fromLeader:"Delegate coding tasks with: clear requirement, relevant context, and expected behavior.",toLeader:"Report results with: Status (DONE/BLOCKED/NEEDS_CONTEXT), files changed, tests run + results, self-review findings, and concerns."},assistant:{fromLeader:"Delegate operational tasks with: action needed, target person/system, deadline, and tone guidance.",toLeader:"Report results with: Status (DONE/BLOCKED/NEEDS_CONTEXT), action taken, next step, and escalation flags."}},I=(0,p.withAuth)(async(e,t)=>{let a=await (0,h.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:p}=(0,r.getCloudflareContext)(),y=(0,u.getDb)(p.DB),[I,R]=await (0,m.parseBody)(e,i.CreateStudioRequestSchema);if(R)return R;let E=[...new Set(I.members.map(e=>e.runtime_id))],S=new Map;for(let e of E){let t=await n.queries.runtime.getAgentRuntimeForWorkspace(y,e,a.workspaceId);if(!t)return(0,m.writeError)(`runtime ${e} not found in workspace`,404);S.set(e,t)}let A=await n.queries.workspace.getWorkspace(y,a.workspaceId,t.userId);if(!A)return(0,m.writeError)("workspace not found",404);if(I.name){let e=await n.queries.agent.listAgents(y,a.workspaceId,t.userId),r=I.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,60);if(0===e.length&&r){let e=r,t=await n.queries.workspace.getWorkspaceBySlug(y,r);if(t&&t.id!==a.workspaceId){let t=!1;for(let i=0;i<5;i++){let i=(0,c.uniqueNamesGenerator)({dictionaries:[c.names],length:1,style:"lowerCase"}),s=`${r}-${i}`.slice(0,60),o=await n.queries.workspace.getWorkspaceBySlug(y,s);if(!o||o.id===a.workspaceId){e=s,t=!0;break}}t||(e=`${r}-${(0,d.nanoid)(6)}`)}let i=await n.queries.workspace.updateWorkspace(y,a.workspaceId,{name:I.name.trim(),slug:e});i&&(A=i)}else await n.queries.workspace.updateWorkspace(y,a.workspaceId,{name:I.name.trim()}),A=await n.queries.workspace.getWorkspace(y,a.workspaceId,t.userId)}let C=[],b=await (0,f.cached)(f.cacheKeys.allHandles(a.workspaceId),120,()=>n.queries.agent.getAllHandlesForWorkspace(y,a.workspaceId)),T=new Set(b.map(e=>e.emailHandle).filter(Boolean));for(let e of I.members){let r=e.name||`Agent-${(0,d.nanoid)(4)}`,i=e.email_handle&&(0,s.isValidHandle)(e.email_handle)&&!T.has(e.email_handle)?(T.add(e.email_handle),e.email_handle):function(e,t){let a=t.toLowerCase().replace(/[^a-z0-9-]/g,"").slice(0,30);if((0,s.isValidHandle)(a)&&!e.has(a))return e.add(a),a;for(let t=0;t<5;t++){let t=(0,c.uniqueNamesGenerator)({dictionaries:[c.names],length:1,style:"lowerCase"}),r=`${a}-${t}`.slice(0,30);if((0,s.isValidHandle)(r)&&!e.has(r))return e.add(r),r}let r=`${a}-${(0,d.nanoid)(6)}`;return e.add(r),r}(T,r),o=e.runtime_config,l=o?{..."string"==typeof o.model?{model:o.model}:{}}:null,u=S.get(e.runtime_id),p=await n.queries.agent.createAgent(y,{workspaceId:a.workspaceId,name:r,description:e.description||"",instructions:e.instructions||"",runtimeId:e.runtime_id,runtimeMode:u?.runtimeMode??"local",runtimeConfig:l,visibility:"private",maxConcurrentTasks:6,ownerId:t.userId,emailHandle:i,avatarUrl:e.avatar_url??null});t.email&&await n.queries.whitelist.addWhitelist(y,p.id,a.workspaceId,t.email.toLowerCase()),C.push({id:p.id,role:e.role,name:r,emailHandle:p.emailHandle,runtimeId:p.runtimeId})}let L=C.find(e=>"leader"===e.role),_=C.filter(e=>"leader"!==e.role),q=[];for(let e of _){var x,N;let t=(x=I.scenario,N=e.role,x&&k[x]?.[N]?k[x][N]:v[N]||{fromLeader:"Collaborate with this team member.",toLeader:"Report results back to the leader."});try{let r=await n.queries.agentLink.create(y,{workspaceId:a.workspaceId,sourceAgentId:L.id,targetAgentId:e.id,instruction:`${t.fromLeader}
|
|
2
|
+
${t.toLeader}`});q.push(r)}catch{}}let O=new Date().toISOString().slice(0,10);await Promise.all([(0,f.invalidate)(f.cacheKeys.allAgents(a.workspaceId)),(0,f.invalidate)(f.cacheKeys.allHandles(a.workspaceId)),(0,f.invalidate)(f.cacheKeys.allColleagues(a.workspaceId)),(0,f.invalidate)(f.cacheKeys.allAgentAccess(a.workspaceId)),(0,f.invalidate)(f.cacheKeys.allMembers(a.workspaceId)),(0,f.invalidate)(f.cacheKeys.overviewTaskStats(a.workspaceId,O)),(0,f.invalidate)(f.cacheKeys.agentLinks(a.workspaceId))]);try{await n.queries.agentPin.pinAgent(y,{agentId:L.id,workspaceId:a.workspaceId,userId:t.userId})}catch{}let D=S.get(I.members.find(e=>"leader"===e.role).runtime_id);if(L.emailHandle&&t.email&&D&&(0,o.isOnline)(D.machineLastSeenAt))try{let e=C.filter(e=>e.id!==L.id).map(e=>`- ${e.name} (${e.emailHandle}@alook.ai), role: ${e.role}`).join("\n"),r=1===C.length?`You have just been created by your owner (${t.email}). Please send them a welcome email introducing yourself as "${L.name}". In the email: 1) Introduce yourself warmly — your name, your email address, and what you can help with. 2) Briefly introduce the Alook platform. 3) Let them know they can chat with you directly or email you anytime. Be warm, professional, and concise.`:`You have just been created as the lead of a new AI studio by your owner (${t.email}). Your teammates are:
|
|
3
3
|
${e}
|
|
4
4
|
|
|
5
|
-
Please send a welcome email to your owner introducing yourself and all your teammates. Include: 1) Your name and email address. 2) Each teammate's name, email, and what they handle. 3) How the team works together — you coordinate and delegate to specialists. 4) Let them know they can email you directly to assign work. Be warm, professional, and concise.`,i=await n.queries.conversation.createConversation(y,{workspaceId:a.workspaceId,agentId:
|
|
5
|
+
Please send a welcome email to your owner introducing yourself and all your teammates. Include: 1) Your name and email address. 2) Each teammate's name, email, and what they handle. 3) How the team works together — you coordinate and delegate to specialists. 4) Let them know they can email you directly to assign work. Be warm, professional, and concise.`,i=await n.queries.conversation.createConversation(y,{workspaceId:a.workspaceId,agentId:L.id,userId:t.userId,title:`Welcome: ${t.email}`.slice(0,50),type:l.TASK_TYPES.EMAIL_NOTIFICATION}),s=new g.TaskService(y);await s.enqueueTask(L.id,i.id,a.workspaceId,r,l.TASK_TYPES.EMAIL_NOTIFICATION)}catch{}if(L&&D&&(0,o.isOnline)(D.machineLastSeenAt))try{let e=C.filter(e=>e.id!==L.id).map(e=>`- ${e.name} (${e.emailHandle}@alook.ai), role: ${e.role}`).join("\n"),r=1===C.length?`You have just been created by your owner (${t.email}). Please introduce yourself as "${L.name}" in this chat. 1) Introduce yourself warmly — your name and what you can help with. 2) Briefly introduce the Alook platform. 3) Let them know they can chat with you directly or email you anytime. Be warm, professional, and concise. Reply in the same language as your owner's name or email suggests.`:`You have just been created as the lead of a new AI studio by your owner (${t.email}). Your teammates are:
|
|
6
6
|
${e}
|
|
7
7
|
|
|
8
|
-
Please introduce yourself and all your teammates in this chat. Include: 1) Your name. 2) Each teammate's name and what they handle. 3) How the team works together — you coordinate and delegate to specialists. 4) Let them know they can chat with you directly to assign work. Be warm, professional, and concise. Reply in the same language as your owner's name or email suggests.`,i=await n.queries.conversation.createConversation(y,{workspaceId:a.workspaceId,agentId:
|
|
8
|
+
Please introduce yourself and all your teammates in this chat. Include: 1) Your name. 2) Each teammate's name and what they handle. 3) How the team works together — you coordinate and delegate to specialists. 4) Let them know they can chat with you directly to assign work. Be warm, professional, and concise. Reply in the same language as your owner's name or email suggests.`,i=await n.queries.conversation.createConversation(y,{workspaceId:a.workspaceId,agentId:L.id,userId:t.userId,title:"Welcome",type:l.TASK_TYPES.USER_DM_MESSAGE}),s=new g.TaskService(y);await s.enqueueTask(L.id,i.id,a.workspaceId,r,l.TASK_TYPES.USER_DM_MESSAGE)}catch{}let $=(await n.queries.agent.listAgents(y,a.workspaceId,t.userId)).filter(e=>C.some(t=>t.id===e.id)),P=await n.queries.workspace.getWorkspace(y,a.workspaceId,t.userId);return(0,m.writeJSON)({studio:{name:P?.name||I.name||""},workspace:(0,w.workspaceToResponse)(P||A),leader_agent_id:L.id,agents:$.map(w.agentToResponse),links:q.map(w.agentLinkToResponse)},201)});e.s(["POST",0,I]),a()}catch(e){a(e)}},!1),227843,e=>e.a(async(t,a)=>{try{var r=e.i(80774),n=e.i(404478),i=e.i(732985),s=e.i(481671),o=e.i(638081),l=e.i(204960),d=e.i(924918),c=e.i(363585),u=e.i(906846),p=e.i(359838),h=e.i(383303),m=e.i(234173),w=e.i(270215),g=e.i(830665),f=e.i(944002),y=e.i(193695);e.i(195928);var k=e.i(81543),v=e.i(192142),I=t([v]);[v]=I.then?(await I)():I;let E=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/studios/route",pathname:"/api/studios",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/studios/route.ts",nextConfigOutput:"standalone",userland:v,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:A,serverHooks:C}=E;async function R(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/studios/route";r=r.replace(/\/index$/,"")||"/";let i=await E.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,deploymentId:I,params:R,nextConfig:S,parsedUrl:A,isDraftMode:C,prerenderManifest:b,routerServerContext:T,isOnDemandRevalidate:L,revalidateOnlyGenerated:_,resolvedPathname:q,clientReferenceManifest:x,serverActionsManifest:N}=i,O=(0,d.normalizeAppPath)(r),D=!!(b.dynamicRoutes[O]||b.routes[q]),$=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,A,!1):t.end("This page could not be found"),null);if(D&&!C){let e=!!b.routes[q],t=b.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await $();throw new y.NoFallbackError}}let P=null;!D||E.isDev||C||(P=q,P="/index"===P?"/":P);let H=!0===E.isDev||!D,M=D&&!H;N&&x&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:x,serverActionsManifest:N});let K=e.method||"GET",U=(0,o.getTracer)(),B=U.getActiveScopeSpan(),W=!!(null==T?void 0:T.isWrappedByNextServer),j=!!(0,s.getRequestMeta)(e,"minimalMode"),F=(0,s.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,S,b,j);null==F||F.resetRequestCache(),globalThis.__incrementalCache=F;let Y={params:R,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:H,incrementalCache:F,cacheLifeProfiles:S.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>E.onRequestError(e,t,r,n,T)},sharedContext:{buildId:v,deploymentId:I}},G=new c.NodeNextRequest(e),X=new c.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let i,s=async e=>E.handle(V,Y).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=U.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${K} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",n),i.updateName(t))}else e.updateName(`${K} ${r}`)}),l=async i=>{var o,l;let d=async({previousCacheEntry:n})=>{try{if(!j&&L&&_&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await s(i);e.fetchMetrics=Y.renderOpts.fetchMetrics;let o=Y.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=Y.renderOpts.collectedTags;if(!D)return await (0,m.sendResponse)(G,X,r,Y.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(r.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==Y.renderOpts.collectedRevalidate&&!(Y.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&Y.renderOpts.collectedRevalidate,n=void 0===Y.renderOpts.collectedExpire||Y.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:Y.renderOpts.collectedExpire;return{value:{kind:k.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:L})},!1,T),t}},c=await E.handleResponse({req:e,nextConfig:S,cacheKey:P,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:L,revalidateOnlyGenerated:_,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:j});if(!D)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==k.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});j||t.setHeader("x-nextjs-cache",L?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,w.fromNodeOutgoingHttpHeaders)(c.value.headers);return j&&D||u.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,m.sendResponse)(G,X,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};W&&B?await l(B):(i=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(p.BaseServerSpan.handleRequest,{spanName:`${K} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},l),void 0,!W))}catch(t){if(t instanceof y.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:L})},!1,T),D)throw t;return await (0,m.sendResponse)(G,X,new Response(null,{status:500})),null}}e.s(["handler",0,R,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:A})},"routeModule",0,E,"serverHooks",0,C,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,A]),a()}catch(e){a(e)}},!1)];
|
|
9
9
|
|
|
10
10
|
//# sourceMappingURL=_0r0h9so._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0u3tu2x._.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
module.exports=[726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function r(e,r,i){let n;try{let{env:a}=(0,t.getCloudflareContext)();n=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...i,status:o.status});return}catch{}let o=n||a.DEV_WS_DO_URL;try{let t=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});t.ok||s.warn("broadcast failed",{...i,status:t.status})}catch(e){s.warn("broadcast error",{...i,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,s){let i=r(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(i)}catch{}return i}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),i=e.i(740580),n=e.i(774078);let o=t.queries.task,d=t.queries.agent,c=t.queries.message,l=t.queries.conversation,u=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,i=a.TASK_TYPES.USER_DM_MESSAGE,c){let l=await d.getAgent(this.db,e,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(c?.traceId&&c.parentTaskId&&await o.countTasksByTrace(this.db,c.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:l.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:i,contextKey:c?.contextKey??null,priority:0,context:c?.context,traceId:c?.traceId??null,parentTaskId:c?.parentTaskId??null});return(0,n.invalidate)(n.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(e,t){let a=await d.getAgent(this.db,e,t);if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,e,t);if(!s||await o.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,e,t);return s?(await d.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await o.claimKillTasks(this.db,e,a,t),r=t-s.length,i=r>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],n=new Set(e),d=new Set,c=[...s],l=[];for(let e of i){if(l.length>=r)break;let t=`${e.agentId}:${e.workspaceId}`;d.has(t)||(d.add(t),l.push(e))}for(let e of(await Promise.all(l.map(e=>this.claimTask(e.agentId,e.workspaceId)))))e&&n.has(e.runtimeId)&&c.push(e);return c}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let i;try{i=JSON.parse(a)}catch{i={raw:a}}let n=await o.completeTask(this.db,e,t,{result:i,sessionId:r||null});if(!n){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let d=i,l="string"==typeof d?.output?d.output:"";return l&&await c.createMessage(this.db,{conversationId:n.conversationId,role:"assistant",content:l,taskId:e}),await this.reconcileAgentStatus(n.agentId,n.workspaceId),await this.dispatchNextBufferedMessage(n.conversationId,n.workspaceId),n}async failTask(e,t,r){let i=await o.failTask(this.db,e,t,r);if(!i){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}return i.type===a.TASK_TYPES.KILL_TASK||(r&&await c.createMessage(this.db,{conversationId:i.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e}),await this.reconcileAgentStatus(i.agentId,i.workspaceId),await this.syncIssueStatusFromTask(i,"failed"),await this.dispatchNextBufferedMessage(i.conversationId,i.workspaceId)),i}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await u.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let n=await c.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await l.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(n)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await o.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let i=await o.cancelTask(this.db,r.id,t);return i?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await c.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),i):null}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await d.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,n.invalidate)(n.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let n=await c.activateNextBufferedMessage(this.db,e);if(!n)return null;let d=await l.getConversation(this.db,e,t);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await c.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),null;let u=d.userId;try{let s=n.attachmentIds?JSON.parse(n.attachmentIds):[],l=await o.getLatestTaskForConversation(this.db,e),p=l?.traceId??null,h=await this.enqueueTask(d.agentId,e,t,n.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:p,parentTaskId:null});return await c.updateMessageTaskId(this.db,n.id,h.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(n),task:(0,i.taskToResponse)(h)}).catch(()=>{}),h}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await c.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:n.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await o.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},914022,e=>e.a(async(t,a)=>{try{var s=e.i(291484);e.i(700598);var r=e.i(888247),i=e.i(704024),n=e.i(291109),o=e.i(675139),d=e.i(152327),c=e.i(47962),l=e.i(776227),u=e.i(726089),p=e.i(205054),h=e.i(774078),w=t([d]);[d]=w.then?(await w)():w;let g=(0,d.withAuth)(async(e,t)=>{let a=await (0,c.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:r}=(0,s.getCloudflareContext)(),i=(0,o.getDb)(r.DB),d=t.params?.id;if(!d)return(0,l.writeError)("issue id is required",400);if(!await n.queries.issue.getIssue(i,d,a.workspaceId))return(0,l.writeError)("issue not found",404);let u=await n.queries.issueComment.listComments(i,d,a.workspaceId);return(0,l.writeJSON)({comments:u.map(n.queries.issueComment.commentToResponse)})}),k=(0,d.withAuth)(async(e,t)=>{let a=await (0,c.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:d}=(0,s.getCloudflareContext)(),w=(0,o.getDb)(d.DB),g=t.params?.id;if(!g)return(0,l.writeError)("issue id is required",400);let k=await n.queries.issue.getIssue(w,g,a.workspaceId);if(!k)return(0,l.writeError)("issue not found",404);let m=e.nextUrl.searchParams.get("agentId");if(m&&k.agentId!==m)return(0,l.writeError)("issue does not belong to agent",403);let[f,T]=await (0,l.parseBody)(e,r.CreateIssueCommentBodySchema);if(T)return T;let I=m?"agent":"user",v=m??t.userId,y=await n.queries.issueComment.createComment(w,{issueId:g,workspaceId:a.workspaceId,authorType:I,authorId:v,content:f.content});await n.queries.issue.updateIssue(w,g,a.workspaceId,{});let b=n.queries.issueComment.commentToResponse(y);if((0,u.broadcastToUser)(k.creatorUserId,{type:"issue.comment",issueId:g,comment:b}).catch(()=>{}),"user"===I&&!(0,i.isTerminalIssueStatus)(k.status)&&k.agentId&&k.conversationId&&!await n.queries.task.getActiveTaskByConversation(w,k.conversationId,a.workspaceId)){let e=new p.TaskService(w),t=`${k.title}
|
|
1
|
+
module.exports=[726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function r(e,r,i){let n;try{let{env:a}=(0,t.getCloudflareContext)();n=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...i,status:o.status});return}catch{}let o=n||a.DEV_WS_DO_URL;try{let t=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});t.ok||s.warn("broadcast failed",{...i,status:t.status})}catch(e){s.warn("broadcast error",{...i,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,s){let i=r(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(i)}catch{}return i}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),i=e.i(740580),n=e.i(774078);let o=t.queries.task,d=t.queries.agent,c=t.queries.message,l=t.queries.conversation,u=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,i=a.TASK_TYPES.USER_DM_MESSAGE,c){let l=await d.getAgent(this.db,e,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(c?.traceId&&c.parentTaskId&&await o.countTasksByTrace(this.db,c.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:l.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:i,contextKey:c?.contextKey??null,priority:0,context:c?.context,traceId:c?.traceId??null,parentTaskId:c?.parentTaskId??null});return(0,n.invalidate)(n.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(e,t){let a=await d.getAgent(this.db,e,t);if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,e,t);if(!s||await o.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,e,t);return s?(await d.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await o.claimKillTasks(this.db,e,a,t),r=t-s.length,i=r>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],n=new Set(e),d=new Set,c=[...s],l=[];for(let e of i){if(l.length>=r)break;let t=`${e.agentId}:${e.workspaceId}`;d.has(t)||(d.add(t),l.push(e))}for(let e of(await Promise.all(l.map(e=>this.claimTask(e.agentId,e.workspaceId)))))e&&n.has(e.runtimeId)&&c.push(e);return c}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,n){let d;try{d=JSON.parse(a)}catch{d={raw:a}}let u=await o.completeTask(this.db,e,t,{result:d,sessionId:n||null});if(!u){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let p=d,h="string"==typeof p?.output?p.output:"";if(h){let a=await c.createMessage(this.db,{conversationId:u.conversationId,role:"assistant",content:h,taskId:e});try{let e=await l.getConversation(this.db,u.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:u.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(u.agentId,u.workspaceId),await this.dispatchNextBufferedMessage(u.conversationId,u.workspaceId),u}async failTask(e,t,n){let d=await o.failTask(this.db,e,t,n);if(!d){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(d.type===a.TASK_TYPES.KILL_TASK)return d;if(n){let a=await c.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:`Error: ${n}`,taskId:e});try{let e=await l.getConversation(this.db,d.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.syncIssueStatusFromTask(d,"failed"),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await u.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let n=await c.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await l.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(n)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await o.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let i=await o.cancelTask(this.db,r.id,t);return i?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await c.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),i):null}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await d.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,n.invalidate)(n.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let n=await c.activateNextBufferedMessage(this.db,e);if(!n)return null;let d=await l.getConversation(this.db,e,t);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await c.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),null;let u=d.userId;try{let s=n.attachmentIds?JSON.parse(n.attachmentIds):[],l=await o.getLatestTaskForConversation(this.db,e),p=l?.traceId??null,h=await this.enqueueTask(d.agentId,e,t,n.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:p,parentTaskId:null});return await c.updateMessageTaskId(this.db,n.id,h.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(n),task:(0,i.taskToResponse)(h)}).catch(()=>{}),h}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await c.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:n.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await o.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},914022,e=>e.a(async(t,a)=>{try{var s=e.i(291484);e.i(700598);var r=e.i(888247),i=e.i(704024),n=e.i(291109),o=e.i(675139),d=e.i(152327),c=e.i(47962),l=e.i(776227),u=e.i(726089),p=e.i(205054),h=e.i(774078),w=t([d]);[d]=w.then?(await w)():w;let g=(0,d.withAuth)(async(e,t)=>{let a=await (0,c.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:r}=(0,s.getCloudflareContext)(),i=(0,o.getDb)(r.DB),d=t.params?.id;if(!d)return(0,l.writeError)("issue id is required",400);if(!await n.queries.issue.getIssue(i,d,a.workspaceId))return(0,l.writeError)("issue not found",404);let u=await n.queries.issueComment.listComments(i,d,a.workspaceId);return(0,l.writeJSON)({comments:u.map(n.queries.issueComment.commentToResponse)})}),m=(0,d.withAuth)(async(e,t)=>{let a=await (0,c.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:d}=(0,s.getCloudflareContext)(),w=(0,o.getDb)(d.DB),g=t.params?.id;if(!g)return(0,l.writeError)("issue id is required",400);let m=await n.queries.issue.getIssue(w,g,a.workspaceId);if(!m)return(0,l.writeError)("issue not found",404);let f=e.nextUrl.searchParams.get("agentId");if(f&&m.agentId!==f)return(0,l.writeError)("issue does not belong to agent",403);let[k,T]=await (0,l.parseBody)(e,r.CreateIssueCommentBodySchema);if(T)return T;let I=f?"agent":"user",v=f??t.userId,y=await n.queries.issueComment.createComment(w,{issueId:g,workspaceId:a.workspaceId,authorType:I,authorId:v,content:k.content});await n.queries.issue.updateIssue(w,g,a.workspaceId,{});let b=n.queries.issueComment.commentToResponse(y);if((0,u.broadcastToUser)(m.creatorUserId,{type:"issue.comment",issueId:g,comment:b}).catch(()=>{}),"user"===I&&!(0,i.isTerminalIssueStatus)(m.status)&&m.agentId&&m.conversationId&&!await n.queries.task.getActiveTaskByConversation(w,m.conversationId,a.workspaceId)){let e=new p.TaskService(w),t=`${m.title}
|
|
2
2
|
|
|
3
|
-
User feedback: "${
|
|
3
|
+
User feedback: "${k.content}"`;try{let s=m.latestTaskId?(await n.queries.task.getTask(w,m.latestTaskId,a.workspaceId))?.traceId??null:null,r=await e.enqueueTask(m.agentId,m.conversationId,a.workspaceId,t,i.TASK_TYPES.ISSUE_EVENT,{contextKey:m.conversationId,context:{issue_id:m.id},traceId:s,parentTaskId:null});await n.queries.issue.setLatestTask(w,g,a.workspaceId,r.id);let o=new Date().toISOString().slice(0,10);(0,h.invalidate)(h.cacheKeys.overviewTaskStats(a.workspaceId,o)).catch(()=>{})}catch{}}return(0,l.writeJSON)({comment:b},201)});e.s(["GET",0,g,"POST",0,m]),a()}catch(e){a(e)}},!1),789442,e=>e.a(async(t,a)=>{try{var s=e.i(80774),r=e.i(404478),i=e.i(732985),n=e.i(481671),o=e.i(638081),d=e.i(204960),c=e.i(924918),l=e.i(363585),u=e.i(906846),p=e.i(359838),h=e.i(383303),w=e.i(234173),g=e.i(270215),m=e.i(830665),f=e.i(944002),k=e.i(193695);e.i(195928);var T=e.i(81543),I=e.i(914022),v=t([I]);[I]=v.then?(await v)():v;let b=new s.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/issues/[id]/comments/route",pathname:"/api/issues/[id]/comments",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/issues/[id]/comments/route.ts",nextConfigOutput:"standalone",userland:I,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:E,serverHooks:R}=b;async function y(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/issues/[id]/comments/route";s=s.replace(/\/index$/,"")||"/";let i=await b.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:I,deploymentId:v,params:y,nextConfig:_,parsedUrl:E,isDraftMode:R,prerenderManifest:S,routerServerContext:C,isOnDemandRevalidate:A,revalidateOnlyGenerated:x,resolvedPathname:q,clientReferenceManifest:N,serverActionsManifest:P}=i,M=(0,c.normalizeAppPath)(s),O=!!(S.dynamicRoutes[M]||S.routes[q]),U=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,E,!1):t.end("This page could not be found"),null);if(O&&!R){let e=!!S.routes[q],t=S.dynamicRoutes[M];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await U();throw new k.NoFallbackError}}let K=null;!O||b.isDev||R||(K=q,K="/index"===K?"/":K);let B=!0===b.isDev||!O,D=O&&!B;P&&N&&(0,d.setManifestsSingleton)({page:s,clientReferenceManifest:N,serverActionsManifest:P});let $=e.method||"GET",j=(0,o.getTracer)(),L=j.getActiveScopeSpan(),H=!!(null==C?void 0:C.isWrappedByNextServer),F=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,_,S,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let V={params:y,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:B,incrementalCache:W,cacheLifeProfiles:_.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,r)=>b.onRequestError(e,t,s,r,C)},sharedContext:{buildId:I,deploymentId:v}},Y=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(Y,(0,u.signalFromNodeResponse)(t));try{let i,n=async e=>b.handle(J,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=j.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${$} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",r),i.updateName(t))}else e.updateName(`${$} ${s}`)}),d=async i=>{var o,d;let c=async({previousCacheEntry:r})=>{try{if(!F&&A&&x&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await n(i);e.fetchMetrics=V.renderOpts.fetchMetrics;let o=V.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=V.renderOpts.collectedTags;if(!O)return await (0,w.sendResponse)(Y,G,s,V.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,r=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:T.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:A})},!1,C),t}},l=await b.handleResponse({req:e,nextConfig:_,cacheKey:K,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:x,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:F});if(!O)return null;if((null==l||null==(o=l.value)?void 0:o.kind)!==T.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(d=l.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",A?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,g.fromNodeOutgoingHttpHeaders)(l.value.headers);return F&&O||u.delete(f.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,m.getCacheControlHeader)(l.cacheControl)),await (0,w.sendResponse)(Y,G,new Response(l.value.body,{headers:u,status:l.value.status||200})),null};H&&L?await d(L):(i=j.getActiveScopeSpan(),await j.withPropagatedContext(e.headers,()=>j.trace(p.BaseServerSpan.handleRequest,{spanName:`${$} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},d),void 0,!H))}catch(t){if(t instanceof k.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:A})},!1,C),O)throw t;return await (0,w.sendResponse)(Y,G,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:E})},"routeModule",0,b,"serverHooks",0,R,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,E]),a()}catch(e){a(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
|
|
4
4
|
|
|
5
5
|
//# sourceMappingURL=_0u3tu2x._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0q3gvkd._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[776227,t=>{"use strict";var e=t.i(463421);function a(t,a){return e.NextResponse.json({error:t},{status:a})}async function s(t,s){let r;try{r=await t.json()}catch{return[null,a("invalid request body",400)]}try{return[s.parse(r),null]}catch(a){let t=(a.issues??a.errors??[]).map(t=>`${t.path.join(".")}: ${t.message}`);return[null,e.NextResponse.json({error:"validation error",details:t},{status:400})]}}t.s(["formatTimestamp",0,function(t){return t?("string"==typeof t?new Date(t):t).toISOString().replace(/\.\d{3}Z$/,"Z"):""},"formatTimestampNullable",0,function(t){return t?("string"==typeof t?new Date(t):t).toISOString().replace(/\.\d{3}Z$/,"Z"):null},"parseBody",0,s,"writeError",0,a,"writeJSON",0,function(t,a=200){return e.NextResponse.json(t,{status:a})}])},469187,t=>{"use strict";var e=t.i(704024);t.s(["isOnline",0,function(t){if(!t)return!1;let a=new Date(t.includes("T")||t.includes("Z")||t.includes("+")?t:t+"Z").getTime();return!isNaN(a)&&Date.now()-a<e.OFFLINE_THRESHOLD_MS}])},740580,t=>{"use strict";var e=t.i(776227);t.i(700598);var a=t.i(888247),s=t.i(469187),r=t.i(704024);t.s(["agentLinkToResponse",0,function(t){return{id:t.id,workspace_id:t.workspaceId,source_agent_id:t.sourceAgentId,target_agent_id:t.targetAgentId,instruction:t.instruction,created_at:(0,e.formatTimestamp)(t.createdAt),updated_at:(0,e.formatTimestamp)(t.updatedAt)}},"agentToResponse",0,function(t){let a=t.runtimeConfig;return a||(a={}),{id:t.id,workspace_id:t.workspaceId,runtime_id:t.runtimeId||"",name:t.name,description:t.description,instructions:t.instructions,runtime_mode:t.runtimeMode,runtime_config:a,status:t.status,max_concurrent_tasks:t.maxConcurrentTasks,email_handle:t.emailHandle||null,avatar_url:t.avatarUrl??null,visibility:t.visibility??"private",owner_id:t.ownerId??null,created_at:(0,e.formatTimestamp)(t.createdAt),updated_at:(0,e.formatTimestamp)(t.updatedAt)}},"calendarEventToResponse",0,function(t){let a=(0,e.formatTimestamp)(t.scheduledAt),s=t.occurrenceAt?(0,e.formatTimestamp)(t.occurrenceAt):a;return{id:t.id,agent_id:t.agentId,workspace_id:t.workspaceId,title:t.title,description:t.description??null,scheduled_at:a,occurrence_at:s,collapsed_count:t.collapsedCount??null,repeat_interval:t.repeatInterval??null,repeat_stop_at:(0,e.formatTimestampNullable)(t.repeatStopAt),last_triggered_at:(0,e.formatTimestampNullable)(t.lastTriggeredAt),created_at:(0,e.formatTimestamp)(t.createdAt),updated_at:(0,e.formatTimestamp)(t.updatedAt)}},"channelToResponse",0,function(t){return{id:t.id,workspace_id:t.workspaceId,name:t.name,position:t.position??0,created_at:(0,e.formatTimestamp)(t.createdAt)}},"conversationToResponse",0,function(t){let a={id:t.id,agent_id:t.agentId,title:t.title,type:t.type??r.TASK_TYPES.USER_DM_MESSAGE,channel:t.channel??"default",created_at:(0,e.formatTimestamp)(t.createdAt)};return void 0!==t.messageCount&&(a.message_count=t.messageCount),a},"emailToResponse",0,function(t){return{id:t.id,agent_id:t.agentId,from_email:t.fromEmail,to_email:t.toEmail,subject:t.subject,r2_key:t.r2Key,is_whitelisted:!!t.isWhitelisted,forwarded:!!t.forwarded,message_id:t.messageId??"",in_reply_to:t.inReplyTo??"",references:t.references??"",html_body:t.htmlBody??"",attachments:JSON.parse(t.attachments||"[]"),status:t.status??"unread",direction:t.direction??"inbound",created_at:(0,e.formatTimestamp)(t.createdAt)}},"inviteToResponse",0,function(t){return{id:t.id,token:t.token,created_by:t.createdBy,used_by:t.usedBy,expires_at:(0,e.formatTimestamp)(t.expiresAt),created_at:(0,e.formatTimestamp)(t.createdAt)}},"issueToResponse",0,function(t){return{id:t.id,workspace_id:t.workspaceId,agent_id:t.agentId,creator_user_id:t.creatorUserId,conversation_id:t.conversationId,latest_task_id:t.latestTaskId??null,title:t.title,description:t.description??"",status:t.status,created_at:(0,e.formatTimestamp)(t.createdAt),updated_at:(0,e.formatTimestamp)(t.updatedAt),completed_at:(0,e.formatTimestampNullable)(t.completedAt)}},"machineTokenToResponse",0,function(t){return{id:t.id,name:t.name,last_used_at:(0,e.formatTimestampNullable)(t.lastUsedAt),created_at:(0,e.formatTimestamp)(t.createdAt)}},"meetingToResponse",0,function(t){return{id:t.id,agent_id:t.agentId,workspace_id:t.workspaceId,title:t.title,meeting_url:t.meetingUrl,status:t.status,from_email:t.fromEmail??null,is_whitelisted:!!t.isWhitelisted,participants:t.participants??[],scheduled_at:(0,e.formatTimestampNullable)(t.scheduledAt),started_at:(0,e.formatTimestampNullable)(t.startedAt),completed_at:(0,e.formatTimestampNullable)(t.completedAt),transcript_r2_key:t.transcriptR2Key??null,summary:t.summary??null,error:t.error??null,worker_session_id:t.workerSessionId??null,created_at:(0,e.formatTimestamp)(t.createdAt),updated_at:(0,e.formatTimestamp)(t.updatedAt)}},"memberToResponse",0,function(t){return{id:t.id,user_id:t.userId,role:t.role,name:t.userName,email:t.userEmail,image:t.userImage,created_at:(0,e.formatTimestamp)(t.createdAt)}},"messageToResponse",0,function(t){let a={id:t.id,conversation_id:t.conversationId,role:t.role,content:t.content,task_id:t.taskId||null,attachment_ids:t.attachmentIds?JSON.parse(t.attachmentIds):null,metadata:t.metadata?JSON.parse(t.metadata):null,created_at:(0,e.formatTimestamp)(t.createdAt)};return t.status&&"active"!==t.status&&(a.status=t.status),a},"runtimeToResponse",0,function(t){let a=t.metadata;a||(a={});let r=t.machineLastSeenAt??null,i=r instanceof Date?r.toISOString():r;return{id:t.id,workspace_id:t.workspaceId,daemon_id:t.daemonId||null,runtime_mode:t.runtimeMode,provider:t.provider,status:(0,s.isOnline)(i)?"online":"offline",device_info:t.deviceInfo,metadata:a,pending_update_version:t.pendingUpdateVersion??null,pending_rescan:!!t.pendingRescan,last_seen_at:(0,e.formatTimestampNullable)(r),created_at:(0,e.formatTimestamp)(t.createdAt),updated_at:(0,e.formatTimestamp)(t.updatedAt)}},"taskMessageToResponse",0,function(t){let e={id:t.id,task_id:t.taskId,seq:t.seq,type:t.type,tool:t.tool,call_id:t.callId||"",content:t.content,output:t.output};return t.input&&(e.input=t.input),e},"taskToActivityResponse",0,function(t){let a=t.prompt.length>120?t.prompt.slice(0,120):t.prompt;return{id:t.id,conversation_id:t.conversationId,type:t.type??r.TASK_TYPES.USER_DM_MESSAGE,status:t.status,prompt:a,created_at:(0,e.formatTimestamp)(t.createdAt),started_at:(0,e.formatTimestampNullable)(t.startedAt),completed_at:(0,e.formatTimestampNullable)(t.completedAt),error:t.error||null}},"taskToResponse",0,function(t){return a.TaskApiBaseSchema.parse({id:t.id,agent_id:t.agentId,runtime_id:t.runtimeId,conversation_id:t.conversationId,workspace_id:t.workspaceId,prompt:t.prompt,type:t.type??r.TASK_TYPES.USER_DM_MESSAGE,context_key:t.contextKey??null,context:t.context??null,status:t.status,priority:t.priority,dispatched_at:(0,e.formatTimestampNullable)(t.dispatchedAt),started_at:(0,e.formatTimestampNullable)(t.startedAt),completed_at:(0,e.formatTimestampNullable)(t.completedAt),result:t.result??null,error:t.error||null,created_at:(0,e.formatTimestamp)(t.createdAt),trace_id:t.traceId??null,parent_task_id:t.parentTaskId??null})},"userToResponse",0,function(t){return{id:t.id,name:t.name,email:t.email,avatar_url:t.avatarUrl??null,created_at:(0,e.formatTimestamp)(t.createdAt),updated_at:(0,e.formatTimestamp)(t.updatedAt)}},"workspaceToResponse",0,function(t){return{id:t.id,name:t.name,slug:t.slug,created_at:(0,e.formatTimestamp)(t.createdAt),updated_at:(0,e.formatTimestamp)(t.updatedAt)}}])},726089,t=>{"use strict";var e=t.i(291484);t.i(700598);var a=t.i(704024);let s=(0,t.i(726527).createLogger)({service:"broadcast"});async function r(t,r,i){let n;try{let{env:a}=(0,e.getCloudflareContext)();n=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${t}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...i,status:o.status});return}catch{}let o=n||a.DEV_WS_DO_URL;try{let e=await fetch(`${o}${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});e.ok||s.warn("broadcast failed",{...i,status:e.status})}catch(t){s.warn("broadcast error",{...i,err:String(t)})}}t.s(["broadcastToUser",0,function(t,a){return function(t,a,s){let i=r(t,a,s);try{let{ctx:t}=(0,e.getCloudflareContext)();t.waitUntil(i)}catch{}return i}(`/broadcast/user/${t}`,JSON.stringify(a),{userId:t,type:a.type})}])},799579,t=>{"use strict";t.i(700598);let e=(0,t.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});t.s(["log",0,e])},205054,t=>{"use strict";t.i(700598);var e=t.i(291109),a=t.i(704024),s=t.i(799579),r=t.i(726089),i=t.i(740580),n=t.i(774078);let o=e.queries.task,d=e.queries.agent,c=e.queries.message,l=e.queries.conversation,u=e.queries.issue;t.s(["TaskService",0,class{db;constructor(t){this.db=t}async enqueueTask(t,e,s,r,i=a.TASK_TYPES.USER_DM_MESSAGE,c){let l=await d.getAgent(this.db,t,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(c?.traceId&&c.parentTaskId&&await o.countTasksByTrace(this.db,c.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:t,runtimeId:l.runtimeId,workspaceId:s,conversationId:e,prompt:r,type:i,contextKey:c?.contextKey??null,priority:0,context:c?.context,traceId:c?.traceId??null,parentTaskId:c?.parentTaskId??null});return(0,n.invalidate)(n.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(t,e){let a=await d.getAgent(this.db,t,e);if(!a)return null;if(await o.countRunningTasks(this.db,t,e)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,t,e);if(!s||await o.countRunningTasks(this.db,t,e,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,t,e);return s?(await d.updateAgentStatus(this.db,t,e,"working"),s):null}async claimTasksForRuntimes(t,e,a){let s=await o.claimKillTasks(this.db,t,a,e),r=e-s.length,i=r>0?await o.listPendingTasksByRuntimes(this.db,t,a):[],n=new Set(t),d=new Set,c=[...s],l=[];for(let t of i){if(l.length>=r)break;let e=`${t.agentId}:${t.workspaceId}`;d.has(e)||(d.add(e),l.push(t))}for(let t of(await Promise.all(l.map(t=>this.claimTask(t.agentId,t.workspaceId)))))t&&n.has(t.runtimeId)&&c.push(t);return c}async startTask(t,e){let a=await o.startTask(this.db,t,e);if(!a)throw Error("task not in dispatched status");return a}async completeTask(t,e,a,r){let i;try{i=JSON.parse(a)}catch{i={raw:a}}let n=await o.completeTask(this.db,t,e,{result:i,sessionId:r||null});if(!n){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot complete task in '${a}' status`)}let d=i,l="string"==typeof d?.output?d.output:"";return l&&await c.createMessage(this.db,{conversationId:n.conversationId,role:"assistant",content:l,taskId:t}),await this.reconcileAgentStatus(n.agentId,n.workspaceId),await this.dispatchNextBufferedMessage(n.conversationId,n.workspaceId),n}async failTask(t,e,r){let i=await o.failTask(this.db,t,e,r);if(!i){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot fail task in '${a}' status`)}return i.type===a.TASK_TYPES.KILL_TASK||(r&&await c.createMessage(this.db,{conversationId:i.conversationId,role:"assistant",content:`Error: ${r}`,taskId:t}),await this.reconcileAgentStatus(i.agentId,i.workspaceId),await this.syncIssueStatusFromTask(i,"failed"),await this.dispatchNextBufferedMessage(i.conversationId,i.workspaceId)),i}async syncIssueStatusFromTask(t,e){if(t.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,t.conversationId,t.workspaceId);if(!s||s.status===e||!await u.updateIssue(this.db,s.id,t.workspaceId,{status:e}))return;let n=await c.createMessage(this.db,{conversationId:t.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${e}`,taskId:t.id,metadata:JSON.stringify({issueId:s.id})});try{let e=await l.getConversation(this.db,t.conversationId,t.workspaceId);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:t.conversationId,message:(0,i.messageToResponse)(n)}).catch(()=>{})}catch{}}async supersedeTask(t,e){let a=await o.supersedeTask(this.db,t,e);if(!a){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(t,e){let a=await o.getTask(this.db,t);if(!a||a.workspaceId!==e)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,t,e);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,e,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(t,e,s){let r=await o.getActiveTaskByConversation(this.db,t,e);if(!r)return null;let i=await o.cancelTask(this.db,r.id,e);return i?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:e,conversationId:t,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await c.createMessage(this.db,{conversationId:t,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,e),s?.skipDispatch||await this.dispatchNextBufferedMessage(t,e),i):null}async reconcileAgentStatus(t,e){let a=await o.countRunningTasks(this.db,t,e);await d.updateAgentStatus(this.db,t,e,a>0?"working":"idle"),(0,n.invalidate)(n.cacheKeys.activeTaskCounts(e)).catch(()=>{})}async dispatchNextBufferedMessage(t,e){let n=await c.activateNextBufferedMessage(this.db,t);if(!n)return null;let d=await l.getConversation(this.db,t,e);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:t}),await c.revertToBuffered(this.db,n.id).catch(t=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:t})}),null;let u=d.userId;try{let s=n.attachmentIds?JSON.parse(n.attachmentIds):[],l=await o.getLatestTaskForConversation(this.db,t),m=l?.traceId??null,p=await this.enqueueTask(d.agentId,t,e,n.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:t,context:s.length>0?{attachment_ids:s}:void 0,traceId:m,parentTaskId:null});return await c.updateMessageTaskId(this.db,n.id,p.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:t,message:(0,i.messageToResponse)(n),task:(0,i.taskToResponse)(p)}).catch(()=>{}),p}catch(e){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:t,err:e}),await c.revertToBuffered(this.db,n.id).catch(t=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:t})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:t,messageId:n.id,error:e instanceof Error?e.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(t,e,a){for(let r of[...new Set((await o.getTraceTree(this.db,t,e)).filter(t=>["queued","dispatched","running"].includes(t.status)).map(t=>t.conversationId))])try{await this.cancelActiveTask(r,e,{skipDispatch:!0,reason:a?.reason})}catch(e){s.log.warn("cancelTrace: failed to cancel task",{traceId:t,convId:r,err:e})}}}])}];
|
|
1
|
+
module.exports=[776227,t=>{"use strict";var e=t.i(463421);function a(t,a){return e.NextResponse.json({error:t},{status:a})}async function s(t,s){let r;try{r=await t.json()}catch{return[null,a("invalid request body",400)]}try{return[s.parse(r),null]}catch(a){let t=(a.issues??a.errors??[]).map(t=>`${t.path.join(".")}: ${t.message}`);return[null,e.NextResponse.json({error:"validation error",details:t},{status:400})]}}t.s(["formatTimestamp",0,function(t){return t?("string"==typeof t?new Date(t):t).toISOString().replace(/\.\d{3}Z$/,"Z"):""},"formatTimestampNullable",0,function(t){return t?("string"==typeof t?new Date(t):t).toISOString().replace(/\.\d{3}Z$/,"Z"):null},"parseBody",0,s,"writeError",0,a,"writeJSON",0,function(t,a=200){return e.NextResponse.json(t,{status:a})}])},469187,t=>{"use strict";var e=t.i(704024);t.s(["isOnline",0,function(t){if(!t)return!1;let a=new Date(t.includes("T")||t.includes("Z")||t.includes("+")?t:t+"Z").getTime();return!isNaN(a)&&Date.now()-a<e.OFFLINE_THRESHOLD_MS}])},740580,t=>{"use strict";var e=t.i(776227);t.i(700598);var a=t.i(888247),s=t.i(469187),r=t.i(704024);t.s(["agentLinkToResponse",0,function(t){return{id:t.id,workspace_id:t.workspaceId,source_agent_id:t.sourceAgentId,target_agent_id:t.targetAgentId,instruction:t.instruction,created_at:(0,e.formatTimestamp)(t.createdAt),updated_at:(0,e.formatTimestamp)(t.updatedAt)}},"agentToResponse",0,function(t){let a=t.runtimeConfig;return a||(a={}),{id:t.id,workspace_id:t.workspaceId,runtime_id:t.runtimeId||"",name:t.name,description:t.description,instructions:t.instructions,runtime_mode:t.runtimeMode,runtime_config:a,status:t.status,max_concurrent_tasks:t.maxConcurrentTasks,email_handle:t.emailHandle||null,avatar_url:t.avatarUrl??null,visibility:t.visibility??"private",owner_id:t.ownerId??null,created_at:(0,e.formatTimestamp)(t.createdAt),updated_at:(0,e.formatTimestamp)(t.updatedAt)}},"calendarEventToResponse",0,function(t){let a=(0,e.formatTimestamp)(t.scheduledAt),s=t.occurrenceAt?(0,e.formatTimestamp)(t.occurrenceAt):a;return{id:t.id,agent_id:t.agentId,workspace_id:t.workspaceId,title:t.title,description:t.description??null,scheduled_at:a,occurrence_at:s,collapsed_count:t.collapsedCount??null,repeat_interval:t.repeatInterval??null,repeat_stop_at:(0,e.formatTimestampNullable)(t.repeatStopAt),last_triggered_at:(0,e.formatTimestampNullable)(t.lastTriggeredAt),created_at:(0,e.formatTimestamp)(t.createdAt),updated_at:(0,e.formatTimestamp)(t.updatedAt)}},"channelToResponse",0,function(t){return{id:t.id,workspace_id:t.workspaceId,name:t.name,position:t.position??0,created_at:(0,e.formatTimestamp)(t.createdAt)}},"conversationToResponse",0,function(t){let a={id:t.id,agent_id:t.agentId,title:t.title,type:t.type??r.TASK_TYPES.USER_DM_MESSAGE,channel:t.channel??"default",created_at:(0,e.formatTimestamp)(t.createdAt)};return void 0!==t.messageCount&&(a.message_count=t.messageCount),a},"emailToResponse",0,function(t){return{id:t.id,agent_id:t.agentId,from_email:t.fromEmail,to_email:t.toEmail,subject:t.subject,r2_key:t.r2Key,is_whitelisted:!!t.isWhitelisted,forwarded:!!t.forwarded,message_id:t.messageId??"",in_reply_to:t.inReplyTo??"",references:t.references??"",html_body:t.htmlBody??"",attachments:JSON.parse(t.attachments||"[]"),status:t.status??"unread",direction:t.direction??"inbound",created_at:(0,e.formatTimestamp)(t.createdAt)}},"inviteToResponse",0,function(t){return{id:t.id,token:t.token,created_by:t.createdBy,used_by:t.usedBy,expires_at:(0,e.formatTimestamp)(t.expiresAt),created_at:(0,e.formatTimestamp)(t.createdAt)}},"issueToResponse",0,function(t){return{id:t.id,workspace_id:t.workspaceId,agent_id:t.agentId,creator_user_id:t.creatorUserId,conversation_id:t.conversationId,latest_task_id:t.latestTaskId??null,title:t.title,description:t.description??"",status:t.status,created_at:(0,e.formatTimestamp)(t.createdAt),updated_at:(0,e.formatTimestamp)(t.updatedAt),completed_at:(0,e.formatTimestampNullable)(t.completedAt)}},"machineTokenToResponse",0,function(t){return{id:t.id,name:t.name,last_used_at:(0,e.formatTimestampNullable)(t.lastUsedAt),created_at:(0,e.formatTimestamp)(t.createdAt)}},"meetingToResponse",0,function(t){return{id:t.id,agent_id:t.agentId,workspace_id:t.workspaceId,title:t.title,meeting_url:t.meetingUrl,status:t.status,from_email:t.fromEmail??null,is_whitelisted:!!t.isWhitelisted,participants:t.participants??[],scheduled_at:(0,e.formatTimestampNullable)(t.scheduledAt),started_at:(0,e.formatTimestampNullable)(t.startedAt),completed_at:(0,e.formatTimestampNullable)(t.completedAt),transcript_r2_key:t.transcriptR2Key??null,summary:t.summary??null,error:t.error??null,worker_session_id:t.workerSessionId??null,created_at:(0,e.formatTimestamp)(t.createdAt),updated_at:(0,e.formatTimestamp)(t.updatedAt)}},"memberToResponse",0,function(t){return{id:t.id,user_id:t.userId,role:t.role,name:t.userName,email:t.userEmail,image:t.userImage,created_at:(0,e.formatTimestamp)(t.createdAt)}},"messageToResponse",0,function(t){let a={id:t.id,conversation_id:t.conversationId,role:t.role,content:t.content,task_id:t.taskId||null,attachment_ids:t.attachmentIds?JSON.parse(t.attachmentIds):null,metadata:t.metadata?JSON.parse(t.metadata):null,created_at:(0,e.formatTimestamp)(t.createdAt)};return t.status&&"active"!==t.status&&(a.status=t.status),a},"runtimeToResponse",0,function(t){let a=t.metadata;a||(a={});let r=t.machineLastSeenAt??null,i=r instanceof Date?r.toISOString():r;return{id:t.id,workspace_id:t.workspaceId,daemon_id:t.daemonId||null,runtime_mode:t.runtimeMode,provider:t.provider,status:(0,s.isOnline)(i)?"online":"offline",device_info:t.deviceInfo,metadata:a,pending_update_version:t.pendingUpdateVersion??null,pending_rescan:!!t.pendingRescan,last_seen_at:(0,e.formatTimestampNullable)(r),created_at:(0,e.formatTimestamp)(t.createdAt),updated_at:(0,e.formatTimestamp)(t.updatedAt)}},"taskMessageToResponse",0,function(t){let e={id:t.id,task_id:t.taskId,seq:t.seq,type:t.type,tool:t.tool,call_id:t.callId||"",content:t.content,output:t.output};return t.input&&(e.input=t.input),e},"taskToActivityResponse",0,function(t){let a=t.prompt.length>120?t.prompt.slice(0,120):t.prompt;return{id:t.id,conversation_id:t.conversationId,type:t.type??r.TASK_TYPES.USER_DM_MESSAGE,status:t.status,prompt:a,created_at:(0,e.formatTimestamp)(t.createdAt),started_at:(0,e.formatTimestampNullable)(t.startedAt),completed_at:(0,e.formatTimestampNullable)(t.completedAt),error:t.error||null}},"taskToResponse",0,function(t){return a.TaskApiBaseSchema.parse({id:t.id,agent_id:t.agentId,runtime_id:t.runtimeId,conversation_id:t.conversationId,workspace_id:t.workspaceId,prompt:t.prompt,type:t.type??r.TASK_TYPES.USER_DM_MESSAGE,context_key:t.contextKey??null,context:t.context??null,status:t.status,priority:t.priority,dispatched_at:(0,e.formatTimestampNullable)(t.dispatchedAt),started_at:(0,e.formatTimestampNullable)(t.startedAt),completed_at:(0,e.formatTimestampNullable)(t.completedAt),result:t.result??null,error:t.error||null,created_at:(0,e.formatTimestamp)(t.createdAt),trace_id:t.traceId??null,parent_task_id:t.parentTaskId??null})},"userToResponse",0,function(t){return{id:t.id,name:t.name,email:t.email,avatar_url:t.avatarUrl??null,created_at:(0,e.formatTimestamp)(t.createdAt),updated_at:(0,e.formatTimestamp)(t.updatedAt)}},"workspaceToResponse",0,function(t){return{id:t.id,name:t.name,slug:t.slug,created_at:(0,e.formatTimestamp)(t.createdAt),updated_at:(0,e.formatTimestamp)(t.updatedAt)}}])},726089,t=>{"use strict";var e=t.i(291484);t.i(700598);var a=t.i(704024);let s=(0,t.i(726527).createLogger)({service:"broadcast"});async function r(t,r,i){let n;try{let{env:a}=(0,e.getCloudflareContext)();n=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${t}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...i,status:o.status});return}catch{}let o=n||a.DEV_WS_DO_URL;try{let e=await fetch(`${o}${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});e.ok||s.warn("broadcast failed",{...i,status:e.status})}catch(t){s.warn("broadcast error",{...i,err:String(t)})}}t.s(["broadcastToUser",0,function(t,a){return function(t,a,s){let i=r(t,a,s);try{let{ctx:t}=(0,e.getCloudflareContext)();t.waitUntil(i)}catch{}return i}(`/broadcast/user/${t}`,JSON.stringify(a),{userId:t,type:a.type})}])},799579,t=>{"use strict";t.i(700598);let e=(0,t.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});t.s(["log",0,e])},205054,t=>{"use strict";t.i(700598);var e=t.i(291109),a=t.i(704024),s=t.i(799579),r=t.i(726089),i=t.i(740580),n=t.i(774078);let o=e.queries.task,d=e.queries.agent,c=e.queries.message,l=e.queries.conversation,u=e.queries.issue;t.s(["TaskService",0,class{db;constructor(t){this.db=t}async enqueueTask(t,e,s,r,i=a.TASK_TYPES.USER_DM_MESSAGE,c){let l=await d.getAgent(this.db,t,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(c?.traceId&&c.parentTaskId&&await o.countTasksByTrace(this.db,c.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:t,runtimeId:l.runtimeId,workspaceId:s,conversationId:e,prompt:r,type:i,contextKey:c?.contextKey??null,priority:0,context:c?.context,traceId:c?.traceId??null,parentTaskId:c?.parentTaskId??null});return(0,n.invalidate)(n.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(t,e){let a=await d.getAgent(this.db,t,e);if(!a)return null;if(await o.countRunningTasks(this.db,t,e)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,t,e);if(!s||await o.countRunningTasks(this.db,t,e,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,t,e);return s?(await d.updateAgentStatus(this.db,t,e,"working"),s):null}async claimTasksForRuntimes(t,e,a){let s=await o.claimKillTasks(this.db,t,a,e),r=e-s.length,i=r>0?await o.listPendingTasksByRuntimes(this.db,t,a):[],n=new Set(t),d=new Set,c=[...s],l=[];for(let t of i){if(l.length>=r)break;let e=`${t.agentId}:${t.workspaceId}`;d.has(e)||(d.add(e),l.push(t))}for(let t of(await Promise.all(l.map(t=>this.claimTask(t.agentId,t.workspaceId)))))t&&n.has(t.runtimeId)&&c.push(t);return c}async startTask(t,e){let a=await o.startTask(this.db,t,e);if(!a)throw Error("task not in dispatched status");return a}async completeTask(t,e,a,n){let d;try{d=JSON.parse(a)}catch{d={raw:a}}let u=await o.completeTask(this.db,t,e,{result:d,sessionId:n||null});if(!u){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot complete task in '${a}' status`)}let m=d,p="string"==typeof m?.output?m.output:"";if(p){let a=await c.createMessage(this.db,{conversationId:u.conversationId,role:"assistant",content:p,taskId:t});try{let t=await l.getConversation(this.db,u.conversationId,e);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:u.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(u.agentId,u.workspaceId),await this.dispatchNextBufferedMessage(u.conversationId,u.workspaceId),u}async failTask(t,e,n){let d=await o.failTask(this.db,t,e,n);if(!d){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot fail task in '${a}' status`)}if(d.type===a.TASK_TYPES.KILL_TASK)return d;if(n){let a=await c.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:`Error: ${n}`,taskId:t});try{let t=await l.getConversation(this.db,d.conversationId,e);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.syncIssueStatusFromTask(d,"failed"),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async syncIssueStatusFromTask(t,e){if(t.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,t.conversationId,t.workspaceId);if(!s||s.status===e||!await u.updateIssue(this.db,s.id,t.workspaceId,{status:e}))return;let n=await c.createMessage(this.db,{conversationId:t.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${e}`,taskId:t.id,metadata:JSON.stringify({issueId:s.id})});try{let e=await l.getConversation(this.db,t.conversationId,t.workspaceId);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:t.conversationId,message:(0,i.messageToResponse)(n)}).catch(()=>{})}catch{}}async supersedeTask(t,e){let a=await o.supersedeTask(this.db,t,e);if(!a){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(t,e){let a=await o.getTask(this.db,t);if(!a||a.workspaceId!==e)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,t,e);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,e,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(t,e,s){let r=await o.getActiveTaskByConversation(this.db,t,e);if(!r)return null;let i=await o.cancelTask(this.db,r.id,e);return i?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:e,conversationId:t,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await c.createMessage(this.db,{conversationId:t,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,e),s?.skipDispatch||await this.dispatchNextBufferedMessage(t,e),i):null}async reconcileAgentStatus(t,e){let a=await o.countRunningTasks(this.db,t,e);await d.updateAgentStatus(this.db,t,e,a>0?"working":"idle"),(0,n.invalidate)(n.cacheKeys.activeTaskCounts(e)).catch(()=>{})}async dispatchNextBufferedMessage(t,e){let n=await c.activateNextBufferedMessage(this.db,t);if(!n)return null;let d=await l.getConversation(this.db,t,e);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:t}),await c.revertToBuffered(this.db,n.id).catch(t=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:t})}),null;let u=d.userId;try{let s=n.attachmentIds?JSON.parse(n.attachmentIds):[],l=await o.getLatestTaskForConversation(this.db,t),m=l?.traceId??null,p=await this.enqueueTask(d.agentId,t,e,n.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:t,context:s.length>0?{attachment_ids:s}:void 0,traceId:m,parentTaskId:null});return await c.updateMessageTaskId(this.db,n.id,p.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:t,message:(0,i.messageToResponse)(n),task:(0,i.taskToResponse)(p)}).catch(()=>{}),p}catch(e){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:t,err:e}),await c.revertToBuffered(this.db,n.id).catch(t=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:t})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:t,messageId:n.id,error:e instanceof Error?e.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(t,e,a){for(let r of[...new Set((await o.getTraceTree(this.db,t,e)).filter(t=>["queued","dispatched","running"].includes(t.status)).map(t=>t.conversationId))])try{await this.cancelActiveTask(r,e,{skipDispatch:!0,reason:a?.reason})}catch(e){s.log.warn("cancelTrace: failed to cancel task",{traceId:t,convId:r,err:e})}}}])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_0q3gvkd._.js.map
|
|
@@ -80,6 +80,6 @@ module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback
|
|
|
80
80
|
AND c.workspace_id = ${c}
|
|
81
81
|
ON CONFLICT (conversation_id, user_id)
|
|
82
82
|
DO UPDATE SET last_read_at = ${d}
|
|
83
|
-
`)}a.s(["getUnreadCount",0,F,"listUnreadConversations",0,E,"markAllConversationsRead",0,H,"markConversationRead",0,G],975036);var I=a.i(975036),J=a.i(328039),K=a.i(855312),L=a.i(79908);a.s(["agent",0,e,"agentAccess",0,t,"agentLink",0,B,"agentPin",0,u,"agentSidebarOrder",0,v,"artifact",0,q,"calendarEvent",0,p,"channel",0,y,"conversation",0,g,"conversationMap",0,A,"email",0,n,"emailAccount",0,r,"inbox",0,I,"issue",0,J,"issueComment",0,K,"machine",0,k,"machineToken",0,l,"meetingSession",0,x,"member",0,d,"message",0,h,"messageFlag",0,L,"overview",0,w,"runtime",0,f,"session",0,o,"task",0,i,"taskMessage",0,j,"user",0,b,"whitelist",0,m,"workspace",0,c,"workspaceFileRequest",0,z,"workspaceInvite",0,s],395780);var M=a.i(395780);a.s(["queries",0,M],542168)},696826,a=>{"use strict";a.i(250195);var b=a.i(544979);a.s(["getDb",0,function(a){let c=a.withSession("first-
|
|
83
|
+
`)}a.s(["getUnreadCount",0,F,"listUnreadConversations",0,E,"markAllConversationsRead",0,H,"markConversationRead",0,G],975036);var I=a.i(975036),J=a.i(328039),K=a.i(855312),L=a.i(79908);a.s(["agent",0,e,"agentAccess",0,t,"agentLink",0,B,"agentPin",0,u,"agentSidebarOrder",0,v,"artifact",0,q,"calendarEvent",0,p,"channel",0,y,"conversation",0,g,"conversationMap",0,A,"email",0,n,"emailAccount",0,r,"inbox",0,I,"issue",0,J,"issueComment",0,K,"machine",0,k,"machineToken",0,l,"meetingSession",0,x,"member",0,d,"message",0,h,"messageFlag",0,L,"overview",0,w,"runtime",0,f,"session",0,o,"task",0,i,"taskMessage",0,j,"user",0,b,"whitelist",0,m,"workspace",0,c,"workspaceFileRequest",0,z,"workspaceInvite",0,s],395780);var M=a.i(395780);a.s(["queries",0,M],542168)},696826,a=>{"use strict";a.i(250195);var b=a.i(544979);a.s(["getDb",0,function(a){let c=a.withSession("first-unconstrained");return(0,b.createDb)(c)}])},328692,a=>{"use strict";a.s(["WorkspaceListClient",()=>b]);let b=(0,a.i(265047).registerClientReference)(function(){throw Error("Attempted to call WorkspaceListClient() from the server but WorkspaceListClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/app/(app)/workspaces/client.tsx <module evaluation>","WorkspaceListClient")},106041,a=>{"use strict";a.s(["WorkspaceListClient",()=>b]);let b=(0,a.i(265047).registerClientReference)(function(){throw Error("Attempted to call WorkspaceListClient() from the server but WorkspaceListClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/app/(app)/workspaces/client.tsx","WorkspaceListClient")},51042,a=>{"use strict";a.i(328692);var b=a.i(106041);a.n(b)},49385,a=>a.a(async(b,c)=>{try{var d=a.i(144637);a.i(900104);var e=a.i(672234),f=a.i(467594),g=a.i(716403);a.i(250195);var h=a.i(542168),i=a.i(696826),j=a.i(678327),k=a.i(51042),l=b([j]);async function m({searchParams:a}){let b=await (0,j.requireSession)(),{env:c}=await (0,g.getCloudflareContext)({async:!0}),l=(0,i.getDb)(c.DB),n=await h.queries.workspace.listWorkspaces(l,b.user.id);if(0===n.length){let a=(b.user.email.split("@")[0]||"user").toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"").slice(0,48),c=a;for(let d=0;d<3;d++)try{let a=await h.queries.workspace.createWorkspace(l,{name:"Personal",slug:c});await h.queries.member.createMember(l,{workspaceId:a.id,userId:b.user.id,role:"owner"}),(0,e.redirect)(`/studio/new?workspace_id=${a.id}`)}catch(b){if((0,f.isRedirectError)(b))throw b;c=`${a}-${Math.random().toString(36).slice(2,8)}`}n=await h.queries.workspace.listWorkspaces(l,b.user.id)}let o=await a;if(1===n.length&&void 0!==o.auto){let a=await h.queries.agent.listAgents(l,n[0].id,b.user.id);0===a.length&&(0,e.redirect)(`/studio/new?workspace_id=${n[0].id}`),(0,e.redirect)(`/w/${n[0].slug}/home`)}return(0,d.jsx)(k.WorkspaceListClient,{workspaces:n})}[j]=l.then?(await l)():l,a.s(["default",0,m]),c()}catch(a){c(a)}},!1),333436,a=>{a.n(a.i(49385))}];
|
|
84
84
|
|
|
85
85
|
//# sourceMappingURL=%5Broot-of-the-server%5D__04mf.th._.js.map
|
|
@@ -80,6 +80,6 @@ module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback
|
|
|
80
80
|
AND c.workspace_id = ${c}
|
|
81
81
|
ON CONFLICT (conversation_id, user_id)
|
|
82
82
|
DO UPDATE SET last_read_at = ${d}
|
|
83
|
-
`)}a.s(["getUnreadCount",0,F,"listUnreadConversations",0,E,"markAllConversationsRead",0,H,"markConversationRead",0,G],975036);var I=a.i(975036),J=a.i(328039),K=a.i(855312),L=a.i(79908);a.s(["agent",0,e,"agentAccess",0,t,"agentLink",0,B,"agentPin",0,u,"agentSidebarOrder",0,v,"artifact",0,q,"calendarEvent",0,p,"channel",0,y,"conversation",0,g,"conversationMap",0,A,"email",0,n,"emailAccount",0,r,"inbox",0,I,"issue",0,J,"issueComment",0,K,"machine",0,k,"machineToken",0,l,"meetingSession",0,x,"member",0,d,"message",0,h,"messageFlag",0,L,"overview",0,w,"runtime",0,f,"session",0,o,"task",0,i,"taskMessage",0,j,"user",0,b,"whitelist",0,m,"workspace",0,c,"workspaceFileRequest",0,z,"workspaceInvite",0,s],395780);var M=a.i(395780);a.s(["queries",0,M],542168)},696826,a=>{"use strict";a.i(250195);var b=a.i(544979);a.s(["getDb",0,function(a){let c=a.withSession("first-
|
|
83
|
+
`)}a.s(["getUnreadCount",0,F,"listUnreadConversations",0,E,"markAllConversationsRead",0,H,"markConversationRead",0,G],975036);var I=a.i(975036),J=a.i(328039),K=a.i(855312),L=a.i(79908);a.s(["agent",0,e,"agentAccess",0,t,"agentLink",0,B,"agentPin",0,u,"agentSidebarOrder",0,v,"artifact",0,q,"calendarEvent",0,p,"channel",0,y,"conversation",0,g,"conversationMap",0,A,"email",0,n,"emailAccount",0,r,"inbox",0,I,"issue",0,J,"issueComment",0,K,"machine",0,k,"machineToken",0,l,"meetingSession",0,x,"member",0,d,"message",0,h,"messageFlag",0,L,"overview",0,w,"runtime",0,f,"session",0,o,"task",0,i,"taskMessage",0,j,"user",0,b,"whitelist",0,m,"workspace",0,c,"workspaceFileRequest",0,z,"workspaceInvite",0,s],395780);var M=a.i(395780);a.s(["queries",0,M],542168)},696826,a=>{"use strict";a.i(250195);var b=a.i(544979);a.s(["getDb",0,function(a){let c=a.withSession("first-unconstrained");return(0,b.createDb)(c)}])},649475,a=>{"use strict";a.s(["StudioOnboardingClient",()=>b]);let b=(0,a.i(265047).registerClientReference)(function(){throw Error("Attempted to call StudioOnboardingClient() from the server but StudioOnboardingClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/app/(app)/studio/new/client.tsx <module evaluation>","StudioOnboardingClient")},60117,a=>{"use strict";a.s(["StudioOnboardingClient",()=>b]);let b=(0,a.i(265047).registerClientReference)(function(){throw Error("Attempted to call StudioOnboardingClient() from the server but StudioOnboardingClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/app/(app)/studio/new/client.tsx","StudioOnboardingClient")},556203,a=>{"use strict";a.i(649475);var b=a.i(60117);a.n(b)},742525,a=>a.a(async(b,c)=>{try{var d=a.i(144637);a.i(900104);var e=a.i(672234),f=a.i(716403);a.i(250195);var g=a.i(542168),h=a.i(696826),i=a.i(678327),j=a.i(458682),k=a.i(556203),l=b([i]);async function m({searchParams:a}){let b=await (0,i.requireSession)(),{env:c}=await (0,f.getCloudflareContext)({async:!0}),l=(0,h.getDb)(c.DB),n=await a,o=n.template,p=o?(0,j.getTemplateById)(o):void 0,q=n.workspace_id??null,r="",s="";if(q){await g.queries.member.getMemberByUserAndWorkspace(l,b.user.id,q)||(0,e.redirect)("/workspaces");let a=await g.queries.workspace.getWorkspace(l,q,b.user.id);a||(0,e.redirect)("/workspaces"),r=a.name,s=a.slug}return(0,d.jsx)(k.StudioOnboardingClient,{workspaceId:q,workspaceSlug:s,workspaceName:r,initialTemplate:p})}[i]=l.then?(await l)():l,a.s(["default",0,m]),c()}catch(a){c(a)}},!1),592839,a=>{a.n(a.i(742525))}];
|
|
84
84
|
|
|
85
85
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0e65njz._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[414859,a=>a.a(async(b,c)=>{try{let b=await a.y("@better-auth/core-05fe37db7d6627d8/env");a.n(b),c()}catch(a){c(a)}},!0),978098,a=>a.a(async(b,c)=>{try{let b=await a.y("@better-auth/core-05fe37db7d6627d8/utils/string");a.n(b),c()}catch(a){c(a)}},!0),200861,a=>a.a(async(b,c)=>{try{let b=await a.y("@better-auth/core-05fe37db7d6627d8/error");a.n(b),c()}catch(a){c(a)}},!0),323118,a=>a.a(async(b,c)=>{try{let b=await a.y("@better-auth/core-05fe37db7d6627d8/utils/error-codes");a.n(b),c()}catch(a){c(a)}},!0),139723,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0});var e={getAssetToken:function(){return i},getAssetTokenQuery:function(){return j},getDeploymentId:function(){return g},getDeploymentIdQuery:function(){return h}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});function g(){return d}function h(a=!1){return d?`${a?"&":"?"}dpl=${d}`:""}function i(){return!1}function j(a=!1){return""}d=void 0},483865,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"warnOnce",{enumerable:!0,get:function(){return d}});let d=a=>{}},333582,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"useMergedRef",{enumerable:!0,get:function(){return e}});let d=a.r(437199);function e(a,b){let c=(0,d.useRef)(null),e=(0,d.useRef)(null);return(0,d.useCallback)(d=>{if(null===d){let a=c.current;a&&(c.current=null,a());let b=e.current;b&&(e.current=null,b())}else a&&(c.current=f(a,d)),b&&(e.current=f(b,d))},[a,b])}function f(a,b){if("function"!=typeof a)return a.current=b,()=>{a.current=null};{let c=a(b);return"function"==typeof c?c:()=>a(null)}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},746941,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},552012,a=>{"use strict";let b=(0,a.i(647651).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",0,b],552012)},562706,a=>{"use strict";let b,c,d,e,f=(a,b)=>b.some(b=>a instanceof b),g=new WeakMap,h=new WeakMap,i=new WeakMap,j={get(a,b,c){if(a instanceof IDBTransaction){if("done"===b)return g.get(a);if("store"===b)return c.objectStoreNames[1]?void 0:c.objectStore(c.objectStoreNames[0])}return k(a[b])},set:(a,b,c)=>(a[b]=c,!0),has:(a,b)=>a instanceof IDBTransaction&&("done"===b||"store"===b)||b in a};function k(a){if(a instanceof IDBRequest){let b;return b=new Promise((b,c)=>{let d=()=>{a.removeEventListener("success",e),a.removeEventListener("error",f)},e=()=>{b(k(a.result)),d()},f=()=>{c(a.error),d()};a.addEventListener("success",e),a.addEventListener("error",f)}),i.set(b,a),b}if(h.has(a))return h.get(a);let b=function(a){if("function"==typeof a)return(e||(e=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(a)?function(...b){return a.apply(l(this),b),k(this.request)}:function(...b){return k(a.apply(l(this),b))};return(a instanceof IDBTransaction&&function(a){if(g.has(a))return;let b=new Promise((b,c)=>{let d=()=>{a.removeEventListener("complete",e),a.removeEventListener("error",f),a.removeEventListener("abort",f)},e=()=>{b(),d()},f=()=>{c(a.error||new DOMException("AbortError","AbortError")),d()};a.addEventListener("complete",e),a.addEventListener("error",f),a.addEventListener("abort",f)});g.set(a,b)}(a),f(a,d||(d=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(a,j):a}(a);return b!==a&&(h.set(a,b),i.set(b,a)),b}let l=a=>i.get(a),m=["get","getKey","getAll","getAllKeys","count"],n=["put","add","delete","clear"],o=new Map;function p(a,b){if(!(a instanceof IDBDatabase&&!(b in a)&&"string"==typeof b))return;if(o.get(b))return o.get(b);let c=b.replace(/FromIndex$/,""),d=b!==c,e=n.includes(c);if(!(c in(d?IDBIndex:IDBObjectStore).prototype)||!(e||m.includes(c)))return;let f=async function(a,...b){let f=this.transaction(a,e?"readwrite":"readonly"),g=f.store;return d&&(g=g.index(b.shift())),(await Promise.all([g[c](...b),e&&f.done]))[0]};return o.set(b,f),f}j={...b=j,get:(a,c,d)=>p(a,c)||b.get(a,c,d),has:(a,c)=>!!p(a,c)||b.has(a,c)};let q=["continue","continuePrimaryKey","advance"],r={},s=new WeakMap,t=new WeakMap,u={get(a,b){if(!q.includes(b))return a[b];let c=r[b];return c||(c=r[b]=function(...a){s.set(this,t.get(this)[b](...a))}),c}};async function*v(...a){let b=this;if(b instanceof IDBCursor||(b=await b.openCursor(...a)),!b)return;let c=new Proxy(b,u);for(t.set(c,b),i.set(c,l(b));b;)yield c,b=await (s.get(c)||b.continue()),s.delete(c)}function w(a,b){return b===Symbol.asyncIterator&&f(a,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===b&&f(a,[IDBIndex,IDBObjectStore])}j={...c=j,get:(a,b,d)=>w(a,b)?v:c.get(a,b,d),has:(a,b)=>w(a,b)||c.has(a,b)};let x=null,y=null;function z(a){return"u"<typeof indexedDB?null:x&&y===a?x:(y=a,x=function(a,{blocked:b,upgrade:c,blocking:d,terminated:e}={}){let f=indexedDB.open(a,1),g=k(f);return c&&f.addEventListener("upgradeneeded",a=>{c(k(f.result),a.oldVersion,a.newVersion,k(f.transaction),a)}),b&&f.addEventListener("blocked",a=>b(a.oldVersion,a.newVersion,a)),g.then(a=>{e&&a.addEventListener("close",()=>e()),d&&a.addEventListener("versionchange",a=>d(a.oldVersion,a.newVersion,a))}).catch(()=>{}),g}(`alook-chat-cache-${a}`,{upgrade(a){let b=a.createObjectStore("messages",{keyPath:["conversation_id","id"]});b.createIndex("by-conversation","conversation_id",{unique:!1}),b.createIndex("by-created",["conversation_id","created_at"],{unique:!1}),a.createObjectStore("cache_meta",{keyPath:"conversation_id"})}}))}function A(a){return a?z(a):x}async function B(a,b){let c=A(b);if(!c)return null;try{let b=await c,d=await b.getAllFromIndex("messages","by-conversation",a);if(0===d.length)return null;let e=d.filter(a=>"buffered"!==a.status&&!a.id.startsWith("temp-"));e.sort((a,b)=>{let c=a.created_at.localeCompare(b.created_at);return 0!==c?c:a.id.localeCompare(b.id)});let f=await b.get("cache_meta",a);return f&&await b.put("cache_meta",{...f,lastAccessedAt:Date.now()}),e}catch{return null}}async function C(a,b,c,d){let e=A(d);if(e)try{let d=await e,f=b.filter(a=>"buffered"!==a.status&&!a.id.startsWith("temp-"));if(0===f.length)return;let g=d.transaction(["messages","cache_meta"],"readwrite"),h=g.objectStore("messages"),i=g.objectStore("cache_meta");for(let a of f)await h.put(a);let j=await h.index("by-conversation").getAllKeys(a),k=Date.now(),l=f.reduce((a,b)=>a.created_at>b.created_at?a:b),m={conversation_id:a,lastFetchedAt:k,lastAccessedAt:k,messageCount:j.length,newestMessageId:l.id,hasMore:c};await i.put(m),await g.done,E().catch(()=>{})}catch{}}async function D(a,b,c){let d=A(c);if(d&&!("buffered"===b.status||b.id.startsWith("temp-")))try{let c=await d,e=await c.get("messages",[a,b.id]);await c.put("messages",b);let f=await c.get("cache_meta",a);f&&await c.put("cache_meta",{...f,lastAccessedAt:Date.now(),messageCount:e?f.messageCount:f.messageCount+1,newestMessageId:b.id})}catch{}}async function E(a=50){let b=A();if(b)try{let c=await b,d=await c.getAll("cache_meta");if(d.length<=a)return;d.sort((a,b)=>a.lastAccessedAt-b.lastAccessedAt);let e=d.slice(0,d.length-a),f=c.transaction(["messages","cache_meta"],"readwrite"),g=f.objectStore("messages"),h=f.objectStore("cache_meta");for(let a of e){for(let b of(await g.index("by-conversation").getAllKeys(a.conversation_id)))await g.delete(b);await h.delete(a.conversation_id)}await f.done}catch{}}async function F(){if("u">typeof indexedDB)try{x&&((await x).close(),x=null),y&&(await G(`alook-chat-cache-${y}`),y=null)}catch{}}async function G(a){return new Promise((b,c)=>{let d=indexedDB.deleteDatabase(a);d.onsuccess=()=>b(),d.onerror=()=>c(d.error),d.onblocked=()=>b()})}a.s(["appendCachedMessage",0,D,"clearAllCache",0,F,"getCachedMessages",0,B,"mergeCachedMessages",0,C,"openCacheDB",0,z],562706)},439882,a=>{"use strict";var b=a.i(749314),c=a.i(75118);a.s(["Card",0,function({className:a,size:d="default",...e}){return(0,b.jsx)("div",{"data-slot":"card","data-size":d,className:(0,c.cn)("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",a),...e})},"CardAction",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-action",className:(0,c.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",a),...d})},"CardContent",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("px-4 group-data-[size=sm]/card:px-3",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-header",className:(0,c.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",a),...d})}])},388425,a=>{"use strict";let b=(0,a.i(647651).default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);a.s(["LogOut",0,b],388425)},567264,a=>{"use strict";var b=a.i(749314);a.s(["GradientBackground",0,function(){return(0,b.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none fixed inset-0 -z-10 overflow-hidden bg-[oklch(0.93_0.015_80)] dark:bg-transparent"})}])},242292,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(615640),e=a.i(803268),f=a.i(75118);let g={sm:{icon:28,text:"text-2xl"},lg:{icon:36,text:"text-4xl"}};a.s(["Logo",0,function({size:a="sm",className:h,iconOnly:i=!1}){let{icon:j,text:k}=g[a],{resolvedTheme:l,setTheme:m}=(0,d.useTheme)(),[n,o]=(0,c.useState)(!1),p=(0,c.useRef)(o);return(0,c.useEffect)(()=>{p.current(!0)},[]),(0,b.jsxs)("button",{type:"button",onClick:()=>{m("dark"===l?"light":"dark")},"aria-label":"Toggle theme",className:(0,f.cn)("flex items-center gap-1.5 cursor-pointer select-none transition-opacity hover:opacity-70",h),children:[n?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(e.default,{src:"/alook.svg",alt:"Alook",width:j,height:j,className:"dark:hidden"}),(0,b.jsx)(e.default,{src:"/alook-dark.svg",alt:"Alook",width:j,height:j,className:"hidden dark:block"})]}):(0,b.jsx)("span",{style:{width:j,height:j}}),!i&&(0,b.jsx)("span",{className:(0,f.cn)(k,"font-black tracking-tight"),style:{fontFamily:"var(--font-brand)"},children:"Alook"})]})}])},255009,a=>{"use strict";let b=(0,a.i(647651).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);a.s(["ArrowRight",0,b],255009)},724701,a=>a.a(async(b,c)=>{try{var d=a.i(749314),e=a.i(207058),f=a.i(732254),g=a.i(439882),h=a.i(567264),i=a.i(242292),j=a.i(552012),k=a.i(255009),l=a.i(388425),m=a.i(454607),n=a.i(562706),o=b([m]);[m]=o.then?(await o)():o,a.s(["WorkspaceListClient",0,function({workspaces:a}){let b=(0,e.useRouter)();return(0,d.jsxs)("div",{className:"relative flex min-h-dvh flex-col items-center justify-center p-6",children:[(0,d.jsx)(h.GradientBackground,{}),(0,d.jsxs)(f.Button,{variant:"ghost",size:"sm",className:"absolute top-4 right-4 text-muted-foreground",onClick:async()=>{await (0,n.clearAllCache)(),await (0,m.signOut)(),b.push("/sign-in")},children:[(0,d.jsx)(l.LogOut,{className:"size-4"}),"Log out"]}),(0,d.jsxs)("div",{className:"w-full max-w-md space-y-8",children:[(0,d.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,d.jsx)(i.Logo,{size:"lg"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Choose a workspace to continue."})]}),(0,d.jsx)("div",{className:"space-y-3",children:a.map(a=>(0,d.jsx)(g.Card,{className:"cursor-pointer transition-colors duration-200 hover:bg-accent/50",onClick:()=>b.push(`/w/${a.slug}/home`),children:(0,d.jsxs)(g.CardContent,{className:"flex items-center justify-between px-3 py-1.5",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium truncate",children:a.name}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:a.slug})]}),(0,d.jsx)(k.ArrowRight,{className:"size-3.5 text-muted-foreground shrink-0"})]})},a.id))}),(0,d.jsxs)(f.Button,{variant:"outline",className:"w-full",onClick:()=>b.push("/studio/new"),children:[(0,d.jsx)(j.Plus,{className:"size-4"}),"New workspace"]})]})]})}]),c()}catch(a){c(a)}},!1)];
|
|
1
|
+
module.exports=[414859,a=>a.a(async(b,c)=>{try{let b=await a.y("@better-auth/core-05fe37db7d6627d8/env");a.n(b),c()}catch(a){c(a)}},!0),978098,a=>a.a(async(b,c)=>{try{let b=await a.y("@better-auth/core-05fe37db7d6627d8/utils/string");a.n(b),c()}catch(a){c(a)}},!0),200861,a=>a.a(async(b,c)=>{try{let b=await a.y("@better-auth/core-05fe37db7d6627d8/error");a.n(b),c()}catch(a){c(a)}},!0),323118,a=>a.a(async(b,c)=>{try{let b=await a.y("@better-auth/core-05fe37db7d6627d8/utils/error-codes");a.n(b),c()}catch(a){c(a)}},!0),139723,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0});var e={getAssetToken:function(){return i},getAssetTokenQuery:function(){return j},getDeploymentId:function(){return g},getDeploymentIdQuery:function(){return h}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});function g(){return d}function h(a=!1){return d?`${a?"&":"?"}dpl=${d}`:""}function i(){return!1}function j(a=!1){return""}d=void 0},483865,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"warnOnce",{enumerable:!0,get:function(){return d}});let d=a=>{}},333582,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"useMergedRef",{enumerable:!0,get:function(){return e}});let d=a.r(437199);function e(a,b){let c=(0,d.useRef)(null),e=(0,d.useRef)(null);return(0,d.useCallback)(d=>{if(null===d){let a=c.current;a&&(c.current=null,a());let b=e.current;b&&(e.current=null,b())}else a&&(c.current=f(a,d)),b&&(e.current=f(b,d))},[a,b])}function f(a,b){if("function"!=typeof a)return a.current=b,()=>{a.current=null};{let c=a(b);return"function"==typeof c?c:()=>a(null)}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},746941,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},552012,a=>{"use strict";let b=(0,a.i(647651).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",0,b],552012)},562706,a=>{"use strict";let b,c,d,e,f=(a,b)=>b.some(b=>a instanceof b),g=new WeakMap,h=new WeakMap,i=new WeakMap,j={get(a,b,c){if(a instanceof IDBTransaction){if("done"===b)return g.get(a);if("store"===b)return c.objectStoreNames[1]?void 0:c.objectStore(c.objectStoreNames[0])}return k(a[b])},set:(a,b,c)=>(a[b]=c,!0),has:(a,b)=>a instanceof IDBTransaction&&("done"===b||"store"===b)||b in a};function k(a){if(a instanceof IDBRequest){let b;return b=new Promise((b,c)=>{let d=()=>{a.removeEventListener("success",e),a.removeEventListener("error",f)},e=()=>{b(k(a.result)),d()},f=()=>{c(a.error),d()};a.addEventListener("success",e),a.addEventListener("error",f)}),i.set(b,a),b}if(h.has(a))return h.get(a);let b=function(a){if("function"==typeof a)return(e||(e=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(a)?function(...b){return a.apply(l(this),b),k(this.request)}:function(...b){return k(a.apply(l(this),b))};return(a instanceof IDBTransaction&&function(a){if(g.has(a))return;let b=new Promise((b,c)=>{let d=()=>{a.removeEventListener("complete",e),a.removeEventListener("error",f),a.removeEventListener("abort",f)},e=()=>{b(),d()},f=()=>{c(a.error||new DOMException("AbortError","AbortError")),d()};a.addEventListener("complete",e),a.addEventListener("error",f),a.addEventListener("abort",f)});g.set(a,b)}(a),f(a,d||(d=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(a,j):a}(a);return b!==a&&(h.set(a,b),i.set(b,a)),b}let l=a=>i.get(a),m=["get","getKey","getAll","getAllKeys","count"],n=["put","add","delete","clear"],o=new Map;function p(a,b){if(!(a instanceof IDBDatabase&&!(b in a)&&"string"==typeof b))return;if(o.get(b))return o.get(b);let c=b.replace(/FromIndex$/,""),d=b!==c,e=n.includes(c);if(!(c in(d?IDBIndex:IDBObjectStore).prototype)||!(e||m.includes(c)))return;let f=async function(a,...b){let f=this.transaction(a,e?"readwrite":"readonly"),g=f.store;return d&&(g=g.index(b.shift())),(await Promise.all([g[c](...b),e&&f.done]))[0]};return o.set(b,f),f}j={...b=j,get:(a,c,d)=>p(a,c)||b.get(a,c,d),has:(a,c)=>!!p(a,c)||b.has(a,c)};let q=["continue","continuePrimaryKey","advance"],r={},s=new WeakMap,t=new WeakMap,u={get(a,b){if(!q.includes(b))return a[b];let c=r[b];return c||(c=r[b]=function(...a){s.set(this,t.get(this)[b](...a))}),c}};async function*v(...a){let b=this;if(b instanceof IDBCursor||(b=await b.openCursor(...a)),!b)return;let c=new Proxy(b,u);for(t.set(c,b),i.set(c,l(b));b;)yield c,b=await (s.get(c)||b.continue()),s.delete(c)}function w(a,b){return b===Symbol.asyncIterator&&f(a,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===b&&f(a,[IDBIndex,IDBObjectStore])}j={...c=j,get:(a,b,d)=>w(a,b)?v:c.get(a,b,d),has:(a,b)=>w(a,b)||c.has(a,b)};let x=null,y=null;function z(a){return"u"<typeof indexedDB?null:x&&y===a?x:(y=a,x=function(a,{blocked:b,upgrade:c,blocking:d,terminated:e}={}){let f=indexedDB.open(a,1),g=k(f);return c&&f.addEventListener("upgradeneeded",a=>{c(k(f.result),a.oldVersion,a.newVersion,k(f.transaction),a)}),b&&f.addEventListener("blocked",a=>b(a.oldVersion,a.newVersion,a)),g.then(a=>{e&&a.addEventListener("close",()=>e()),d&&a.addEventListener("versionchange",a=>d(a.oldVersion,a.newVersion,a))}).catch(()=>{}),g}(`alook-chat-cache-${a}`,{upgrade(a){let b=a.createObjectStore("messages",{keyPath:["conversation_id","id"]});b.createIndex("by-conversation","conversation_id",{unique:!1}),b.createIndex("by-created",["conversation_id","created_at"],{unique:!1}),a.createObjectStore("cache_meta",{keyPath:"conversation_id"})}}))}function A(a){return a?z(a):x}async function B(a,b){let c=A(b);if(!c)return null;try{let b=await c,d=await b.getAllFromIndex("messages","by-conversation",a);if(0===d.length)return null;let e=d.filter(a=>"buffered"!==a.status&&!a.id.startsWith("temp-"));e.sort((a,b)=>{let c=a.created_at.localeCompare(b.created_at);return 0!==c?c:a.id.localeCompare(b.id)});let f=await b.get("cache_meta",a);return f&&await b.put("cache_meta",{...f,lastAccessedAt:Date.now()}),e}catch{return null}}async function C(a,b,c,d,e){let f=A(e);if(!f)return null;try{let e=await f,g=await e.get("cache_meta",a);if(!g)return null;let h=IDBKeyRange.bound([a,""],[a,b],!1,!1),i=(await e.getAllFromIndex("messages","by-created",h)).filter(a=>!("buffered"===a.status||a.id.startsWith("temp-"))&&(a.created_at!==b||!(a.id>=c)));i.sort((a,b)=>{let c=b.created_at.localeCompare(a.created_at);return 0!==c?c:b.id.localeCompare(a.id)});let j=i.slice(0,d);if(j.length<d&&g.hasMore)return null;return await e.put("cache_meta",{...g,lastAccessedAt:Date.now()}),{messages:j.reverse(),hasMore:i.length>d||g.hasMore}}catch{return null}}async function D(a,b,c,d){let e=A(d);if(e)try{let d=await e,f=b.filter(a=>"buffered"!==a.status&&!a.id.startsWith("temp-"));if(0===f.length)return;let g=d.transaction(["messages","cache_meta"],"readwrite"),h=g.objectStore("messages"),i=g.objectStore("cache_meta");for(let a of f)await h.put(a);let j=await h.index("by-conversation").getAllKeys(a),k=Date.now(),l=f.reduce((a,b)=>a.created_at>b.created_at?a:b),m=await i.get(a),n=c??m?.hasMore??!0,o=m?.newestMessageId&&m.newestMessageId!==l.id?await (async()=>{let b=await h.get([a,m.newestMessageId]);return b&&b.created_at>l.created_at?b.id:l.id})():l.id,p={conversation_id:a,lastFetchedAt:k,lastAccessedAt:k,messageCount:j.length,newestMessageId:o,hasMore:n};await i.put(p),await g.done,F().catch(()=>{})}catch{}}async function E(a,b,c){let d=A(c);if(d&&!("buffered"===b.status||b.id.startsWith("temp-")))try{let c=await d,e=await c.get("cache_meta",a);if(!e)return;let f=await c.get("messages",[a,b.id]);await c.put("messages",b),await c.put("cache_meta",{...e,lastAccessedAt:Date.now(),messageCount:f?e.messageCount:e.messageCount+1,newestMessageId:b.id})}catch{}}async function F(a=50){let b=A();if(b)try{let c=await b,d=await c.getAll("cache_meta");if(d.length<=a)return;d.sort((a,b)=>a.lastAccessedAt-b.lastAccessedAt);let e=d.slice(0,d.length-a),f=c.transaction(["messages","cache_meta"],"readwrite"),g=f.objectStore("messages"),h=f.objectStore("cache_meta");for(let a of e){for(let b of(await g.index("by-conversation").getAllKeys(a.conversation_id)))await g.delete(b);await h.delete(a.conversation_id)}await f.done}catch{}}async function G(){if("u">typeof indexedDB)try{x&&((await x).close(),x=null),y&&(await H(`alook-chat-cache-${y}`),y=null)}catch{}}async function H(a){return new Promise((b,c)=>{let d=indexedDB.deleteDatabase(a);d.onsuccess=()=>b(),d.onerror=()=>c(d.error),d.onblocked=()=>b()})}a.s(["appendCachedMessage",0,E,"clearAllCache",0,G,"getCachedMessages",0,B,"getCachedMessagesBefore",0,C,"mergeCachedMessages",0,D,"openCacheDB",0,z],562706)},439882,a=>{"use strict";var b=a.i(749314),c=a.i(75118);a.s(["Card",0,function({className:a,size:d="default",...e}){return(0,b.jsx)("div",{"data-slot":"card","data-size":d,className:(0,c.cn)("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",a),...e})},"CardAction",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-action",className:(0,c.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",a),...d})},"CardContent",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("px-4 group-data-[size=sm]/card:px-3",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-header",className:(0,c.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",a),...d})}])},388425,a=>{"use strict";let b=(0,a.i(647651).default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);a.s(["LogOut",0,b],388425)},567264,a=>{"use strict";var b=a.i(749314);a.s(["GradientBackground",0,function(){return(0,b.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none fixed inset-0 -z-10 overflow-hidden bg-[oklch(0.93_0.015_80)] dark:bg-transparent"})}])},242292,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(615640),e=a.i(803268),f=a.i(75118);let g={sm:{icon:28,text:"text-2xl"},lg:{icon:36,text:"text-4xl"}};a.s(["Logo",0,function({size:a="sm",className:h,iconOnly:i=!1}){let{icon:j,text:k}=g[a],{resolvedTheme:l,setTheme:m}=(0,d.useTheme)(),[n,o]=(0,c.useState)(!1),p=(0,c.useRef)(o);return(0,c.useEffect)(()=>{p.current(!0)},[]),(0,b.jsxs)("button",{type:"button",onClick:()=>{m("dark"===l?"light":"dark")},"aria-label":"Toggle theme",className:(0,f.cn)("flex items-center gap-1.5 cursor-pointer select-none transition-opacity hover:opacity-70",h),children:[n?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(e.default,{src:"/alook.svg",alt:"Alook",width:j,height:j,className:"dark:hidden"}),(0,b.jsx)(e.default,{src:"/alook-dark.svg",alt:"Alook",width:j,height:j,className:"hidden dark:block"})]}):(0,b.jsx)("span",{style:{width:j,height:j}}),!i&&(0,b.jsx)("span",{className:(0,f.cn)(k,"font-black tracking-tight"),style:{fontFamily:"var(--font-brand)"},children:"Alook"})]})}])},255009,a=>{"use strict";let b=(0,a.i(647651).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);a.s(["ArrowRight",0,b],255009)},724701,a=>a.a(async(b,c)=>{try{var d=a.i(749314),e=a.i(207058),f=a.i(732254),g=a.i(439882),h=a.i(567264),i=a.i(242292),j=a.i(552012),k=a.i(255009),l=a.i(388425),m=a.i(454607),n=a.i(562706),o=b([m]);[m]=o.then?(await o)():o,a.s(["WorkspaceListClient",0,function({workspaces:a}){let b=(0,e.useRouter)();return(0,d.jsxs)("div",{className:"relative flex min-h-dvh flex-col items-center justify-center p-6",children:[(0,d.jsx)(h.GradientBackground,{}),(0,d.jsxs)(f.Button,{variant:"ghost",size:"sm",className:"absolute top-4 right-4 text-muted-foreground",onClick:async()=>{await (0,n.clearAllCache)(),await (0,m.signOut)(),b.push("/sign-in")},children:[(0,d.jsx)(l.LogOut,{className:"size-4"}),"Log out"]}),(0,d.jsxs)("div",{className:"w-full max-w-md space-y-8",children:[(0,d.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,d.jsx)(i.Logo,{size:"lg"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Choose a workspace to continue."})]}),(0,d.jsx)("div",{className:"space-y-3",children:a.map(a=>(0,d.jsx)(g.Card,{className:"cursor-pointer transition-colors duration-200 hover:bg-accent/50",onClick:()=>b.push(`/w/${a.slug}/home`),children:(0,d.jsxs)(g.CardContent,{className:"flex items-center justify-between px-3 py-1.5",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium truncate",children:a.name}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:a.slug})]}),(0,d.jsx)(k.ArrowRight,{className:"size-3.5 text-muted-foreground shrink-0"})]})},a.id))}),(0,d.jsxs)(f.Button,{variant:"outline",className:"w-full",onClick:()=>b.push("/studio/new"),children:[(0,d.jsx)(j.Plus,{className:"size-4"}),"New workspace"]})]})]})}]),c()}catch(a){c(a)}},!1)];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0r2s1aj._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[562706,a=>{"use strict";let b,c,d,e,f=(a,b)=>b.some(b=>a instanceof b),g=new WeakMap,h=new WeakMap,i=new WeakMap,j={get(a,b,c){if(a instanceof IDBTransaction){if("done"===b)return g.get(a);if("store"===b)return c.objectStoreNames[1]?void 0:c.objectStore(c.objectStoreNames[0])}return k(a[b])},set:(a,b,c)=>(a[b]=c,!0),has:(a,b)=>a instanceof IDBTransaction&&("done"===b||"store"===b)||b in a};function k(a){if(a instanceof IDBRequest){let b;return b=new Promise((b,c)=>{let d=()=>{a.removeEventListener("success",e),a.removeEventListener("error",f)},e=()=>{b(k(a.result)),d()},f=()=>{c(a.error),d()};a.addEventListener("success",e),a.addEventListener("error",f)}),i.set(b,a),b}if(h.has(a))return h.get(a);let b=function(a){if("function"==typeof a)return(e||(e=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(a)?function(...b){return a.apply(l(this),b),k(this.request)}:function(...b){return k(a.apply(l(this),b))};return(a instanceof IDBTransaction&&function(a){if(g.has(a))return;let b=new Promise((b,c)=>{let d=()=>{a.removeEventListener("complete",e),a.removeEventListener("error",f),a.removeEventListener("abort",f)},e=()=>{b(),d()},f=()=>{c(a.error||new DOMException("AbortError","AbortError")),d()};a.addEventListener("complete",e),a.addEventListener("error",f),a.addEventListener("abort",f)});g.set(a,b)}(a),f(a,d||(d=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(a,j):a}(a);return b!==a&&(h.set(a,b),i.set(b,a)),b}let l=a=>i.get(a),m=["get","getKey","getAll","getAllKeys","count"],n=["put","add","delete","clear"],o=new Map;function p(a,b){if(!(a instanceof IDBDatabase&&!(b in a)&&"string"==typeof b))return;if(o.get(b))return o.get(b);let c=b.replace(/FromIndex$/,""),d=b!==c,e=n.includes(c);if(!(c in(d?IDBIndex:IDBObjectStore).prototype)||!(e||m.includes(c)))return;let f=async function(a,...b){let f=this.transaction(a,e?"readwrite":"readonly"),g=f.store;return d&&(g=g.index(b.shift())),(await Promise.all([g[c](...b),e&&f.done]))[0]};return o.set(b,f),f}j={...b=j,get:(a,c,d)=>p(a,c)||b.get(a,c,d),has:(a,c)=>!!p(a,c)||b.has(a,c)};let q=["continue","continuePrimaryKey","advance"],r={},s=new WeakMap,t=new WeakMap,u={get(a,b){if(!q.includes(b))return a[b];let c=r[b];return c||(c=r[b]=function(...a){s.set(this,t.get(this)[b](...a))}),c}};async function*v(...a){let b=this;if(b instanceof IDBCursor||(b=await b.openCursor(...a)),!b)return;let c=new Proxy(b,u);for(t.set(c,b),i.set(c,l(b));b;)yield c,b=await (s.get(c)||b.continue()),s.delete(c)}function w(a,b){return b===Symbol.asyncIterator&&f(a,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===b&&f(a,[IDBIndex,IDBObjectStore])}j={...c=j,get:(a,b,d)=>w(a,b)?v:c.get(a,b,d),has:(a,b)=>w(a,b)||c.has(a,b)};let x=null,y=null;function z(a){return"u"<typeof indexedDB?null:x&&y===a?x:(y=a,x=function(a,{blocked:b,upgrade:c,blocking:d,terminated:e}={}){let f=indexedDB.open(a,1),g=k(f);return c&&f.addEventListener("upgradeneeded",a=>{c(k(f.result),a.oldVersion,a.newVersion,k(f.transaction),a)}),b&&f.addEventListener("blocked",a=>b(a.oldVersion,a.newVersion,a)),g.then(a=>{e&&a.addEventListener("close",()=>e()),d&&a.addEventListener("versionchange",a=>d(a.oldVersion,a.newVersion,a))}).catch(()=>{}),g}(`alook-chat-cache-${a}`,{upgrade(a){let b=a.createObjectStore("messages",{keyPath:["conversation_id","id"]});b.createIndex("by-conversation","conversation_id",{unique:!1}),b.createIndex("by-created",["conversation_id","created_at"],{unique:!1}),a.createObjectStore("cache_meta",{keyPath:"conversation_id"})}}))}function A(a){return a?z(a):x}async function B(a,b){let c=A(b);if(!c)return null;try{let b=await c,d=await b.getAllFromIndex("messages","by-conversation",a);if(0===d.length)return null;let e=d.filter(a=>"buffered"!==a.status&&!a.id.startsWith("temp-"));e.sort((a,b)=>{let c=a.created_at.localeCompare(b.created_at);return 0!==c?c:a.id.localeCompare(b.id)});let f=await b.get("cache_meta",a);return f&&await b.put("cache_meta",{...f,lastAccessedAt:Date.now()}),e}catch{return null}}async function C(a,b,c,d){let e=A(d);if(e)try{let d=await e,f=b.filter(a=>"buffered"!==a.status&&!a.id.startsWith("temp-"));if(0===f.length)return;let g=d.transaction(["messages","cache_meta"],"readwrite"),h=g.objectStore("messages"),i=g.objectStore("cache_meta");for(let a of f)await h.put(a);let j=await h.index("by-conversation").getAllKeys(a),k=Date.now(),l=f.reduce((a,b)=>a.created_at>b.created_at?a:b),m={conversation_id:a,lastFetchedAt:k,lastAccessedAt:k,messageCount:j.length,newestMessageId:l.id,hasMore:c};await i.put(m),await g.done,E().catch(()=>{})}catch{}}async function D(a,b,c){let d=A(c);if(d&&!("buffered"===b.status||b.id.startsWith("temp-")))try{let c=await d,e=await c.get("messages",[a,b.id]);await c.put("messages",b);let f=await c.get("cache_meta",a);f&&await c.put("cache_meta",{...f,lastAccessedAt:Date.now(),messageCount:e?f.messageCount:f.messageCount+1,newestMessageId:b.id})}catch{}}async function E(a=50){let b=A();if(b)try{let c=await b,d=await c.getAll("cache_meta");if(d.length<=a)return;d.sort((a,b)=>a.lastAccessedAt-b.lastAccessedAt);let e=d.slice(0,d.length-a),f=c.transaction(["messages","cache_meta"],"readwrite"),g=f.objectStore("messages"),h=f.objectStore("cache_meta");for(let a of e){for(let b of(await g.index("by-conversation").getAllKeys(a.conversation_id)))await g.delete(b);await h.delete(a.conversation_id)}await f.done}catch{}}async function F(){if("u">typeof indexedDB)try{x&&((await x).close(),x=null),y&&(await G(`alook-chat-cache-${y}`),y=null)}catch{}}async function G(a){return new Promise((b,c)=>{let d=indexedDB.deleteDatabase(a);d.onsuccess=()=>b(),d.onerror=()=>c(d.error),d.onblocked=()=>b()})}a.s(["appendCachedMessage",0,D,"clearAllCache",0,F,"getCachedMessages",0,B,"mergeCachedMessages",0,C,"openCacheDB",0,z],562706)},549931,a=>{"use strict";var b=a.i(770881);a.s(["Check",()=>b.default])},464830,a=>{"use strict";var b=a.i(991367),c=a.i(147909),d=a.i(142261),e=a.i(75118);let f=(0,d.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){var i;return i={defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}},(0,c.useRenderElement)(i.defaultTagName??"div",i,i)},"badgeVariants",0,f],464830)},770881,a=>{"use strict";let b=(0,a.i(647651).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["default",0,b])},16831,a=>{"use strict";let b=(0,a.i(647651).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",0,b],16831)},22902,a=>{"use strict";var b=a.i(749314),c=a.i(432340),d=a.i(732254);a.s(["ConfirmDialog",0,function({open:a,onOpenChange:e,title:f,description:g,confirmLabel:h="Remove",loadingLabel:i,confirmVariant:j="destructive",loading:k=!1,onConfirm:l}){return(0,b.jsx)(c.Dialog,{open:a,onOpenChange:e,children:(0,b.jsxs)(c.DialogContent,{showCloseButton:!1,children:[(0,b.jsxs)(c.DialogHeader,{children:[(0,b.jsx)(c.DialogTitle,{children:f}),(0,b.jsx)(c.DialogDescription,{children:g})]}),(0,b.jsxs)(c.DialogFooter,{children:[(0,b.jsx)(d.Button,{variant:"outline",size:"sm",onClick:()=>e(!1),disabled:k,children:"Cancel"}),(0,b.jsx)(d.Button,{variant:j,size:"sm",onClick:l,disabled:k,children:k?i??`${h}...`:h})]})]})})}])},123047,a=>{"use strict";let b=(0,a.i(647651).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",0,b],123047)},484573,a=>{"use strict";let b=(0,a.i(647651).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",0,b],484573)},25668,a=>{"use strict";var b=a.i(749314),c=a.i(75118);a.s(["Skeleton",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"skeleton",className:(0,c.cn)("animate-pulse rounded-md bg-muted",a),...d})}])},746941,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},506180,a=>{"use strict";var b=a.i(749314),c=a.i(437199);let d=(0,c.createContext)(null);a.s(["WorkspaceProvider",0,function({workspaceId:a,slug:e,children:f}){return(0,c.useEffect)(()=>{try{localStorage.setItem("lastWorkspace",e)}catch{}},[e]),(0,b.jsx)(d.Provider,{value:{workspaceId:a,slug:e},children:f})},"useWorkspace",0,function(){let a=(0,c.useContext)(d);if(!a)throw Error("useWorkspace must be used within WorkspaceProvider");return a}])},606896,a=>{"use strict";let b=(0,a.i(647651).default)("mail",[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]]);a.s(["Mail",0,b],606896)},584126,a=>{"use strict";let b=(0,a.i(647651).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",0,b],584126)},626806,a=>{"use strict";let b=["completed","failed"];function c(){return!1}async function d(){if(!c())return!1}a.s(["NOTIFICATION_EVENTS",0,b,"NOTIFICATION_EVENT_LABELS",0,{completed:"Task Completed",failed:"Task Failed"},"getNotificationEnabled",0,function(){return!1},"getNotificationEvents",0,function(){return[...b]},"isNotificationSupported",0,c,"requestNotificationPermission",0,d,"sendTaskNotification",0,function(a,b,c){},"setNotificationEnabled",0,function(a){localStorage.setItem("browser-notification-enabled",String(a))},"setNotificationEvents",0,function(a){localStorage.setItem("browser-notification-events",JSON.stringify(a))}])},113010,a=>{"use strict";let b=(0,a.i(647651).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);a.s(["MessageSquare",0,b],113010)},307992,a=>{"use strict";let b=(0,a.i(647651).default)("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);a.s(["CircleDot",0,b],307992)},723127,389660,a=>{"use strict";var b=a.i(647651);let c=(0,b.default)("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);a.s(["RotateCw",0,c],723127);var d=a.i(749314),e=a.i(437199),f=a.i(732254),g=a.i(525132);let h=(0,b.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);var i=a.i(75118);a.s(["ScrollToBottomButton",0,function({scrollRef:a,threshold:b=100}){let[c,j]=(0,e.useState)(!1),k=(0,e.useCallback)(()=>{let c=a.current;if(!c)return;let d=c.scrollHeight-c.scrollTop-c.clientHeight<b;j(c.scrollHeight>c.clientHeight&&!d)},[a,b]);return(0,e.useEffect)(()=>{let b=a.current;if(!b)return;b.addEventListener("scroll",k,{passive:!0}),k();let c=new ResizeObserver(k);return c.observe(b),()=>{b.removeEventListener("scroll",k),c.disconnect()}},[a,k]),(0,d.jsx)("div",{className:(0,i.cn)("absolute bottom-1 left-1/2 -translate-x-1/2 z-10 transition-all duration-200 ease-out",c?"opacity-100 translate-y-0":"opacity-0 translate-y-2 pointer-events-none"),children:(0,d.jsxs)(g.Tooltip,{children:[(0,d.jsx)(g.TooltipTrigger,{render:(0,d.jsx)(f.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{let b=a.current;b&&b.scrollTo({top:b.scrollHeight,behavior:"smooth"})},className:"rounded-full bg-background/80 backdrop-blur-sm border shadow-sm hover:bg-background"}),children:(0,d.jsx)(h,{})}),(0,d.jsx)(g.TooltipContent,{side:"top",children:"Scroll to bottom"})]})})}],389660)},463295,a=>{"use strict";let b=(0,a.i(647651).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);a.s(["User",0,b],463295)},586220,a=>{"use strict";var b=a.i(437199);a.s(["useIsMobile",0,function(){let[a,c]=b.useState(void 0);return b.useEffect(()=>{let a=window.matchMedia("(max-width: 639px)"),b=()=>{c(window.innerWidth<640)};return a.addEventListener("change",b),c(window.innerWidth<640),()=>a.removeEventListener("change",b)},[]),!!a}])},321932,a=>{"use strict";let b=(0,a.i(647651).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],321932)},390759,a=>{"use strict";let b=(0,a.i(647651).default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);a.s(["File",0,b],390759)},343563,347788,510698,a=>{"use strict";var b=a.i(655650);a.s([],343563),a.s(["Streamdown",()=>b.C],347788);let c=(0,a.i(647651).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);a.s(["FileText",0,c],510698)},546257,135510,a=>{"use strict";let b=(0,a.i(647651).default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);a.s(["Paperclip",0,b],546257);var c=a.i(749314),d=a.i(437199),e=a.i(615640);let f=`
|
|
1
|
+
module.exports=[562706,a=>{"use strict";let b,c,d,e,f=(a,b)=>b.some(b=>a instanceof b),g=new WeakMap,h=new WeakMap,i=new WeakMap,j={get(a,b,c){if(a instanceof IDBTransaction){if("done"===b)return g.get(a);if("store"===b)return c.objectStoreNames[1]?void 0:c.objectStore(c.objectStoreNames[0])}return k(a[b])},set:(a,b,c)=>(a[b]=c,!0),has:(a,b)=>a instanceof IDBTransaction&&("done"===b||"store"===b)||b in a};function k(a){if(a instanceof IDBRequest){let b;return b=new Promise((b,c)=>{let d=()=>{a.removeEventListener("success",e),a.removeEventListener("error",f)},e=()=>{b(k(a.result)),d()},f=()=>{c(a.error),d()};a.addEventListener("success",e),a.addEventListener("error",f)}),i.set(b,a),b}if(h.has(a))return h.get(a);let b=function(a){if("function"==typeof a)return(e||(e=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(a)?function(...b){return a.apply(l(this),b),k(this.request)}:function(...b){return k(a.apply(l(this),b))};return(a instanceof IDBTransaction&&function(a){if(g.has(a))return;let b=new Promise((b,c)=>{let d=()=>{a.removeEventListener("complete",e),a.removeEventListener("error",f),a.removeEventListener("abort",f)},e=()=>{b(),d()},f=()=>{c(a.error||new DOMException("AbortError","AbortError")),d()};a.addEventListener("complete",e),a.addEventListener("error",f),a.addEventListener("abort",f)});g.set(a,b)}(a),f(a,d||(d=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(a,j):a}(a);return b!==a&&(h.set(a,b),i.set(b,a)),b}let l=a=>i.get(a),m=["get","getKey","getAll","getAllKeys","count"],n=["put","add","delete","clear"],o=new Map;function p(a,b){if(!(a instanceof IDBDatabase&&!(b in a)&&"string"==typeof b))return;if(o.get(b))return o.get(b);let c=b.replace(/FromIndex$/,""),d=b!==c,e=n.includes(c);if(!(c in(d?IDBIndex:IDBObjectStore).prototype)||!(e||m.includes(c)))return;let f=async function(a,...b){let f=this.transaction(a,e?"readwrite":"readonly"),g=f.store;return d&&(g=g.index(b.shift())),(await Promise.all([g[c](...b),e&&f.done]))[0]};return o.set(b,f),f}j={...b=j,get:(a,c,d)=>p(a,c)||b.get(a,c,d),has:(a,c)=>!!p(a,c)||b.has(a,c)};let q=["continue","continuePrimaryKey","advance"],r={},s=new WeakMap,t=new WeakMap,u={get(a,b){if(!q.includes(b))return a[b];let c=r[b];return c||(c=r[b]=function(...a){s.set(this,t.get(this)[b](...a))}),c}};async function*v(...a){let b=this;if(b instanceof IDBCursor||(b=await b.openCursor(...a)),!b)return;let c=new Proxy(b,u);for(t.set(c,b),i.set(c,l(b));b;)yield c,b=await (s.get(c)||b.continue()),s.delete(c)}function w(a,b){return b===Symbol.asyncIterator&&f(a,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===b&&f(a,[IDBIndex,IDBObjectStore])}j={...c=j,get:(a,b,d)=>w(a,b)?v:c.get(a,b,d),has:(a,b)=>w(a,b)||c.has(a,b)};let x=null,y=null;function z(a){return"u"<typeof indexedDB?null:x&&y===a?x:(y=a,x=function(a,{blocked:b,upgrade:c,blocking:d,terminated:e}={}){let f=indexedDB.open(a,1),g=k(f);return c&&f.addEventListener("upgradeneeded",a=>{c(k(f.result),a.oldVersion,a.newVersion,k(f.transaction),a)}),b&&f.addEventListener("blocked",a=>b(a.oldVersion,a.newVersion,a)),g.then(a=>{e&&a.addEventListener("close",()=>e()),d&&a.addEventListener("versionchange",a=>d(a.oldVersion,a.newVersion,a))}).catch(()=>{}),g}(`alook-chat-cache-${a}`,{upgrade(a){let b=a.createObjectStore("messages",{keyPath:["conversation_id","id"]});b.createIndex("by-conversation","conversation_id",{unique:!1}),b.createIndex("by-created",["conversation_id","created_at"],{unique:!1}),a.createObjectStore("cache_meta",{keyPath:"conversation_id"})}}))}function A(a){return a?z(a):x}async function B(a,b){let c=A(b);if(!c)return null;try{let b=await c,d=await b.getAllFromIndex("messages","by-conversation",a);if(0===d.length)return null;let e=d.filter(a=>"buffered"!==a.status&&!a.id.startsWith("temp-"));e.sort((a,b)=>{let c=a.created_at.localeCompare(b.created_at);return 0!==c?c:a.id.localeCompare(b.id)});let f=await b.get("cache_meta",a);return f&&await b.put("cache_meta",{...f,lastAccessedAt:Date.now()}),e}catch{return null}}async function C(a,b,c,d,e){let f=A(e);if(!f)return null;try{let e=await f,g=await e.get("cache_meta",a);if(!g)return null;let h=IDBKeyRange.bound([a,""],[a,b],!1,!1),i=(await e.getAllFromIndex("messages","by-created",h)).filter(a=>!("buffered"===a.status||a.id.startsWith("temp-"))&&(a.created_at!==b||!(a.id>=c)));i.sort((a,b)=>{let c=b.created_at.localeCompare(a.created_at);return 0!==c?c:b.id.localeCompare(a.id)});let j=i.slice(0,d);if(j.length<d&&g.hasMore)return null;return await e.put("cache_meta",{...g,lastAccessedAt:Date.now()}),{messages:j.reverse(),hasMore:i.length>d||g.hasMore}}catch{return null}}async function D(a,b,c,d){let e=A(d);if(e)try{let d=await e,f=b.filter(a=>"buffered"!==a.status&&!a.id.startsWith("temp-"));if(0===f.length)return;let g=d.transaction(["messages","cache_meta"],"readwrite"),h=g.objectStore("messages"),i=g.objectStore("cache_meta");for(let a of f)await h.put(a);let j=await h.index("by-conversation").getAllKeys(a),k=Date.now(),l=f.reduce((a,b)=>a.created_at>b.created_at?a:b),m=await i.get(a),n=c??m?.hasMore??!0,o=m?.newestMessageId&&m.newestMessageId!==l.id?await (async()=>{let b=await h.get([a,m.newestMessageId]);return b&&b.created_at>l.created_at?b.id:l.id})():l.id,p={conversation_id:a,lastFetchedAt:k,lastAccessedAt:k,messageCount:j.length,newestMessageId:o,hasMore:n};await i.put(p),await g.done,F().catch(()=>{})}catch{}}async function E(a,b,c){let d=A(c);if(d&&!("buffered"===b.status||b.id.startsWith("temp-")))try{let c=await d,e=await c.get("cache_meta",a);if(!e)return;let f=await c.get("messages",[a,b.id]);await c.put("messages",b),await c.put("cache_meta",{...e,lastAccessedAt:Date.now(),messageCount:f?e.messageCount:e.messageCount+1,newestMessageId:b.id})}catch{}}async function F(a=50){let b=A();if(b)try{let c=await b,d=await c.getAll("cache_meta");if(d.length<=a)return;d.sort((a,b)=>a.lastAccessedAt-b.lastAccessedAt);let e=d.slice(0,d.length-a),f=c.transaction(["messages","cache_meta"],"readwrite"),g=f.objectStore("messages"),h=f.objectStore("cache_meta");for(let a of e){for(let b of(await g.index("by-conversation").getAllKeys(a.conversation_id)))await g.delete(b);await h.delete(a.conversation_id)}await f.done}catch{}}async function G(){if("u">typeof indexedDB)try{x&&((await x).close(),x=null),y&&(await H(`alook-chat-cache-${y}`),y=null)}catch{}}async function H(a){return new Promise((b,c)=>{let d=indexedDB.deleteDatabase(a);d.onsuccess=()=>b(),d.onerror=()=>c(d.error),d.onblocked=()=>b()})}a.s(["appendCachedMessage",0,E,"clearAllCache",0,G,"getCachedMessages",0,B,"getCachedMessagesBefore",0,C,"mergeCachedMessages",0,D,"openCacheDB",0,z],562706)},549931,a=>{"use strict";var b=a.i(770881);a.s(["Check",()=>b.default])},464830,a=>{"use strict";var b=a.i(991367),c=a.i(147909),d=a.i(142261),e=a.i(75118);let f=(0,d.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){var i;return i={defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}},(0,c.useRenderElement)(i.defaultTagName??"div",i,i)},"badgeVariants",0,f],464830)},770881,a=>{"use strict";let b=(0,a.i(647651).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["default",0,b])},16831,a=>{"use strict";let b=(0,a.i(647651).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",0,b],16831)},22902,a=>{"use strict";var b=a.i(749314),c=a.i(432340),d=a.i(732254);a.s(["ConfirmDialog",0,function({open:a,onOpenChange:e,title:f,description:g,confirmLabel:h="Remove",loadingLabel:i,confirmVariant:j="destructive",loading:k=!1,onConfirm:l}){return(0,b.jsx)(c.Dialog,{open:a,onOpenChange:e,children:(0,b.jsxs)(c.DialogContent,{showCloseButton:!1,children:[(0,b.jsxs)(c.DialogHeader,{children:[(0,b.jsx)(c.DialogTitle,{children:f}),(0,b.jsx)(c.DialogDescription,{children:g})]}),(0,b.jsxs)(c.DialogFooter,{children:[(0,b.jsx)(d.Button,{variant:"outline",size:"sm",onClick:()=>e(!1),disabled:k,children:"Cancel"}),(0,b.jsx)(d.Button,{variant:j,size:"sm",onClick:l,disabled:k,children:k?i??`${h}...`:h})]})]})})}])},123047,a=>{"use strict";let b=(0,a.i(647651).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",0,b],123047)},484573,a=>{"use strict";let b=(0,a.i(647651).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",0,b],484573)},25668,a=>{"use strict";var b=a.i(749314),c=a.i(75118);a.s(["Skeleton",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"skeleton",className:(0,c.cn)("animate-pulse rounded-md bg-muted",a),...d})}])},746941,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},506180,a=>{"use strict";var b=a.i(749314),c=a.i(437199);let d=(0,c.createContext)(null);a.s(["WorkspaceProvider",0,function({workspaceId:a,slug:e,children:f}){return(0,c.useEffect)(()=>{try{localStorage.setItem("lastWorkspace",e)}catch{}},[e]),(0,b.jsx)(d.Provider,{value:{workspaceId:a,slug:e},children:f})},"useWorkspace",0,function(){let a=(0,c.useContext)(d);if(!a)throw Error("useWorkspace must be used within WorkspaceProvider");return a}])},606896,a=>{"use strict";let b=(0,a.i(647651).default)("mail",[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]]);a.s(["Mail",0,b],606896)},584126,a=>{"use strict";let b=(0,a.i(647651).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",0,b],584126)},626806,a=>{"use strict";let b=["completed","failed"];function c(){return!1}async function d(){if(!c())return!1}a.s(["NOTIFICATION_EVENTS",0,b,"NOTIFICATION_EVENT_LABELS",0,{completed:"Task Completed",failed:"Task Failed"},"getNotificationEnabled",0,function(){return!1},"getNotificationEvents",0,function(){return[...b]},"isNotificationSupported",0,c,"requestNotificationPermission",0,d,"sendTaskNotification",0,function(a,b,c){},"setNotificationEnabled",0,function(a){localStorage.setItem("browser-notification-enabled",String(a))},"setNotificationEvents",0,function(a){localStorage.setItem("browser-notification-events",JSON.stringify(a))}])},113010,a=>{"use strict";let b=(0,a.i(647651).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);a.s(["MessageSquare",0,b],113010)},307992,a=>{"use strict";let b=(0,a.i(647651).default)("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);a.s(["CircleDot",0,b],307992)},723127,389660,a=>{"use strict";var b=a.i(647651);let c=(0,b.default)("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);a.s(["RotateCw",0,c],723127);var d=a.i(749314),e=a.i(437199),f=a.i(732254),g=a.i(525132);let h=(0,b.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);var i=a.i(75118);a.s(["ScrollToBottomButton",0,function({scrollRef:a,threshold:b=100}){let[c,j]=(0,e.useState)(!1),k=(0,e.useCallback)(()=>{let c=a.current;if(!c)return;let d=c.scrollHeight-c.scrollTop-c.clientHeight<b;j(c.scrollHeight>c.clientHeight&&!d)},[a,b]);return(0,e.useEffect)(()=>{let b=a.current;if(!b)return;b.addEventListener("scroll",k,{passive:!0}),k();let c=new ResizeObserver(k);return c.observe(b),()=>{b.removeEventListener("scroll",k),c.disconnect()}},[a,k]),(0,d.jsx)("div",{className:(0,i.cn)("absolute bottom-1 left-1/2 -translate-x-1/2 z-10 transition-all duration-200 ease-out",c?"opacity-100 translate-y-0":"opacity-0 translate-y-2 pointer-events-none"),children:(0,d.jsxs)(g.Tooltip,{children:[(0,d.jsx)(g.TooltipTrigger,{render:(0,d.jsx)(f.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{let b=a.current;b&&b.scrollTo({top:b.scrollHeight,behavior:"smooth"})},className:"rounded-full bg-background/80 backdrop-blur-sm border shadow-sm hover:bg-background"}),children:(0,d.jsx)(h,{})}),(0,d.jsx)(g.TooltipContent,{side:"top",children:"Scroll to bottom"})]})})}],389660)},463295,a=>{"use strict";let b=(0,a.i(647651).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);a.s(["User",0,b],463295)},586220,a=>{"use strict";var b=a.i(437199);a.s(["useIsMobile",0,function(){let[a,c]=b.useState(void 0);return b.useEffect(()=>{let a=window.matchMedia("(max-width: 639px)"),b=()=>{c(window.innerWidth<640)};return a.addEventListener("change",b),c(window.innerWidth<640),()=>a.removeEventListener("change",b)},[]),!!a}])},321932,a=>{"use strict";let b=(0,a.i(647651).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],321932)},390759,a=>{"use strict";let b=(0,a.i(647651).default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);a.s(["File",0,b],390759)},343563,347788,510698,a=>{"use strict";var b=a.i(655650);a.s([],343563),a.s(["Streamdown",()=>b.C],347788);let c=(0,a.i(647651).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);a.s(["FileText",0,c],510698)},546257,135510,a=>{"use strict";let b=(0,a.i(647651).default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);a.s(["Paperclip",0,b],546257);var c=a.i(749314),d=a.i(437199),e=a.i(615640);let f=`
|
|
2
2
|
html, body {
|
|
3
3
|
overflow: hidden;
|
|
4
4
|
}
|