@alook/app 0.0.65 → 0.0.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/email-worker/index.js +61 -3
- 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/{0tpd6xt1gehu_.js → 01-oixdvo.kcw.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/085gv~jsjhgvo.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/08rxpkmwrl28j.js +11 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{0679gx~uq.bij.js → 08vzc8ntbbjoe.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/{0v_kij17znj0z.js → 0csp6ncjhvojv.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0fl4.konis554.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{002w8zenjl89m.js → 0fus_woghk6f3.js} +2 -2
- package/bundled/web/.open-next/assets/_next/static/chunks/{14y2chp3sz901.js → 0hck6xqic23u4.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0lf.3fdr8qzrz.css +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{0b296.m-dcnud.js → 0qene6wqb57fm.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/{0cdxx_wwk.t_-.js → 0r3jwl2u7dg7i.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0tuzi9u.le.uh.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0u1.3sr-iag4j.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/182fqror32n8n.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{turbopack-07j-.0_n.qvdv.js → turbopack-0qm2.fmm~fnpy.js} +1 -1
- package/bundled/web/.open-next/cache/{3_EdlLCy1irSUmRkAk1eZ → HY2XCNUoQZ4XCwXFRscuL}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/HY2XCNUoQZ4XCwXFRscuL/_not-found.cache +1 -0
- package/bundled/web/.open-next/cache/{3_EdlLCy1irSUmRkAk1eZ → HY2XCNUoQZ4XCwXFRscuL}/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 +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/app-path-routes-manifest.json +1 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +7 -7
- 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/routes-manifest.json +6 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/activity/page.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/reorder/route.js +9 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/reorder/route_client-reference-manifest.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app-paths-manifest.json +1 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0.b.vdv._.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__04epc~l._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0rg.nbz._.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0u8xtc8._.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0uj53.o._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +22 -20
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0.j7.ev._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_01f~246._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_01g40-k._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_01o.o7x._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_03fwsa7._.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_03hm4id._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_04nr-p-._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_068n18f._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_073gadx._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_098cv18._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_09ighq8._.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/_0_l2tiz._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0bn1-zq._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0c9~wb-._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0diexub._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0dj0g7~._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0dp6scf._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0fautln._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0g.4by4._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0gp.qog._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0gtp8_j._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j2oflh._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j8p1sv._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0jclrfw._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0kc5u_2._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0lnkeh5._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0nan_-b._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0orhr1f._.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0p7gyqx._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0q89yyd._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0qc2pnl._.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/_0rjukzr._.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0r~740n._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0s84t43._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0s8cl~s._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0wakwjq._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0x9e38w._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0yt-p.x._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_12etit8._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_12qurih._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_12vq9i7._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_130oxgr._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_13g.-28._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_13pxn_t._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0_r~pob._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0b54k_v._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0hsbnq1._.js +1 -1
- 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/src_0qxc5nu._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0~i.bo1._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_web__next-internal_server_app_api_channels_reorder_route_actions_0rvpwk0.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{0b5f_next_0-68_1v._.js → 0b5f_next_06huxd3._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0ldbdqs._.js → 0b5f_next_dist_client_components_0oalj-h._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0.a2670._.js +13 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__00-llal._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__09cst_7._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0.-nacc._.js → [root-of-the-server]__0dbhd8o._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0xq2my8._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +22 -20
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0.8642u._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0hthlqi._.js → _003cfvd._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_05wa4wr._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_07nwbcz._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_09b8fgg._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_09n89mu._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0dh_8a3._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0fk~_zr._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0ilz5db._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0ohl~vp._.js → _0nklr9-._.js} +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_007cfg.._.js → _0nqu5id._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0oxvrpl._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0y4mw6p._.js → _0r0r3-c._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0st8pau._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0uvfz-u._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0vv9cr4._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_0qnznmz._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0~23g-y._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_lib_api_ts_0uf2r1p._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +7 -7
- 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 +105 -95
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +425 -357
- package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +5 -5
- package/bundled/web/migrations/0029_channel_position.sql +7 -0
- package/bundled/ws-do/index.js +61 -3
- package/dist/cli/index.js +1 -0
- package/dist/cli/session-runner.js +12 -7
- package/dist/index.js +1 -0
- package/package.json +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/02zfp_ou.ksfz.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/037bobdy3gbd3.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0_ofb148utnjm.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/0gd8byhyta7hd.css +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0okwpwx2mg9as.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0v.n7ut8tjpal.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0w9peuvrwol8r.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0y5ms.e3yai27.js +0 -1
- package/bundled/web/.open-next/cache/3_EdlLCy1irSUmRkAk1eZ/_not-found.cache +0 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0b~_vv~._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0n9v7ow._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0ot7c-~._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0tpn293._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_013gub1._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_05~tud1._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0fh2xox._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0gtp8r~._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0h764fr._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0my-bd8._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0tng3.2._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0ul-7ek._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_0pa7vde._.js +0 -3
- /package/bundled/web/.open-next/assets/_next/static/{3_EdlLCy1irSUmRkAk1eZ → HY2XCNUoQZ4XCwXFRscuL}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{3_EdlLCy1irSUmRkAk1eZ → HY2XCNUoQZ4XCwXFRscuL}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{3_EdlLCy1irSUmRkAk1eZ → HY2XCNUoQZ4XCwXFRscuL}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{3_EdlLCy1irSUmRkAk1eZ → HY2XCNUoQZ4XCwXFRscuL}/robots.txt.cache +0 -0
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0p7gyqx._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[776227,e=>{"use strict";var t=e.i(463421);function a(e,a){return t.NextResponse.json({error:e},{status:a})}async function r(e,r){let s;try{s=await e.json()}catch{return[null,a("invalid request body",400)]}try{return[r.parse(s),null]}catch(a){let e=(a.issues??a.errors??[]).map(e=>`${e.path.join(".")}: ${e.message}`);return[null,t.NextResponse.json({error:"validation error",details:e},{status:400})]}}e.s(["formatTimestamp",0,function(e){return e?("string"==typeof e?new Date(e):e).toISOString().replace(/\.\d{3}Z$/,"Z"):""},"formatTimestampNullable",0,function(e){return e?("string"==typeof e?new Date(e):e).toISOString().replace(/\.\d{3}Z$/,"Z"):null},"parseBody",0,r,"writeError",0,a,"writeJSON",0,function(e,a=200){return t.NextResponse.json(e,{status:a})}])},47962,e=>{"use strict";var t=e.i(463421),a=e.i(291484);e.i(700598);var r=e.i(291109),s=e.i(675139),i=e.i(774078);async function n(e,n){let o=e.nextUrl.searchParams.get("workspace_id")||e.headers.get("X-Workspace-ID")||n.workspaceId;if(!o)return t.NextResponse.json({error:"workspace_id is required"},{status:400});if(!n.userId)return t.NextResponse.json({error:"user not authenticated"},{status:401});let{env:d}=await (0,a.getCloudflareContext)({async:!0}),l=(0,s.getDb)(d.DB),c=await (0,i.cached)(i.cacheKeys.member(o,n.userId),1800,()=>r.queries.member.getMemberByUserAndWorkspace(l,n.userId,o));return c||n.workspaceId!==o?c?{workspaceId:o,memberRole:c.role}:t.NextResponse.json({error:"workspace not found"},{status:404}):{workspaceId:o,memberRole:"member"}}async function o(e,a){let r=await n(e,a);return r instanceof t.NextResponse?r:"owner"!==r.memberRole?t.NextResponse.json({error:"owner access required"},{status:403}):r}e.s(["withWorkspaceMember",0,n,"withWorkspaceOwner",0,o])},469187,e=>{"use strict";var t=e.i(704024);e.s(["isOnline",0,function(e){if(!e)return!1;let a=new Date(e.includes("T")||e.includes("Z")||e.includes("+")?e:e+"Z").getTime();return!isNaN(a)&&Date.now()-a<t.OFFLINE_THRESHOLD_MS}])},740580,e=>{"use strict";var t=e.i(776227);e.i(700598);var a=e.i(888247),r=e.i(469187),s=e.i(704024);e.s(["agentLinkToResponse",0,function(e){return{id:e.id,workspace_id:e.workspaceId,source_agent_id:e.sourceAgentId,target_agent_id:e.targetAgentId,instruction:e.instruction,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"agentToResponse",0,function(e){let a=e.runtimeConfig;return a||(a={}),{id:e.id,workspace_id:e.workspaceId,runtime_id:e.runtimeId||"",name:e.name,description:e.description,instructions:e.instructions,runtime_mode:e.runtimeMode,runtime_config:a,status:e.status,max_concurrent_tasks:e.maxConcurrentTasks,email_handle:e.emailHandle||null,avatar_url:e.avatarUrl??null,visibility:e.visibility??"private",owner_id:e.ownerId??null,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"calendarEventToResponse",0,function(e){let a=(0,t.formatTimestamp)(e.scheduledAt),r=e.occurrenceAt?(0,t.formatTimestamp)(e.occurrenceAt):a;return{id:e.id,agent_id:e.agentId,workspace_id:e.workspaceId,title:e.title,description:e.description??null,scheduled_at:a,occurrence_at:r,collapsed_count:e.collapsedCount??null,repeat_interval:e.repeatInterval??null,repeat_stop_at:(0,t.formatTimestampNullable)(e.repeatStopAt),last_triggered_at:(0,t.formatTimestampNullable)(e.lastTriggeredAt),created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"channelToResponse",0,function(e){return{id:e.id,workspace_id:e.workspaceId,name:e.name,created_at:(0,t.formatTimestamp)(e.createdAt)}},"conversationToResponse",0,function(e){let a={id:e.id,agent_id:e.agentId,title:e.title,type:e.type??s.TASK_TYPES.USER_DM_MESSAGE,channel:e.channel??"default",created_at:(0,t.formatTimestamp)(e.createdAt)};return void 0!==e.messageCount&&(a.message_count=e.messageCount),a},"emailToResponse",0,function(e){return{id:e.id,agent_id:e.agentId,from_email:e.fromEmail,to_email:e.toEmail,subject:e.subject,r2_key:e.r2Key,is_whitelisted:!!e.isWhitelisted,forwarded:!!e.forwarded,message_id:e.messageId??"",in_reply_to:e.inReplyTo??"",references:e.references??"",html_body:e.htmlBody??"",attachments:JSON.parse(e.attachments||"[]"),status:e.status??"unread",direction:e.direction??"inbound",created_at:(0,t.formatTimestamp)(e.createdAt)}},"inviteToResponse",0,function(e){return{id:e.id,token:e.token,created_by:e.createdBy,used_by:e.usedBy,expires_at:(0,t.formatTimestamp)(e.expiresAt),created_at:(0,t.formatTimestamp)(e.createdAt)}},"issueToResponse",0,function(e){return{id:e.id,workspace_id:e.workspaceId,agent_id:e.agentId,creator_user_id:e.creatorUserId,conversation_id:e.conversationId,latest_task_id:e.latestTaskId??null,title:e.title,description:e.description??"",status:e.status,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt)}},"machineTokenToResponse",0,function(e){return{id:e.id,name:e.name,last_used_at:(0,t.formatTimestampNullable)(e.lastUsedAt),created_at:(0,t.formatTimestamp)(e.createdAt)}},"meetingToResponse",0,function(e){return{id:e.id,agent_id:e.agentId,workspace_id:e.workspaceId,title:e.title,meeting_url:e.meetingUrl,status:e.status,from_email:e.fromEmail??null,is_whitelisted:!!e.isWhitelisted,participants:e.participants??[],scheduled_at:(0,t.formatTimestampNullable)(e.scheduledAt),started_at:(0,t.formatTimestampNullable)(e.startedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt),transcript_r2_key:e.transcriptR2Key??null,summary:e.summary??null,error:e.error??null,worker_session_id:e.workerSessionId??null,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"memberToResponse",0,function(e){return{id:e.id,user_id:e.userId,role:e.role,name:e.userName,email:e.userEmail,image:e.userImage,created_at:(0,t.formatTimestamp)(e.createdAt)}},"messageToResponse",0,function(e){let a={id:e.id,conversation_id:e.conversationId,role:e.role,content:e.content,task_id:e.taskId||null,attachment_ids:e.attachmentIds?JSON.parse(e.attachmentIds):null,metadata:e.metadata?JSON.parse(e.metadata):null,created_at:(0,t.formatTimestamp)(e.createdAt)};return e.status&&"active"!==e.status&&(a.status=e.status),a},"runtimeToResponse",0,function(e){let a=e.metadata;a||(a={});let s=e.machineLastSeenAt??null,i=s instanceof Date?s.toISOString():s;return{id:e.id,workspace_id:e.workspaceId,daemon_id:e.daemonId||null,runtime_mode:e.runtimeMode,provider:e.provider,status:(0,r.isOnline)(i)?"online":"offline",device_info:e.deviceInfo,metadata:a,pending_update_version:e.pendingUpdateVersion??null,pending_rescan:!!e.pendingRescan,last_seen_at:(0,t.formatTimestampNullable)(s),created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"taskMessageToResponse",0,function(e){let t={id:e.id,task_id:e.taskId,seq:e.seq,type:e.type,tool:e.tool,call_id:e.callId||"",content:e.content,output:e.output};return e.input&&(t.input=e.input),t},"taskToActivityResponse",0,function(e){let a=e.prompt.length>120?e.prompt.slice(0,120):e.prompt;return{id:e.id,conversation_id:e.conversationId,type:e.type??s.TASK_TYPES.USER_DM_MESSAGE,status:e.status,prompt:a,created_at:(0,t.formatTimestamp)(e.createdAt),started_at:(0,t.formatTimestampNullable)(e.startedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt),error:e.error||null}},"taskToResponse",0,function(e){return a.TaskApiBaseSchema.parse({id:e.id,agent_id:e.agentId,runtime_id:e.runtimeId,conversation_id:e.conversationId,workspace_id:e.workspaceId,prompt:e.prompt,type:e.type??s.TASK_TYPES.USER_DM_MESSAGE,context_key:e.contextKey??null,context:e.context??null,status:e.status,priority:e.priority,dispatched_at:(0,t.formatTimestampNullable)(e.dispatchedAt),started_at:(0,t.formatTimestampNullable)(e.startedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt),result:e.result??null,error:e.error||null,created_at:(0,t.formatTimestamp)(e.createdAt),trace_id:e.traceId??null,parent_task_id:e.parentTaskId??null})},"userToResponse",0,function(e){return{id:e.id,name:e.name,email:e.email,avatar_url:e.avatarUrl??null,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"workspaceToResponse",0,function(e){return{id:e.id,name:e.name,slug:e.slug,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}}])},726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let r=(0,e.i(726527).createLogger)({service:"broadcast"});async function s(e,s,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:s});if(o.ok)return;r.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:s});t.ok||r.warn("broadcast failed",{...i,status:t.status})}catch(e){r.warn("broadcast error",{...i,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,r){let i=s(e,a,r);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),r=e.i(799579),s=e.i(726089),i=e.i(740580);let n=t.queries.task,o=t.queries.agent,d=t.queries.message,l=t.queries.conversation,c=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,r,s,i=a.TASK_TYPES.USER_DM_MESSAGE,d){let l=await o.getAgent(this.db,e,r);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(d?.traceId&&d.parentTaskId&&await n.countTasksByTrace(this.db,d.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.`);return n.createTask(this.db,{agentId:e,runtimeId:l.runtimeId,workspaceId:r,conversationId:t,prompt:s,type:i,contextKey:d?.contextKey??null,priority:0,context:d?.context,traceId:d?.traceId??null,parentTaskId:d?.parentTaskId??null})}async claimTask(e,t){let a=await o.getAgent(this.db,e,t);if(!a)return null;if(await n.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let r=await n.findSteerableReplacement(this.db,e,t);if(!r||await n.countRunningTasks(this.db,e,t,r.predecessorId)>=a.maxConcurrentTasks)return null}let r=await n.claimTask(this.db,e,t);return r?(await o.updateAgentStatus(this.db,e,t,"working"),r):null}async claimTasksForRuntimes(e,t,a){let r=await n.claimKillTasks(this.db,e,a,t),s=t-r.length,i=s>0?await n.listPendingTasksByRuntimes(this.db,e,a):[],o=new Set(e),d=new Set,l=[...r];for(let e of i){if(s<=0)break;let t=`${e.agentId}:${e.workspaceId}`;if(d.has(t))continue;d.add(t);let a=await this.claimTask(e.agentId,e.workspaceId);a&&o.has(a.runtimeId)&&(l.push(a),s--)}return l}async startTask(e,t){let a=await n.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,s){let i;try{i=JSON.parse(a)}catch{i={raw:a}}let o=await n.completeTask(this.db,e,t,{result:i,sessionId:s||null});if(!o){let t=await n.getTask(this.db,e),a=t?.status??"unknown";throw r.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let l=i,c="string"==typeof l?.output?l.output:"";return c&&await d.createMessage(this.db,{conversationId:o.conversationId,role:"assistant",content:c,taskId:e}),await this.reconcileAgentStatus(o.agentId,o.workspaceId),await this.dispatchNextBufferedMessage(o.conversationId,o.workspaceId),o}async failTask(e,t,s){let i=await n.failTask(this.db,e,t,s);if(!i){let t=await n.getTask(this.db,e),a=t?.status??"unknown";throw r.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||(s&&await d.createMessage(this.db,{conversationId:i.conversationId,role:"assistant",content:`Error: ${s}`,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 r=await c.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!r||r.status===t||!await c.updateIssue(this.db,r.id,e.workspaceId,{status:t}))return;let n=await d.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${r.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:r.id})});try{let t=await l.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,s.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(n)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await n.supersedeTask(this.db,e,t);if(!a){let t=await n.getTask(this.db,e),a=t?.status??"unknown";throw r.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 n.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 r=await n.markFailedAsSuperseded(this.db,e,t);if(!r)throw Error("failed to mark task as superseded");return{oldTask:r,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,r){let s=await n.getActiveTaskByConversation(this.db,e,t);if(!s)return null;let i=await n.cancelTask(this.db,s.id,t);return i?(("dispatched"===s.status||"running"===s.status)&&await n.createTask(this.db,{agentId:s.agentId,runtimeId:s.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:s.id}}),await d.createMessage(this.db,{conversationId:e,role:"assistant",content:r?.reason??"Task cancelled by user",taskId:s.id}),await this.reconcileAgentStatus(s.agentId,t),r?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),i):null}async reconcileAgentStatus(e,t){let a=await n.countRunningTasks(this.db,e,t);await o.updateAgentStatus(this.db,e,t,a>0?"working":"idle")}async dispatchNextBufferedMessage(e,t){let o=await d.activateNextBufferedMessage(this.db,e);if(!o)return null;let c=await l.getConversation(this.db,e,t);if(!c)return r.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await d.revertToBuffered(this.db,o.id).catch(e=>{r.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),null;let u=c.userId;try{let r=o.attachmentIds?JSON.parse(o.attachmentIds):[],l=await n.getLatestTaskForConversation(this.db,e),p=l?.traceId??null,m=await this.enqueueTask(c.agentId,e,t,o.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:r.length>0?{attachment_ids:r}:void 0,traceId:p,parentTaskId:null});return await d.updateMessageTaskId(this.db,o.id,m.id),(0,s.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(o),task:(0,i.taskToResponse)(m)}).catch(()=>{}),m}catch(t){return r.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await d.revertToBuffered(this.db,o.id).catch(e=>{r.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),(0,s.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:o.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let s of[...new Set((await n.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(s,t,{skipDispatch:!0,reason:a?.reason})}catch(t){r.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:s,err:t})}}}])},99293,e=>e.a(async(t,a)=>{try{var r=e.i(291484);e.i(700598);var s=e.i(291109),i=e.i(888247),n=e.i(704024),o=e.i(675139),d=e.i(152327),l=e.i(47962),c=e.i(776227),u=e.i(205054),p=t([d]);[d]=p.then?(await p)():p;let m=(0,d.withAuth)(async(e,t)=>{let a=await (0,l.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:i}=(0,r.getCloudflareContext)(),n=(0,o.getDb)(i.DB),d=t.params?.id;if(!d)return(0,c.writeError)("agent id is required",400);if(!await s.queries.agent.getAgent(n,d,a.workspaceId,t.userId))return(0,c.writeError)("agent not found",404);let u=await s.queries.whitelist.getWhitelist(n,d,a.workspaceId);return(0,c.writeJSON)(u.map(e=>({id:e.id,email:e.email,created_at:(0,c.formatTimestamp)(e.createdAt)})))}),h=(0,d.withAuth)(async(e,t)=>{let a=await (0,l.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:d}=(0,r.getCloudflareContext)(),p=(0,o.getDb)(d.DB),m=t.params?.id;if(!m)return(0,c.writeError)("agent id is required",400);let h=await s.queries.agent.getAgent(p,m,a.workspaceId,t.userId);if(!h)return(0,c.writeError)("agent not found",404);let[f,w]=await (0,c.parseBody)(e,i.AddWhitelistRequestSchema);if(w)return w;let g=f.email.toLowerCase(),T=await s.queries.whitelist.addWhitelist(p,m,a.workspaceId,g);if(!T)return(0,c.writeError)("email already whitelisted",409);if(h.runtimeId&&h.emailHandle&&h.ownerId)try{let e=await s.queries.conversation.createConversation(p,{workspaceId:a.workspaceId,agentId:h.id,userId:h.ownerId,title:`Welcome: ${g}`.slice(0,50),type:n.TASK_TYPES.EMAIL_NOTIFICATION}),r=new u.TaskService(p);await r.enqueueTask(h.id,e.id,a.workspaceId,`Your owner (${t.email}) has added a new contact to your whitelist: ${g}. Please compose and send them a welcome email introducing yourself as "${h.name}". Be warm and professional. Let them know they can reach you at your email address and briefly describe how you can help them.`,n.TASK_TYPES.EMAIL_NOTIFICATION)}catch{}return(0,c.writeJSON)({id:T.id,email:T.email,created_at:(0,c.formatTimestamp)(T.createdAt)},201)});e.s(["GET",0,m,"POST",0,h]),a()}catch(e){a(e)}},!1),829167,e=>e.a(async(t,a)=>{try{var r=e.i(80774),s=e.i(404478),i=e.i(732985),n=e.i(481671),o=e.i(638081),d=e.i(204960),l=e.i(924918),c=e.i(363585),u=e.i(906846),p=e.i(359838),m=e.i(383303),h=e.i(234173),f=e.i(270215),w=e.i(830665),g=e.i(944002),T=e.i(193695);e.i(195928);var _=e.i(81543),k=e.i(99293),I=t([k]);[k]=I.then?(await I)():I;let v=new r.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/agents/[id]/whitelist/route",pathname:"/api/agents/[id]/whitelist",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/agents/[id]/whitelist/route.ts",nextConfigOutput:"standalone",userland:k,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:b,serverHooks:R}=v;async function y(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),v.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/agents/[id]/whitelist/route";r=r.replace(/\/index$/,"")||"/";let i=await v.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:k,deploymentId:I,params:y,nextConfig:A,parsedUrl:b,isDraftMode:R,prerenderManifest:S,routerServerContext:E,isOnDemandRevalidate:x,revalidateOnlyGenerated:N,resolvedPathname:C,clientReferenceManifest:O,serverActionsManifest:M}=i,q=(0,l.normalizeAppPath)(r),P=!!(S.dynamicRoutes[q]||S.routes[C]),D=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,b,!1):t.end("This page could not be found"),null);if(P&&!R){let e=!!S.routes[C],t=S.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await D();throw new T.NoFallbackError}}let U=null;!P||v.isDev||R||(U=C,U="/index"===U?"/":U);let K=!0===v.isDev||!P,B=P&&!K;M&&O&&(0,d.setManifestsSingleton)({page:r,clientReferenceManifest:O,serverActionsManifest:M});let $=e.method||"GET",L=(0,o.getTracer)(),H=L.getActiveScopeSpan(),j=!!(null==E?void 0:E.isWrappedByNextServer),W=!!(0,n.getRequestMeta)(e,"minimalMode"),F=(0,n.getRequestMeta)(e,"incrementalCache")||await v.getIncrementalCache(e,A,S,W);null==F||F.resetRequestCache(),globalThis.__incrementalCache=F;let Y={params:y,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:K,incrementalCache:F,cacheLifeProfiles:A.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,s)=>v.onRequestError(e,t,r,s,E)},sharedContext:{buildId:k,deploymentId:I}},G=new c.NodeNextRequest(e),J=new c.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let i,n=async e=>v.handle(V,Y).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=L.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 s=a.get("next.route");if(s){let t=`${$} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",s),i.updateName(t))}else e.updateName(`${$} ${r}`)}),d=async i=>{var o,d;let l=async({previousCacheEntry:s})=>{try{if(!W&&x&&N&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await n(i);e.fetchMetrics=Y.renderOpts.fetchMetrics;let o=Y.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=Y.renderOpts.collectedTags;if(!P)return await (0,h.sendResponse)(G,J,r,Y.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[g.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==Y.renderOpts.collectedRevalidate&&!(Y.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&Y.renderOpts.collectedRevalidate,s=void 0===Y.renderOpts.collectedExpire||Y.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:Y.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:s}}}}catch(t){throw(null==s?void 0:s.isStale)&&await v.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:x})},!1,E),t}},c=await v.handleResponse({req:e,nextConfig:A,cacheKey:U,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:N,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:W});if(!P)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",x?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return W&&P||u.delete(g.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,w.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(G,J,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};j&&H?await d(H):(i=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(p.BaseServerSpan.handleRequest,{spanName:`${$} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},d),void 0,!j))}catch(t){if(t instanceof T.NoFallbackError||await v.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:x})},!1,E),P)throw t;return await (0,h.sendResponse)(G,J,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:b})},"routeModule",0,v,"serverHooks",0,R,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,b]),a()}catch(e){a(e)}},!1)];
|
|
1
|
+
module.exports=[776227,e=>{"use strict";var t=e.i(463421);function a(e,a){return t.NextResponse.json({error:e},{status:a})}async function r(e,r){let s;try{s=await e.json()}catch{return[null,a("invalid request body",400)]}try{return[r.parse(s),null]}catch(a){let e=(a.issues??a.errors??[]).map(e=>`${e.path.join(".")}: ${e.message}`);return[null,t.NextResponse.json({error:"validation error",details:e},{status:400})]}}e.s(["formatTimestamp",0,function(e){return e?("string"==typeof e?new Date(e):e).toISOString().replace(/\.\d{3}Z$/,"Z"):""},"formatTimestampNullable",0,function(e){return e?("string"==typeof e?new Date(e):e).toISOString().replace(/\.\d{3}Z$/,"Z"):null},"parseBody",0,r,"writeError",0,a,"writeJSON",0,function(e,a=200){return t.NextResponse.json(e,{status:a})}])},47962,e=>{"use strict";var t=e.i(463421),a=e.i(291484);e.i(700598);var r=e.i(291109),s=e.i(675139),i=e.i(774078);async function n(e,n){let o=e.nextUrl.searchParams.get("workspace_id")||e.headers.get("X-Workspace-ID")||n.workspaceId;if(!o)return t.NextResponse.json({error:"workspace_id is required"},{status:400});if(!n.userId)return t.NextResponse.json({error:"user not authenticated"},{status:401});let{env:d}=await (0,a.getCloudflareContext)({async:!0}),l=(0,s.getDb)(d.DB),c=await (0,i.cached)(i.cacheKeys.member(o,n.userId),1800,()=>r.queries.member.getMemberByUserAndWorkspace(l,n.userId,o));return c||n.workspaceId!==o?c?{workspaceId:o,memberRole:c.role}:t.NextResponse.json({error:"workspace not found"},{status:404}):{workspaceId:o,memberRole:"member"}}async function o(e,a){let r=await n(e,a);return r instanceof t.NextResponse?r:"owner"!==r.memberRole?t.NextResponse.json({error:"owner access required"},{status:403}):r}e.s(["withWorkspaceMember",0,n,"withWorkspaceOwner",0,o])},469187,e=>{"use strict";var t=e.i(704024);e.s(["isOnline",0,function(e){if(!e)return!1;let a=new Date(e.includes("T")||e.includes("Z")||e.includes("+")?e:e+"Z").getTime();return!isNaN(a)&&Date.now()-a<t.OFFLINE_THRESHOLD_MS}])},740580,e=>{"use strict";var t=e.i(776227);e.i(700598);var a=e.i(888247),r=e.i(469187),s=e.i(704024);e.s(["agentLinkToResponse",0,function(e){return{id:e.id,workspace_id:e.workspaceId,source_agent_id:e.sourceAgentId,target_agent_id:e.targetAgentId,instruction:e.instruction,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"agentToResponse",0,function(e){let a=e.runtimeConfig;return a||(a={}),{id:e.id,workspace_id:e.workspaceId,runtime_id:e.runtimeId||"",name:e.name,description:e.description,instructions:e.instructions,runtime_mode:e.runtimeMode,runtime_config:a,status:e.status,max_concurrent_tasks:e.maxConcurrentTasks,email_handle:e.emailHandle||null,avatar_url:e.avatarUrl??null,visibility:e.visibility??"private",owner_id:e.ownerId??null,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"calendarEventToResponse",0,function(e){let a=(0,t.formatTimestamp)(e.scheduledAt),r=e.occurrenceAt?(0,t.formatTimestamp)(e.occurrenceAt):a;return{id:e.id,agent_id:e.agentId,workspace_id:e.workspaceId,title:e.title,description:e.description??null,scheduled_at:a,occurrence_at:r,collapsed_count:e.collapsedCount??null,repeat_interval:e.repeatInterval??null,repeat_stop_at:(0,t.formatTimestampNullable)(e.repeatStopAt),last_triggered_at:(0,t.formatTimestampNullable)(e.lastTriggeredAt),created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"channelToResponse",0,function(e){return{id:e.id,workspace_id:e.workspaceId,name:e.name,position:e.position??0,created_at:(0,t.formatTimestamp)(e.createdAt)}},"conversationToResponse",0,function(e){let a={id:e.id,agent_id:e.agentId,title:e.title,type:e.type??s.TASK_TYPES.USER_DM_MESSAGE,channel:e.channel??"default",created_at:(0,t.formatTimestamp)(e.createdAt)};return void 0!==e.messageCount&&(a.message_count=e.messageCount),a},"emailToResponse",0,function(e){return{id:e.id,agent_id:e.agentId,from_email:e.fromEmail,to_email:e.toEmail,subject:e.subject,r2_key:e.r2Key,is_whitelisted:!!e.isWhitelisted,forwarded:!!e.forwarded,message_id:e.messageId??"",in_reply_to:e.inReplyTo??"",references:e.references??"",html_body:e.htmlBody??"",attachments:JSON.parse(e.attachments||"[]"),status:e.status??"unread",direction:e.direction??"inbound",created_at:(0,t.formatTimestamp)(e.createdAt)}},"inviteToResponse",0,function(e){return{id:e.id,token:e.token,created_by:e.createdBy,used_by:e.usedBy,expires_at:(0,t.formatTimestamp)(e.expiresAt),created_at:(0,t.formatTimestamp)(e.createdAt)}},"issueToResponse",0,function(e){return{id:e.id,workspace_id:e.workspaceId,agent_id:e.agentId,creator_user_id:e.creatorUserId,conversation_id:e.conversationId,latest_task_id:e.latestTaskId??null,title:e.title,description:e.description??"",status:e.status,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt)}},"machineTokenToResponse",0,function(e){return{id:e.id,name:e.name,last_used_at:(0,t.formatTimestampNullable)(e.lastUsedAt),created_at:(0,t.formatTimestamp)(e.createdAt)}},"meetingToResponse",0,function(e){return{id:e.id,agent_id:e.agentId,workspace_id:e.workspaceId,title:e.title,meeting_url:e.meetingUrl,status:e.status,from_email:e.fromEmail??null,is_whitelisted:!!e.isWhitelisted,participants:e.participants??[],scheduled_at:(0,t.formatTimestampNullable)(e.scheduledAt),started_at:(0,t.formatTimestampNullable)(e.startedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt),transcript_r2_key:e.transcriptR2Key??null,summary:e.summary??null,error:e.error??null,worker_session_id:e.workerSessionId??null,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"memberToResponse",0,function(e){return{id:e.id,user_id:e.userId,role:e.role,name:e.userName,email:e.userEmail,image:e.userImage,created_at:(0,t.formatTimestamp)(e.createdAt)}},"messageToResponse",0,function(e){let a={id:e.id,conversation_id:e.conversationId,role:e.role,content:e.content,task_id:e.taskId||null,attachment_ids:e.attachmentIds?JSON.parse(e.attachmentIds):null,metadata:e.metadata?JSON.parse(e.metadata):null,created_at:(0,t.formatTimestamp)(e.createdAt)};return e.status&&"active"!==e.status&&(a.status=e.status),a},"runtimeToResponse",0,function(e){let a=e.metadata;a||(a={});let s=e.machineLastSeenAt??null,i=s instanceof Date?s.toISOString():s;return{id:e.id,workspace_id:e.workspaceId,daemon_id:e.daemonId||null,runtime_mode:e.runtimeMode,provider:e.provider,status:(0,r.isOnline)(i)?"online":"offline",device_info:e.deviceInfo,metadata:a,pending_update_version:e.pendingUpdateVersion??null,pending_rescan:!!e.pendingRescan,last_seen_at:(0,t.formatTimestampNullable)(s),created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"taskMessageToResponse",0,function(e){let t={id:e.id,task_id:e.taskId,seq:e.seq,type:e.type,tool:e.tool,call_id:e.callId||"",content:e.content,output:e.output};return e.input&&(t.input=e.input),t},"taskToActivityResponse",0,function(e){let a=e.prompt.length>120?e.prompt.slice(0,120):e.prompt;return{id:e.id,conversation_id:e.conversationId,type:e.type??s.TASK_TYPES.USER_DM_MESSAGE,status:e.status,prompt:a,created_at:(0,t.formatTimestamp)(e.createdAt),started_at:(0,t.formatTimestampNullable)(e.startedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt),error:e.error||null}},"taskToResponse",0,function(e){return a.TaskApiBaseSchema.parse({id:e.id,agent_id:e.agentId,runtime_id:e.runtimeId,conversation_id:e.conversationId,workspace_id:e.workspaceId,prompt:e.prompt,type:e.type??s.TASK_TYPES.USER_DM_MESSAGE,context_key:e.contextKey??null,context:e.context??null,status:e.status,priority:e.priority,dispatched_at:(0,t.formatTimestampNullable)(e.dispatchedAt),started_at:(0,t.formatTimestampNullable)(e.startedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt),result:e.result??null,error:e.error||null,created_at:(0,t.formatTimestamp)(e.createdAt),trace_id:e.traceId??null,parent_task_id:e.parentTaskId??null})},"userToResponse",0,function(e){return{id:e.id,name:e.name,email:e.email,avatar_url:e.avatarUrl??null,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"workspaceToResponse",0,function(e){return{id:e.id,name:e.name,slug:e.slug,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}}])},726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let r=(0,e.i(726527).createLogger)({service:"broadcast"});async function s(e,s,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:s});if(o.ok)return;r.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:s});t.ok||r.warn("broadcast failed",{...i,status:t.status})}catch(e){r.warn("broadcast error",{...i,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,r){let i=s(e,a,r);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),r=e.i(799579),s=e.i(726089),i=e.i(740580);let n=t.queries.task,o=t.queries.agent,d=t.queries.message,l=t.queries.conversation,c=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,r,s,i=a.TASK_TYPES.USER_DM_MESSAGE,d){let l=await o.getAgent(this.db,e,r);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(d?.traceId&&d.parentTaskId&&await n.countTasksByTrace(this.db,d.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.`);return n.createTask(this.db,{agentId:e,runtimeId:l.runtimeId,workspaceId:r,conversationId:t,prompt:s,type:i,contextKey:d?.contextKey??null,priority:0,context:d?.context,traceId:d?.traceId??null,parentTaskId:d?.parentTaskId??null})}async claimTask(e,t){let a=await o.getAgent(this.db,e,t);if(!a)return null;if(await n.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let r=await n.findSteerableReplacement(this.db,e,t);if(!r||await n.countRunningTasks(this.db,e,t,r.predecessorId)>=a.maxConcurrentTasks)return null}let r=await n.claimTask(this.db,e,t);return r?(await o.updateAgentStatus(this.db,e,t,"working"),r):null}async claimTasksForRuntimes(e,t,a){let r=await n.claimKillTasks(this.db,e,a,t),s=t-r.length,i=s>0?await n.listPendingTasksByRuntimes(this.db,e,a):[],o=new Set(e),d=new Set,l=[...r];for(let e of i){if(s<=0)break;let t=`${e.agentId}:${e.workspaceId}`;if(d.has(t))continue;d.add(t);let a=await this.claimTask(e.agentId,e.workspaceId);a&&o.has(a.runtimeId)&&(l.push(a),s--)}return l}async startTask(e,t){let a=await n.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,s){let i;try{i=JSON.parse(a)}catch{i={raw:a}}let o=await n.completeTask(this.db,e,t,{result:i,sessionId:s||null});if(!o){let t=await n.getTask(this.db,e),a=t?.status??"unknown";throw r.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let l=i,c="string"==typeof l?.output?l.output:"";return c&&await d.createMessage(this.db,{conversationId:o.conversationId,role:"assistant",content:c,taskId:e}),await this.reconcileAgentStatus(o.agentId,o.workspaceId),await this.dispatchNextBufferedMessage(o.conversationId,o.workspaceId),o}async failTask(e,t,s){let i=await n.failTask(this.db,e,t,s);if(!i){let t=await n.getTask(this.db,e),a=t?.status??"unknown";throw r.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||(s&&await d.createMessage(this.db,{conversationId:i.conversationId,role:"assistant",content:`Error: ${s}`,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 r=await c.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!r||r.status===t||!await c.updateIssue(this.db,r.id,e.workspaceId,{status:t}))return;let n=await d.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${r.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:r.id})});try{let t=await l.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,s.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(n)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await n.supersedeTask(this.db,e,t);if(!a){let t=await n.getTask(this.db,e),a=t?.status??"unknown";throw r.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 n.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 r=await n.markFailedAsSuperseded(this.db,e,t);if(!r)throw Error("failed to mark task as superseded");return{oldTask:r,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,r){let s=await n.getActiveTaskByConversation(this.db,e,t);if(!s)return null;let i=await n.cancelTask(this.db,s.id,t);return i?(("dispatched"===s.status||"running"===s.status)&&await n.createTask(this.db,{agentId:s.agentId,runtimeId:s.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:s.id}}),await d.createMessage(this.db,{conversationId:e,role:"assistant",content:r?.reason??"Task cancelled by user",taskId:s.id}),await this.reconcileAgentStatus(s.agentId,t),r?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),i):null}async reconcileAgentStatus(e,t){let a=await n.countRunningTasks(this.db,e,t);await o.updateAgentStatus(this.db,e,t,a>0?"working":"idle")}async dispatchNextBufferedMessage(e,t){let o=await d.activateNextBufferedMessage(this.db,e);if(!o)return null;let c=await l.getConversation(this.db,e,t);if(!c)return r.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await d.revertToBuffered(this.db,o.id).catch(e=>{r.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),null;let u=c.userId;try{let r=o.attachmentIds?JSON.parse(o.attachmentIds):[],l=await n.getLatestTaskForConversation(this.db,e),p=l?.traceId??null,m=await this.enqueueTask(c.agentId,e,t,o.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:r.length>0?{attachment_ids:r}:void 0,traceId:p,parentTaskId:null});return await d.updateMessageTaskId(this.db,o.id,m.id),(0,s.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(o),task:(0,i.taskToResponse)(m)}).catch(()=>{}),m}catch(t){return r.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await d.revertToBuffered(this.db,o.id).catch(e=>{r.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),(0,s.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:o.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let s of[...new Set((await n.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(s,t,{skipDispatch:!0,reason:a?.reason})}catch(t){r.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:s,err:t})}}}])},99293,e=>e.a(async(t,a)=>{try{var r=e.i(291484);e.i(700598);var s=e.i(291109),i=e.i(888247),n=e.i(704024),o=e.i(675139),d=e.i(152327),l=e.i(47962),c=e.i(776227),u=e.i(205054),p=t([d]);[d]=p.then?(await p)():p;let m=(0,d.withAuth)(async(e,t)=>{let a=await (0,l.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:i}=(0,r.getCloudflareContext)(),n=(0,o.getDb)(i.DB),d=t.params?.id;if(!d)return(0,c.writeError)("agent id is required",400);if(!await s.queries.agent.getAgent(n,d,a.workspaceId,t.userId))return(0,c.writeError)("agent not found",404);let u=await s.queries.whitelist.getWhitelist(n,d,a.workspaceId);return(0,c.writeJSON)(u.map(e=>({id:e.id,email:e.email,created_at:(0,c.formatTimestamp)(e.createdAt)})))}),h=(0,d.withAuth)(async(e,t)=>{let a=await (0,l.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:d}=(0,r.getCloudflareContext)(),p=(0,o.getDb)(d.DB),m=t.params?.id;if(!m)return(0,c.writeError)("agent id is required",400);let h=await s.queries.agent.getAgent(p,m,a.workspaceId,t.userId);if(!h)return(0,c.writeError)("agent not found",404);let[f,w]=await (0,c.parseBody)(e,i.AddWhitelistRequestSchema);if(w)return w;let g=f.email.toLowerCase(),T=await s.queries.whitelist.addWhitelist(p,m,a.workspaceId,g);if(!T)return(0,c.writeError)("email already whitelisted",409);if(h.runtimeId&&h.emailHandle&&h.ownerId)try{let e=await s.queries.conversation.createConversation(p,{workspaceId:a.workspaceId,agentId:h.id,userId:h.ownerId,title:`Welcome: ${g}`.slice(0,50),type:n.TASK_TYPES.EMAIL_NOTIFICATION}),r=new u.TaskService(p);await r.enqueueTask(h.id,e.id,a.workspaceId,`Your owner (${t.email}) has added a new contact to your whitelist: ${g}. Please compose and send them a welcome email introducing yourself as "${h.name}". Be warm and professional. Let them know they can reach you at your email address and briefly describe how you can help them.`,n.TASK_TYPES.EMAIL_NOTIFICATION)}catch{}return(0,c.writeJSON)({id:T.id,email:T.email,created_at:(0,c.formatTimestamp)(T.createdAt)},201)});e.s(["GET",0,m,"POST",0,h]),a()}catch(e){a(e)}},!1),829167,e=>e.a(async(t,a)=>{try{var r=e.i(80774),s=e.i(404478),i=e.i(732985),n=e.i(481671),o=e.i(638081),d=e.i(204960),l=e.i(924918),c=e.i(363585),u=e.i(906846),p=e.i(359838),m=e.i(383303),h=e.i(234173),f=e.i(270215),w=e.i(830665),g=e.i(944002),T=e.i(193695);e.i(195928);var _=e.i(81543),k=e.i(99293),I=t([k]);[k]=I.then?(await I)():I;let v=new r.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/agents/[id]/whitelist/route",pathname:"/api/agents/[id]/whitelist",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/agents/[id]/whitelist/route.ts",nextConfigOutput:"standalone",userland:k,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:b,serverHooks:R}=v;async function y(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),v.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/agents/[id]/whitelist/route";r=r.replace(/\/index$/,"")||"/";let i=await v.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:k,deploymentId:I,params:y,nextConfig:A,parsedUrl:b,isDraftMode:R,prerenderManifest:S,routerServerContext:E,isOnDemandRevalidate:x,revalidateOnlyGenerated:N,resolvedPathname:C,clientReferenceManifest:O,serverActionsManifest:M}=i,q=(0,l.normalizeAppPath)(r),P=!!(S.dynamicRoutes[q]||S.routes[C]),D=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,b,!1):t.end("This page could not be found"),null);if(P&&!R){let e=!!S.routes[C],t=S.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await D();throw new T.NoFallbackError}}let U=null;!P||v.isDev||R||(U=C,U="/index"===U?"/":U);let K=!0===v.isDev||!P,B=P&&!K;M&&O&&(0,d.setManifestsSingleton)({page:r,clientReferenceManifest:O,serverActionsManifest:M});let $=e.method||"GET",L=(0,o.getTracer)(),H=L.getActiveScopeSpan(),j=!!(null==E?void 0:E.isWrappedByNextServer),W=!!(0,n.getRequestMeta)(e,"minimalMode"),F=(0,n.getRequestMeta)(e,"incrementalCache")||await v.getIncrementalCache(e,A,S,W);null==F||F.resetRequestCache(),globalThis.__incrementalCache=F;let Y={params:y,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:K,incrementalCache:F,cacheLifeProfiles:A.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,s)=>v.onRequestError(e,t,r,s,E)},sharedContext:{buildId:k,deploymentId:I}},G=new c.NodeNextRequest(e),J=new c.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let i,n=async e=>v.handle(V,Y).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=L.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 s=a.get("next.route");if(s){let t=`${$} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",s),i.updateName(t))}else e.updateName(`${$} ${r}`)}),d=async i=>{var o,d;let l=async({previousCacheEntry:s})=>{try{if(!W&&x&&N&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await n(i);e.fetchMetrics=Y.renderOpts.fetchMetrics;let o=Y.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=Y.renderOpts.collectedTags;if(!P)return await (0,h.sendResponse)(G,J,r,Y.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[g.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==Y.renderOpts.collectedRevalidate&&!(Y.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&Y.renderOpts.collectedRevalidate,s=void 0===Y.renderOpts.collectedExpire||Y.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:Y.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:s}}}}catch(t){throw(null==s?void 0:s.isStale)&&await v.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:x})},!1,E),t}},c=await v.handleResponse({req:e,nextConfig:A,cacheKey:U,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:N,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:W});if(!P)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",x?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return W&&P||u.delete(g.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,w.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(G,J,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};j&&H?await d(H):(i=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(p.BaseServerSpan.handleRequest,{spanName:`${$} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},d),void 0,!j))}catch(t){if(t instanceof T.NoFallbackError||await v.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:x})},!1,E),P)throw t;return await (0,h.sendResponse)(G,J,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:b})},"routeModule",0,v,"serverHooks",0,R,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,b]),a()}catch(e){a(e)}},!1)];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_0p7gyqx._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0q89yyd._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[776227,e=>{"use strict";var t=e.i(463421);function a(e,a){return t.NextResponse.json({error:e},{status:a})}async function s(e,s){let r;try{r=await e.json()}catch{return[null,a("invalid request body",400)]}try{return[s.parse(r),null]}catch(a){let e=(a.issues??a.errors??[]).map(e=>`${e.path.join(".")}: ${e.message}`);return[null,t.NextResponse.json({error:"validation error",details:e},{status:400})]}}e.s(["formatTimestamp",0,function(e){return e?("string"==typeof e?new Date(e):e).toISOString().replace(/\.\d{3}Z$/,"Z"):""},"formatTimestampNullable",0,function(e){return e?("string"==typeof e?new Date(e):e).toISOString().replace(/\.\d{3}Z$/,"Z"):null},"parseBody",0,s,"writeError",0,a,"writeJSON",0,function(e,a=200){return t.NextResponse.json(e,{status:a})}])},47962,e=>{"use strict";var t=e.i(463421),a=e.i(291484);e.i(700598);var s=e.i(291109),r=e.i(675139),n=e.i(774078);async function i(e,i){let o=e.nextUrl.searchParams.get("workspace_id")||e.headers.get("X-Workspace-ID")||i.workspaceId;if(!o)return t.NextResponse.json({error:"workspace_id is required"},{status:400});if(!i.userId)return t.NextResponse.json({error:"user not authenticated"},{status:401});let{env:d}=await (0,a.getCloudflareContext)({async:!0}),l=(0,r.getDb)(d.DB),c=await (0,n.cached)(n.cacheKeys.member(o,i.userId),1800,()=>s.queries.member.getMemberByUserAndWorkspace(l,i.userId,o));return c||i.workspaceId!==o?c?{workspaceId:o,memberRole:c.role}:t.NextResponse.json({error:"workspace not found"},{status:404}):{workspaceId:o,memberRole:"member"}}async function o(e,a){let s=await i(e,a);return s instanceof t.NextResponse?s:"owner"!==s.memberRole?t.NextResponse.json({error:"owner access required"},{status:403}):s}e.s(["withWorkspaceMember",0,i,"withWorkspaceOwner",0,o])},469187,e=>{"use strict";var t=e.i(704024);e.s(["isOnline",0,function(e){if(!e)return!1;let a=new Date(e.includes("T")||e.includes("Z")||e.includes("+")?e:e+"Z").getTime();return!isNaN(a)&&Date.now()-a<t.OFFLINE_THRESHOLD_MS}])},740580,e=>{"use strict";var t=e.i(776227);e.i(700598);var a=e.i(888247),s=e.i(469187),r=e.i(704024);e.s(["agentLinkToResponse",0,function(e){return{id:e.id,workspace_id:e.workspaceId,source_agent_id:e.sourceAgentId,target_agent_id:e.targetAgentId,instruction:e.instruction,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"agentToResponse",0,function(e){let a=e.runtimeConfig;return a||(a={}),{id:e.id,workspace_id:e.workspaceId,runtime_id:e.runtimeId||"",name:e.name,description:e.description,instructions:e.instructions,runtime_mode:e.runtimeMode,runtime_config:a,status:e.status,max_concurrent_tasks:e.maxConcurrentTasks,email_handle:e.emailHandle||null,avatar_url:e.avatarUrl??null,visibility:e.visibility??"private",owner_id:e.ownerId??null,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"calendarEventToResponse",0,function(e){let a=(0,t.formatTimestamp)(e.scheduledAt),s=e.occurrenceAt?(0,t.formatTimestamp)(e.occurrenceAt):a;return{id:e.id,agent_id:e.agentId,workspace_id:e.workspaceId,title:e.title,description:e.description??null,scheduled_at:a,occurrence_at:s,collapsed_count:e.collapsedCount??null,repeat_interval:e.repeatInterval??null,repeat_stop_at:(0,t.formatTimestampNullable)(e.repeatStopAt),last_triggered_at:(0,t.formatTimestampNullable)(e.lastTriggeredAt),created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"channelToResponse",0,function(e){return{id:e.id,workspace_id:e.workspaceId,name:e.name,created_at:(0,t.formatTimestamp)(e.createdAt)}},"conversationToResponse",0,function(e){let a={id:e.id,agent_id:e.agentId,title:e.title,type:e.type??r.TASK_TYPES.USER_DM_MESSAGE,channel:e.channel??"default",created_at:(0,t.formatTimestamp)(e.createdAt)};return void 0!==e.messageCount&&(a.message_count=e.messageCount),a},"emailToResponse",0,function(e){return{id:e.id,agent_id:e.agentId,from_email:e.fromEmail,to_email:e.toEmail,subject:e.subject,r2_key:e.r2Key,is_whitelisted:!!e.isWhitelisted,forwarded:!!e.forwarded,message_id:e.messageId??"",in_reply_to:e.inReplyTo??"",references:e.references??"",html_body:e.htmlBody??"",attachments:JSON.parse(e.attachments||"[]"),status:e.status??"unread",direction:e.direction??"inbound",created_at:(0,t.formatTimestamp)(e.createdAt)}},"inviteToResponse",0,function(e){return{id:e.id,token:e.token,created_by:e.createdBy,used_by:e.usedBy,expires_at:(0,t.formatTimestamp)(e.expiresAt),created_at:(0,t.formatTimestamp)(e.createdAt)}},"issueToResponse",0,function(e){return{id:e.id,workspace_id:e.workspaceId,agent_id:e.agentId,creator_user_id:e.creatorUserId,conversation_id:e.conversationId,latest_task_id:e.latestTaskId??null,title:e.title,description:e.description??"",status:e.status,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt)}},"machineTokenToResponse",0,function(e){return{id:e.id,name:e.name,last_used_at:(0,t.formatTimestampNullable)(e.lastUsedAt),created_at:(0,t.formatTimestamp)(e.createdAt)}},"meetingToResponse",0,function(e){return{id:e.id,agent_id:e.agentId,workspace_id:e.workspaceId,title:e.title,meeting_url:e.meetingUrl,status:e.status,from_email:e.fromEmail??null,is_whitelisted:!!e.isWhitelisted,participants:e.participants??[],scheduled_at:(0,t.formatTimestampNullable)(e.scheduledAt),started_at:(0,t.formatTimestampNullable)(e.startedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt),transcript_r2_key:e.transcriptR2Key??null,summary:e.summary??null,error:e.error??null,worker_session_id:e.workerSessionId??null,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"memberToResponse",0,function(e){return{id:e.id,user_id:e.userId,role:e.role,name:e.userName,email:e.userEmail,image:e.userImage,created_at:(0,t.formatTimestamp)(e.createdAt)}},"messageToResponse",0,function(e){let a={id:e.id,conversation_id:e.conversationId,role:e.role,content:e.content,task_id:e.taskId||null,attachment_ids:e.attachmentIds?JSON.parse(e.attachmentIds):null,metadata:e.metadata?JSON.parse(e.metadata):null,created_at:(0,t.formatTimestamp)(e.createdAt)};return e.status&&"active"!==e.status&&(a.status=e.status),a},"runtimeToResponse",0,function(e){let a=e.metadata;a||(a={});let r=e.machineLastSeenAt??null,n=r instanceof Date?r.toISOString():r;return{id:e.id,workspace_id:e.workspaceId,daemon_id:e.daemonId||null,runtime_mode:e.runtimeMode,provider:e.provider,status:(0,s.isOnline)(n)?"online":"offline",device_info:e.deviceInfo,metadata:a,pending_update_version:e.pendingUpdateVersion??null,pending_rescan:!!e.pendingRescan,last_seen_at:(0,t.formatTimestampNullable)(r),created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"taskMessageToResponse",0,function(e){let t={id:e.id,task_id:e.taskId,seq:e.seq,type:e.type,tool:e.tool,call_id:e.callId||"",content:e.content,output:e.output};return e.input&&(t.input=e.input),t},"taskToActivityResponse",0,function(e){let a=e.prompt.length>120?e.prompt.slice(0,120):e.prompt;return{id:e.id,conversation_id:e.conversationId,type:e.type??r.TASK_TYPES.USER_DM_MESSAGE,status:e.status,prompt:a,created_at:(0,t.formatTimestamp)(e.createdAt),started_at:(0,t.formatTimestampNullable)(e.startedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt),error:e.error||null}},"taskToResponse",0,function(e){return a.TaskApiBaseSchema.parse({id:e.id,agent_id:e.agentId,runtime_id:e.runtimeId,conversation_id:e.conversationId,workspace_id:e.workspaceId,prompt:e.prompt,type:e.type??r.TASK_TYPES.USER_DM_MESSAGE,context_key:e.contextKey??null,context:e.context??null,status:e.status,priority:e.priority,dispatched_at:(0,t.formatTimestampNullable)(e.dispatchedAt),started_at:(0,t.formatTimestampNullable)(e.startedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt),result:e.result??null,error:e.error||null,created_at:(0,t.formatTimestamp)(e.createdAt),trace_id:e.traceId??null,parent_task_id:e.parentTaskId??null})},"userToResponse",0,function(e){return{id:e.id,name:e.name,email:e.email,avatar_url:e.avatarUrl??null,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"workspaceToResponse",0,function(e){return{id:e.id,name:e.name,slug:e.slug,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}}])},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,n){let i;try{let{env:a}=(0,t.getCloudflareContext)();i=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",{...n,status:o.status});return}catch{}let o=i||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",{...n,status:t.status})}catch(e){s.warn("broadcast error",{...n,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,s){let n=r(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(n)}catch{}return n}(`/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),n=e.i(740580);let i=t.queries.task,o=t.queries.agent,d=t.queries.message,l=t.queries.conversation,c=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,n=a.TASK_TYPES.USER_DM_MESSAGE,d){let l=await o.getAgent(this.db,e,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(d?.traceId&&d.parentTaskId&&await i.countTasksByTrace(this.db,d.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.`);return i.createTask(this.db,{agentId:e,runtimeId:l.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:n,contextKey:d?.contextKey??null,priority:0,context:d?.context,traceId:d?.traceId??null,parentTaskId:d?.parentTaskId??null})}async claimTask(e,t){let a=await o.getAgent(this.db,e,t);if(!a)return null;if(await i.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await i.findSteerableReplacement(this.db,e,t);if(!s||await i.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await i.claimTask(this.db,e,t);return s?(await o.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await i.claimKillTasks(this.db,e,a,t),r=t-s.length,n=r>0?await i.listPendingTasksByRuntimes(this.db,e,a):[],o=new Set(e),d=new Set,l=[...s];for(let e of n){if(r<=0)break;let t=`${e.agentId}:${e.workspaceId}`;if(d.has(t))continue;d.add(t);let a=await this.claimTask(e.agentId,e.workspaceId);a&&o.has(a.runtimeId)&&(l.push(a),r--)}return l}async startTask(e,t){let a=await i.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let n;try{n=JSON.parse(a)}catch{n={raw:a}}let o=await i.completeTask(this.db,e,t,{result:n,sessionId:r||null});if(!o){let t=await i.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 l=n,c="string"==typeof l?.output?l.output:"";return c&&await d.createMessage(this.db,{conversationId:o.conversationId,role:"assistant",content:c,taskId:e}),await this.reconcileAgentStatus(o.agentId,o.workspaceId),await this.dispatchNextBufferedMessage(o.conversationId,o.workspaceId),o}async failTask(e,t,r){let n=await i.failTask(this.db,e,t,r);if(!n){let t=await i.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 n.type===a.TASK_TYPES.KILL_TASK||(r&&await d.createMessage(this.db,{conversationId:n.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e}),await this.reconcileAgentStatus(n.agentId,n.workspaceId),await this.syncIssueStatusFromTask(n,"failed"),await this.dispatchNextBufferedMessage(n.conversationId,n.workspaceId)),n}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await c.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await c.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let i=await d.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,n.messageToResponse)(i)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await i.supersedeTask(this.db,e,t);if(!a){let t=await i.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 i.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 i.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 i.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let n=await i.cancelTask(this.db,r.id,t);return n?(("dispatched"===r.status||"running"===r.status)&&await i.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 d.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),n):null}async reconcileAgentStatus(e,t){let a=await i.countRunningTasks(this.db,e,t);await o.updateAgentStatus(this.db,e,t,a>0?"working":"idle")}async dispatchNextBufferedMessage(e,t){let o=await d.activateNextBufferedMessage(this.db,e);if(!o)return null;let c=await l.getConversation(this.db,e,t);if(!c)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await d.revertToBuffered(this.db,o.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),null;let u=c.userId;try{let s=o.attachmentIds?JSON.parse(o.attachmentIds):[],l=await i.getLatestTaskForConversation(this.db,e),p=l?.traceId??null,m=await this.enqueueTask(c.agentId,e,t,o.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:p,parentTaskId:null});return await d.updateMessageTaskId(this.db,o.id,m.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,n.messageToResponse)(o),task:(0,n.taskToResponse)(m)}).catch(()=>{}),m}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await d.revertToBuffered(this.db,o.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:o.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 i.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})}}}])},636551,e=>e.a(async(t,a)=>{try{var s=e.i(291484);e.i(700598);var r=e.i(291109),n=e.i(675139),i=e.i(152327),o=e.i(47962),d=e.i(776227),l=e.i(740580),c=e.i(205054),u=t([i]);[i]=u.then?(await u)():u;let p=(0,i.withAuth)(async(e,t)=>{let a,i=await (0,o.withWorkspaceMember)(e,t);if(i instanceof Response)return i;let{env:u}=(0,s.getCloudflareContext)(),p=(0,n.getDb)(u.DB),m=t.params?.id;if(!m)return(0,d.writeError)("agent id is required",400);if(!await r.queries.agent.getAgent(p,m,i.workspaceId,t.userId))return(0,d.writeError)("agent not found",404);try{let t=await e.json();a="string"==typeof t.channel?t.channel:void 0}catch{}let f=await r.queries.conversation.getOrCreateAgentConversation(p,i.workspaceId,t.userId,m,a),h=f.id,[g,w,T,_,k]=await Promise.allSettled([r.queries.message.listMessages(p,h,{limit:20}),r.queries.artifact.listArtifactsByConversation(p,h,i.workspaceId,{limit:50}),r.queries.message.listBufferedMessages(p,h),r.queries.task.getActiveTaskByConversation(p,h,i.workspaceId),r.queries.conversation.hasPreviousConversations(p,i.workspaceId,t.userId,m,h,a)]),{messages:I,has_more:v}="fulfilled"===g.status?g.value:{messages:[],has_more:!1},y="fulfilled"===w.status?w.value:[],R="fulfilled"===T.status?T.value:[],A="fulfilled"===_.status?_.value:null,b="fulfilled"===k.status&&k.value,S=A,E=R;if(E.length>0&&!S)try{let e=new c.TaskService(p),t=await e.dispatchNextBufferedMessage(h,i.workspaceId);t&&(S=t,E=await r.queries.message.listBufferedMessages(p,h))}catch{}let x=[];if(S&&!["completed","failed","cancelled","superseded"].includes(S.status))try{x=(await r.queries.taskMessage.listTaskMessages(p,S.id)).map(l.taskMessageToResponse)}catch{}return(0,d.writeJSON)({conversation:(0,l.conversationToResponse)(f),messages:I.map(l.messageToResponse),artifacts:y.map(r.queries.artifact.artifactToResponse),buffered_messages:E.map(l.messageToResponse),active_task:S?(0,l.taskToResponse)(S):null,task_messages:x,has_more_messages:v,has_more_conversations:b,has_more_artifacts:y.length>=50})});e.s(["POST",0,p]),a()}catch(e){a(e)}},!1),84690,e=>e.a(async(t,a)=>{try{var s=e.i(80774),r=e.i(404478),n=e.i(732985),i=e.i(481671),o=e.i(638081),d=e.i(204960),l=e.i(924918),c=e.i(363585),u=e.i(906846),p=e.i(359838),m=e.i(383303),f=e.i(234173),h=e.i(270215),g=e.i(830665),w=e.i(944002),T=e.i(193695);e.i(195928);var _=e.i(81543),k=e.i(636551),I=t([k]);[k]=I.then?(await I)():I;let y=new s.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/agents/[id]/chat-init/route",pathname:"/api/agents/[id]/chat-init",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/agents/[id]/chat-init/route.ts",nextConfigOutput:"standalone",userland:k,...{}}),{workAsyncStorage:R,workUnitAsyncStorage:A,serverHooks:b}=y;async function v(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),y.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/agents/[id]/chat-init/route";s=s.replace(/\/index$/,"")||"/";let n=await y.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:k,deploymentId:I,params:v,nextConfig:R,parsedUrl:A,isDraftMode:b,prerenderManifest:S,routerServerContext:E,isOnDemandRevalidate:x,revalidateOnlyGenerated:N,resolvedPathname:C,clientReferenceManifest:M,serverActionsManifest:O}=n,q=(0,l.normalizeAppPath)(s),P=!!(S.dynamicRoutes[q]||S.routes[C]),U=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,A,!1):t.end("This page could not be found"),null);if(P&&!b){let e=!!S.routes[C],t=S.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await U();throw new T.NoFallbackError}}let D=null;!P||y.isDev||b||(D=C,D="/index"===D?"/":D);let B=!0===y.isDev||!P,K=P&&!B;O&&M&&(0,d.setManifestsSingleton)({page:s,clientReferenceManifest:M,serverActionsManifest:O});let $=e.method||"GET",L=(0,o.getTracer)(),j=L.getActiveScopeSpan(),H=!!(null==E?void 0:E.isWrappedByNextServer),F=!!(0,i.getRequestMeta)(e,"minimalMode"),W=(0,i.getRequestMeta)(e,"incrementalCache")||await y.getIncrementalCache(e,R,S,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let G={params:v,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:B,incrementalCache:W,cacheLifeProfiles:R.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,r)=>y.onRequestError(e,t,s,r,E)},sharedContext:{buildId:k,deploymentId:I}},J=new c.NodeNextRequest(e),V=new c.NodeNextResponse(t),Y=u.NextRequestAdapter.fromNodeNextRequest(J,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>y.handle(Y,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=L.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),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${$} ${s}`)}),d=async n=>{var o,d;let l=async({previousCacheEntry:r})=>{try{if(!F&&x&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=G.renderOpts.collectedTags;if(!P)return await (0,f.sendResponse)(J,V,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[w.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:_.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 y.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:x})},!1,E),t}},c=await y.handleResponse({req:e,nextConfig:R,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:N,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:F});if(!P)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",x?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return F&&P||u.delete(w.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,f.sendResponse)(J,V,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};H&&j?await d(j):(n=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.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 T.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:x})},!1,E),P)throw t;return await (0,f.sendResponse)(J,V,new Response(null,{status:500})),null}}e.s(["handler",0,v,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:R,workUnitAsyncStorage:A})},"routeModule",0,y,"serverHooks",0,b,"workAsyncStorage",0,R,"workUnitAsyncStorage",0,A]),a()}catch(e){a(e)}},!1)];
|
|
1
|
+
module.exports=[776227,e=>{"use strict";var t=e.i(463421);function a(e,a){return t.NextResponse.json({error:e},{status:a})}async function s(e,s){let r;try{r=await e.json()}catch{return[null,a("invalid request body",400)]}try{return[s.parse(r),null]}catch(a){let e=(a.issues??a.errors??[]).map(e=>`${e.path.join(".")}: ${e.message}`);return[null,t.NextResponse.json({error:"validation error",details:e},{status:400})]}}e.s(["formatTimestamp",0,function(e){return e?("string"==typeof e?new Date(e):e).toISOString().replace(/\.\d{3}Z$/,"Z"):""},"formatTimestampNullable",0,function(e){return e?("string"==typeof e?new Date(e):e).toISOString().replace(/\.\d{3}Z$/,"Z"):null},"parseBody",0,s,"writeError",0,a,"writeJSON",0,function(e,a=200){return t.NextResponse.json(e,{status:a})}])},47962,e=>{"use strict";var t=e.i(463421),a=e.i(291484);e.i(700598);var s=e.i(291109),r=e.i(675139),n=e.i(774078);async function i(e,i){let o=e.nextUrl.searchParams.get("workspace_id")||e.headers.get("X-Workspace-ID")||i.workspaceId;if(!o)return t.NextResponse.json({error:"workspace_id is required"},{status:400});if(!i.userId)return t.NextResponse.json({error:"user not authenticated"},{status:401});let{env:d}=await (0,a.getCloudflareContext)({async:!0}),l=(0,r.getDb)(d.DB),c=await (0,n.cached)(n.cacheKeys.member(o,i.userId),1800,()=>s.queries.member.getMemberByUserAndWorkspace(l,i.userId,o));return c||i.workspaceId!==o?c?{workspaceId:o,memberRole:c.role}:t.NextResponse.json({error:"workspace not found"},{status:404}):{workspaceId:o,memberRole:"member"}}async function o(e,a){let s=await i(e,a);return s instanceof t.NextResponse?s:"owner"!==s.memberRole?t.NextResponse.json({error:"owner access required"},{status:403}):s}e.s(["withWorkspaceMember",0,i,"withWorkspaceOwner",0,o])},469187,e=>{"use strict";var t=e.i(704024);e.s(["isOnline",0,function(e){if(!e)return!1;let a=new Date(e.includes("T")||e.includes("Z")||e.includes("+")?e:e+"Z").getTime();return!isNaN(a)&&Date.now()-a<t.OFFLINE_THRESHOLD_MS}])},740580,e=>{"use strict";var t=e.i(776227);e.i(700598);var a=e.i(888247),s=e.i(469187),r=e.i(704024);e.s(["agentLinkToResponse",0,function(e){return{id:e.id,workspace_id:e.workspaceId,source_agent_id:e.sourceAgentId,target_agent_id:e.targetAgentId,instruction:e.instruction,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"agentToResponse",0,function(e){let a=e.runtimeConfig;return a||(a={}),{id:e.id,workspace_id:e.workspaceId,runtime_id:e.runtimeId||"",name:e.name,description:e.description,instructions:e.instructions,runtime_mode:e.runtimeMode,runtime_config:a,status:e.status,max_concurrent_tasks:e.maxConcurrentTasks,email_handle:e.emailHandle||null,avatar_url:e.avatarUrl??null,visibility:e.visibility??"private",owner_id:e.ownerId??null,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"calendarEventToResponse",0,function(e){let a=(0,t.formatTimestamp)(e.scheduledAt),s=e.occurrenceAt?(0,t.formatTimestamp)(e.occurrenceAt):a;return{id:e.id,agent_id:e.agentId,workspace_id:e.workspaceId,title:e.title,description:e.description??null,scheduled_at:a,occurrence_at:s,collapsed_count:e.collapsedCount??null,repeat_interval:e.repeatInterval??null,repeat_stop_at:(0,t.formatTimestampNullable)(e.repeatStopAt),last_triggered_at:(0,t.formatTimestampNullable)(e.lastTriggeredAt),created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"channelToResponse",0,function(e){return{id:e.id,workspace_id:e.workspaceId,name:e.name,position:e.position??0,created_at:(0,t.formatTimestamp)(e.createdAt)}},"conversationToResponse",0,function(e){let a={id:e.id,agent_id:e.agentId,title:e.title,type:e.type??r.TASK_TYPES.USER_DM_MESSAGE,channel:e.channel??"default",created_at:(0,t.formatTimestamp)(e.createdAt)};return void 0!==e.messageCount&&(a.message_count=e.messageCount),a},"emailToResponse",0,function(e){return{id:e.id,agent_id:e.agentId,from_email:e.fromEmail,to_email:e.toEmail,subject:e.subject,r2_key:e.r2Key,is_whitelisted:!!e.isWhitelisted,forwarded:!!e.forwarded,message_id:e.messageId??"",in_reply_to:e.inReplyTo??"",references:e.references??"",html_body:e.htmlBody??"",attachments:JSON.parse(e.attachments||"[]"),status:e.status??"unread",direction:e.direction??"inbound",created_at:(0,t.formatTimestamp)(e.createdAt)}},"inviteToResponse",0,function(e){return{id:e.id,token:e.token,created_by:e.createdBy,used_by:e.usedBy,expires_at:(0,t.formatTimestamp)(e.expiresAt),created_at:(0,t.formatTimestamp)(e.createdAt)}},"issueToResponse",0,function(e){return{id:e.id,workspace_id:e.workspaceId,agent_id:e.agentId,creator_user_id:e.creatorUserId,conversation_id:e.conversationId,latest_task_id:e.latestTaskId??null,title:e.title,description:e.description??"",status:e.status,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt)}},"machineTokenToResponse",0,function(e){return{id:e.id,name:e.name,last_used_at:(0,t.formatTimestampNullable)(e.lastUsedAt),created_at:(0,t.formatTimestamp)(e.createdAt)}},"meetingToResponse",0,function(e){return{id:e.id,agent_id:e.agentId,workspace_id:e.workspaceId,title:e.title,meeting_url:e.meetingUrl,status:e.status,from_email:e.fromEmail??null,is_whitelisted:!!e.isWhitelisted,participants:e.participants??[],scheduled_at:(0,t.formatTimestampNullable)(e.scheduledAt),started_at:(0,t.formatTimestampNullable)(e.startedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt),transcript_r2_key:e.transcriptR2Key??null,summary:e.summary??null,error:e.error??null,worker_session_id:e.workerSessionId??null,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"memberToResponse",0,function(e){return{id:e.id,user_id:e.userId,role:e.role,name:e.userName,email:e.userEmail,image:e.userImage,created_at:(0,t.formatTimestamp)(e.createdAt)}},"messageToResponse",0,function(e){let a={id:e.id,conversation_id:e.conversationId,role:e.role,content:e.content,task_id:e.taskId||null,attachment_ids:e.attachmentIds?JSON.parse(e.attachmentIds):null,metadata:e.metadata?JSON.parse(e.metadata):null,created_at:(0,t.formatTimestamp)(e.createdAt)};return e.status&&"active"!==e.status&&(a.status=e.status),a},"runtimeToResponse",0,function(e){let a=e.metadata;a||(a={});let r=e.machineLastSeenAt??null,n=r instanceof Date?r.toISOString():r;return{id:e.id,workspace_id:e.workspaceId,daemon_id:e.daemonId||null,runtime_mode:e.runtimeMode,provider:e.provider,status:(0,s.isOnline)(n)?"online":"offline",device_info:e.deviceInfo,metadata:a,pending_update_version:e.pendingUpdateVersion??null,pending_rescan:!!e.pendingRescan,last_seen_at:(0,t.formatTimestampNullable)(r),created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"taskMessageToResponse",0,function(e){let t={id:e.id,task_id:e.taskId,seq:e.seq,type:e.type,tool:e.tool,call_id:e.callId||"",content:e.content,output:e.output};return e.input&&(t.input=e.input),t},"taskToActivityResponse",0,function(e){let a=e.prompt.length>120?e.prompt.slice(0,120):e.prompt;return{id:e.id,conversation_id:e.conversationId,type:e.type??r.TASK_TYPES.USER_DM_MESSAGE,status:e.status,prompt:a,created_at:(0,t.formatTimestamp)(e.createdAt),started_at:(0,t.formatTimestampNullable)(e.startedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt),error:e.error||null}},"taskToResponse",0,function(e){return a.TaskApiBaseSchema.parse({id:e.id,agent_id:e.agentId,runtime_id:e.runtimeId,conversation_id:e.conversationId,workspace_id:e.workspaceId,prompt:e.prompt,type:e.type??r.TASK_TYPES.USER_DM_MESSAGE,context_key:e.contextKey??null,context:e.context??null,status:e.status,priority:e.priority,dispatched_at:(0,t.formatTimestampNullable)(e.dispatchedAt),started_at:(0,t.formatTimestampNullable)(e.startedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt),result:e.result??null,error:e.error||null,created_at:(0,t.formatTimestamp)(e.createdAt),trace_id:e.traceId??null,parent_task_id:e.parentTaskId??null})},"userToResponse",0,function(e){return{id:e.id,name:e.name,email:e.email,avatar_url:e.avatarUrl??null,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"workspaceToResponse",0,function(e){return{id:e.id,name:e.name,slug:e.slug,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}}])},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,n){let i;try{let{env:a}=(0,t.getCloudflareContext)();i=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",{...n,status:o.status});return}catch{}let o=i||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",{...n,status:t.status})}catch(e){s.warn("broadcast error",{...n,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,s){let n=r(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(n)}catch{}return n}(`/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),n=e.i(740580);let i=t.queries.task,o=t.queries.agent,d=t.queries.message,l=t.queries.conversation,c=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,n=a.TASK_TYPES.USER_DM_MESSAGE,d){let l=await o.getAgent(this.db,e,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(d?.traceId&&d.parentTaskId&&await i.countTasksByTrace(this.db,d.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.`);return i.createTask(this.db,{agentId:e,runtimeId:l.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:n,contextKey:d?.contextKey??null,priority:0,context:d?.context,traceId:d?.traceId??null,parentTaskId:d?.parentTaskId??null})}async claimTask(e,t){let a=await o.getAgent(this.db,e,t);if(!a)return null;if(await i.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await i.findSteerableReplacement(this.db,e,t);if(!s||await i.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await i.claimTask(this.db,e,t);return s?(await o.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await i.claimKillTasks(this.db,e,a,t),r=t-s.length,n=r>0?await i.listPendingTasksByRuntimes(this.db,e,a):[],o=new Set(e),d=new Set,l=[...s];for(let e of n){if(r<=0)break;let t=`${e.agentId}:${e.workspaceId}`;if(d.has(t))continue;d.add(t);let a=await this.claimTask(e.agentId,e.workspaceId);a&&o.has(a.runtimeId)&&(l.push(a),r--)}return l}async startTask(e,t){let a=await i.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let n;try{n=JSON.parse(a)}catch{n={raw:a}}let o=await i.completeTask(this.db,e,t,{result:n,sessionId:r||null});if(!o){let t=await i.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 l=n,c="string"==typeof l?.output?l.output:"";return c&&await d.createMessage(this.db,{conversationId:o.conversationId,role:"assistant",content:c,taskId:e}),await this.reconcileAgentStatus(o.agentId,o.workspaceId),await this.dispatchNextBufferedMessage(o.conversationId,o.workspaceId),o}async failTask(e,t,r){let n=await i.failTask(this.db,e,t,r);if(!n){let t=await i.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 n.type===a.TASK_TYPES.KILL_TASK||(r&&await d.createMessage(this.db,{conversationId:n.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e}),await this.reconcileAgentStatus(n.agentId,n.workspaceId),await this.syncIssueStatusFromTask(n,"failed"),await this.dispatchNextBufferedMessage(n.conversationId,n.workspaceId)),n}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await c.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await c.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let i=await d.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,n.messageToResponse)(i)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await i.supersedeTask(this.db,e,t);if(!a){let t=await i.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 i.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 i.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 i.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let n=await i.cancelTask(this.db,r.id,t);return n?(("dispatched"===r.status||"running"===r.status)&&await i.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 d.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),n):null}async reconcileAgentStatus(e,t){let a=await i.countRunningTasks(this.db,e,t);await o.updateAgentStatus(this.db,e,t,a>0?"working":"idle")}async dispatchNextBufferedMessage(e,t){let o=await d.activateNextBufferedMessage(this.db,e);if(!o)return null;let c=await l.getConversation(this.db,e,t);if(!c)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await d.revertToBuffered(this.db,o.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),null;let u=c.userId;try{let s=o.attachmentIds?JSON.parse(o.attachmentIds):[],l=await i.getLatestTaskForConversation(this.db,e),p=l?.traceId??null,m=await this.enqueueTask(c.agentId,e,t,o.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:p,parentTaskId:null});return await d.updateMessageTaskId(this.db,o.id,m.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,n.messageToResponse)(o),task:(0,n.taskToResponse)(m)}).catch(()=>{}),m}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await d.revertToBuffered(this.db,o.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:o.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 i.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})}}}])},636551,e=>e.a(async(t,a)=>{try{var s=e.i(291484);e.i(700598);var r=e.i(291109),n=e.i(675139),i=e.i(152327),o=e.i(47962),d=e.i(776227),l=e.i(740580),c=e.i(205054),u=t([i]);[i]=u.then?(await u)():u;let p=(0,i.withAuth)(async(e,t)=>{let a,i=await (0,o.withWorkspaceMember)(e,t);if(i instanceof Response)return i;let{env:u}=(0,s.getCloudflareContext)(),p=(0,n.getDb)(u.DB),m=t.params?.id;if(!m)return(0,d.writeError)("agent id is required",400);if(!await r.queries.agent.getAgent(p,m,i.workspaceId,t.userId))return(0,d.writeError)("agent not found",404);try{let t=await e.json();a="string"==typeof t.channel?t.channel:void 0}catch{}let f=await r.queries.conversation.getOrCreateAgentConversation(p,i.workspaceId,t.userId,m,a),h=f.id,[g,w,T,_,k]=await Promise.allSettled([r.queries.message.listMessages(p,h,{limit:20}),r.queries.artifact.listArtifactsByConversation(p,h,i.workspaceId,{limit:50}),r.queries.message.listBufferedMessages(p,h),r.queries.task.getActiveTaskByConversation(p,h,i.workspaceId),r.queries.conversation.hasPreviousConversations(p,i.workspaceId,t.userId,m,h,a)]),{messages:I,has_more:v}="fulfilled"===g.status?g.value:{messages:[],has_more:!1},y="fulfilled"===w.status?w.value:[],R="fulfilled"===T.status?T.value:[],A="fulfilled"===_.status?_.value:null,b="fulfilled"===k.status&&k.value,S=A,E=R;if(E.length>0&&!S)try{let e=new c.TaskService(p),t=await e.dispatchNextBufferedMessage(h,i.workspaceId);t&&(S=t,E=await r.queries.message.listBufferedMessages(p,h))}catch{}let x=[];if(S&&!["completed","failed","cancelled","superseded"].includes(S.status))try{x=(await r.queries.taskMessage.listTaskMessages(p,S.id)).map(l.taskMessageToResponse)}catch{}return(0,d.writeJSON)({conversation:(0,l.conversationToResponse)(f),messages:I.map(l.messageToResponse),artifacts:y.map(r.queries.artifact.artifactToResponse),buffered_messages:E.map(l.messageToResponse),active_task:S?(0,l.taskToResponse)(S):null,task_messages:x,has_more_messages:v,has_more_conversations:b,has_more_artifacts:y.length>=50})});e.s(["POST",0,p]),a()}catch(e){a(e)}},!1),84690,e=>e.a(async(t,a)=>{try{var s=e.i(80774),r=e.i(404478),n=e.i(732985),i=e.i(481671),o=e.i(638081),d=e.i(204960),l=e.i(924918),c=e.i(363585),u=e.i(906846),p=e.i(359838),m=e.i(383303),f=e.i(234173),h=e.i(270215),g=e.i(830665),w=e.i(944002),T=e.i(193695);e.i(195928);var _=e.i(81543),k=e.i(636551),I=t([k]);[k]=I.then?(await I)():I;let y=new s.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/agents/[id]/chat-init/route",pathname:"/api/agents/[id]/chat-init",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/agents/[id]/chat-init/route.ts",nextConfigOutput:"standalone",userland:k,...{}}),{workAsyncStorage:R,workUnitAsyncStorage:A,serverHooks:b}=y;async function v(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),y.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/agents/[id]/chat-init/route";s=s.replace(/\/index$/,"")||"/";let n=await y.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:k,deploymentId:I,params:v,nextConfig:R,parsedUrl:A,isDraftMode:b,prerenderManifest:S,routerServerContext:E,isOnDemandRevalidate:x,revalidateOnlyGenerated:N,resolvedPathname:C,clientReferenceManifest:M,serverActionsManifest:O}=n,q=(0,l.normalizeAppPath)(s),P=!!(S.dynamicRoutes[q]||S.routes[C]),U=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,A,!1):t.end("This page could not be found"),null);if(P&&!b){let e=!!S.routes[C],t=S.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await U();throw new T.NoFallbackError}}let D=null;!P||y.isDev||b||(D=C,D="/index"===D?"/":D);let B=!0===y.isDev||!P,K=P&&!B;O&&M&&(0,d.setManifestsSingleton)({page:s,clientReferenceManifest:M,serverActionsManifest:O});let $=e.method||"GET",L=(0,o.getTracer)(),j=L.getActiveScopeSpan(),H=!!(null==E?void 0:E.isWrappedByNextServer),F=!!(0,i.getRequestMeta)(e,"minimalMode"),W=(0,i.getRequestMeta)(e,"incrementalCache")||await y.getIncrementalCache(e,R,S,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let G={params:v,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:B,incrementalCache:W,cacheLifeProfiles:R.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,r)=>y.onRequestError(e,t,s,r,E)},sharedContext:{buildId:k,deploymentId:I}},J=new c.NodeNextRequest(e),V=new c.NodeNextResponse(t),Y=u.NextRequestAdapter.fromNodeNextRequest(J,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>y.handle(Y,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=L.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),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${$} ${s}`)}),d=async n=>{var o,d;let l=async({previousCacheEntry:r})=>{try{if(!F&&x&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=G.renderOpts.collectedTags;if(!P)return await (0,f.sendResponse)(J,V,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[w.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:_.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 y.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:x})},!1,E),t}},c=await y.handleResponse({req:e,nextConfig:R,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:N,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:F});if(!P)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",x?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return F&&P||u.delete(w.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,f.sendResponse)(J,V,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};H&&j?await d(j):(n=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.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 T.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:x})},!1,E),P)throw t;return await (0,f.sendResponse)(J,V,new Response(null,{status:500})),null}}e.s(["handler",0,v,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:R,workUnitAsyncStorage:A})},"routeModule",0,y,"serverHooks",0,b,"workAsyncStorage",0,R,"workUnitAsyncStorage",0,A]),a()}catch(e){a(e)}},!1)];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_0q89yyd._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0qc2pnl._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[776227,e=>{"use strict";var t=e.i(463421);function a(e,a){return t.NextResponse.json({error:e},{status:a})}async function r(e,r){let n;try{n=await e.json()}catch{return[null,a("invalid request body",400)]}try{return[r.parse(n),null]}catch(a){let e=(a.issues??a.errors??[]).map(e=>`${e.path.join(".")}: ${e.message}`);return[null,t.NextResponse.json({error:"validation error",details:e},{status:400})]}}e.s(["formatTimestamp",0,function(e){return e?("string"==typeof e?new Date(e):e).toISOString().replace(/\.\d{3}Z$/,"Z"):""},"formatTimestampNullable",0,function(e){return e?("string"==typeof e?new Date(e):e).toISOString().replace(/\.\d{3}Z$/,"Z"):null},"parseBody",0,r,"writeError",0,a,"writeJSON",0,function(e,a=200){return t.NextResponse.json(e,{status:a})}])},47962,e=>{"use strict";var t=e.i(463421),a=e.i(291484);e.i(700598);var r=e.i(291109),n=e.i(675139),i=e.i(774078);async function s(e,s){let o=e.nextUrl.searchParams.get("workspace_id")||e.headers.get("X-Workspace-ID")||s.workspaceId;if(!o)return t.NextResponse.json({error:"workspace_id is required"},{status:400});if(!s.userId)return t.NextResponse.json({error:"user not authenticated"},{status:401});let{env:d}=await (0,a.getCloudflareContext)({async:!0}),l=(0,n.getDb)(d.DB),u=await (0,i.cached)(i.cacheKeys.member(o,s.userId),1800,()=>r.queries.member.getMemberByUserAndWorkspace(l,s.userId,o));return u||s.workspaceId!==o?u?{workspaceId:o,memberRole:u.role}:t.NextResponse.json({error:"workspace not found"},{status:404}):{workspaceId:o,memberRole:"member"}}async function o(e,a){let r=await s(e,a);return r instanceof t.NextResponse?r:"owner"!==r.memberRole?t.NextResponse.json({error:"owner access required"},{status:403}):r}e.s(["withWorkspaceMember",0,s,"withWorkspaceOwner",0,o])},469187,e=>{"use strict";var t=e.i(704024);e.s(["isOnline",0,function(e){if(!e)return!1;let a=new Date(e.includes("T")||e.includes("Z")||e.includes("+")?e:e+"Z").getTime();return!isNaN(a)&&Date.now()-a<t.OFFLINE_THRESHOLD_MS}])},740580,e=>{"use strict";var t=e.i(776227);e.i(700598);var a=e.i(888247),r=e.i(469187),n=e.i(704024);e.s(["agentLinkToResponse",0,function(e){return{id:e.id,workspace_id:e.workspaceId,source_agent_id:e.sourceAgentId,target_agent_id:e.targetAgentId,instruction:e.instruction,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"agentToResponse",0,function(e){let a=e.runtimeConfig;return a||(a={}),{id:e.id,workspace_id:e.workspaceId,runtime_id:e.runtimeId||"",name:e.name,description:e.description,instructions:e.instructions,runtime_mode:e.runtimeMode,runtime_config:a,status:e.status,max_concurrent_tasks:e.maxConcurrentTasks,email_handle:e.emailHandle||null,avatar_url:e.avatarUrl??null,visibility:e.visibility??"private",owner_id:e.ownerId??null,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"calendarEventToResponse",0,function(e){let a=(0,t.formatTimestamp)(e.scheduledAt),r=e.occurrenceAt?(0,t.formatTimestamp)(e.occurrenceAt):a;return{id:e.id,agent_id:e.agentId,workspace_id:e.workspaceId,title:e.title,description:e.description??null,scheduled_at:a,occurrence_at:r,collapsed_count:e.collapsedCount??null,repeat_interval:e.repeatInterval??null,repeat_stop_at:(0,t.formatTimestampNullable)(e.repeatStopAt),last_triggered_at:(0,t.formatTimestampNullable)(e.lastTriggeredAt),created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"channelToResponse",0,function(e){return{id:e.id,workspace_id:e.workspaceId,name:e.name,created_at:(0,t.formatTimestamp)(e.createdAt)}},"conversationToResponse",0,function(e){let a={id:e.id,agent_id:e.agentId,title:e.title,type:e.type??n.TASK_TYPES.USER_DM_MESSAGE,channel:e.channel??"default",created_at:(0,t.formatTimestamp)(e.createdAt)};return void 0!==e.messageCount&&(a.message_count=e.messageCount),a},"emailToResponse",0,function(e){return{id:e.id,agent_id:e.agentId,from_email:e.fromEmail,to_email:e.toEmail,subject:e.subject,r2_key:e.r2Key,is_whitelisted:!!e.isWhitelisted,forwarded:!!e.forwarded,message_id:e.messageId??"",in_reply_to:e.inReplyTo??"",references:e.references??"",html_body:e.htmlBody??"",attachments:JSON.parse(e.attachments||"[]"),status:e.status??"unread",direction:e.direction??"inbound",created_at:(0,t.formatTimestamp)(e.createdAt)}},"inviteToResponse",0,function(e){return{id:e.id,token:e.token,created_by:e.createdBy,used_by:e.usedBy,expires_at:(0,t.formatTimestamp)(e.expiresAt),created_at:(0,t.formatTimestamp)(e.createdAt)}},"issueToResponse",0,function(e){return{id:e.id,workspace_id:e.workspaceId,agent_id:e.agentId,creator_user_id:e.creatorUserId,conversation_id:e.conversationId,latest_task_id:e.latestTaskId??null,title:e.title,description:e.description??"",status:e.status,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt)}},"machineTokenToResponse",0,function(e){return{id:e.id,name:e.name,last_used_at:(0,t.formatTimestampNullable)(e.lastUsedAt),created_at:(0,t.formatTimestamp)(e.createdAt)}},"meetingToResponse",0,function(e){return{id:e.id,agent_id:e.agentId,workspace_id:e.workspaceId,title:e.title,meeting_url:e.meetingUrl,status:e.status,from_email:e.fromEmail??null,is_whitelisted:!!e.isWhitelisted,participants:e.participants??[],scheduled_at:(0,t.formatTimestampNullable)(e.scheduledAt),started_at:(0,t.formatTimestampNullable)(e.startedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt),transcript_r2_key:e.transcriptR2Key??null,summary:e.summary??null,error:e.error??null,worker_session_id:e.workerSessionId??null,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"memberToResponse",0,function(e){return{id:e.id,user_id:e.userId,role:e.role,name:e.userName,email:e.userEmail,image:e.userImage,created_at:(0,t.formatTimestamp)(e.createdAt)}},"messageToResponse",0,function(e){let a={id:e.id,conversation_id:e.conversationId,role:e.role,content:e.content,task_id:e.taskId||null,attachment_ids:e.attachmentIds?JSON.parse(e.attachmentIds):null,metadata:e.metadata?JSON.parse(e.metadata):null,created_at:(0,t.formatTimestamp)(e.createdAt)};return e.status&&"active"!==e.status&&(a.status=e.status),a},"runtimeToResponse",0,function(e){let a=e.metadata;a||(a={});let n=e.machineLastSeenAt??null,i=n instanceof Date?n.toISOString():n;return{id:e.id,workspace_id:e.workspaceId,daemon_id:e.daemonId||null,runtime_mode:e.runtimeMode,provider:e.provider,status:(0,r.isOnline)(i)?"online":"offline",device_info:e.deviceInfo,metadata:a,pending_update_version:e.pendingUpdateVersion??null,pending_rescan:!!e.pendingRescan,last_seen_at:(0,t.formatTimestampNullable)(n),created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"taskMessageToResponse",0,function(e){let t={id:e.id,task_id:e.taskId,seq:e.seq,type:e.type,tool:e.tool,call_id:e.callId||"",content:e.content,output:e.output};return e.input&&(t.input=e.input),t},"taskToActivityResponse",0,function(e){let a=e.prompt.length>120?e.prompt.slice(0,120):e.prompt;return{id:e.id,conversation_id:e.conversationId,type:e.type??n.TASK_TYPES.USER_DM_MESSAGE,status:e.status,prompt:a,created_at:(0,t.formatTimestamp)(e.createdAt),started_at:(0,t.formatTimestampNullable)(e.startedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt),error:e.error||null}},"taskToResponse",0,function(e){return a.TaskApiBaseSchema.parse({id:e.id,agent_id:e.agentId,runtime_id:e.runtimeId,conversation_id:e.conversationId,workspace_id:e.workspaceId,prompt:e.prompt,type:e.type??n.TASK_TYPES.USER_DM_MESSAGE,context_key:e.contextKey??null,context:e.context??null,status:e.status,priority:e.priority,dispatched_at:(0,t.formatTimestampNullable)(e.dispatchedAt),started_at:(0,t.formatTimestampNullable)(e.startedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt),result:e.result??null,error:e.error||null,created_at:(0,t.formatTimestamp)(e.createdAt),trace_id:e.traceId??null,parent_task_id:e.parentTaskId??null})},"userToResponse",0,function(e){return{id:e.id,name:e.name,email:e.email,avatar_url:e.avatarUrl??null,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"workspaceToResponse",0,function(e){return{id:e.id,name:e.name,slug:e.slug,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}}])},82087,e=>e.a(async(t,a)=>{try{var r=e.i(291484);e.i(700598);var n=e.i(291109),i=e.i(704024),s=e.i(152327),o=e.i(47962),d=e.i(776227),l=e.i(740580),u=e.i(675139),c=t([s]);[s]=c.then?(await c)():c;let p=/^https:\/\/meet\.google\.com\/[a-z]{3}-[a-z]{4}-[a-z]{3}$/,m=(0,s.withAuth)(async(e,t)=>{let a=await (0,o.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:i}=(0,r.getCloudflareContext)(),s=(0,u.getDb)(i.DB),c=t.params?.id;if(!c)return(0,d.writeError)("agent id is required",400);let p=await n.queries.meetingSession.listMeetingSessions(s,c,a.workspaceId);return(0,d.writeJSON)(p.map(l.meetingToResponse))}),_=(0,s.withAuth)(async(e,t)=>{let a,s=await (0,o.withWorkspaceMember)(e,t);if(s instanceof Response)return s;let{env:c}=(0,r.getCloudflareContext)(),m=(0,u.getDb)(c.DB),_=t.params?.id;if(!_)return(0,d.writeError)("agent id is required",400);if(!await n.queries.agent.getAgent(m,_,s.workspaceId))return(0,d.writeError)("agent not found",404);try{a=await e.json()}catch{return(0,d.writeError)("invalid request body",400)}if(!a.meetingUrl)return(0,d.writeError)("meetingUrl is required",400);if(!p.test(a.meetingUrl))return(0,d.writeError)("invalid Google Meet URL format",400);let f=await n.queries.meetingSession.createMeetingSession(m,{agentId:_,workspaceId:s.workspaceId,title:a.title??"",meetingUrl:a.meetingUrl,status:i.MeetingStatus.SCHEDULED,isWhitelisted:!0,participants:a.participants??[],scheduledAt:a.scheduledAt??new Date().toISOString()}),g=await n.queries.meetingSession.getMeetingSession(m,f.id,s.workspaceId);return g?(0,d.writeJSON)((0,l.meetingToResponse)(g),201):(0,d.writeError)("meeting not found",404)});e.s(["GET",0,m,"POST",0,_]),a()}catch(e){a(e)}},!1),963935,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),d=e.i(204960),l=e.i(924918),u=e.i(363585),c=e.i(906846),p=e.i(359838),m=e.i(383303),_=e.i(234173),f=e.i(270215),g=e.i(830665),h=e.i(944002),w=e.i(193695);e.i(195928);var T=e.i(81543),R=e.i(82087),v=t([R]);[R]=v.then?(await v)():v;let y=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/agents/[id]/meetings/route",pathname:"/api/agents/[id]/meetings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/agents/[id]/meetings/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:I,serverHooks:k}=y;async function A(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),y.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/agents/[id]/meetings/route";r=r.replace(/\/index$/,"")||"/";let i=await y.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:R,deploymentId:v,params:A,nextConfig:E,parsedUrl:I,isDraftMode:k,prerenderManifest:S,routerServerContext:b,isOnDemandRevalidate:N,revalidateOnlyGenerated:x,resolvedPathname:C,clientReferenceManifest:O,serverActionsManifest:M}=i,U=(0,l.normalizeAppPath)(r),q=!!(S.dynamicRoutes[U]||S.routes[C]),D=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,I,!1):t.end("This page could not be found"),null);if(q&&!k){let e=!!S.routes[C],t=S.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await D();throw new w.NoFallbackError}}let P=null;!q||y.isDev||k||(P=C,P="/index"===P?"/":P);let H=!0===y.isDev||!q,j=q&&!H;M&&O&&(0,d.setManifestsSingleton)({page:r,clientReferenceManifest:O,serverActionsManifest:M});let B=e.method||"GET",K=(0,o.getTracer)(),$=K.getActiveScopeSpan(),W=!!(null==b?void 0:b.isWrappedByNextServer),L=!!(0,s.getRequestMeta)(e,"minimalMode"),F=(0,s.getRequestMeta)(e,"incrementalCache")||await y.getIncrementalCache(e,E,S,L);null==F||F.resetRequestCache(),globalThis.__incrementalCache=F;let G={params:A,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:H,incrementalCache:F,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>y.onRequestError(e,t,r,n,b)},sharedContext:{buildId:R,deploymentId:v}},Z=new u.NodeNextRequest(e),J=new u.NodeNextResponse(t),z=c.NextRequestAdapter.fromNodeNextRequest(Z,(0,c.signalFromNodeResponse)(t));try{let i,s=async e=>y.handle(z,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=K.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=`${B} ${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(`${B} ${r}`)}),d=async i=>{var o,d;let l=async({previousCacheEntry:n})=>{try{if(!L&&N&&x&&!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=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=G.renderOpts.collectedTags;if(!q)return await (0,_.sendResponse)(Z,J,r,G.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[h.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:T.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 y.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:N})},!1,b),t}},u=await y.handleResponse({req:e,nextConfig:E,cacheKey:P,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:x,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!q)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==T.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(d=u.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&q||c.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,_.sendResponse)(Z,J,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};W&&$?await d($):(i=K.getActiveScopeSpan(),await K.withPropagatedContext(e.headers,()=>K.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},d),void 0,!W))}catch(t){if(t instanceof w.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:N})},!1,b),q)throw t;return await (0,_.sendResponse)(Z,J,new Response(null,{status:500})),null}}e.s(["handler",0,A,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:I})},"routeModule",0,y,"serverHooks",0,k,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,I]),a()}catch(e){a(e)}},!1)];
|
|
1
|
+
module.exports=[776227,e=>{"use strict";var t=e.i(463421);function a(e,a){return t.NextResponse.json({error:e},{status:a})}async function r(e,r){let n;try{n=await e.json()}catch{return[null,a("invalid request body",400)]}try{return[r.parse(n),null]}catch(a){let e=(a.issues??a.errors??[]).map(e=>`${e.path.join(".")}: ${e.message}`);return[null,t.NextResponse.json({error:"validation error",details:e},{status:400})]}}e.s(["formatTimestamp",0,function(e){return e?("string"==typeof e?new Date(e):e).toISOString().replace(/\.\d{3}Z$/,"Z"):""},"formatTimestampNullable",0,function(e){return e?("string"==typeof e?new Date(e):e).toISOString().replace(/\.\d{3}Z$/,"Z"):null},"parseBody",0,r,"writeError",0,a,"writeJSON",0,function(e,a=200){return t.NextResponse.json(e,{status:a})}])},47962,e=>{"use strict";var t=e.i(463421),a=e.i(291484);e.i(700598);var r=e.i(291109),n=e.i(675139),i=e.i(774078);async function s(e,s){let o=e.nextUrl.searchParams.get("workspace_id")||e.headers.get("X-Workspace-ID")||s.workspaceId;if(!o)return t.NextResponse.json({error:"workspace_id is required"},{status:400});if(!s.userId)return t.NextResponse.json({error:"user not authenticated"},{status:401});let{env:d}=await (0,a.getCloudflareContext)({async:!0}),l=(0,n.getDb)(d.DB),u=await (0,i.cached)(i.cacheKeys.member(o,s.userId),1800,()=>r.queries.member.getMemberByUserAndWorkspace(l,s.userId,o));return u||s.workspaceId!==o?u?{workspaceId:o,memberRole:u.role}:t.NextResponse.json({error:"workspace not found"},{status:404}):{workspaceId:o,memberRole:"member"}}async function o(e,a){let r=await s(e,a);return r instanceof t.NextResponse?r:"owner"!==r.memberRole?t.NextResponse.json({error:"owner access required"},{status:403}):r}e.s(["withWorkspaceMember",0,s,"withWorkspaceOwner",0,o])},469187,e=>{"use strict";var t=e.i(704024);e.s(["isOnline",0,function(e){if(!e)return!1;let a=new Date(e.includes("T")||e.includes("Z")||e.includes("+")?e:e+"Z").getTime();return!isNaN(a)&&Date.now()-a<t.OFFLINE_THRESHOLD_MS}])},740580,e=>{"use strict";var t=e.i(776227);e.i(700598);var a=e.i(888247),r=e.i(469187),n=e.i(704024);e.s(["agentLinkToResponse",0,function(e){return{id:e.id,workspace_id:e.workspaceId,source_agent_id:e.sourceAgentId,target_agent_id:e.targetAgentId,instruction:e.instruction,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"agentToResponse",0,function(e){let a=e.runtimeConfig;return a||(a={}),{id:e.id,workspace_id:e.workspaceId,runtime_id:e.runtimeId||"",name:e.name,description:e.description,instructions:e.instructions,runtime_mode:e.runtimeMode,runtime_config:a,status:e.status,max_concurrent_tasks:e.maxConcurrentTasks,email_handle:e.emailHandle||null,avatar_url:e.avatarUrl??null,visibility:e.visibility??"private",owner_id:e.ownerId??null,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"calendarEventToResponse",0,function(e){let a=(0,t.formatTimestamp)(e.scheduledAt),r=e.occurrenceAt?(0,t.formatTimestamp)(e.occurrenceAt):a;return{id:e.id,agent_id:e.agentId,workspace_id:e.workspaceId,title:e.title,description:e.description??null,scheduled_at:a,occurrence_at:r,collapsed_count:e.collapsedCount??null,repeat_interval:e.repeatInterval??null,repeat_stop_at:(0,t.formatTimestampNullable)(e.repeatStopAt),last_triggered_at:(0,t.formatTimestampNullable)(e.lastTriggeredAt),created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"channelToResponse",0,function(e){return{id:e.id,workspace_id:e.workspaceId,name:e.name,position:e.position??0,created_at:(0,t.formatTimestamp)(e.createdAt)}},"conversationToResponse",0,function(e){let a={id:e.id,agent_id:e.agentId,title:e.title,type:e.type??n.TASK_TYPES.USER_DM_MESSAGE,channel:e.channel??"default",created_at:(0,t.formatTimestamp)(e.createdAt)};return void 0!==e.messageCount&&(a.message_count=e.messageCount),a},"emailToResponse",0,function(e){return{id:e.id,agent_id:e.agentId,from_email:e.fromEmail,to_email:e.toEmail,subject:e.subject,r2_key:e.r2Key,is_whitelisted:!!e.isWhitelisted,forwarded:!!e.forwarded,message_id:e.messageId??"",in_reply_to:e.inReplyTo??"",references:e.references??"",html_body:e.htmlBody??"",attachments:JSON.parse(e.attachments||"[]"),status:e.status??"unread",direction:e.direction??"inbound",created_at:(0,t.formatTimestamp)(e.createdAt)}},"inviteToResponse",0,function(e){return{id:e.id,token:e.token,created_by:e.createdBy,used_by:e.usedBy,expires_at:(0,t.formatTimestamp)(e.expiresAt),created_at:(0,t.formatTimestamp)(e.createdAt)}},"issueToResponse",0,function(e){return{id:e.id,workspace_id:e.workspaceId,agent_id:e.agentId,creator_user_id:e.creatorUserId,conversation_id:e.conversationId,latest_task_id:e.latestTaskId??null,title:e.title,description:e.description??"",status:e.status,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt)}},"machineTokenToResponse",0,function(e){return{id:e.id,name:e.name,last_used_at:(0,t.formatTimestampNullable)(e.lastUsedAt),created_at:(0,t.formatTimestamp)(e.createdAt)}},"meetingToResponse",0,function(e){return{id:e.id,agent_id:e.agentId,workspace_id:e.workspaceId,title:e.title,meeting_url:e.meetingUrl,status:e.status,from_email:e.fromEmail??null,is_whitelisted:!!e.isWhitelisted,participants:e.participants??[],scheduled_at:(0,t.formatTimestampNullable)(e.scheduledAt),started_at:(0,t.formatTimestampNullable)(e.startedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt),transcript_r2_key:e.transcriptR2Key??null,summary:e.summary??null,error:e.error??null,worker_session_id:e.workerSessionId??null,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"memberToResponse",0,function(e){return{id:e.id,user_id:e.userId,role:e.role,name:e.userName,email:e.userEmail,image:e.userImage,created_at:(0,t.formatTimestamp)(e.createdAt)}},"messageToResponse",0,function(e){let a={id:e.id,conversation_id:e.conversationId,role:e.role,content:e.content,task_id:e.taskId||null,attachment_ids:e.attachmentIds?JSON.parse(e.attachmentIds):null,metadata:e.metadata?JSON.parse(e.metadata):null,created_at:(0,t.formatTimestamp)(e.createdAt)};return e.status&&"active"!==e.status&&(a.status=e.status),a},"runtimeToResponse",0,function(e){let a=e.metadata;a||(a={});let n=e.machineLastSeenAt??null,i=n instanceof Date?n.toISOString():n;return{id:e.id,workspace_id:e.workspaceId,daemon_id:e.daemonId||null,runtime_mode:e.runtimeMode,provider:e.provider,status:(0,r.isOnline)(i)?"online":"offline",device_info:e.deviceInfo,metadata:a,pending_update_version:e.pendingUpdateVersion??null,pending_rescan:!!e.pendingRescan,last_seen_at:(0,t.formatTimestampNullable)(n),created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"taskMessageToResponse",0,function(e){let t={id:e.id,task_id:e.taskId,seq:e.seq,type:e.type,tool:e.tool,call_id:e.callId||"",content:e.content,output:e.output};return e.input&&(t.input=e.input),t},"taskToActivityResponse",0,function(e){let a=e.prompt.length>120?e.prompt.slice(0,120):e.prompt;return{id:e.id,conversation_id:e.conversationId,type:e.type??n.TASK_TYPES.USER_DM_MESSAGE,status:e.status,prompt:a,created_at:(0,t.formatTimestamp)(e.createdAt),started_at:(0,t.formatTimestampNullable)(e.startedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt),error:e.error||null}},"taskToResponse",0,function(e){return a.TaskApiBaseSchema.parse({id:e.id,agent_id:e.agentId,runtime_id:e.runtimeId,conversation_id:e.conversationId,workspace_id:e.workspaceId,prompt:e.prompt,type:e.type??n.TASK_TYPES.USER_DM_MESSAGE,context_key:e.contextKey??null,context:e.context??null,status:e.status,priority:e.priority,dispatched_at:(0,t.formatTimestampNullable)(e.dispatchedAt),started_at:(0,t.formatTimestampNullable)(e.startedAt),completed_at:(0,t.formatTimestampNullable)(e.completedAt),result:e.result??null,error:e.error||null,created_at:(0,t.formatTimestamp)(e.createdAt),trace_id:e.traceId??null,parent_task_id:e.parentTaskId??null})},"userToResponse",0,function(e){return{id:e.id,name:e.name,email:e.email,avatar_url:e.avatarUrl??null,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}},"workspaceToResponse",0,function(e){return{id:e.id,name:e.name,slug:e.slug,created_at:(0,t.formatTimestamp)(e.createdAt),updated_at:(0,t.formatTimestamp)(e.updatedAt)}}])},82087,e=>e.a(async(t,a)=>{try{var r=e.i(291484);e.i(700598);var n=e.i(291109),i=e.i(704024),s=e.i(152327),o=e.i(47962),d=e.i(776227),l=e.i(740580),u=e.i(675139),c=t([s]);[s]=c.then?(await c)():c;let p=/^https:\/\/meet\.google\.com\/[a-z]{3}-[a-z]{4}-[a-z]{3}$/,m=(0,s.withAuth)(async(e,t)=>{let a=await (0,o.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:i}=(0,r.getCloudflareContext)(),s=(0,u.getDb)(i.DB),c=t.params?.id;if(!c)return(0,d.writeError)("agent id is required",400);let p=await n.queries.meetingSession.listMeetingSessions(s,c,a.workspaceId);return(0,d.writeJSON)(p.map(l.meetingToResponse))}),_=(0,s.withAuth)(async(e,t)=>{let a,s=await (0,o.withWorkspaceMember)(e,t);if(s instanceof Response)return s;let{env:c}=(0,r.getCloudflareContext)(),m=(0,u.getDb)(c.DB),_=t.params?.id;if(!_)return(0,d.writeError)("agent id is required",400);if(!await n.queries.agent.getAgent(m,_,s.workspaceId))return(0,d.writeError)("agent not found",404);try{a=await e.json()}catch{return(0,d.writeError)("invalid request body",400)}if(!a.meetingUrl)return(0,d.writeError)("meetingUrl is required",400);if(!p.test(a.meetingUrl))return(0,d.writeError)("invalid Google Meet URL format",400);let f=await n.queries.meetingSession.createMeetingSession(m,{agentId:_,workspaceId:s.workspaceId,title:a.title??"",meetingUrl:a.meetingUrl,status:i.MeetingStatus.SCHEDULED,isWhitelisted:!0,participants:a.participants??[],scheduledAt:a.scheduledAt??new Date().toISOString()}),g=await n.queries.meetingSession.getMeetingSession(m,f.id,s.workspaceId);return g?(0,d.writeJSON)((0,l.meetingToResponse)(g),201):(0,d.writeError)("meeting not found",404)});e.s(["GET",0,m,"POST",0,_]),a()}catch(e){a(e)}},!1),963935,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),d=e.i(204960),l=e.i(924918),u=e.i(363585),c=e.i(906846),p=e.i(359838),m=e.i(383303),_=e.i(234173),f=e.i(270215),g=e.i(830665),h=e.i(944002),w=e.i(193695);e.i(195928);var T=e.i(81543),R=e.i(82087),v=t([R]);[R]=v.then?(await v)():v;let y=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/agents/[id]/meetings/route",pathname:"/api/agents/[id]/meetings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/agents/[id]/meetings/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:I,serverHooks:k}=y;async function A(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),y.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/agents/[id]/meetings/route";r=r.replace(/\/index$/,"")||"/";let i=await y.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:R,deploymentId:v,params:A,nextConfig:E,parsedUrl:I,isDraftMode:k,prerenderManifest:S,routerServerContext:b,isOnDemandRevalidate:N,revalidateOnlyGenerated:x,resolvedPathname:C,clientReferenceManifest:O,serverActionsManifest:M}=i,U=(0,l.normalizeAppPath)(r),q=!!(S.dynamicRoutes[U]||S.routes[C]),D=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,I,!1):t.end("This page could not be found"),null);if(q&&!k){let e=!!S.routes[C],t=S.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await D();throw new w.NoFallbackError}}let P=null;!q||y.isDev||k||(P=C,P="/index"===P?"/":P);let H=!0===y.isDev||!q,j=q&&!H;M&&O&&(0,d.setManifestsSingleton)({page:r,clientReferenceManifest:O,serverActionsManifest:M});let B=e.method||"GET",K=(0,o.getTracer)(),$=K.getActiveScopeSpan(),W=!!(null==b?void 0:b.isWrappedByNextServer),L=!!(0,s.getRequestMeta)(e,"minimalMode"),F=(0,s.getRequestMeta)(e,"incrementalCache")||await y.getIncrementalCache(e,E,S,L);null==F||F.resetRequestCache(),globalThis.__incrementalCache=F;let G={params:A,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:H,incrementalCache:F,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>y.onRequestError(e,t,r,n,b)},sharedContext:{buildId:R,deploymentId:v}},Z=new u.NodeNextRequest(e),J=new u.NodeNextResponse(t),z=c.NextRequestAdapter.fromNodeNextRequest(Z,(0,c.signalFromNodeResponse)(t));try{let i,s=async e=>y.handle(z,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=K.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=`${B} ${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(`${B} ${r}`)}),d=async i=>{var o,d;let l=async({previousCacheEntry:n})=>{try{if(!L&&N&&x&&!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=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=G.renderOpts.collectedTags;if(!q)return await (0,_.sendResponse)(Z,J,r,G.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[h.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:T.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 y.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:N})},!1,b),t}},u=await y.handleResponse({req:e,nextConfig:E,cacheKey:P,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:x,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!q)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==T.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(d=u.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&q||c.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,_.sendResponse)(Z,J,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};W&&$?await d($):(i=K.getActiveScopeSpan(),await K.withPropagatedContext(e.headers,()=>K.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},d),void 0,!W))}catch(t){if(t instanceof w.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:N})},!1,b),q)throw t;return await (0,_.sendResponse)(Z,J,new Response(null,{status:500})),null}}e.s(["handler",0,A,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:I})},"routeModule",0,y,"serverHooks",0,k,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,I]),a()}catch(e){a(e)}},!1)];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_0qc2pnl._.js.map
|
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),
|
|
2
|
-
${t.toLeader}`});
|
|
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),m=e.i(47962),h=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,m.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,h.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,h.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,h.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 _=C.find(e=>"leader"===e.role),L=C.filter(e=>"leader"!==e.role),q=[];for(let e of L){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:_.id,targetAgentId:e.id,instruction:`${t.fromLeader}
|
|
2
|
+
${t.toLeader}`});q.push(r)}catch{}}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))]);try{await n.queries.agentPin.pinAgent(y,{agentId:_.id,workspaceId:a.workspaceId,userId:t.userId})}catch{}let O=S.get(I.members.find(e=>"leader"===e.role).runtime_id);if(_.emailHandle&&t.email&&O&&(0,o.isOnline)(O.machineLastSeenAt))try{let e=C.filter(e=>e.id!==_.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 "${_.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(
|
|
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:_.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(_.id,i.id,a.workspaceId,r,l.TASK_TYPES.EMAIL_NOTIFICATION)}catch{}if(_&&O&&(0,o.isOnline)(O.machineLastSeenAt))try{let e=C.filter(e=>e.id!==_.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 "${_.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(
|
|
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:_.id,userId:t.userId,title:"Welcome",type:l.TASK_TYPES.USER_DM_MESSAGE}),s=new g.TaskService(y);await s.enqueueTask(_.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)),D=await n.queries.workspace.getWorkspace(y,a.workspaceId,t.userId);return(0,h.writeJSON)({studio:{name:D?.name||I.name||""},workspace:(0,w.workspaceToResponse)(D||A),leader_agent_id:_.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),m=e.i(383303),h=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:_,revalidateOnlyGenerated:L,resolvedPathname:q,clientReferenceManifest:x,serverActionsManifest:N}=i,O=(0,d.normalizeAppPath)(r),$=!!(b.dynamicRoutes[O]||b.routes[q]),D=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,A,!1):t.end("This page could not be found"),null);if($&&!C){let e=!!b.routes[q],t=b.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await D();throw new y.NoFallbackError}}let P=null;!$||E.isDev||C||(P=q,P="/index"===P?"/":P);let H=!0===E.isDev||!$,M=$&&!H;N&&x&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:x,serverActionsManifest:N});let U=e.method||"GET",B=(0,o.getTracer)(),K=B.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=B.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=`${U} ${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(`${U} ${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(!$)return await (0,h.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,m.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:_})},!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:_,revalidateOnlyGenerated:L,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:j});if(!$)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",_?"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&&$||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,h.sendResponse)(G,X,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};W&&K?await l(K):(i=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":U,"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,m.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:_})},!1,T),$)throw t;return await (0,h.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
|