@alook/app 0.0.117 → 0.0.119
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 +219 -207
- 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/{0quc_lvg3c4wu.js → 0-xdwhncj5-wf.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/018pin4~.wsr7.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/028fjo.mmn73u.js +7 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{0tw05tsn2c~1m.js → 02j9o2uuj_oc8.js} +15 -15
- package/bundled/web/.open-next/assets/_next/static/chunks/06-zhqf9ypqns.css +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0d3l0nm-qcu53.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0fw7efx7cy195.js +62 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0kk1judky0sd5.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{12bd-kqbplx9m.js → 0nj24~vvlulgh.js} +3 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/0r8zw56k96o0q.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{042a4jeudcp22.js → 0u64son5-k77n.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/{110sy1mmp9v~7.js → 0x14heey9lt7d.js} +3 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/0xaxg3kh619o8.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0z4n3xpn4dp13.js +63 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0~r1l8ej-9p~h.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/110epmmtnkv9w.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{118ani.qejoy9.js → 12tz.n~x91ghm.js} +1 -1
- package/bundled/web/.open-next/cache/{FjNKGEvkF0L0MRIiOb2vT → bwwUBlSnuSEyz1RNfFbW9}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/{FjNKGEvkF0L0MRIiOb2vT → bwwUBlSnuSEyz1RNfFbW9}/_not-found.cache +1 -1
- package/bundled/web/.open-next/cache/{FjNKGEvkF0L0MRIiOb2vT → bwwUBlSnuSEyz1RNfFbW9}/device.cache +1 -1
- package/bundled/web/.open-next/cache/{FjNKGEvkF0L0MRIiOb2vT → bwwUBlSnuSEyz1RNfFbW9}/privacy.cache +1 -1
- package/bundled/web/.open-next/cache/{FjNKGEvkF0L0MRIiOb2vT → bwwUBlSnuSEyz1RNfFbW9}/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 +8 -8
- 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 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/routes-manifest.json +8 -17
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/activity/page/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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]/page/react-loadable-manifest.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +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/react-loadable-manifest.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/chat-init/route.js +6 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/whitelist/route.js +7 -8
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/route.js +4 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/active-task/route.js +7 -8
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/init/route.js +6 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/messages/route.js +8 -9
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/{conversations/[id]/buffered-messages/[messageId] → daemon/conversations/[id]/messages}/route.js +8 -8
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/conversations/[id]/messages/route_client-reference-manifest.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/register/route.js +3 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/sweep/route.js +5 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/complete/route.js +6 -8
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/fail/route.js +6 -8
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/messages/route.js +3 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/start/route.js +6 -8
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/supersede/route.js +6 -8
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/poll/route.js +5 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/notify/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/comments/route.js +7 -8
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/route.js +7 -8
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/route.js +7 -8
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/route.js +7 -8
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/retry/route.js +7 -8
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/device/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page/react-loadable-manifest.json +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/privacy/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app-paths-manifest.json +1 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/05hd_server_app_api_daemon_conversations_[id]_messages_route_actions_0.iz1u1.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0-63.yt._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__010~hln._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__01pm5bg._.js +58 -70
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__08oq0ro._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0arm85_._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0gp~w40._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{[root-of-the-server]__088o0os._.js → [root-of-the-server]__0hz_j32._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0i0ukpl._.js +58 -70
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0j5fdu2._.js +58 -70
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0syz.lm._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{[root-of-the-server]__0sf_9ve._.js → [root-of-the-server]__0vi97bn._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0x8e1~2._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +39 -44
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0.gkbx8._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_00-p7_0._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_03gwxos._.js +5 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_03t_17c._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_06mrt6t._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08xh_f8._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_09ivzvb._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0_21cs4._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0huk3rm._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0jj44iu._.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0l1m9wf._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0m4uqwa._.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0mibx4k._.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ow_nxn._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0r.02hx._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0thudj4._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0wbaduy._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0yzq1gx._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0zyolvu._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_12-_-5g._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_12-v7sn._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0wkbw.-._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__04mf.th._.js +54 -66
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__10nperb._.js → [root-of-the-server]__0_3cckh._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0e65njz._.js +54 -66
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0i8fzgr._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +39 -44
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0bt_5pi._.js → _055~~zq._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0bti.y.._.js → _05kh57s._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0iiagkx._.js → _09rh54w._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0_.06ux._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0asq_j3._.js +65 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0im0q-g._.js +9 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0owr40y._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0r_ppn9._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0vtcof8._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_04xzk.p._.js → node_modules__pnpm_0-7t060._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0y6wy4c._.js → node_modules__pnpm_0emry~3._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_02vp72~._.js → node_modules__pnpm_0lqu_u4._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0k_ahqs._.js → node_modules__pnpm_0ml9n-.._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0t783t_._.js → node_modules__pnpm_0qmml4f._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0j~49hk._.js → node_modules__pnpm_0vztztj._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0.jtjpe._.js → node_modules__pnpm_0wu1nx-._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0i183cf._.js → node_modules__pnpm_11id~ub._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_0liq_10._.js +54 -66
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0~23g-y._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_agents_[id]_meetings_page_tsx_073~u~-._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_home_home-page_tsx_0to84tv._.js +1 -1
- 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 +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +492 -534
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +1025 -841
- package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +5 -5
- package/bundled/web/migrations/0037_inbox_unread_table.sql +43 -0
- package/bundled/web/wrangler.toml +1 -1
- package/bundled/ws-do/index.js +174 -174
- package/dist/cli/index.js +368 -68
- package/dist/cli/session-runner.js +68 -9
- package/dist/index.js +23 -2
- package/package.json +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0_7t-ouonb08v.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/0fme52sqdtk.p.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/0h5tl-yh9wijv.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0j5gd-ljh6ao_.js +0 -62
- package/bundled/web/.open-next/assets/_next/static/chunks/0lus0pm79r-7o.js +0 -7
- package/bundled/web/.open-next/assets/_next/static/chunks/0m-e05qz5c6a..js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0s-pai_2464mg.css +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0u8cu1dfn9~01.js +0 -63
- package/bundled/web/.open-next/assets/_next/static/chunks/0xg02n4bo4.1m.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/18b_fy7re_rp..js +0 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/[messageId]/route_client-reference-manifest.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/route.js +0 -17
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/route_client-reference-manifest.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/00~o_app_api_conversations_[id]_buffered-messages_[messageId]_route_actions_0e338dt.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/05hd_server_app_api_conversations_[id]_buffered-messages_route_actions_0mf5n8a.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0d0_qit._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_00_9pus._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_02.f31i._.js +0 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_025fm6r._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_03ju0js._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_06imn.m._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_07hpwgw._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08y2ta9._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0_kfe3c._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ahwrti._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0b4pq8.._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0d6rwbr._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0gqpz7w._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0h-fa04._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0il0z_b._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0l1rr.g._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0p_10om._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0r04wj_._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ri6_n4._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0zk1_mu._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0zt3sdk._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_102qunz._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_12i.jt7._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_13lep.0._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_web_src_lib_services_0yvxfxt._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_004q5tu._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0g~0u9h._.js +0 -65
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0kv_hld._.js +0 -9
- /package/bundled/web/.open-next/assets/_next/static/{FjNKGEvkF0L0MRIiOb2vT → bwwUBlSnuSEyz1RNfFbW9}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{FjNKGEvkF0L0MRIiOb2vT → bwwUBlSnuSEyz1RNfFbW9}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{FjNKGEvkF0L0MRIiOb2vT → bwwUBlSnuSEyz1RNfFbW9}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{FjNKGEvkF0L0MRIiOb2vT → bwwUBlSnuSEyz1RNfFbW9}/robots.txt.cache +0 -0
|
@@ -16966,7 +16966,7 @@ var init_zod = __esm({
|
|
|
16966
16966
|
});
|
|
16967
16967
|
|
|
16968
16968
|
// ../shared/src/schemas.ts
|
|
16969
|
-
var TaskStatusSchema, ClaimedTaskRowSchema, ColleagueDataApiSchema, TaskAgentDataApiSchema, TaskApiBaseSchema, TaskSenderApiSchema, TaskApiSchema, HeartbeatRequestSchema, SweepRequestSchema, PollRequestSchema, FileRequestItemSchema, PollMeetingItemSchema, PollResponseSchema, DaemonPushMessageSchema, RegisterResponseSchema, DaemonRuntimeItemSchema, ActivateTokenRuntimeSchema, ActivateTokenRequestSchema, RegisterDaemonRequestSchema, DeregisterRequestSchema, CompleteTaskRequestSchema, FailTaskRequestSchema, MessageItemSchema, ReportMessagesRequestSchema, RepeatIntervalSchema, CreateCalendarEventRequestSchema, UpdateCalendarEventRequestSchema, DeleteCalendarEventRequestSchema, CalendarEventApiSchema, IssueStatusSchema, CreateIssueRequestSchema, UpdateIssueRequestSchema, CreateIssueCommentBodySchema, CreateIssueCommentRequestSchema, IssueCommentApiSchema, IssueApiSchema, CreateAgentLinkRequestSchema, UpdateAgentLinkRequestSchema, AddWhitelistRequestSchema, RuntimeConfigSchema, CreateAgentRequestSchema, UpdateAgentRequestSchema, CreateConversationRequestSchema, CreateMessageRequestSchema,
|
|
16969
|
+
var TaskStatusSchema, ClaimedTaskRowSchema, ColleagueDataApiSchema, TaskAgentDataApiSchema, TaskApiBaseSchema, TaskSenderApiSchema, TaskApiSchema, HeartbeatRequestSchema, SweepRequestSchema, PollRequestSchema, FileRequestItemSchema, PollMeetingItemSchema, PollResponseSchema, DaemonPushMessageSchema, RegisterResponseSchema, DaemonRuntimeItemSchema, ActivateTokenRuntimeSchema, ActivateTokenRequestSchema, RegisterDaemonRequestSchema, DeregisterRequestSchema, CompleteTaskRequestSchema, FailTaskRequestSchema, MessageItemSchema, ReportMessagesRequestSchema, RepeatIntervalSchema, CreateCalendarEventRequestSchema, UpdateCalendarEventRequestSchema, DeleteCalendarEventRequestSchema, CalendarEventApiSchema, IssueStatusSchema, CreateIssueRequestSchema, UpdateIssueRequestSchema, CreateIssueCommentBodySchema, CreateIssueCommentRequestSchema, IssueCommentApiSchema, IssueApiSchema, CreateAgentLinkRequestSchema, UpdateAgentLinkRequestSchema, UpsertAgentLinkRequestSchema, AddWhitelistRequestSchema, RuntimeConfigSchema, CreateAgentRequestSchema, UpdateAgentRequestSchema, CreateConversationRequestSchema, CreateMessageRequestSchema, AgentDmRequestSchema, EmailAttachmentSchema, SendEmailRequestSchema, UpdateEmailStatusRequestSchema, MeetingInfoSchema, EmailNotifyRequestSchema, CreateEmailAccountSchema, UpdateEmailAccountSchema, TestEmailConnectionSchema, UpdateMemberRequestSchema, CreateWorkspaceRequestSchema, UpdateWorkspaceRequestSchema, DeleteWorkspaceRequestSchema, GrantAgentAccessRequestSchema, WorkspaceFileBrowseRequestSchema, WorkspaceFileEntrySchema, WorkspaceFileReportSchema, SkillEntrySchema, SkillItemSchema, SkillSyncRequestSchema, StudioMemberSchema, CreateStudioRequestSchema, RecruitAgentRequestSchema;
|
|
16970
16970
|
var init_schemas3 = __esm({
|
|
16971
16971
|
"../shared/src/schemas.ts"() {
|
|
16972
16972
|
"use strict";
|
|
@@ -17261,6 +17261,10 @@ var init_schemas3 = __esm({
|
|
|
17261
17261
|
UpdateAgentLinkRequestSchema = external_exports.object({
|
|
17262
17262
|
instruction: external_exports.string()
|
|
17263
17263
|
});
|
|
17264
|
+
UpsertAgentLinkRequestSchema = external_exports.object({
|
|
17265
|
+
target_agent_id: external_exports.string().min(1, "target_agent_id is required"),
|
|
17266
|
+
instruction: external_exports.string()
|
|
17267
|
+
});
|
|
17264
17268
|
AddWhitelistRequestSchema = external_exports.object({
|
|
17265
17269
|
email: external_exports.string().email()
|
|
17266
17270
|
});
|
|
@@ -17294,8 +17298,9 @@ var init_schemas3 = __esm({
|
|
|
17294
17298
|
CreateMessageRequestSchema = external_exports.object({
|
|
17295
17299
|
content: external_exports.string().min(1, "content is required")
|
|
17296
17300
|
});
|
|
17297
|
-
|
|
17298
|
-
content: external_exports.string().min(1, "content is required")
|
|
17301
|
+
AgentDmRequestSchema = external_exports.object({
|
|
17302
|
+
content: external_exports.string().min(1, "content is required"),
|
|
17303
|
+
task_id: external_exports.string().min(1).optional()
|
|
17299
17304
|
});
|
|
17300
17305
|
EmailAttachmentSchema = external_exports.object({
|
|
17301
17306
|
key: external_exports.string().min(1),
|
|
@@ -24473,6 +24478,7 @@ __export(schema_exports, {
|
|
|
24473
24478
|
conversationMap: () => conversationMap,
|
|
24474
24479
|
conversationReadState: () => conversationReadState,
|
|
24475
24480
|
emails: () => emails,
|
|
24481
|
+
inboxUnread: () => inboxUnread,
|
|
24476
24482
|
issue: () => issue2,
|
|
24477
24483
|
issueComment: () => issueComment,
|
|
24478
24484
|
machine: () => machine,
|
|
@@ -24489,7 +24495,7 @@ __export(schema_exports, {
|
|
|
24489
24495
|
workspaceFileRequest: () => workspaceFileRequest,
|
|
24490
24496
|
workspaceInvite: () => workspaceInvite
|
|
24491
24497
|
});
|
|
24492
|
-
var user, session, account, verification, workspace, member, workspaceInvite, agentAccess, agentPin, agentSidebarOrder, machine, agentRuntime, agent, agentWhitelist, channel2, conversation, message, agentTaskQueue, issue2, issueComment, taskMessage, emails, calendarEvent, artifact, agentEmailAccount, meetingSession, machineToken, messageFlag, conversationMap, agentLink, conversationReadState, workspaceFileRequest, agentSkill;
|
|
24498
|
+
var user, session, account, verification, workspace, member, workspaceInvite, agentAccess, agentPin, agentSidebarOrder, machine, agentRuntime, agent, agentWhitelist, channel2, conversation, message, agentTaskQueue, issue2, issueComment, taskMessage, emails, calendarEvent, artifact, agentEmailAccount, meetingSession, machineToken, messageFlag, conversationMap, agentLink, conversationReadState, workspaceFileRequest, agentSkill, inboxUnread;
|
|
24493
24499
|
var init_schema = __esm({
|
|
24494
24500
|
"../shared/src/db/schema.ts"() {
|
|
24495
24501
|
"use strict";
|
|
@@ -25139,6 +25145,26 @@ var init_schema = __esm({
|
|
|
25139
25145
|
}).onDelete("cascade")
|
|
25140
25146
|
]
|
|
25141
25147
|
);
|
|
25148
|
+
inboxUnread = sqliteTable(
|
|
25149
|
+
"inbox_unread",
|
|
25150
|
+
{
|
|
25151
|
+
id: text("id").primaryKey().$defaultFn(() => nanoid()),
|
|
25152
|
+
conversationId: text("conversation_id").notNull().references(() => conversation.id, { onDelete: "cascade" }),
|
|
25153
|
+
userId: text("user_id").notNull().references(() => user.id, { onDelete: "cascade" }),
|
|
25154
|
+
workspaceId: text("workspace_id").notNull(),
|
|
25155
|
+
agentId: text("agent_id").notNull(),
|
|
25156
|
+
taskId: text("task_id").notNull(),
|
|
25157
|
+
taskType: text("task_type").notNull(),
|
|
25158
|
+
taskStatus: text("task_status").notNull(),
|
|
25159
|
+
taskPrompt: text("task_prompt"),
|
|
25160
|
+
completedAt: text("completed_at").notNull(),
|
|
25161
|
+
latestMessageId: text("latest_message_id")
|
|
25162
|
+
},
|
|
25163
|
+
(t) => [
|
|
25164
|
+
unique("inbox_unread_conv_user").on(t.conversationId, t.userId),
|
|
25165
|
+
index("idx_inbox_unread_user_ws").on(t.userId, t.workspaceId, t.taskType, t.completedAt)
|
|
25166
|
+
]
|
|
25167
|
+
);
|
|
25142
25168
|
}
|
|
25143
25169
|
});
|
|
25144
25170
|
|
|
@@ -25751,19 +25777,12 @@ var init_conversation = __esm({
|
|
|
25751
25777
|
// ../shared/src/db/queries/message.ts
|
|
25752
25778
|
var message_exports = {};
|
|
25753
25779
|
__export(message_exports, {
|
|
25754
|
-
activateNextBufferedMessage: () => activateNextBufferedMessage,
|
|
25755
|
-
countBufferedMessages: () => countBufferedMessages,
|
|
25756
|
-
createBufferedMessage: () => createBufferedMessage,
|
|
25757
25780
|
createMessage: () => createMessage,
|
|
25758
|
-
deleteAllBufferedMessages: () => deleteAllBufferedMessages,
|
|
25759
|
-
deleteBufferedMessage: () => deleteBufferedMessage,
|
|
25760
25781
|
getActiveMessageCount: () => getActiveMessageCount,
|
|
25761
25782
|
getMessage: () => getMessage,
|
|
25762
25783
|
getNewestMessageId: () => getNewestMessageId,
|
|
25763
|
-
listBufferedMessages: () => listBufferedMessages,
|
|
25764
25784
|
listMessages: () => listMessages,
|
|
25765
25785
|
listMessagesAroundTask: () => listMessagesAroundTask,
|
|
25766
|
-
revertToBuffered: () => revertToBuffered,
|
|
25767
25786
|
updateMessageTaskId: () => updateMessageTaskId
|
|
25768
25787
|
});
|
|
25769
25788
|
async function createMessage(db, data) {
|
|
@@ -25819,62 +25838,6 @@ async function getMessage(db, id) {
|
|
|
25819
25838
|
const rows = await db.select().from(message).where(eq(message.id, id));
|
|
25820
25839
|
return rows[0] ?? null;
|
|
25821
25840
|
}
|
|
25822
|
-
async function createBufferedMessage(db, data) {
|
|
25823
|
-
const rows = await db.insert(message).values({
|
|
25824
|
-
conversationId: data.conversationId,
|
|
25825
|
-
role: "user",
|
|
25826
|
-
content: data.content,
|
|
25827
|
-
status: "buffered",
|
|
25828
|
-
attachmentIds: data.attachmentIds ?? null
|
|
25829
|
-
}).returning();
|
|
25830
|
-
return rows[0];
|
|
25831
|
-
}
|
|
25832
|
-
async function listBufferedMessages(db, conversationId) {
|
|
25833
|
-
return db.select().from(message).where(
|
|
25834
|
-
and(
|
|
25835
|
-
eq(message.conversationId, conversationId),
|
|
25836
|
-
eq(message.status, "buffered")
|
|
25837
|
-
)
|
|
25838
|
-
).orderBy(asc(message.createdAt), asc(message.id));
|
|
25839
|
-
}
|
|
25840
|
-
async function activateNextBufferedMessage(db, conversationId) {
|
|
25841
|
-
const candidates = await db.select().from(message).where(
|
|
25842
|
-
and(
|
|
25843
|
-
eq(message.conversationId, conversationId),
|
|
25844
|
-
eq(message.status, "buffered")
|
|
25845
|
-
)
|
|
25846
|
-
).orderBy(asc(message.createdAt), asc(message.id)).limit(1);
|
|
25847
|
-
if (candidates.length === 0) return null;
|
|
25848
|
-
const target = candidates[0];
|
|
25849
|
-
const updated = await db.update(message).set({ status: "active", createdAt: new Date(Date.now() + 1e3).toISOString() }).where(and(eq(message.id, target.id), eq(message.status, "buffered"))).returning();
|
|
25850
|
-
return updated[0] ?? null;
|
|
25851
|
-
}
|
|
25852
|
-
async function revertToBuffered(db, id) {
|
|
25853
|
-
const rows = await db.update(message).set({ status: "buffered" }).where(and(eq(message.id, id), eq(message.status, "active"))).returning();
|
|
25854
|
-
return rows[0] ?? null;
|
|
25855
|
-
}
|
|
25856
|
-
async function deleteBufferedMessage(db, id) {
|
|
25857
|
-
const rows = await db.delete(message).where(and(eq(message.id, id), eq(message.status, "buffered"))).returning();
|
|
25858
|
-
return rows[0] ?? null;
|
|
25859
|
-
}
|
|
25860
|
-
async function deleteAllBufferedMessages(db, conversationId) {
|
|
25861
|
-
const rows = await db.delete(message).where(
|
|
25862
|
-
and(
|
|
25863
|
-
eq(message.conversationId, conversationId),
|
|
25864
|
-
eq(message.status, "buffered")
|
|
25865
|
-
)
|
|
25866
|
-
).returning();
|
|
25867
|
-
return rows;
|
|
25868
|
-
}
|
|
25869
|
-
async function countBufferedMessages(db, conversationId) {
|
|
25870
|
-
const rows = await db.select({ count: count3(message.id) }).from(message).where(
|
|
25871
|
-
and(
|
|
25872
|
-
eq(message.conversationId, conversationId),
|
|
25873
|
-
eq(message.status, "buffered")
|
|
25874
|
-
)
|
|
25875
|
-
);
|
|
25876
|
-
return rows[0]?.count ?? 0;
|
|
25877
|
-
}
|
|
25878
25841
|
async function updateMessageTaskId(db, messageId, taskId) {
|
|
25879
25842
|
await db.update(message).set({ taskId }).where(eq(message.id, messageId));
|
|
25880
25843
|
}
|
|
@@ -25921,13 +25884,6 @@ var init_message = __esm({
|
|
|
25921
25884
|
__name(getActiveMessageCount, "getActiveMessageCount");
|
|
25922
25885
|
__name(listMessages, "listMessages");
|
|
25923
25886
|
__name(getMessage, "getMessage");
|
|
25924
|
-
__name(createBufferedMessage, "createBufferedMessage");
|
|
25925
|
-
__name(listBufferedMessages, "listBufferedMessages");
|
|
25926
|
-
__name(activateNextBufferedMessage, "activateNextBufferedMessage");
|
|
25927
|
-
__name(revertToBuffered, "revertToBuffered");
|
|
25928
|
-
__name(deleteBufferedMessage, "deleteBufferedMessage");
|
|
25929
|
-
__name(deleteAllBufferedMessages, "deleteAllBufferedMessages");
|
|
25930
|
-
__name(countBufferedMessages, "countBufferedMessages");
|
|
25931
25887
|
__name(updateMessageTaskId, "updateMessageTaskId");
|
|
25932
25888
|
__name(listMessagesAroundTask, "listMessagesAroundTask");
|
|
25933
25889
|
}
|
|
@@ -26644,9 +26600,9 @@ var init_task = __esm({
|
|
|
26644
26600
|
// ../shared/src/db/queries/task-message.ts
|
|
26645
26601
|
var task_message_exports = {};
|
|
26646
26602
|
__export(task_message_exports, {
|
|
26647
|
-
countTextMessagesByTaskIds: () => countTextMessagesByTaskIds,
|
|
26648
26603
|
createTaskMessage: () => createTaskMessage,
|
|
26649
26604
|
deleteTaskMessages: () => deleteTaskMessages,
|
|
26605
|
+
listTaskErrorMessages: () => listTaskErrorMessages,
|
|
26650
26606
|
listTaskMessages: () => listTaskMessages,
|
|
26651
26607
|
listTaskMessagesSince: () => listTaskMessagesSince
|
|
26652
26608
|
});
|
|
@@ -26680,46 +26636,32 @@ async function listTaskMessages(db, taskId, workspaceId) {
|
|
|
26680
26636
|
}
|
|
26681
26637
|
return db.select().from(taskMessage).where(and(eq(taskMessage.taskId, taskId), notInArray(taskMessage.type, ["tool-result", "tool-use", "thinking"]))).orderBy(asc(taskMessage.seq));
|
|
26682
26638
|
}
|
|
26639
|
+
async function listTaskErrorMessages(db, taskId, workspaceId) {
|
|
26640
|
+
return db.select({
|
|
26641
|
+
id: taskMessage.id,
|
|
26642
|
+
taskId: taskMessage.taskId,
|
|
26643
|
+
seq: taskMessage.seq,
|
|
26644
|
+
type: taskMessage.type,
|
|
26645
|
+
tool: taskMessage.tool,
|
|
26646
|
+
content: taskMessage.content,
|
|
26647
|
+
callId: taskMessage.callId,
|
|
26648
|
+
input: taskMessage.input,
|
|
26649
|
+
output: taskMessage.output,
|
|
26650
|
+
createdAt: taskMessage.createdAt
|
|
26651
|
+
}).from(taskMessage).innerJoin(agentTaskQueue, eq(taskMessage.taskId, agentTaskQueue.id)).where(
|
|
26652
|
+
and(
|
|
26653
|
+
eq(taskMessage.taskId, taskId),
|
|
26654
|
+
eq(agentTaskQueue.workspaceId, workspaceId),
|
|
26655
|
+
eq(taskMessage.type, "error")
|
|
26656
|
+
)
|
|
26657
|
+
).orderBy(asc(taskMessage.seq));
|
|
26658
|
+
}
|
|
26683
26659
|
async function listTaskMessagesSince(db, taskId, afterSeq) {
|
|
26684
26660
|
return db.select().from(taskMessage).where(and(eq(taskMessage.taskId, taskId), gt(taskMessage.seq, afterSeq), notInArray(taskMessage.type, ["tool-result", "tool-use", "thinking"]))).orderBy(asc(taskMessage.seq));
|
|
26685
26661
|
}
|
|
26686
26662
|
async function deleteTaskMessages(db, taskId) {
|
|
26687
26663
|
await db.delete(taskMessage).where(eq(taskMessage.taskId, taskId));
|
|
26688
26664
|
}
|
|
26689
|
-
async function countTextMessagesByTaskIds(db, taskIds, workspaceId) {
|
|
26690
|
-
if (taskIds.length === 0) return [];
|
|
26691
|
-
const chunkSize = SQLITE_MAX_PARAMS - FIXED_PARAMS;
|
|
26692
|
-
if (taskIds.length <= chunkSize) {
|
|
26693
|
-
const rows = await db.select({
|
|
26694
|
-
taskId: taskMessage.taskId,
|
|
26695
|
-
count: count3(taskMessage.id)
|
|
26696
|
-
}).from(taskMessage).innerJoin(agentTaskQueue, eq(taskMessage.taskId, agentTaskQueue.id)).where(
|
|
26697
|
-
and(
|
|
26698
|
-
inArray(taskMessage.taskId, taskIds),
|
|
26699
|
-
eq(agentTaskQueue.workspaceId, workspaceId),
|
|
26700
|
-
eq(taskMessage.type, "text")
|
|
26701
|
-
)
|
|
26702
|
-
).groupBy(taskMessage.taskId);
|
|
26703
|
-
return rows.map((r) => ({ taskId: r.taskId, count: r.count }));
|
|
26704
|
-
}
|
|
26705
|
-
const results = [];
|
|
26706
|
-
for (let i = 0; i < taskIds.length; i += chunkSize) {
|
|
26707
|
-
const chunk = taskIds.slice(i, i + chunkSize);
|
|
26708
|
-
const rows = await db.select({
|
|
26709
|
-
taskId: taskMessage.taskId,
|
|
26710
|
-
count: count3(taskMessage.id)
|
|
26711
|
-
}).from(taskMessage).innerJoin(agentTaskQueue, eq(taskMessage.taskId, agentTaskQueue.id)).where(
|
|
26712
|
-
and(
|
|
26713
|
-
inArray(taskMessage.taskId, chunk),
|
|
26714
|
-
eq(agentTaskQueue.workspaceId, workspaceId),
|
|
26715
|
-
eq(taskMessage.type, "text")
|
|
26716
|
-
)
|
|
26717
|
-
).groupBy(taskMessage.taskId);
|
|
26718
|
-
results.push(...rows.map((r) => ({ taskId: r.taskId, count: r.count })));
|
|
26719
|
-
}
|
|
26720
|
-
return results;
|
|
26721
|
-
}
|
|
26722
|
-
var SQLITE_MAX_PARAMS, FIXED_PARAMS;
|
|
26723
26665
|
var init_task_message = __esm({
|
|
26724
26666
|
"../shared/src/db/queries/task-message.ts"() {
|
|
26725
26667
|
"use strict";
|
|
@@ -26730,11 +26672,9 @@ var init_task_message = __esm({
|
|
|
26730
26672
|
init_schema();
|
|
26731
26673
|
__name(createTaskMessage, "createTaskMessage");
|
|
26732
26674
|
__name(listTaskMessages, "listTaskMessages");
|
|
26675
|
+
__name(listTaskErrorMessages, "listTaskErrorMessages");
|
|
26733
26676
|
__name(listTaskMessagesSince, "listTaskMessagesSince");
|
|
26734
26677
|
__name(deleteTaskMessages, "deleteTaskMessages");
|
|
26735
|
-
SQLITE_MAX_PARAMS = 999;
|
|
26736
|
-
FIXED_PARAMS = 2;
|
|
26737
|
-
__name(countTextMessagesByTaskIds, "countTextMessagesByTaskIds");
|
|
26738
26678
|
}
|
|
26739
26679
|
});
|
|
26740
26680
|
|
|
@@ -28255,12 +28195,14 @@ var agent_link_exports = {};
|
|
|
28255
28195
|
__export(agent_link_exports, {
|
|
28256
28196
|
create: () => create,
|
|
28257
28197
|
getAllColleaguesForWorkspace: () => getAllColleaguesForWorkspace,
|
|
28198
|
+
getByPair: () => getByPair,
|
|
28258
28199
|
getColleaguesForAgent: () => getColleaguesForAgent,
|
|
28259
28200
|
getColleaguesForAgents: () => getColleaguesForAgents,
|
|
28260
28201
|
listByAgent: () => listByAgent,
|
|
28261
28202
|
listByWorkspace: () => listByWorkspace,
|
|
28262
28203
|
remove: () => remove,
|
|
28263
|
-
update: () => update
|
|
28204
|
+
update: () => update,
|
|
28205
|
+
upsertByPair: () => upsertByPair
|
|
28264
28206
|
});
|
|
28265
28207
|
async function listByWorkspace(db, workspaceId, opts) {
|
|
28266
28208
|
let q = db.select().from(agentLink).where(eq(agentLink.workspaceId, workspaceId)).$dynamic();
|
|
@@ -28292,6 +28234,34 @@ async function create(db, data) {
|
|
|
28292
28234
|
}).returning();
|
|
28293
28235
|
return rows[0];
|
|
28294
28236
|
}
|
|
28237
|
+
async function getByPair(db, workspaceId, a3, b2) {
|
|
28238
|
+
const [sourceAgentId, targetAgentId] = a3 > b2 ? [b2, a3] : [a3, b2];
|
|
28239
|
+
const rows = await db.select().from(agentLink).where(
|
|
28240
|
+
and(
|
|
28241
|
+
eq(agentLink.workspaceId, workspaceId),
|
|
28242
|
+
eq(agentLink.sourceAgentId, sourceAgentId),
|
|
28243
|
+
eq(agentLink.targetAgentId, targetAgentId)
|
|
28244
|
+
)
|
|
28245
|
+
);
|
|
28246
|
+
return rows[0] ?? null;
|
|
28247
|
+
}
|
|
28248
|
+
async function upsertByPair(db, data) {
|
|
28249
|
+
const existing = await getByPair(
|
|
28250
|
+
db,
|
|
28251
|
+
data.workspaceId,
|
|
28252
|
+
data.sourceAgentId,
|
|
28253
|
+
data.targetAgentId
|
|
28254
|
+
);
|
|
28255
|
+
if (existing) {
|
|
28256
|
+
const updated = await update(db, existing.id, data.workspaceId, {
|
|
28257
|
+
instruction: data.instruction
|
|
28258
|
+
});
|
|
28259
|
+
if (!updated) return { row: existing, created: false };
|
|
28260
|
+
return { row: updated, created: false };
|
|
28261
|
+
}
|
|
28262
|
+
const created = await create(db, data);
|
|
28263
|
+
return { row: created, created: true };
|
|
28264
|
+
}
|
|
28295
28265
|
async function update(db, id, workspaceId, data) {
|
|
28296
28266
|
const rows = await db.update(agentLink).set({
|
|
28297
28267
|
instruction: data.instruction,
|
|
@@ -28402,6 +28372,8 @@ var init_agent_link = __esm({
|
|
|
28402
28372
|
__name(listByWorkspace, "listByWorkspace");
|
|
28403
28373
|
__name(listByAgent, "listByAgent");
|
|
28404
28374
|
__name(create, "create");
|
|
28375
|
+
__name(getByPair, "getByPair");
|
|
28376
|
+
__name(upsertByPair, "upsertByPair");
|
|
28405
28377
|
__name(update, "update");
|
|
28406
28378
|
__name(remove, "remove");
|
|
28407
28379
|
__name(getColleaguesForAgent, "getColleaguesForAgent");
|
|
@@ -28413,68 +28385,96 @@ var init_agent_link = __esm({
|
|
|
28413
28385
|
// ../shared/src/db/queries/inbox.ts
|
|
28414
28386
|
var inbox_exports = {};
|
|
28415
28387
|
__export(inbox_exports, {
|
|
28388
|
+
deleteAllUnreadEntries: () => deleteAllUnreadEntries,
|
|
28389
|
+
deleteUnreadEntry: () => deleteUnreadEntry,
|
|
28390
|
+
findLatestAssistantMessageId: () => findLatestAssistantMessageId,
|
|
28416
28391
|
getUnreadCount: () => getUnreadCount,
|
|
28392
|
+
isUnreadEligible: () => isUnreadEligible,
|
|
28417
28393
|
listUnreadConversations: () => listUnreadConversations,
|
|
28418
28394
|
markAllConversationsRead: () => markAllConversationsRead,
|
|
28419
|
-
markConversationRead: () => markConversationRead
|
|
28420
|
-
|
|
28395
|
+
markConversationRead: () => markConversationRead,
|
|
28396
|
+
updateUnreadLatestMessage: () => updateUnreadLatestMessage,
|
|
28397
|
+
upsertUnreadEntry: () => upsertUnreadEntry
|
|
28398
|
+
});
|
|
28399
|
+
function isUnreadEligible(task) {
|
|
28400
|
+
if (task.parentTaskId != null) return false;
|
|
28401
|
+
if (task.traceId == null) return false;
|
|
28402
|
+
if (!UNREAD_ELIGIBLE_TYPES.includes(task.type)) return false;
|
|
28403
|
+
if (task.type === "email_notification" && task.context?.isInternal === true) return false;
|
|
28404
|
+
return true;
|
|
28405
|
+
}
|
|
28406
|
+
async function upsertUnreadEntry(db, entry) {
|
|
28407
|
+
const id = nanoid();
|
|
28408
|
+
await db.run(sql`
|
|
28409
|
+
INSERT INTO inbox_unread (id, conversation_id, user_id, workspace_id, agent_id, task_id, task_type, task_status, task_prompt, completed_at, latest_message_id)
|
|
28410
|
+
VALUES (${id}, ${entry.conversationId}, ${entry.userId}, ${entry.workspaceId}, ${entry.agentId}, ${entry.taskId}, ${entry.taskType}, ${entry.taskStatus}, ${entry.taskPrompt}, ${entry.completedAt}, ${entry.latestMessageId})
|
|
28411
|
+
ON CONFLICT (conversation_id, user_id) DO UPDATE SET
|
|
28412
|
+
agent_id = excluded.agent_id,
|
|
28413
|
+
task_id = excluded.task_id,
|
|
28414
|
+
task_type = excluded.task_type,
|
|
28415
|
+
task_status = excluded.task_status,
|
|
28416
|
+
task_prompt = excluded.task_prompt,
|
|
28417
|
+
completed_at = excluded.completed_at,
|
|
28418
|
+
latest_message_id = excluded.latest_message_id
|
|
28419
|
+
WHERE excluded.completed_at >= inbox_unread.completed_at
|
|
28420
|
+
`);
|
|
28421
|
+
}
|
|
28422
|
+
async function updateUnreadLatestMessage(db, conversationId, userId, messageId) {
|
|
28423
|
+
await db.run(sql`
|
|
28424
|
+
UPDATE inbox_unread
|
|
28425
|
+
SET latest_message_id = ${messageId}
|
|
28426
|
+
WHERE conversation_id = ${conversationId} AND user_id = ${userId}
|
|
28427
|
+
`);
|
|
28428
|
+
}
|
|
28429
|
+
async function deleteUnreadEntry(db, conversationId, userId) {
|
|
28430
|
+
await db.run(sql`
|
|
28431
|
+
DELETE FROM inbox_unread
|
|
28432
|
+
WHERE conversation_id = ${conversationId} AND user_id = ${userId}
|
|
28433
|
+
`);
|
|
28434
|
+
}
|
|
28435
|
+
async function deleteAllUnreadEntries(db, userId, workspaceId) {
|
|
28436
|
+
await db.run(sql`
|
|
28437
|
+
DELETE FROM inbox_unread
|
|
28438
|
+
WHERE user_id = ${userId} AND workspace_id = ${workspaceId}
|
|
28439
|
+
`);
|
|
28440
|
+
}
|
|
28441
|
+
async function findLatestAssistantMessageId(db, conversationId) {
|
|
28442
|
+
const rows = await db.all(sql`
|
|
28443
|
+
SELECT id FROM message
|
|
28444
|
+
WHERE conversation_id = ${conversationId}
|
|
28445
|
+
AND role = 'assistant'
|
|
28446
|
+
AND status = 'active'
|
|
28447
|
+
ORDER BY created_at DESC
|
|
28448
|
+
LIMIT 1
|
|
28449
|
+
`);
|
|
28450
|
+
return rows[0]?.id ?? null;
|
|
28451
|
+
}
|
|
28421
28452
|
async function listUnreadConversations(db, userId, workspaceId, opts) {
|
|
28422
28453
|
const limit = opts?.limit ?? 30;
|
|
28423
|
-
const beforeClause = opts?.before ? sql`AND
|
|
28454
|
+
const beforeClause = opts?.before ? sql`AND u.completed_at < ${opts.before}` : sql``;
|
|
28424
28455
|
const types = opts?.types?.length ? opts.types : ["user_dm_message"];
|
|
28425
28456
|
const typePlaceholders = sql.join(types.map((t) => sql`${t}`), sql`, `);
|
|
28426
28457
|
const rows = await db.all(sql`
|
|
28427
|
-
SELECT
|
|
28428
|
-
|
|
28458
|
+
SELECT u.conversation_id AS id,
|
|
28459
|
+
u.agent_id,
|
|
28429
28460
|
c.title,
|
|
28430
28461
|
c.channel,
|
|
28431
|
-
|
|
28432
|
-
|
|
28433
|
-
|
|
28462
|
+
m.content AS latest_response,
|
|
28463
|
+
u.completed_at AS latest_response_at,
|
|
28464
|
+
u.task_prompt AS root_prompt,
|
|
28434
28465
|
a.name AS agent_name,
|
|
28435
28466
|
a.avatar_url AS agent_avatar_url,
|
|
28436
|
-
|
|
28437
|
-
|
|
28438
|
-
FROM
|
|
28439
|
-
INNER JOIN conversation c
|
|
28440
|
-
|
|
28441
|
-
|
|
28442
|
-
|
|
28443
|
-
|
|
28444
|
-
|
|
28445
|
-
INNER JOIN message m_latest
|
|
28446
|
-
ON m_latest.conversation_id = c.id
|
|
28447
|
-
AND m_latest.role = 'assistant'
|
|
28448
|
-
AND m_latest.status = 'active'
|
|
28449
|
-
AND m_latest.id = (
|
|
28450
|
-
SELECT id FROM message
|
|
28451
|
-
WHERE conversation_id = c.id
|
|
28452
|
-
AND role = 'assistant'
|
|
28453
|
-
AND status = 'active'
|
|
28454
|
-
ORDER BY created_at DESC LIMIT 1
|
|
28455
|
-
)
|
|
28456
|
-
LEFT JOIN agent a
|
|
28457
|
-
ON a.id = c.agent_id AND a.workspace_id = c.workspace_id
|
|
28458
|
-
WHERE t.workspace_id = ${workspaceId}
|
|
28459
|
-
AND t.parent_task_id IS NULL
|
|
28460
|
-
AND t.trace_id IS NOT NULL
|
|
28461
|
-
AND t.type IN (${typePlaceholders})
|
|
28462
|
-
AND t.status IN ('completed', 'failed')
|
|
28463
|
-
AND t.completed_at > COALESCE(crs.last_read_at, '1970-01-01T00:00:00.000Z')
|
|
28464
|
-
AND NOT (t.type = 'email_notification' AND COALESCE(json_extract(t.context, '$.isInternal'), 0) = 1)
|
|
28465
|
-
AND t.id = (
|
|
28466
|
-
SELECT id FROM agent_task_queue
|
|
28467
|
-
WHERE workspace_id = ${workspaceId}
|
|
28468
|
-
AND conversation_id = c.id
|
|
28469
|
-
AND parent_task_id IS NULL
|
|
28470
|
-
AND trace_id IS NOT NULL
|
|
28471
|
-
AND type IN (${typePlaceholders})
|
|
28472
|
-
AND status IN ('completed', 'failed')
|
|
28473
|
-
AND NOT (type = 'email_notification' AND COALESCE(json_extract(context, '$.isInternal'), 0) = 1)
|
|
28474
|
-
ORDER BY completed_at DESC LIMIT 1
|
|
28475
|
-
)
|
|
28467
|
+
u.task_status AS root_task_status,
|
|
28468
|
+
u.task_type AS root_task_type
|
|
28469
|
+
FROM inbox_unread u
|
|
28470
|
+
INNER JOIN conversation c ON c.id = u.conversation_id
|
|
28471
|
+
LEFT JOIN message m ON m.id = u.latest_message_id
|
|
28472
|
+
LEFT JOIN agent a ON a.id = u.agent_id AND a.workspace_id = u.workspace_id
|
|
28473
|
+
WHERE u.user_id = ${userId}
|
|
28474
|
+
AND u.workspace_id = ${workspaceId}
|
|
28475
|
+
AND u.task_type IN (${typePlaceholders})
|
|
28476
28476
|
${beforeClause}
|
|
28477
|
-
ORDER BY
|
|
28477
|
+
ORDER BY u.completed_at DESC
|
|
28478
28478
|
LIMIT ${limit + 1}
|
|
28479
28479
|
`);
|
|
28480
28480
|
const hasMore = rows.length > limit;
|
|
@@ -28485,21 +28485,11 @@ async function getUnreadCount(db, userId, workspaceId, types) {
|
|
|
28485
28485
|
const validTypes = types?.length ? types : ["user_dm_message"];
|
|
28486
28486
|
const typePlaceholders = sql.join(validTypes.map((t) => sql`${t}`), sql`, `);
|
|
28487
28487
|
const rows = await db.all(sql`
|
|
28488
|
-
SELECT COUNT(
|
|
28489
|
-
FROM
|
|
28490
|
-
|
|
28491
|
-
|
|
28492
|
-
AND
|
|
28493
|
-
AND c.workspace_id = ${workspaceId}
|
|
28494
|
-
LEFT JOIN conversation_read_state crs
|
|
28495
|
-
ON crs.conversation_id = t.conversation_id AND crs.user_id = ${userId}
|
|
28496
|
-
WHERE t.workspace_id = ${workspaceId}
|
|
28497
|
-
AND t.parent_task_id IS NULL
|
|
28498
|
-
AND t.trace_id IS NOT NULL
|
|
28499
|
-
AND t.type IN (${typePlaceholders})
|
|
28500
|
-
AND t.status IN ('completed', 'failed')
|
|
28501
|
-
AND t.completed_at > COALESCE(crs.last_read_at, '1970-01-01T00:00:00.000Z')
|
|
28502
|
-
AND NOT (t.type = 'email_notification' AND COALESCE(json_extract(t.context, '$.isInternal'), 0) = 1)
|
|
28488
|
+
SELECT COUNT(*) AS count
|
|
28489
|
+
FROM inbox_unread
|
|
28490
|
+
WHERE user_id = ${userId}
|
|
28491
|
+
AND workspace_id = ${workspaceId}
|
|
28492
|
+
AND task_type IN (${typePlaceholders})
|
|
28503
28493
|
`);
|
|
28504
28494
|
return rows[0]?.count ?? 0;
|
|
28505
28495
|
}
|
|
@@ -28511,6 +28501,7 @@ async function markConversationRead(db, userId, conversationId) {
|
|
|
28511
28501
|
ON CONFLICT (conversation_id, user_id)
|
|
28512
28502
|
DO UPDATE SET last_read_at = ${now}
|
|
28513
28503
|
`);
|
|
28504
|
+
await deleteUnreadEntry(db, conversationId, userId);
|
|
28514
28505
|
}
|
|
28515
28506
|
async function markAllConversationsRead(db, userId, workspaceId) {
|
|
28516
28507
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
@@ -28523,7 +28514,9 @@ async function markAllConversationsRead(db, userId, workspaceId) {
|
|
|
28523
28514
|
ON CONFLICT (conversation_id, user_id)
|
|
28524
28515
|
DO UPDATE SET last_read_at = ${now}
|
|
28525
28516
|
`);
|
|
28517
|
+
await deleteAllUnreadEntries(db, userId, workspaceId);
|
|
28526
28518
|
}
|
|
28519
|
+
var UNREAD_ELIGIBLE_TYPES;
|
|
28527
28520
|
var init_inbox = __esm({
|
|
28528
28521
|
"../shared/src/db/queries/inbox.ts"() {
|
|
28529
28522
|
"use strict";
|
|
@@ -28532,6 +28525,13 @@ var init_inbox = __esm({
|
|
|
28532
28525
|
init_performance2();
|
|
28533
28526
|
init_drizzle_orm();
|
|
28534
28527
|
init_index_browser();
|
|
28528
|
+
UNREAD_ELIGIBLE_TYPES = ["user_dm_message", "email_notification", "calendar_event"];
|
|
28529
|
+
__name(isUnreadEligible, "isUnreadEligible");
|
|
28530
|
+
__name(upsertUnreadEntry, "upsertUnreadEntry");
|
|
28531
|
+
__name(updateUnreadLatestMessage, "updateUnreadLatestMessage");
|
|
28532
|
+
__name(deleteUnreadEntry, "deleteUnreadEntry");
|
|
28533
|
+
__name(deleteAllUnreadEntries, "deleteAllUnreadEntries");
|
|
28534
|
+
__name(findLatestAssistantMessageId, "findLatestAssistantMessageId");
|
|
28535
28535
|
__name(listUnreadConversations, "listUnreadConversations");
|
|
28536
28536
|
__name(getUnreadCount, "getUnreadCount");
|
|
28537
28537
|
__name(markConversationRead, "markConversationRead");
|
|
@@ -29315,6 +29315,25 @@ var init_slug = __esm({
|
|
|
29315
29315
|
}
|
|
29316
29316
|
});
|
|
29317
29317
|
|
|
29318
|
+
// ../shared/src/utils/title.ts
|
|
29319
|
+
function truncateTitle(text2, maxLen = 50) {
|
|
29320
|
+
const trimmed = text2.replace(/\s+/g, " ").trim();
|
|
29321
|
+
if (trimmed.length <= maxLen) return trimmed;
|
|
29322
|
+
const cut = trimmed.slice(0, maxLen);
|
|
29323
|
+
const lastSpace = cut.lastIndexOf(" ");
|
|
29324
|
+
const title2 = lastSpace > 20 ? cut.slice(0, lastSpace) : cut;
|
|
29325
|
+
return title2 + "...";
|
|
29326
|
+
}
|
|
29327
|
+
var init_title = __esm({
|
|
29328
|
+
"../shared/src/utils/title.ts"() {
|
|
29329
|
+
"use strict";
|
|
29330
|
+
init_virtual_unenv_global_polyfill_cloudflare_unenv_preset_node_process();
|
|
29331
|
+
init_virtual_unenv_global_polyfill_cloudflare_unenv_preset_node_console();
|
|
29332
|
+
init_performance2();
|
|
29333
|
+
__name(truncateTitle, "truncateTitle");
|
|
29334
|
+
}
|
|
29335
|
+
});
|
|
29336
|
+
|
|
29318
29337
|
// ../shared/src/semver.ts
|
|
29319
29338
|
function semverGte(a3, b2) {
|
|
29320
29339
|
const pa = a3.split(".").map(Number);
|
|
@@ -29399,13 +29418,13 @@ __export(src_exports, {
|
|
|
29399
29418
|
ActivateTokenRequestSchema: () => ActivateTokenRequestSchema,
|
|
29400
29419
|
ActivateTokenRuntimeSchema: () => ActivateTokenRuntimeSchema,
|
|
29401
29420
|
AddWhitelistRequestSchema: () => AddWhitelistRequestSchema,
|
|
29421
|
+
AgentDmRequestSchema: () => AgentDmRequestSchema,
|
|
29402
29422
|
AgentStatus: () => AgentStatus,
|
|
29403
29423
|
CalendarEventApiSchema: () => CalendarEventApiSchema,
|
|
29404
29424
|
ClaimedTaskRowSchema: () => ClaimedTaskRowSchema,
|
|
29405
29425
|
CompleteTaskRequestSchema: () => CompleteTaskRequestSchema,
|
|
29406
29426
|
CreateAgentLinkRequestSchema: () => CreateAgentLinkRequestSchema,
|
|
29407
29427
|
CreateAgentRequestSchema: () => CreateAgentRequestSchema,
|
|
29408
|
-
CreateBufferedMessageRequestSchema: () => CreateBufferedMessageRequestSchema,
|
|
29409
29428
|
CreateCalendarEventRequestSchema: () => CreateCalendarEventRequestSchema,
|
|
29410
29429
|
CreateConversationRequestSchema: () => CreateConversationRequestSchema,
|
|
29411
29430
|
CreateEmailAccountSchema: () => CreateEmailAccountSchema,
|
|
@@ -29473,6 +29492,7 @@ __export(src_exports, {
|
|
|
29473
29492
|
UpdateIssueRequestSchema: () => UpdateIssueRequestSchema,
|
|
29474
29493
|
UpdateMemberRequestSchema: () => UpdateMemberRequestSchema,
|
|
29475
29494
|
UpdateWorkspaceRequestSchema: () => UpdateWorkspaceRequestSchema,
|
|
29495
|
+
UpsertAgentLinkRequestSchema: () => UpsertAgentLinkRequestSchema,
|
|
29476
29496
|
WorkspaceFileBrowseRequestSchema: () => WorkspaceFileBrowseRequestSchema,
|
|
29477
29497
|
WorkspaceFileEntrySchema: () => WorkspaceFileEntrySchema,
|
|
29478
29498
|
WorkspaceFileReportSchema: () => WorkspaceFileReportSchema,
|
|
@@ -29507,7 +29527,8 @@ __export(src_exports, {
|
|
|
29507
29527
|
resolveMode: () => resolveMode,
|
|
29508
29528
|
schema: () => schema_exports,
|
|
29509
29529
|
semverGte: () => semverGte,
|
|
29510
|
-
toAlookAddress: () => toAlookAddress
|
|
29530
|
+
toAlookAddress: () => toAlookAddress,
|
|
29531
|
+
truncateTitle: () => truncateTitle
|
|
29511
29532
|
});
|
|
29512
29533
|
var init_src = __esm({
|
|
29513
29534
|
"../shared/src/index.ts"() {
|
|
@@ -29532,6 +29553,7 @@ var init_src = __esm({
|
|
|
29532
29553
|
init_status();
|
|
29533
29554
|
init_db_errors();
|
|
29534
29555
|
init_slug();
|
|
29556
|
+
init_title();
|
|
29535
29557
|
init_semver();
|
|
29536
29558
|
init_mode();
|
|
29537
29559
|
}
|
|
@@ -34070,6 +34092,9 @@ var b = class a2 {
|
|
|
34070
34092
|
}
|
|
34071
34093
|
};
|
|
34072
34094
|
|
|
34095
|
+
// src/index.ts
|
|
34096
|
+
import { EmailMessage } from "cloudflare:email";
|
|
34097
|
+
|
|
34073
34098
|
// src/imap-poller-do.ts
|
|
34074
34099
|
init_virtual_unenv_global_polyfill_cloudflare_unenv_preset_node_process();
|
|
34075
34100
|
init_virtual_unenv_global_polyfill_cloudflare_unenv_preset_node_console();
|
|
@@ -34439,6 +34464,19 @@ var index_default = {
|
|
|
34439
34464
|
};
|
|
34440
34465
|
})
|
|
34441
34466
|
)).filter((a3) => a3 !== null);
|
|
34467
|
+
const fromDomain = useCustomSmtp && customAccount ? customAccount.emailAddress.split("@").pop() : "alook.ai";
|
|
34468
|
+
const outMessageId = `<${nanoid()}@${fromDomain}>`;
|
|
34469
|
+
const rawMime = buildMimeMessage({
|
|
34470
|
+
from: fromAddress,
|
|
34471
|
+
to: body.to,
|
|
34472
|
+
subject: body.subject,
|
|
34473
|
+
messageId: outMessageId,
|
|
34474
|
+
inReplyTo: body.inReplyTo,
|
|
34475
|
+
references: body.references,
|
|
34476
|
+
body: htmlBody,
|
|
34477
|
+
bodyType: "text/html",
|
|
34478
|
+
attachments: attachments.map((a3) => ({ filename: a3.filename, contentType: a3.type, base64: a3.base64 }))
|
|
34479
|
+
});
|
|
34442
34480
|
if (useCustomSmtp && customAccount) {
|
|
34443
34481
|
const secret = env2.ENCRYPTION_KEY;
|
|
34444
34482
|
if (!secret) {
|
|
@@ -34448,7 +34486,7 @@ var index_default = {
|
|
|
34448
34486
|
const smtpUsername = decrypt(customAccount.smtpUsername, secret);
|
|
34449
34487
|
const smtpPassword = decrypt(customAccount.smtpPassword, secret);
|
|
34450
34488
|
const smtpTls = customAccount.smtpTls;
|
|
34451
|
-
const threadingHeaders = {};
|
|
34489
|
+
const threadingHeaders = { "Message-ID": outMessageId };
|
|
34452
34490
|
if (body.inReplyTo) threadingHeaders["In-Reply-To"] = body.inReplyTo;
|
|
34453
34491
|
if (body.references) threadingHeaders["References"] = body.references;
|
|
34454
34492
|
await b.send(
|
|
@@ -34479,34 +34517,8 @@ var index_default = {
|
|
|
34479
34517
|
return Response.json({ error: `SMTP send failed: ${msg}` }, { status: 500 });
|
|
34480
34518
|
}
|
|
34481
34519
|
} else {
|
|
34482
|
-
|
|
34483
|
-
from: fromAddress,
|
|
34484
|
-
to: body.to,
|
|
34485
|
-
subject: body.subject,
|
|
34486
|
-
html: htmlBody
|
|
34487
|
-
};
|
|
34488
|
-
if (attachments.length > 0) {
|
|
34489
|
-
sendPayload.attachments = attachments.map((a3) => ({
|
|
34490
|
-
disposition: a3.disposition,
|
|
34491
|
-
filename: a3.filename,
|
|
34492
|
-
type: a3.type,
|
|
34493
|
-
content: a3.raw
|
|
34494
|
-
}));
|
|
34495
|
-
}
|
|
34496
|
-
await env2.SEND_EMAIL.send(sendPayload);
|
|
34520
|
+
await env2.SEND_EMAIL.send(new EmailMessage(fromAddress, body.to, rawMime));
|
|
34497
34521
|
}
|
|
34498
|
-
const outMessageId = `<${nanoid()}@alook.ai>`;
|
|
34499
|
-
const rawMime = buildMimeMessage({
|
|
34500
|
-
from: fromAddress,
|
|
34501
|
-
to: body.to,
|
|
34502
|
-
subject: body.subject,
|
|
34503
|
-
messageId: outMessageId,
|
|
34504
|
-
inReplyTo: body.inReplyTo,
|
|
34505
|
-
references: body.references,
|
|
34506
|
-
body: htmlBody,
|
|
34507
|
-
bodyType: "text/html",
|
|
34508
|
-
attachments: attachments.map((a3) => ({ filename: a3.filename, contentType: a3.type, base64: a3.base64 }))
|
|
34509
|
-
});
|
|
34510
34522
|
const r2Id = nanoid();
|
|
34511
34523
|
const r2Key = `emails/${r2Id}/raw`;
|
|
34512
34524
|
await env2.EMAIL_BUCKET.put(r2Key, rawMime, {
|