@alook/app 0.0.72 → 0.0.73
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/web/.open-next/.build/durable-objects/queue.js +5 -5
- package/bundled/web/.open-next/assets/BUILD_ID +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/08q1jdm7c98jd.js +63 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{0ymb~iviyjlb_.js → 0o3ol51uyvngq.js} +2 -2
- package/bundled/web/.open-next/assets/_next/static/chunks/{0_ceurra~p4yl.js → 0r91umgrdcg_w.js} +2 -2
- package/bundled/web/.open-next/assets/_next/static/chunks/0z1nxwsyi9qzp.js +1 -0
- package/bundled/web/.open-next/cache/{UKi2wJge4r06KGiZ66_h- → hO1_nTdFBzjO6p-ajc4L9}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/{UKi2wJge4r06KGiZ66_h- → hO1_nTdFBzjO6p-ajc4L9}/_not-found.cache +1 -1
- package/bundled/web/.open-next/cache/{UKi2wJge4r06KGiZ66_h- → hO1_nTdFBzjO6p-ajc4L9}/sitemap.xml.cache +1 -1
- package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
- package/bundled/web/.open-next/cloudflare/init.js +1 -1
- package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
- package/bundled/web/.open-next/middleware/handler.mjs +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/activity/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/[convId]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/email/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/files/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/meetings/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/new/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/help/email-setup/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/[traceId]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__02wurdb._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0dkg608._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0p769.0._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0s9v7kt._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0v.x5_r._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0-r4t0g._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_05_d3df._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_06.am62._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_07-798_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08mdiy6._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0csh82a._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j.pt~7._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j1t6f2._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0lmedw9._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ns9.qo._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0u3tu2x._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0q3gvkd._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0r2s1aj._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0y3mwm6._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_11~t2ti._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0~23g-y._.js +2 -2
- 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 +17 -17
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +53 -53
- package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +3 -3
- package/package.json +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/08u3p1v8e1gxg.js +0 -63
- package/bundled/web/.open-next/assets/_next/static/chunks/0ua2sdw9pqxwv.js +0 -1
- /package/bundled/web/.open-next/assets/_next/static/{UKi2wJge4r06KGiZ66_h- → hO1_nTdFBzjO6p-ajc4L9}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{UKi2wJge4r06KGiZ66_h- → hO1_nTdFBzjO6p-ajc4L9}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{UKi2wJge4r06KGiZ66_h- → hO1_nTdFBzjO6p-ajc4L9}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{UKi2wJge4r06KGiZ66_h- → hO1_nTdFBzjO6p-ajc4L9}/robots.txt.cache +0 -0
|
@@ -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})}])},918622,(e,t,a)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},873642,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/db/adapter");e.n(t),a()}catch(e){a(e)}},!0),666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},978098,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/string");e.n(t),a()}catch(e){a(e)}},!0),414859,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/env");e.n(t),a()}catch(e){a(e)}},!0),200861,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/error");e.n(t),a()}catch(e){a(e)}},!0),323118,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/error-codes");e.n(t),a()}catch(e){a(e)}},!0),987514,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/db");e.n(t),a()}catch(e){a(e)}},!0),65638,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/db");e.n(t),a()}catch(e){a(e)}},!0),288398,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/json");e.n(t),a()}catch(e){a(e)}},!0),412578,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/ip");e.n(t),a()}catch(e){a(e)}},!0),139329,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/context");e.n(t),a()}catch(e){a(e)}},!0),685116,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/instrumentation");e.n(t),a()}catch(e){a(e)}},!0),895517,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/id");e.n(t),a()}catch(e){a(e)}},!0),684495,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/host");e.n(t),a()}catch(e){a(e)}},!0),406417,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/is-api-error");e.n(t),a()}catch(e){a(e)}},!0),780471,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/api");e.n(t),a()}catch(e){a(e)}},!0),836329,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/url");e.n(t),a()}catch(e){a(e)}},!0),405597,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/deprecate");e.n(t),a()}catch(e){a(e)}},!0),825660,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/social-providers");e.n(t),a()}catch(e){a(e)}},!0),902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},912714,(e,t,a)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},660526,(e,t,a)=>{t.exports=e.x("node:os",()=>require("node:os"))},50335,e=>{"use strict";e.s(["DialectAdapterBase",0,class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!1}get supportsOutput(){return!1}}])},815409,e=>{"use strict";var t=e.i(656049);let a=/"/g,r=/[\\'"]/g;class s extends t.DefaultQueryCompiler{visitOrAction(e){this.append("or "),this.append(e.action)}getCurrentParameterPlaceholder(){return"?"}getLeftExplainOptionsWrapper(){return""}getRightExplainOptionsWrapper(){return""}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getAutoIncrement(){return"autoincrement"}sanitizeIdentifier(e){return e.replace(a,'""')}sanitizeJSONPathMemberValue(e){return e.replace(r,e=>"\\"===e?"\\\\":"'"===e?"''":'\\"')}visitDefaultInsertValue(e){this.append("null")}}e.s(["SqliteQueryCompiler",0,s])},493713,e=>{"use strict";var t=e.i(50335);class a extends t.DialectAdapterBase{get supportsTransactionalDdl(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(e,t){}async releaseMigrationLock(e,t){}}e.s(["SqliteAdapter",0,a])},866990,e=>{"use strict";e.s(["resolveMode",0,function(e){return("development"!==e.nodeEnv||e.cmdPrefix)&&(!e.serverUrl||e.cmdPrefix)?e.cmdPrefix||e.hostname&&["localhost","127.0.0.1"].includes(e.hostname)?"app":"production":"dev"}])},152327,e=>e.a(async(t,a)=>{try{var r=e.i(463421),s=e.i(291484);e.i(700598);var n=e.i(291109),i=e.i(675139),o=e.i(342573),d=e.i(774078),c=t([o]);[o]=c.then?(await c)():c,e.s(["withAuth",0,function(e){return async(t,a)=>{let c,l=a?.params?a.params instanceof Promise?await a.params:a.params:void 0,{env:u}=await (0,s.getCloudflareContext)({async:!0});(0,d.bindCacheKV)(u.CACHE_KV??null);let p=t.headers.get("Authorization");if(p?.startsWith("Bearer ")){let a=p.slice(7);if(a.startsWith("al_"))try{let s=(0,i.getDb)(u.DB),o=await (0,d.cached)(d.cacheKeys.machineToken(a),900,()=>n.queries.machineToken.getMachineTokenByToken(s,a));if(!o)return r.NextResponse.json({error:"invalid token"},{status:401});(0,d.cached)(d.cacheKeys.machineTokenLastUsed(a),900,async()=>(await n.queries.machineToken.updateMachineTokenLastUsed(s,o.id),"1")).catch(()=>{});let c={userId:o.userId,email:o.userEmail,workspaceId:o.workspaceId??void 0};return e(t,{...c,params:l})}catch{return r.NextResponse.json({error:"invalid token"},{status:401})}}let m=(0,o.createAuth)(u),h=null;for(let e=0;e<2;e++)try{h=await m.api.getSession({headers:t.headers}),c=void 0;break}catch(e){c=e}if(c)return r.NextResponse.json({error:"session validation failed"},{status:503});if(!h)return r.NextResponse.json({error:"unauthorized"},{status:401});let f={userId:h.user.id,email:h.user.email};return e(t,{...f,params:l})}}]),a()}catch(e){a(e)}},!1),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,n=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)(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)(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,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:s});if(o.ok)return;r.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:s});t.ok||r.warn("broadcast failed",{...n,status:t.status})}catch(e){r.warn("broadcast error",{...n,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,r){let n=s(e,a,r);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),r=e.i(799579),s=e.i(726089),n=e.i(740580),i=e.i(774078);let o=t.queries.task,d=t.queries.agent,c=t.queries.message,l=t.queries.conversation,u=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,r,s,n=a.TASK_TYPES.USER_DM_MESSAGE,c){let l=await d.getAgent(this.db,e,r);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(c?.traceId&&c.parentTaskId&&await o.countTasksByTrace(this.db,c.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:l.runtimeId,workspaceId:r,conversationId:t,prompt:s,type:n,contextKey:c?.contextKey??null,priority:0,context:c?.context,traceId:c?.traceId??null,parentTaskId:c?.parentTaskId??null});return(0,i.invalidate)(i.cacheKeys.activeTaskCounts(r)).catch(()=>{}),u}async claimTask(e,t){let a=await d.getAgent(this.db,e,t);if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let r=await o.findSteerableReplacement(this.db,e,t);if(!r||await o.countRunningTasks(this.db,e,t,r.predecessorId)>=a.maxConcurrentTasks)return null}let r=await o.claimTask(this.db,e,t);return r?(await d.updateAgentStatus(this.db,e,t,"working"),r):null}async claimTasksForRuntimes(e,t,a){let r=await o.claimKillTasks(this.db,e,a,t),s=t-r.length,n=s>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],i=new Set(e),d=new Set,c=[...r],l=[];for(let e of n){if(l.length>=s)break;let t=`${e.agentId}:${e.workspaceId}`;d.has(t)||(d.add(t),l.push(e))}for(let e of(await Promise.all(l.map(e=>this.claimTask(e.agentId,e.workspaceId)))))e&&i.has(e.runtimeId)&&c.push(e);return c}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,s){let n;try{n=JSON.parse(a)}catch{n={raw:a}}let i=await o.completeTask(this.db,e,t,{result:n,sessionId:s||null});if(!i){let t=await o.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 d=n,l="string"==typeof d?.output?d.output:"";return l&&await c.createMessage(this.db,{conversationId:i.conversationId,role:"assistant",content:l,taskId:e}),await this.reconcileAgentStatus(i.agentId,i.workspaceId),await this.dispatchNextBufferedMessage(i.conversationId,i.workspaceId),i}async failTask(e,t,s){let n=await o.failTask(this.db,e,t,s);if(!n){let t=await o.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 n.type===a.TASK_TYPES.KILL_TASK||(s&&await c.createMessage(this.db,{conversationId:n.conversationId,role:"assistant",content:`Error: ${s}`,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 r=await u.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!r||r.status===t||!await u.updateIssue(this.db,r.id,e.workspaceId,{status:t}))return;let i=await c.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,n.messageToResponse)(i)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw 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 o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let r=await o.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 o.getActiveTaskByConversation(this.db,e,t);if(!s)return null;let n=await o.cancelTask(this.db,s.id,t);return n?(("dispatched"===s.status||"running"===s.status)&&await o.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 c.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),n):null}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await d.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,i.invalidate)(i.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let i=await c.activateNextBufferedMessage(this.db,e);if(!i)return null;let d=await l.getConversation(this.db,e,t);if(!d)return r.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await c.revertToBuffered(this.db,i.id).catch(e=>{r.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:i.id,revertErr:e})}),null;let u=d.userId;try{let r=i.attachmentIds?JSON.parse(i.attachmentIds):[],l=await o.getLatestTaskForConversation(this.db,e),p=l?.traceId??null,m=await this.enqueueTask(d.agentId,e,t,i.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:r.length>0?{attachment_ids:r}:void 0,traceId:p,parentTaskId:null});return await c.updateMessageTaskId(this.db,i.id,m.id),(0,s.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,n.messageToResponse)(i),task:(0,n.taskToResponse)(m)}).catch(()=>{}),m}catch(t){return r.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await c.revertToBuffered(this.db,i.id).catch(e=>{r.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:i.id,revertErr:e})}),(0,s.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:i.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 o.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})}}}])},801093,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),r=e.i(719436),s=e.i(799579);let{listDueCalendarEvents:n,claimCalendarEvent:i,revertCalendarEventClaim:o,updateCalendarEventSchedule:d,computeNextScheduledAt:c}=t.queries.calendarEvent;async function l(e,u,p=new Date().toISOString()){let m=await n(e,u,p),h=0;for(let n of m){let l=await t.queries.agent.getAgent(e,n.agentId,n.workspaceId);if(!l){s.log.warn("calendar: agent missing, skipping",{id:n.id});continue}if(!l.runtimeId){s.log.warn("calendar: agent has no runtime, skipping",{id:n.id});continue}if(!l.ownerId){s.log.warn("calendar: agent has no owner, skipping",{id:n.id});continue}let u=n.lastTriggeredAt??null;if(await i(e,n.id,n.scheduledAt,p))try{let s=await t.queries.conversation.createConversation(e,{workspaceId:n.workspaceId,agentId:n.agentId,userId:l.ownerId,title:`[Calendar] ${n.title}`.slice(0,120),type:a.TASK_TYPES.CALENDAR_EVENT});if(await t.queries.message.createMessage(e,{conversationId:s.id,role:"event",content:n.title}),await t.queries.task.createTask(e,{agentId:n.agentId,runtimeId:l.runtimeId,workspaceId:n.workspaceId,conversationId:s.id,prompt:n.title,type:a.TASK_TYPES.CALENDAR_EVENT,priority:0,traceId:"tr_"+(0,r.nanoid)(),parentTaskId:null}),n.repeatInterval){let t=c(n.scheduledAt,n.repeatInterval,n.repeatStopAt??null,p,n.exceptions??[]);t&&await d(e,n.id,t)}h++}catch(t){s.log.warn("calendar: post-claim write failed, reverting",{id:n.id,err:String(t)});try{await o(e,n.id,u)}catch(e){s.log.error("calendar: compensating revert failed",{id:n.id,err:String(e)})}}}return h>0&&s.log.info("calendar: promoted due events",{workspaceId:u,enqueued:h}),h}e.s(["promoteDueCalendarEventsForWorkspace",0,l,"repeatStopDateToStopAt",0,function(e){let[t,a,r]=e.split("-").map(Number);if(!t||!a||!r)throw Error(`invalid repeat_stop_date: ${e}`);return new Date(t,a-1,r,23,59,59,999).toISOString()}])},139733,e=>{"use strict";e.s(["semverGte",0,function(e,t){let a=e.split(".").map(Number),r=t.split(".").map(Number);for(let e=0;e<Math.max(a.length,r.length);e++){let t=a[e]??0,s=r[e]??0;if(t>s)break;if(t<s)return!1}return!0}])},572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))},386211,e=>{e.v(e=>Promise.resolve().then(()=>e(774078)))}];
|
|
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})}])},918622,(e,t,a)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,a)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},873642,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/db/adapter");e.n(t),a()}catch(e){a(e)}},!0),666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},978098,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/string");e.n(t),a()}catch(e){a(e)}},!0),414859,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/env");e.n(t),a()}catch(e){a(e)}},!0),200861,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/error");e.n(t),a()}catch(e){a(e)}},!0),323118,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/error-codes");e.n(t),a()}catch(e){a(e)}},!0),987514,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/db");e.n(t),a()}catch(e){a(e)}},!0),65638,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/db");e.n(t),a()}catch(e){a(e)}},!0),288398,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/json");e.n(t),a()}catch(e){a(e)}},!0),412578,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/ip");e.n(t),a()}catch(e){a(e)}},!0),139329,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/context");e.n(t),a()}catch(e){a(e)}},!0),685116,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/instrumentation");e.n(t),a()}catch(e){a(e)}},!0),895517,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/id");e.n(t),a()}catch(e){a(e)}},!0),684495,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/host");e.n(t),a()}catch(e){a(e)}},!0),406417,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/is-api-error");e.n(t),a()}catch(e){a(e)}},!0),780471,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/api");e.n(t),a()}catch(e){a(e)}},!0),836329,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/url");e.n(t),a()}catch(e){a(e)}},!0),405597,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/deprecate");e.n(t),a()}catch(e){a(e)}},!0),825660,e=>e.a(async(t,a)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/social-providers");e.n(t),a()}catch(e){a(e)}},!0),902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},912714,(e,t,a)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},660526,(e,t,a)=>{t.exports=e.x("node:os",()=>require("node:os"))},50335,e=>{"use strict";e.s(["DialectAdapterBase",0,class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!1}get supportsOutput(){return!1}}])},815409,e=>{"use strict";var t=e.i(656049);let a=/"/g,r=/[\\'"]/g;class s extends t.DefaultQueryCompiler{visitOrAction(e){this.append("or "),this.append(e.action)}getCurrentParameterPlaceholder(){return"?"}getLeftExplainOptionsWrapper(){return""}getRightExplainOptionsWrapper(){return""}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getAutoIncrement(){return"autoincrement"}sanitizeIdentifier(e){return e.replace(a,'""')}sanitizeJSONPathMemberValue(e){return e.replace(r,e=>"\\"===e?"\\\\":"'"===e?"''":'\\"')}visitDefaultInsertValue(e){this.append("null")}}e.s(["SqliteQueryCompiler",0,s])},493713,e=>{"use strict";var t=e.i(50335);class a extends t.DialectAdapterBase{get supportsTransactionalDdl(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(e,t){}async releaseMigrationLock(e,t){}}e.s(["SqliteAdapter",0,a])},866990,e=>{"use strict";e.s(["resolveMode",0,function(e){return("development"!==e.nodeEnv||e.cmdPrefix)&&(!e.serverUrl||e.cmdPrefix)?e.cmdPrefix||e.hostname&&["localhost","127.0.0.1"].includes(e.hostname)?"app":"production":"dev"}])},152327,e=>e.a(async(t,a)=>{try{var r=e.i(463421),s=e.i(291484);e.i(700598);var n=e.i(291109),i=e.i(675139),o=e.i(342573),d=e.i(774078),c=t([o]);[o]=c.then?(await c)():c,e.s(["withAuth",0,function(e){return async(t,a)=>{let c,l=a?.params?a.params instanceof Promise?await a.params:a.params:void 0,{env:u}=await (0,s.getCloudflareContext)({async:!0});(0,d.bindCacheKV)(u.CACHE_KV??null);let p=t.headers.get("Authorization");if(p?.startsWith("Bearer ")){let a=p.slice(7);if(a.startsWith("al_"))try{let s=(0,i.getDb)(u.DB),o=await (0,d.cached)(d.cacheKeys.machineToken(a),900,()=>n.queries.machineToken.getMachineTokenByToken(s,a));if(!o)return r.NextResponse.json({error:"invalid token"},{status:401});(0,d.cached)(d.cacheKeys.machineTokenLastUsed(a),900,async()=>(await n.queries.machineToken.updateMachineTokenLastUsed(s,o.id),"1")).catch(()=>{});let c={userId:o.userId,email:o.userEmail,workspaceId:o.workspaceId??void 0};return e(t,{...c,params:l})}catch{return r.NextResponse.json({error:"invalid token"},{status:401})}}let m=(0,o.createAuth)(u),h=null;for(let e=0;e<2;e++)try{h=await m.api.getSession({headers:t.headers}),c=void 0;break}catch(e){c=e}if(c)return r.NextResponse.json({error:"session validation failed"},{status:503});if(!h)return r.NextResponse.json({error:"unauthorized"},{status:401});let f={userId:h.user.id,email:h.user.email};return e(t,{...f,params:l})}}]),a()}catch(e){a(e)}},!1),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,n=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)(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)(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,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:s});if(o.ok)return;r.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:s});t.ok||r.warn("broadcast failed",{...n,status:t.status})}catch(e){r.warn("broadcast error",{...n,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,r){let n=s(e,a,r);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),r=e.i(799579),s=e.i(726089),n=e.i(740580),i=e.i(774078);let o=t.queries.task,d=t.queries.agent,c=t.queries.message,l=t.queries.conversation,u=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,r,s,n=a.TASK_TYPES.USER_DM_MESSAGE,c){let l=await d.getAgent(this.db,e,r);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(c?.traceId&&c.parentTaskId&&await o.countTasksByTrace(this.db,c.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:l.runtimeId,workspaceId:r,conversationId:t,prompt:s,type:n,contextKey:c?.contextKey??null,priority:0,context:c?.context,traceId:c?.traceId??null,parentTaskId:c?.parentTaskId??null});return(0,i.invalidate)(i.cacheKeys.activeTaskCounts(r)).catch(()=>{}),u}async claimTask(e,t){let a=await d.getAgent(this.db,e,t);if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let r=await o.findSteerableReplacement(this.db,e,t);if(!r||await o.countRunningTasks(this.db,e,t,r.predecessorId)>=a.maxConcurrentTasks)return null}let r=await o.claimTask(this.db,e,t);return r?(await d.updateAgentStatus(this.db,e,t,"working"),r):null}async claimTasksForRuntimes(e,t,a){let r=await o.claimKillTasks(this.db,e,a,t),s=t-r.length,n=s>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],i=new Set(e),d=new Set,c=[...r],l=[];for(let e of n){if(l.length>=s)break;let t=`${e.agentId}:${e.workspaceId}`;d.has(t)||(d.add(t),l.push(e))}for(let e of(await Promise.all(l.map(e=>this.claimTask(e.agentId,e.workspaceId)))))e&&i.has(e.runtimeId)&&c.push(e);return c}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,i){let d;try{d=JSON.parse(a)}catch{d={raw:a}}let u=await o.completeTask(this.db,e,t,{result:d,sessionId:i||null});if(!u){let t=await o.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 p=d,m="string"==typeof p?.output?p.output:"";if(m){let a=await c.createMessage(this.db,{conversationId:u.conversationId,role:"assistant",content:m,taskId:e});try{let e=await l.getConversation(this.db,u.conversationId,t);e&&(0,s.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:u.conversationId,message:(0,n.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(u.agentId,u.workspaceId),await this.dispatchNextBufferedMessage(u.conversationId,u.workspaceId),u}async failTask(e,t,i){let d=await o.failTask(this.db,e,t,i);if(!d){let t=await o.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`)}if(d.type===a.TASK_TYPES.KILL_TASK)return d;if(i){let a=await c.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:`Error: ${i}`,taskId:e});try{let e=await l.getConversation(this.db,d.conversationId,t);e&&(0,s.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,n.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.syncIssueStatusFromTask(d,"failed"),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let r=await u.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!r||r.status===t||!await u.updateIssue(this.db,r.id,e.workspaceId,{status:t}))return;let i=await c.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,n.messageToResponse)(i)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw 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 o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let r=await o.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 o.getActiveTaskByConversation(this.db,e,t);if(!s)return null;let n=await o.cancelTask(this.db,s.id,t);return n?(("dispatched"===s.status||"running"===s.status)&&await o.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 c.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),n):null}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await d.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,i.invalidate)(i.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let i=await c.activateNextBufferedMessage(this.db,e);if(!i)return null;let d=await l.getConversation(this.db,e,t);if(!d)return r.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await c.revertToBuffered(this.db,i.id).catch(e=>{r.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:i.id,revertErr:e})}),null;let u=d.userId;try{let r=i.attachmentIds?JSON.parse(i.attachmentIds):[],l=await o.getLatestTaskForConversation(this.db,e),p=l?.traceId??null,m=await this.enqueueTask(d.agentId,e,t,i.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:r.length>0?{attachment_ids:r}:void 0,traceId:p,parentTaskId:null});return await c.updateMessageTaskId(this.db,i.id,m.id),(0,s.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,n.messageToResponse)(i),task:(0,n.taskToResponse)(m)}).catch(()=>{}),m}catch(t){return r.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await c.revertToBuffered(this.db,i.id).catch(e=>{r.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:i.id,revertErr:e})}),(0,s.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:i.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 o.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})}}}])},801093,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),r=e.i(719436),s=e.i(799579);let{listDueCalendarEvents:n,claimCalendarEvent:i,revertCalendarEventClaim:o,updateCalendarEventSchedule:d,computeNextScheduledAt:c}=t.queries.calendarEvent;async function l(e,u,p=new Date().toISOString()){let m=await n(e,u,p),h=0;for(let n of m){let l=await t.queries.agent.getAgent(e,n.agentId,n.workspaceId);if(!l){s.log.warn("calendar: agent missing, skipping",{id:n.id});continue}if(!l.runtimeId){s.log.warn("calendar: agent has no runtime, skipping",{id:n.id});continue}if(!l.ownerId){s.log.warn("calendar: agent has no owner, skipping",{id:n.id});continue}let u=n.lastTriggeredAt??null;if(await i(e,n.id,n.scheduledAt,p))try{let s=await t.queries.conversation.createConversation(e,{workspaceId:n.workspaceId,agentId:n.agentId,userId:l.ownerId,title:`[Calendar] ${n.title}`.slice(0,120),type:a.TASK_TYPES.CALENDAR_EVENT});if(await t.queries.message.createMessage(e,{conversationId:s.id,role:"event",content:n.title}),await t.queries.task.createTask(e,{agentId:n.agentId,runtimeId:l.runtimeId,workspaceId:n.workspaceId,conversationId:s.id,prompt:n.title,type:a.TASK_TYPES.CALENDAR_EVENT,priority:0,traceId:"tr_"+(0,r.nanoid)(),parentTaskId:null}),n.repeatInterval){let t=c(n.scheduledAt,n.repeatInterval,n.repeatStopAt??null,p,n.exceptions??[]);t&&await d(e,n.id,t)}h++}catch(t){s.log.warn("calendar: post-claim write failed, reverting",{id:n.id,err:String(t)});try{await o(e,n.id,u)}catch(e){s.log.error("calendar: compensating revert failed",{id:n.id,err:String(e)})}}}return h>0&&s.log.info("calendar: promoted due events",{workspaceId:u,enqueued:h}),h}e.s(["promoteDueCalendarEventsForWorkspace",0,l,"repeatStopDateToStopAt",0,function(e){let[t,a,r]=e.split("-").map(Number);if(!t||!a||!r)throw Error(`invalid repeat_stop_date: ${e}`);return new Date(t,a-1,r,23,59,59,999).toISOString()}])},139733,e=>{"use strict";e.s(["semverGte",0,function(e,t){let a=e.split(".").map(Number),r=t.split(".").map(Number);for(let e=0;e<Math.max(a.length,r.length);e++){let t=a[e]??0,s=r[e]??0;if(t>s)break;if(t<s)return!1}return!0}])},572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))},386211,e=>{e.v(e=>Promise.resolve().then(()=>e(774078)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0v.x5_r._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0-r4t0g._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[726089,t=>{"use strict";var e=t.i(291484);t.i(700598);var a=t.i(704024);let s=(0,t.i(726527).createLogger)({service:"broadcast"});async function r(t,r,i){let n;try{let{env:a}=(0,e.getCloudflareContext)();n=a.DEV_WS_DO_URL;let
|
|
1
|
+
module.exports=[726089,t=>{"use strict";var e=t.i(291484);t.i(700598);var a=t.i(704024);let s=(0,t.i(726527).createLogger)({service:"broadcast"});async function r(t,r,i){let n;try{let{env:a}=(0,e.getCloudflareContext)();n=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${t}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...i,status:o.status});return}catch{}let o=n||a.DEV_WS_DO_URL;try{let e=await fetch(`${o}${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});e.ok||s.warn("broadcast failed",{...i,status:e.status})}catch(t){s.warn("broadcast error",{...i,err:String(t)})}}t.s(["broadcastToUser",0,function(t,a){return function(t,a,s){let i=r(t,a,s);try{let{ctx:t}=(0,e.getCloudflareContext)();t.waitUntil(i)}catch{}return i}(`/broadcast/user/${t}`,JSON.stringify(a),{userId:t,type:a.type})}])},799579,t=>{"use strict";t.i(700598);let e=(0,t.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});t.s(["log",0,e])},205054,t=>{"use strict";t.i(700598);var e=t.i(291109),a=t.i(704024),s=t.i(799579),r=t.i(726089),i=t.i(740580),n=t.i(774078);let o=e.queries.task,d=e.queries.agent,c=e.queries.message,l=e.queries.conversation,u=e.queries.issue;t.s(["TaskService",0,class{db;constructor(t){this.db=t}async enqueueTask(t,e,s,r,i=a.TASK_TYPES.USER_DM_MESSAGE,c){let l=await d.getAgent(this.db,t,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(c?.traceId&&c.parentTaskId&&await o.countTasksByTrace(this.db,c.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:t,runtimeId:l.runtimeId,workspaceId:s,conversationId:e,prompt:r,type:i,contextKey:c?.contextKey??null,priority:0,context:c?.context,traceId:c?.traceId??null,parentTaskId:c?.parentTaskId??null});return(0,n.invalidate)(n.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(t,e){let a=await d.getAgent(this.db,t,e);if(!a)return null;if(await o.countRunningTasks(this.db,t,e)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,t,e);if(!s||await o.countRunningTasks(this.db,t,e,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,t,e);return s?(await d.updateAgentStatus(this.db,t,e,"working"),s):null}async claimTasksForRuntimes(t,e,a){let s=await o.claimKillTasks(this.db,t,a,e),r=e-s.length,i=r>0?await o.listPendingTasksByRuntimes(this.db,t,a):[],n=new Set(t),d=new Set,c=[...s],l=[];for(let t of i){if(l.length>=r)break;let e=`${t.agentId}:${t.workspaceId}`;d.has(e)||(d.add(e),l.push(t))}for(let t of(await Promise.all(l.map(t=>this.claimTask(t.agentId,t.workspaceId)))))t&&n.has(t.runtimeId)&&c.push(t);return c}async startTask(t,e){let a=await o.startTask(this.db,t,e);if(!a)throw Error("task not in dispatched status");return a}async completeTask(t,e,a,n){let d;try{d=JSON.parse(a)}catch{d={raw:a}}let u=await o.completeTask(this.db,t,e,{result:d,sessionId:n||null});if(!u){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot complete task in '${a}' status`)}let h=d,k="string"==typeof h?.output?h.output:"";if(k){let a=await c.createMessage(this.db,{conversationId:u.conversationId,role:"assistant",content:k,taskId:t});try{let t=await l.getConversation(this.db,u.conversationId,e);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:u.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(u.agentId,u.workspaceId),await this.dispatchNextBufferedMessage(u.conversationId,u.workspaceId),u}async failTask(t,e,n){let d=await o.failTask(this.db,t,e,n);if(!d){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot fail task in '${a}' status`)}if(d.type===a.TASK_TYPES.KILL_TASK)return d;if(n){let a=await c.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:`Error: ${n}`,taskId:t});try{let t=await l.getConversation(this.db,d.conversationId,e);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.syncIssueStatusFromTask(d,"failed"),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async syncIssueStatusFromTask(t,e){if(t.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,t.conversationId,t.workspaceId);if(!s||s.status===e||!await u.updateIssue(this.db,s.id,t.workspaceId,{status:e}))return;let n=await c.createMessage(this.db,{conversationId:t.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${e}`,taskId:t.id,metadata:JSON.stringify({issueId:s.id})});try{let e=await l.getConversation(this.db,t.conversationId,t.workspaceId);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:t.conversationId,message:(0,i.messageToResponse)(n)}).catch(()=>{})}catch{}}async supersedeTask(t,e){let a=await o.supersedeTask(this.db,t,e);if(!a){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(t,e){let a=await o.getTask(this.db,t);if(!a||a.workspaceId!==e)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,t,e);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,e,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(t,e,s){let r=await o.getActiveTaskByConversation(this.db,t,e);if(!r)return null;let i=await o.cancelTask(this.db,r.id,e);return i?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:e,conversationId:t,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await c.createMessage(this.db,{conversationId:t,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,e),s?.skipDispatch||await this.dispatchNextBufferedMessage(t,e),i):null}async reconcileAgentStatus(t,e){let a=await o.countRunningTasks(this.db,t,e);await d.updateAgentStatus(this.db,t,e,a>0?"working":"idle"),(0,n.invalidate)(n.cacheKeys.activeTaskCounts(e)).catch(()=>{})}async dispatchNextBufferedMessage(t,e){let n=await c.activateNextBufferedMessage(this.db,t);if(!n)return null;let d=await l.getConversation(this.db,t,e);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:t}),await c.revertToBuffered(this.db,n.id).catch(t=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:t})}),null;let u=d.userId;try{let s=n.attachmentIds?JSON.parse(n.attachmentIds):[],l=await o.getLatestTaskForConversation(this.db,t),h=l?.traceId??null,k=await this.enqueueTask(d.agentId,t,e,n.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:t,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await c.updateMessageTaskId(this.db,n.id,k.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:t,message:(0,i.messageToResponse)(n),task:(0,i.taskToResponse)(k)}).catch(()=>{}),k}catch(e){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:t,err:e}),await c.revertToBuffered(this.db,n.id).catch(t=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:t})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:t,messageId:n.id,error:e instanceof Error?e.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(t,e,a){for(let r of[...new Set((await o.getTraceTree(this.db,t,e)).filter(t=>["queued","dispatched","running"].includes(t.status)).map(t=>t.conversationId))])try{await this.cancelActiveTask(r,e,{skipDispatch:!0,reason:a?.reason})}catch(e){s.log.warn("cancelTrace: failed to cancel task",{traceId:t,convId:r,err:e})}}}])},572758,t=>{t.v(e=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(e=>t.l(e))).then(()=>e(501816)))},409008,t=>{t.v(e=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(e=>t.l(e))).then(()=>e(770021)))},96318,t=>{t.v(e=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(e=>t.l(e))).then(()=>e(158195)))},11379,t=>{t.v(e=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(e=>t.l(e))).then(()=>e(302822)))},946743,t=>{t.v(e=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(e=>t.l(e))).then(()=>e(898679)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_0-r4t0g._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_05_d3df._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[726089,t=>{"use strict";var e=t.i(291484);t.i(700598);var a=t.i(704024);let s=(0,t.i(726527).createLogger)({service:"broadcast"});async function r(t,r,n){let i;try{let{env:a}=(0,e.getCloudflareContext)();i=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${t}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...n,status:o.status});return}catch{}let o=i||a.DEV_WS_DO_URL;try{let e=await fetch(`${o}${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});e.ok||s.warn("broadcast failed",{...n,status:e.status})}catch(t){s.warn("broadcast error",{...n,err:String(t)})}}t.s(["broadcastToUser",0,function(t,a){return function(t,a,s){let n=r(t,a,s);try{let{ctx:t}=(0,e.getCloudflareContext)();t.waitUntil(n)}catch{}return n}(`/broadcast/user/${t}`,JSON.stringify(a),{userId:t,type:a.type})}])},799579,t=>{"use strict";t.i(700598);let e=(0,t.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});t.s(["log",0,e])},205054,t=>{"use strict";t.i(700598);var e=t.i(291109),a=t.i(704024),s=t.i(799579),r=t.i(726089),n=t.i(740580),i=t.i(774078);let o=e.queries.task,d=e.queries.agent,c=e.queries.message,l=e.queries.conversation,u=e.queries.issue;t.s(["TaskService",0,class{db;constructor(t){this.db=t}async enqueueTask(t,e,s,r,n=a.TASK_TYPES.USER_DM_MESSAGE,c){let l=await d.getAgent(this.db,t,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(c?.traceId&&c.parentTaskId&&await o.countTasksByTrace(this.db,c.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:t,runtimeId:l.runtimeId,workspaceId:s,conversationId:e,prompt:r,type:n,contextKey:c?.contextKey??null,priority:0,context:c?.context,traceId:c?.traceId??null,parentTaskId:c?.parentTaskId??null});return(0,i.invalidate)(i.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(t,e){let a=await d.getAgent(this.db,t,e);if(!a)return null;if(await o.countRunningTasks(this.db,t,e)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,t,e);if(!s||await o.countRunningTasks(this.db,t,e,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,t,e);return s?(await d.updateAgentStatus(this.db,t,e,"working"),s):null}async claimTasksForRuntimes(t,e,a){let s=await o.claimKillTasks(this.db,t,a,e),r=e-s.length,n=r>0?await o.listPendingTasksByRuntimes(this.db,t,a):[],i=new Set(t),d=new Set,c=[...s],l=[];for(let t of n){if(l.length>=r)break;let e=`${t.agentId}:${t.workspaceId}`;d.has(e)||(d.add(e),l.push(t))}for(let t of(await Promise.all(l.map(t=>this.claimTask(t.agentId,t.workspaceId)))))t&&i.has(t.runtimeId)&&c.push(t);return c}async startTask(t,e){let a=await o.startTask(this.db,t,e);if(!a)throw Error("task not in dispatched status");return a}async completeTask(t,e,a,r){let n;try{n=JSON.parse(a)}catch{n={raw:a}}let i=await o.completeTask(this.db,t,e,{result:n,sessionId:r||null});if(!i){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot complete task in '${a}' status`)}let d=n,l="string"==typeof d?.output?d.output:"";return l&&await c.createMessage(this.db,{conversationId:i.conversationId,role:"assistant",content:l,taskId:t}),await this.reconcileAgentStatus(i.agentId,i.workspaceId),await this.dispatchNextBufferedMessage(i.conversationId,i.workspaceId),i}async failTask(t,e,r){let n=await o.failTask(this.db,t,e,r);if(!n){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot fail task in '${a}' status`)}return n.type===a.TASK_TYPES.KILL_TASK||(r&&await c.createMessage(this.db,{conversationId:n.conversationId,role:"assistant",content:`Error: ${r}`,taskId:t}),await this.reconcileAgentStatus(n.agentId,n.workspaceId),await this.syncIssueStatusFromTask(n,"failed"),await this.dispatchNextBufferedMessage(n.conversationId,n.workspaceId)),n}async syncIssueStatusFromTask(t,e){if(t.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,t.conversationId,t.workspaceId);if(!s||s.status===e||!await u.updateIssue(this.db,s.id,t.workspaceId,{status:e}))return;let i=await c.createMessage(this.db,{conversationId:t.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${e}`,taskId:t.id,metadata:JSON.stringify({issueId:s.id})});try{let e=await l.getConversation(this.db,t.conversationId,t.workspaceId);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:t.conversationId,message:(0,n.messageToResponse)(i)}).catch(()=>{})}catch{}}async supersedeTask(t,e){let a=await o.supersedeTask(this.db,t,e);if(!a){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(t,e){let a=await o.getTask(this.db,t);if(!a||a.workspaceId!==e)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,t,e);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,e,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(t,e,s){let r=await o.getActiveTaskByConversation(this.db,t,e);if(!r)return null;let n=await o.cancelTask(this.db,r.id,e);return n?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:e,conversationId:t,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await c.createMessage(this.db,{conversationId:t,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,e),s?.skipDispatch||await this.dispatchNextBufferedMessage(t,e),n):null}async reconcileAgentStatus(t,e){let a=await o.countRunningTasks(this.db,t,e);await d.updateAgentStatus(this.db,t,e,a>0?"working":"idle"),(0,i.invalidate)(i.cacheKeys.activeTaskCounts(e)).catch(()=>{})}async dispatchNextBufferedMessage(t,e){let i=await c.activateNextBufferedMessage(this.db,t);if(!i)return null;let d=await l.getConversation(this.db,t,e);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:t}),await c.revertToBuffered(this.db,i.id).catch(t=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:i.id,revertErr:t})}),null;let u=d.userId;try{let s=i.attachmentIds?JSON.parse(i.attachmentIds):[],l=await o.getLatestTaskForConversation(this.db,t),h=l?.traceId??null,g=await this.enqueueTask(d.agentId,t,e,i.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:t,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await c.updateMessageTaskId(this.db,i.id,g.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:t,message:(0,n.messageToResponse)(i),task:(0,n.taskToResponse)(g)}).catch(()=>{}),g}catch(e){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:t,err:e}),await c.revertToBuffered(this.db,i.id).catch(t=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:i.id,revertErr:t})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:t,messageId:i.id,error:e instanceof Error?e.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(t,e,a){for(let r of[...new Set((await o.getTraceTree(this.db,t,e)).filter(t=>["queued","dispatched","running"].includes(t.status)).map(t=>t.conversationId))])try{await this.cancelActiveTask(r,e,{skipDispatch:!0,reason:a?.reason})}catch(e){s.log.warn("cancelTrace: failed to cancel task",{traceId:t,convId:r,err:e})}}}])},897069,t=>{"use strict";var e=t.i(424166);t.s(["parsePromptMentions",0,function(t,a){if(!t||0===a.length)return{enrichedPrompt:t,mentions:[]};let s=a.slice().sort((t,e)=>e.name.length-t.name.length),r=[],n=[];for(let e=0;e<t.length;e++){if("@"!==t[e]||!function(t,e){if(0===e)return!0;let a=t.charCodeAt(e-1);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(t,e))continue;let a=e+1;for(let r of s){let s=a+r.name.length;if(!(s>t.length)&&t.slice(a,s).toLowerCase()===r.name.toLowerCase()&&function(t,e){if(e>=t.length)return!0;let a=t.charCodeAt(e);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(t,s)){if(n.some(t=>e>=t.start&&e<t.end))break;n.push({start:e,end:s,agent:r});break}}}let i=t;for(let t=n.length-1;t>=0;t--){let a=n[t],s={name:a.agent.name,email:a.agent.emailHandle?(0,e.toAlookAddress)(a.agent.emailHandle):null,description:a.agent.description};if(r.unshift(s),a.agent.emailHandle){let t=`@${a.agent.name} (${(0,e.toAlookAddress)(a.agent.emailHandle)})`;i=i.slice(0,a.start)+t+i.slice(a.end)}else i=i.slice(0,a.start)+`@${a.agent.name}`+i.slice(a.end)}return{enrichedPrompt:i,mentions:r}}])},572758,t=>{t.v(e=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(e=>t.l(e))).then(()=>e(501816)))},409008,t=>{t.v(e=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(e=>t.l(e))).then(()=>e(770021)))},96318,t=>{t.v(e=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(e=>t.l(e))).then(()=>e(158195)))},11379,t=>{t.v(e=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(e=>t.l(e))).then(()=>e(302822)))},946743,t=>{t.v(e=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(e=>t.l(e))).then(()=>e(898679)))}];
|
|
1
|
+
module.exports=[726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function r(e,r,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),i=e.i(774078);let o=t.queries.task,d=t.queries.agent,c=t.queries.message,l=t.queries.conversation,u=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,n=a.TASK_TYPES.USER_DM_MESSAGE,c){let l=await d.getAgent(this.db,e,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(c?.traceId&&c.parentTaskId&&await o.countTasksByTrace(this.db,c.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:l.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:n,contextKey:c?.contextKey??null,priority:0,context:c?.context,traceId:c?.traceId??null,parentTaskId:c?.parentTaskId??null});return(0,i.invalidate)(i.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(e,t){let a=await d.getAgent(this.db,e,t);if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,e,t);if(!s||await o.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,e,t);return s?(await d.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await o.claimKillTasks(this.db,e,a,t),r=t-s.length,n=r>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],i=new Set(e),d=new Set,c=[...s],l=[];for(let e of n){if(l.length>=r)break;let t=`${e.agentId}:${e.workspaceId}`;d.has(t)||(d.add(t),l.push(e))}for(let e of(await Promise.all(l.map(e=>this.claimTask(e.agentId,e.workspaceId)))))e&&i.has(e.runtimeId)&&c.push(e);return c}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,i){let d;try{d=JSON.parse(a)}catch{d={raw:a}}let u=await o.completeTask(this.db,e,t,{result:d,sessionId:i||null});if(!u){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let h=d,g="string"==typeof h?.output?h.output:"";if(g){let a=await c.createMessage(this.db,{conversationId:u.conversationId,role:"assistant",content:g,taskId:e});try{let e=await l.getConversation(this.db,u.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:u.conversationId,message:(0,n.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(u.agentId,u.workspaceId),await this.dispatchNextBufferedMessage(u.conversationId,u.workspaceId),u}async failTask(e,t,i){let d=await o.failTask(this.db,e,t,i);if(!d){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(d.type===a.TASK_TYPES.KILL_TASK)return d;if(i){let a=await c.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:`Error: ${i}`,taskId:e});try{let e=await l.getConversation(this.db,d.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,n.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.syncIssueStatusFromTask(d,"failed"),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await u.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let i=await c.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await l.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,n.messageToResponse)(i)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await o.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let n=await o.cancelTask(this.db,r.id,t);return n?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await c.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),n):null}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await d.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,i.invalidate)(i.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let i=await c.activateNextBufferedMessage(this.db,e);if(!i)return null;let d=await l.getConversation(this.db,e,t);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await c.revertToBuffered(this.db,i.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:i.id,revertErr:e})}),null;let u=d.userId;try{let s=i.attachmentIds?JSON.parse(i.attachmentIds):[],l=await o.getLatestTaskForConversation(this.db,e),h=l?.traceId??null,g=await this.enqueueTask(d.agentId,e,t,i.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await c.updateMessageTaskId(this.db,i.id,g.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,n.messageToResponse)(i),task:(0,n.taskToResponse)(g)}).catch(()=>{}),g}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await c.revertToBuffered(this.db,i.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:i.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:i.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await o.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},897069,e=>{"use strict";var t=e.i(424166);e.s(["parsePromptMentions",0,function(e,a){if(!e||0===a.length)return{enrichedPrompt:e,mentions:[]};let s=a.slice().sort((e,t)=>t.name.length-e.name.length),r=[],n=[];for(let t=0;t<e.length;t++){if("@"!==e[t]||!function(e,t){if(0===t)return!0;let a=e.charCodeAt(t-1);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(e,t))continue;let a=t+1;for(let r of s){let s=a+r.name.length;if(!(s>e.length)&&e.slice(a,s).toLowerCase()===r.name.toLowerCase()&&function(e,t){if(t>=e.length)return!0;let a=e.charCodeAt(t);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(e,s)){if(n.some(e=>t>=e.start&&t<e.end))break;n.push({start:t,end:s,agent:r});break}}}let i=e;for(let e=n.length-1;e>=0;e--){let a=n[e],s={name:a.agent.name,email:a.agent.emailHandle?(0,t.toAlookAddress)(a.agent.emailHandle):null,description:a.agent.description};if(r.unshift(s),a.agent.emailHandle){let e=`@${a.agent.name} (${(0,t.toAlookAddress)(a.agent.emailHandle)})`;i=i.slice(0,a.start)+e+i.slice(a.end)}else i=i.slice(0,a.start)+`@${a.agent.name}`+i.slice(a.end)}return{enrichedPrompt:i,mentions:r}}])},572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_05_d3df._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_06.am62._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[726089,t=>{"use strict";var e=t.i(291484);t.i(700598);var a=t.i(704024);let s=(0,t.i(726527).createLogger)({service:"broadcast"});async function r(t,r,n){let i;try{let{env:a}=(0,e.getCloudflareContext)();i=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${t}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...n,status:o.status});return}catch{}let o=i||a.DEV_WS_DO_URL;try{let e=await fetch(`${o}${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});e.ok||s.warn("broadcast failed",{...n,status:e.status})}catch(t){s.warn("broadcast error",{...n,err:String(t)})}}t.s(["broadcastToUser",0,function(t,a){return function(t,a,s){let n=r(t,a,s);try{let{ctx:t}=(0,e.getCloudflareContext)();t.waitUntil(n)}catch{}return n}(`/broadcast/user/${t}`,JSON.stringify(a),{userId:t,type:a.type})}])},799579,t=>{"use strict";t.i(700598);let e=(0,t.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});t.s(["log",0,e])},205054,t=>{"use strict";t.i(700598);var e=t.i(291109),a=t.i(704024),s=t.i(799579),r=t.i(726089),n=t.i(740580),i=t.i(774078);let o=e.queries.task,d=e.queries.agent,c=e.queries.message,l=e.queries.conversation,u=e.queries.issue;t.s(["TaskService",0,class{db;constructor(t){this.db=t}async enqueueTask(t,e,s,r,n=a.TASK_TYPES.USER_DM_MESSAGE,c){let l=await d.getAgent(this.db,t,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(c?.traceId&&c.parentTaskId&&await o.countTasksByTrace(this.db,c.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:t,runtimeId:l.runtimeId,workspaceId:s,conversationId:e,prompt:r,type:n,contextKey:c?.contextKey??null,priority:0,context:c?.context,traceId:c?.traceId??null,parentTaskId:c?.parentTaskId??null});return(0,i.invalidate)(i.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(t,e){let a=await d.getAgent(this.db,t,e);if(!a)return null;if(await o.countRunningTasks(this.db,t,e)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,t,e);if(!s||await o.countRunningTasks(this.db,t,e,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,t,e);return s?(await d.updateAgentStatus(this.db,t,e,"working"),s):null}async claimTasksForRuntimes(t,e,a){let s=await o.claimKillTasks(this.db,t,a,e),r=e-s.length,n=r>0?await o.listPendingTasksByRuntimes(this.db,t,a):[],i=new Set(t),d=new Set,c=[...s],l=[];for(let t of n){if(l.length>=r)break;let e=`${t.agentId}:${t.workspaceId}`;d.has(e)||(d.add(e),l.push(t))}for(let t of(await Promise.all(l.map(t=>this.claimTask(t.agentId,t.workspaceId)))))t&&i.has(t.runtimeId)&&c.push(t);return c}async startTask(t,e){let a=await o.startTask(this.db,t,e);if(!a)throw Error("task not in dispatched status");return a}async completeTask(t,e,a,r){let n;try{n=JSON.parse(a)}catch{n={raw:a}}let i=await o.completeTask(this.db,t,e,{result:n,sessionId:r||null});if(!i){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot complete task in '${a}' status`)}let d=n,l="string"==typeof d?.output?d.output:"";return l&&await c.createMessage(this.db,{conversationId:i.conversationId,role:"assistant",content:l,taskId:t}),await this.reconcileAgentStatus(i.agentId,i.workspaceId),await this.dispatchNextBufferedMessage(i.conversationId,i.workspaceId),i}async failTask(t,e,r){let n=await o.failTask(this.db,t,e,r);if(!n){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot fail task in '${a}' status`)}return n.type===a.TASK_TYPES.KILL_TASK||(r&&await c.createMessage(this.db,{conversationId:n.conversationId,role:"assistant",content:`Error: ${r}`,taskId:t}),await this.reconcileAgentStatus(n.agentId,n.workspaceId),await this.syncIssueStatusFromTask(n,"failed"),await this.dispatchNextBufferedMessage(n.conversationId,n.workspaceId)),n}async syncIssueStatusFromTask(t,e){if(t.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,t.conversationId,t.workspaceId);if(!s||s.status===e||!await u.updateIssue(this.db,s.id,t.workspaceId,{status:e}))return;let i=await c.createMessage(this.db,{conversationId:t.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${e}`,taskId:t.id,metadata:JSON.stringify({issueId:s.id})});try{let e=await l.getConversation(this.db,t.conversationId,t.workspaceId);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:t.conversationId,message:(0,n.messageToResponse)(i)}).catch(()=>{})}catch{}}async supersedeTask(t,e){let a=await o.supersedeTask(this.db,t,e);if(!a){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(t,e){let a=await o.getTask(this.db,t);if(!a||a.workspaceId!==e)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,t,e);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,e,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(t,e,s){let r=await o.getActiveTaskByConversation(this.db,t,e);if(!r)return null;let n=await o.cancelTask(this.db,r.id,e);return n?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:e,conversationId:t,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await c.createMessage(this.db,{conversationId:t,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,e),s?.skipDispatch||await this.dispatchNextBufferedMessage(t,e),n):null}async reconcileAgentStatus(t,e){let a=await o.countRunningTasks(this.db,t,e);await d.updateAgentStatus(this.db,t,e,a>0?"working":"idle"),(0,i.invalidate)(i.cacheKeys.activeTaskCounts(e)).catch(()=>{})}async dispatchNextBufferedMessage(t,e){let i=await c.activateNextBufferedMessage(this.db,t);if(!i)return null;let d=await l.getConversation(this.db,t,e);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:t}),await c.revertToBuffered(this.db,i.id).catch(t=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:i.id,revertErr:t})}),null;let u=d.userId;try{let s=i.attachmentIds?JSON.parse(i.attachmentIds):[],l=await o.getLatestTaskForConversation(this.db,t),h=l?.traceId??null,g=await this.enqueueTask(d.agentId,t,e,i.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:t,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await c.updateMessageTaskId(this.db,i.id,g.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:t,message:(0,n.messageToResponse)(i),task:(0,n.taskToResponse)(g)}).catch(()=>{}),g}catch(e){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:t,err:e}),await c.revertToBuffered(this.db,i.id).catch(t=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:i.id,revertErr:t})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:t,messageId:i.id,error:e instanceof Error?e.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(t,e,a){for(let r of[...new Set((await o.getTraceTree(this.db,t,e)).filter(t=>["queued","dispatched","running"].includes(t.status)).map(t=>t.conversationId))])try{await this.cancelActiveTask(r,e,{skipDispatch:!0,reason:a?.reason})}catch(e){s.log.warn("cancelTrace: failed to cancel task",{traceId:t,convId:r,err:e})}}}])},897069,t=>{"use strict";var e=t.i(424166);t.s(["parsePromptMentions",0,function(t,a){if(!t||0===a.length)return{enrichedPrompt:t,mentions:[]};let s=a.slice().sort((t,e)=>e.name.length-t.name.length),r=[],n=[];for(let e=0;e<t.length;e++){if("@"!==t[e]||!function(t,e){if(0===e)return!0;let a=t.charCodeAt(e-1);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(t,e))continue;let a=e+1;for(let r of s){let s=a+r.name.length;if(!(s>t.length)&&t.slice(a,s).toLowerCase()===r.name.toLowerCase()&&function(t,e){if(e>=t.length)return!0;let a=t.charCodeAt(e);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(t,s)){if(n.some(t=>e>=t.start&&e<t.end))break;n.push({start:e,end:s,agent:r});break}}}let i=t;for(let t=n.length-1;t>=0;t--){let a=n[t],s={name:a.agent.name,email:a.agent.emailHandle?(0,e.toAlookAddress)(a.agent.emailHandle):null,description:a.agent.description};if(r.unshift(s),a.agent.emailHandle){let t=`@${a.agent.name} (${(0,e.toAlookAddress)(a.agent.emailHandle)})`;i=i.slice(0,a.start)+t+i.slice(a.end)}else i=i.slice(0,a.start)+`@${a.agent.name}`+i.slice(a.end)}return{enrichedPrompt:i,mentions:r}}])},572758,t=>{t.v(e=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(e=>t.l(e))).then(()=>e(501816)))},409008,t=>{t.v(e=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(e=>t.l(e))).then(()=>e(770021)))},96318,t=>{t.v(e=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(e=>t.l(e))).then(()=>e(158195)))},11379,t=>{t.v(e=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(e=>t.l(e))).then(()=>e(302822)))},946743,t=>{t.v(e=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(e=>t.l(e))).then(()=>e(898679)))}];
|
|
1
|
+
module.exports=[726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function r(e,r,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),i=e.i(774078);let o=t.queries.task,d=t.queries.agent,c=t.queries.message,l=t.queries.conversation,u=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,n=a.TASK_TYPES.USER_DM_MESSAGE,c){let l=await d.getAgent(this.db,e,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(c?.traceId&&c.parentTaskId&&await o.countTasksByTrace(this.db,c.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:l.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:n,contextKey:c?.contextKey??null,priority:0,context:c?.context,traceId:c?.traceId??null,parentTaskId:c?.parentTaskId??null});return(0,i.invalidate)(i.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(e,t){let a=await d.getAgent(this.db,e,t);if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,e,t);if(!s||await o.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,e,t);return s?(await d.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await o.claimKillTasks(this.db,e,a,t),r=t-s.length,n=r>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],i=new Set(e),d=new Set,c=[...s],l=[];for(let e of n){if(l.length>=r)break;let t=`${e.agentId}:${e.workspaceId}`;d.has(t)||(d.add(t),l.push(e))}for(let e of(await Promise.all(l.map(e=>this.claimTask(e.agentId,e.workspaceId)))))e&&i.has(e.runtimeId)&&c.push(e);return c}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,i){let d;try{d=JSON.parse(a)}catch{d={raw:a}}let u=await o.completeTask(this.db,e,t,{result:d,sessionId:i||null});if(!u){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let h=d,g="string"==typeof h?.output?h.output:"";if(g){let a=await c.createMessage(this.db,{conversationId:u.conversationId,role:"assistant",content:g,taskId:e});try{let e=await l.getConversation(this.db,u.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:u.conversationId,message:(0,n.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(u.agentId,u.workspaceId),await this.dispatchNextBufferedMessage(u.conversationId,u.workspaceId),u}async failTask(e,t,i){let d=await o.failTask(this.db,e,t,i);if(!d){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(d.type===a.TASK_TYPES.KILL_TASK)return d;if(i){let a=await c.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:`Error: ${i}`,taskId:e});try{let e=await l.getConversation(this.db,d.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,n.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.syncIssueStatusFromTask(d,"failed"),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await u.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let i=await c.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await l.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,n.messageToResponse)(i)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await o.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let n=await o.cancelTask(this.db,r.id,t);return n?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await c.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),n):null}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await d.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,i.invalidate)(i.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let i=await c.activateNextBufferedMessage(this.db,e);if(!i)return null;let d=await l.getConversation(this.db,e,t);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await c.revertToBuffered(this.db,i.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:i.id,revertErr:e})}),null;let u=d.userId;try{let s=i.attachmentIds?JSON.parse(i.attachmentIds):[],l=await o.getLatestTaskForConversation(this.db,e),h=l?.traceId??null,g=await this.enqueueTask(d.agentId,e,t,i.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await c.updateMessageTaskId(this.db,i.id,g.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,n.messageToResponse)(i),task:(0,n.taskToResponse)(g)}).catch(()=>{}),g}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await c.revertToBuffered(this.db,i.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:i.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:i.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await o.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},897069,e=>{"use strict";var t=e.i(424166);e.s(["parsePromptMentions",0,function(e,a){if(!e||0===a.length)return{enrichedPrompt:e,mentions:[]};let s=a.slice().sort((e,t)=>t.name.length-e.name.length),r=[],n=[];for(let t=0;t<e.length;t++){if("@"!==e[t]||!function(e,t){if(0===t)return!0;let a=e.charCodeAt(t-1);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(e,t))continue;let a=t+1;for(let r of s){let s=a+r.name.length;if(!(s>e.length)&&e.slice(a,s).toLowerCase()===r.name.toLowerCase()&&function(e,t){if(t>=e.length)return!0;let a=e.charCodeAt(t);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(e,s)){if(n.some(e=>t>=e.start&&t<e.end))break;n.push({start:t,end:s,agent:r});break}}}let i=e;for(let e=n.length-1;e>=0;e--){let a=n[e],s={name:a.agent.name,email:a.agent.emailHandle?(0,t.toAlookAddress)(a.agent.emailHandle):null,description:a.agent.description};if(r.unshift(s),a.agent.emailHandle){let e=`@${a.agent.name} (${(0,t.toAlookAddress)(a.agent.emailHandle)})`;i=i.slice(0,a.start)+e+i.slice(a.end)}else i=i.slice(0,a.start)+`@${a.agent.name}`+i.slice(a.end)}return{enrichedPrompt:i,mentions:r}}])},572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_06.am62._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_07-798_._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function r(e,r,i){let n;try{let{env:a}=(0,t.getCloudflareContext)();n=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...i,status:o.status});return}catch{}let o=n||a.DEV_WS_DO_URL;try{let t=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});t.ok||s.warn("broadcast failed",{...i,status:t.status})}catch(e){s.warn("broadcast error",{...i,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,s){let i=r(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(i)}catch{}return i}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),i=e.i(740580),n=e.i(774078);let o=t.queries.task,d=t.queries.agent,l=t.queries.message,c=t.queries.conversation,u=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,i=a.TASK_TYPES.USER_DM_MESSAGE,l){let c=await d.getAgent(this.db,e,s);if(!c)throw Error("agent not found");if(!c.runtimeId)throw Error("agent has no runtime");if(l?.traceId&&l.parentTaskId&&await o.countTasksByTrace(this.db,l.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:c.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:i,contextKey:l?.contextKey??null,priority:0,context:l?.context,traceId:l?.traceId??null,parentTaskId:l?.parentTaskId??null});return(0,n.invalidate)(n.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(e,t){let a=await d.getAgent(this.db,e,t);if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,e,t);if(!s||await o.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,e,t);return s?(await d.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await o.claimKillTasks(this.db,e,a,t),r=t-s.length,i=r>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],n=new Set(e),d=new Set,l=[...s],c=[];for(let e of i){if(c.length>=r)break;let t=`${e.agentId}:${e.workspaceId}`;d.has(t)||(d.add(t),c.push(e))}for(let e of(await Promise.all(c.map(e=>this.claimTask(e.agentId,e.workspaceId)))))e&&n.has(e.runtimeId)&&l.push(e);return l}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let i;try{i=JSON.parse(a)}catch{i={raw:a}}let n=await o.completeTask(this.db,e,t,{result:i,sessionId:r||null});if(!n){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let d=i,c="string"==typeof d?.output?d.output:"";return c&&await l.createMessage(this.db,{conversationId:n.conversationId,role:"assistant",content:c,taskId:e}),await this.reconcileAgentStatus(n.agentId,n.workspaceId),await this.dispatchNextBufferedMessage(n.conversationId,n.workspaceId),n}async failTask(e,t,r){let i=await o.failTask(this.db,e,t,r);if(!i){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}return i.type===a.TASK_TYPES.KILL_TASK||(r&&await l.createMessage(this.db,{conversationId:i.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e}),await this.reconcileAgentStatus(i.agentId,i.workspaceId),await this.syncIssueStatusFromTask(i,"failed"),await this.dispatchNextBufferedMessage(i.conversationId,i.workspaceId)),i}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await u.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let n=await l.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 c.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(n)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await o.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let i=await o.cancelTask(this.db,r.id,t);return i?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await l.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),i):null}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await d.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,n.invalidate)(n.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let n=await l.activateNextBufferedMessage(this.db,e);if(!n)return null;let d=await c.getConversation(this.db,e,t);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await l.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),null;let u=d.userId;try{let s=n.attachmentIds?JSON.parse(n.attachmentIds):[],c=await o.getLatestTaskForConversation(this.db,e),h=c?.traceId??null,p=await this.enqueueTask(d.agentId,e,t,n.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await l.updateMessageTaskId(this.db,n.id,p.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(n),task:(0,i.taskToResponse)(p)}).catch(()=>{}),p}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await l.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:n.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await o.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},99293,e=>e.a(async(t,a)=>{try{var s=e.i(291484);e.i(700598);var r=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),h=e.i(774078),p=t([d]);[d]=p.then?(await p)():p;let w=(0,d.withAuth)(async(e,t)=>{let a=await (0,l.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:i}=(0,s.getCloudflareContext)(),n=(0,o.getDb)(i.DB),d=t.params?.id;if(!d)return(0,c.writeError)("agent id is required",400);if(!await r.queries.agent.getAgent(n,d,a.workspaceId,t.userId))return(0,c.writeError)("agent not found",404);let u=await r.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)})))}),g=(0,d.withAuth)(async(e,t)=>{let a=await (0,l.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:d}=(0,s.getCloudflareContext)(),p=(0,o.getDb)(d.DB),w=t.params?.id;if(!w)return(0,c.writeError)("agent id is required",400);let g=await r.queries.agent.getAgent(p,w,a.workspaceId,t.userId);if(!g)return(0,c.writeError)("agent not found",404);let[f,k]=await (0,c.parseBody)(e,i.AddWhitelistRequestSchema);if(k)return k;let m=f.email.toLowerCase(),T=await r.queries.whitelist.addWhitelist(p,w,a.workspaceId,m);if(!T)return(0,c.writeError)("email already whitelisted",409);if(g.runtimeId&&g.emailHandle&&g.ownerId)try{let e=await r.queries.conversation.createConversation(p,{workspaceId:a.workspaceId,agentId:g.id,userId:g.ownerId,title:`Welcome: ${m}`.slice(0,50),type:n.TASK_TYPES.EMAIL_NOTIFICATION}),s=new u.TaskService(p);await s.enqueueTask(g.id,e.id,a.workspaceId,`Your owner (${t.email}) has added a new contact to your whitelist: ${m}. Please compose and send them a welcome email introducing yourself as "${g.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);let i=new Date().toISOString().slice(0,10);(0,h.invalidate)(h.cacheKeys.overviewTaskStats(a.workspaceId,i)).catch(()=>{})}catch{}return(0,c.writeJSON)({id:T.id,email:T.email,created_at:(0,c.formatTimestamp)(T.createdAt)},201)});e.s(["GET",0,w,"POST",0,g]),a()}catch(e){a(e)}},!1),829167,e=>e.a(async(t,a)=>{try{var s=e.i(80774),r=e.i(404478),i=e.i(732985),n=e.i(481671),o=e.i(638081),d=e.i(204960),l=e.i(924918),c=e.i(363585),u=e.i(906846),h=e.i(359838),p=e.i(383303),w=e.i(234173),g=e.i(270215),f=e.i(830665),k=e.i(944002),m=e.i(193695);e.i(195928);var T=e.i(81543),I=e.i(99293),v=t([I]);[I]=v.then?(await v)():v;let _=new s.AppRouteRouteModule({definition:{kind:r.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:I,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:E,serverHooks:S}=_;async function y(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),_.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/agents/[id]/whitelist/route";s=s.replace(/\/index$/,"")||"/";let i=await _.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:I,deploymentId:v,params:y,nextConfig:b,parsedUrl:E,isDraftMode:S,prerenderManifest:R,routerServerContext:A,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,resolvedPathname:N,clientReferenceManifest:P,serverActionsManifest:O}=i,q=(0,l.normalizeAppPath)(s),M=!!(R.dynamicRoutes[q]||R.routes[N]),K=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,E,!1):t.end("This page could not be found"),null);if(M&&!S){let e=!!R.routes[N],t=R.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await K();throw new m.NoFallbackError}}let $=null;!M||_.isDev||S||($=N,$="/index"===$?"/":$);let B=!0===_.isDev||!M,D=M&&!B;O&&P&&(0,d.setManifestsSingleton)({page:s,clientReferenceManifest:P,serverActionsManifest:O});let U=e.method||"GET",L=(0,o.getTracer)(),j=L.getActiveScopeSpan(),H=!!(null==A?void 0:A.isWrappedByNextServer),F=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await _.getIncrementalCache(e,b,R,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let Y={params:y,previewProps:R.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:B,incrementalCache:W,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,r)=>_.onRequestError(e,t,s,r,A)},sharedContext:{buildId:I,deploymentId:v}},G=new c.NodeNextRequest(e),V=new c.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let i,n=async e=>_.handle(J,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")!==h.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=`${U} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",r),i.updateName(t))}else e.updateName(`${U} ${s}`)}),d=async i=>{var o,d;let l=async({previousCacheEntry:r})=>{try{if(!F&&C&&x&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await n(i);e.fetchMetrics=Y.renderOpts.fetchMetrics;let o=Y.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=Y.renderOpts.collectedTags;if(!M)return await (0,w.sendResponse)(G,V,s,Y.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[k.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>=k.INFINITE_CACHE)&&Y.renderOpts.collectedRevalidate,r=void 0===Y.renderOpts.collectedExpire||Y.renderOpts.collectedExpire>=k.INFINITE_CACHE?void 0:Y.renderOpts.collectedExpire;return{value:{kind:T.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:C})},!1,A),t}},c=await _.handleResponse({req:e,nextConfig:b,cacheKey:$,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:F});if(!M)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==T.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",C?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,g.fromNodeOutgoingHttpHeaders)(c.value.headers);return F&&M||u.delete(k.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,w.sendResponse)(G,V,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};H&&j?await d(j):(i=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(h.BaseServerSpan.handleRequest,{spanName:`${U} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},d),void 0,!H))}catch(t){if(t instanceof m.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:C})},!1,A),M)throw t;return await (0,w.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:E})},"routeModule",0,_,"serverHooks",0,S,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,E]),a()}catch(e){a(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
|
|
1
|
+
module.exports=[726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function r(e,r,i){let n;try{let{env:a}=(0,t.getCloudflareContext)();n=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...i,status:o.status});return}catch{}let o=n||a.DEV_WS_DO_URL;try{let t=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});t.ok||s.warn("broadcast failed",{...i,status:t.status})}catch(e){s.warn("broadcast error",{...i,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,s){let i=r(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(i)}catch{}return i}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),i=e.i(740580),n=e.i(774078);let o=t.queries.task,d=t.queries.agent,l=t.queries.message,c=t.queries.conversation,u=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,i=a.TASK_TYPES.USER_DM_MESSAGE,l){let c=await d.getAgent(this.db,e,s);if(!c)throw Error("agent not found");if(!c.runtimeId)throw Error("agent has no runtime");if(l?.traceId&&l.parentTaskId&&await o.countTasksByTrace(this.db,l.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:c.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:i,contextKey:l?.contextKey??null,priority:0,context:l?.context,traceId:l?.traceId??null,parentTaskId:l?.parentTaskId??null});return(0,n.invalidate)(n.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(e,t){let a=await d.getAgent(this.db,e,t);if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,e,t);if(!s||await o.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,e,t);return s?(await d.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await o.claimKillTasks(this.db,e,a,t),r=t-s.length,i=r>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],n=new Set(e),d=new Set,l=[...s],c=[];for(let e of i){if(c.length>=r)break;let t=`${e.agentId}:${e.workspaceId}`;d.has(t)||(d.add(t),c.push(e))}for(let e of(await Promise.all(c.map(e=>this.claimTask(e.agentId,e.workspaceId)))))e&&n.has(e.runtimeId)&&l.push(e);return l}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,n){let d;try{d=JSON.parse(a)}catch{d={raw:a}}let u=await o.completeTask(this.db,e,t,{result:d,sessionId:n||null});if(!u){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let h=d,p="string"==typeof h?.output?h.output:"";if(p){let a=await l.createMessage(this.db,{conversationId:u.conversationId,role:"assistant",content:p,taskId:e});try{let e=await c.getConversation(this.db,u.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:u.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(u.agentId,u.workspaceId),await this.dispatchNextBufferedMessage(u.conversationId,u.workspaceId),u}async failTask(e,t,n){let d=await o.failTask(this.db,e,t,n);if(!d){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(d.type===a.TASK_TYPES.KILL_TASK)return d;if(n){let a=await l.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:`Error: ${n}`,taskId:e});try{let e=await c.getConversation(this.db,d.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.syncIssueStatusFromTask(d,"failed"),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await u.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let n=await l.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 c.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(n)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await o.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let i=await o.cancelTask(this.db,r.id,t);return i?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await l.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),i):null}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await d.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,n.invalidate)(n.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let n=await l.activateNextBufferedMessage(this.db,e);if(!n)return null;let d=await c.getConversation(this.db,e,t);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await l.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),null;let u=d.userId;try{let s=n.attachmentIds?JSON.parse(n.attachmentIds):[],c=await o.getLatestTaskForConversation(this.db,e),h=c?.traceId??null,p=await this.enqueueTask(d.agentId,e,t,n.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await l.updateMessageTaskId(this.db,n.id,p.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(n),task:(0,i.taskToResponse)(p)}).catch(()=>{}),p}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await l.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:n.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await o.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},99293,e=>e.a(async(t,a)=>{try{var s=e.i(291484);e.i(700598);var r=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),h=e.i(774078),p=t([d]);[d]=p.then?(await p)():p;let w=(0,d.withAuth)(async(e,t)=>{let a=await (0,l.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:i}=(0,s.getCloudflareContext)(),n=(0,o.getDb)(i.DB),d=t.params?.id;if(!d)return(0,c.writeError)("agent id is required",400);if(!await r.queries.agent.getAgent(n,d,a.workspaceId,t.userId))return(0,c.writeError)("agent not found",404);let u=await r.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)})))}),g=(0,d.withAuth)(async(e,t)=>{let a=await (0,l.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:d}=(0,s.getCloudflareContext)(),p=(0,o.getDb)(d.DB),w=t.params?.id;if(!w)return(0,c.writeError)("agent id is required",400);let g=await r.queries.agent.getAgent(p,w,a.workspaceId,t.userId);if(!g)return(0,c.writeError)("agent not found",404);let[f,m]=await (0,c.parseBody)(e,i.AddWhitelistRequestSchema);if(m)return m;let T=f.email.toLowerCase(),k=await r.queries.whitelist.addWhitelist(p,w,a.workspaceId,T);if(!k)return(0,c.writeError)("email already whitelisted",409);if(g.runtimeId&&g.emailHandle&&g.ownerId)try{let e=await r.queries.conversation.createConversation(p,{workspaceId:a.workspaceId,agentId:g.id,userId:g.ownerId,title:`Welcome: ${T}`.slice(0,50),type:n.TASK_TYPES.EMAIL_NOTIFICATION}),s=new u.TaskService(p);await s.enqueueTask(g.id,e.id,a.workspaceId,`Your owner (${t.email}) has added a new contact to your whitelist: ${T}. Please compose and send them a welcome email introducing yourself as "${g.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);let i=new Date().toISOString().slice(0,10);(0,h.invalidate)(h.cacheKeys.overviewTaskStats(a.workspaceId,i)).catch(()=>{})}catch{}return(0,c.writeJSON)({id:k.id,email:k.email,created_at:(0,c.formatTimestamp)(k.createdAt)},201)});e.s(["GET",0,w,"POST",0,g]),a()}catch(e){a(e)}},!1),829167,e=>e.a(async(t,a)=>{try{var s=e.i(80774),r=e.i(404478),i=e.i(732985),n=e.i(481671),o=e.i(638081),d=e.i(204960),l=e.i(924918),c=e.i(363585),u=e.i(906846),h=e.i(359838),p=e.i(383303),w=e.i(234173),g=e.i(270215),f=e.i(830665),m=e.i(944002),T=e.i(193695);e.i(195928);var k=e.i(81543),I=e.i(99293),v=t([I]);[I]=v.then?(await v)():v;let b=new s.AppRouteRouteModule({definition:{kind:r.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:I,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:E,serverHooks:R}=b;async function y(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/agents/[id]/whitelist/route";s=s.replace(/\/index$/,"")||"/";let i=await b.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:I,deploymentId:v,params:y,nextConfig:_,parsedUrl:E,isDraftMode:R,prerenderManifest:S,routerServerContext:A,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,resolvedPathname:N,clientReferenceManifest:P,serverActionsManifest:O}=i,q=(0,l.normalizeAppPath)(s),M=!!(S.dynamicRoutes[q]||S.routes[N]),K=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,E,!1):t.end("This page could not be found"),null);if(M&&!R){let e=!!S.routes[N],t=S.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await K();throw new T.NoFallbackError}}let $=null;!M||b.isDev||R||($=N,$="/index"===$?"/":$);let U=!0===b.isDev||!M,B=M&&!U;O&&P&&(0,d.setManifestsSingleton)({page:s,clientReferenceManifest:P,serverActionsManifest:O});let D=e.method||"GET",L=(0,o.getTracer)(),j=L.getActiveScopeSpan(),H=!!(null==A?void 0:A.isWrappedByNextServer),F=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,_,S,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let Y={params:y,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:_.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,r)=>b.onRequestError(e,t,s,r,A)},sharedContext:{buildId:I,deploymentId:v}},G=new c.NodeNextRequest(e),V=new c.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let i,n=async e=>b.handle(J,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")!==h.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=`${D} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",r),i.updateName(t))}else e.updateName(`${D} ${s}`)}),d=async i=>{var o,d;let l=async({previousCacheEntry:r})=>{try{if(!F&&C&&x&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await n(i);e.fetchMetrics=Y.renderOpts.fetchMetrics;let o=Y.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=Y.renderOpts.collectedTags;if(!M)return await (0,w.sendResponse)(G,V,s,Y.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[m.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>=m.INFINITE_CACHE)&&Y.renderOpts.collectedRevalidate,r=void 0===Y.renderOpts.collectedExpire||Y.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:Y.renderOpts.collectedExpire;return{value:{kind:k.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:C})},!1,A),t}},c=await b.handleResponse({req:e,nextConfig:_,cacheKey:$,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:F});if(!M)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==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",C?"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,g.fromNodeOutgoingHttpHeaders)(c.value.headers);return F&&M||u.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,w.sendResponse)(G,V,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};H&&j?await d(j):(i=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(h.BaseServerSpan.handleRequest,{spanName:`${D} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},d),void 0,!H))}catch(t){if(t instanceof T.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:C})},!1,A),M)throw t;return await (0,w.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:E})},"routeModule",0,b,"serverHooks",0,R,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,E]),a()}catch(e){a(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_07-798_._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08mdiy6._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function r(e,r,i){let n;try{let{env:a}=(0,t.getCloudflareContext)();n=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...i,status:o.status});return}catch{}let o=n||a.DEV_WS_DO_URL;try{let t=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});t.ok||s.warn("broadcast failed",{...i,status:t.status})}catch(e){s.warn("broadcast error",{...i,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,s){let i=r(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(i)}catch{}return i}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),i=e.i(740580),n=e.i(774078);let o=t.queries.task,d=t.queries.agent,l=t.queries.message,c=t.queries.conversation,u=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,i=a.TASK_TYPES.USER_DM_MESSAGE,l){let c=await d.getAgent(this.db,e,s);if(!c)throw Error("agent not found");if(!c.runtimeId)throw Error("agent has no runtime");if(l?.traceId&&l.parentTaskId&&await o.countTasksByTrace(this.db,l.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:c.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:i,contextKey:l?.contextKey??null,priority:0,context:l?.context,traceId:l?.traceId??null,parentTaskId:l?.parentTaskId??null});return(0,n.invalidate)(n.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(e,t){let a=await d.getAgent(this.db,e,t);if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,e,t);if(!s||await o.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,e,t);return s?(await d.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await o.claimKillTasks(this.db,e,a,t),r=t-s.length,i=r>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],n=new Set(e),d=new Set,l=[...s],c=[];for(let e of i){if(c.length>=r)break;let t=`${e.agentId}:${e.workspaceId}`;d.has(t)||(d.add(t),c.push(e))}for(let e of(await Promise.all(c.map(e=>this.claimTask(e.agentId,e.workspaceId)))))e&&n.has(e.runtimeId)&&l.push(e);return l}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let i;try{i=JSON.parse(a)}catch{i={raw:a}}let n=await o.completeTask(this.db,e,t,{result:i,sessionId:r||null});if(!n){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let d=i,c="string"==typeof d?.output?d.output:"";return c&&await l.createMessage(this.db,{conversationId:n.conversationId,role:"assistant",content:c,taskId:e}),await this.reconcileAgentStatus(n.agentId,n.workspaceId),await this.dispatchNextBufferedMessage(n.conversationId,n.workspaceId),n}async failTask(e,t,r){let i=await o.failTask(this.db,e,t,r);if(!i){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}return i.type===a.TASK_TYPES.KILL_TASK||(r&&await l.createMessage(this.db,{conversationId:i.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e}),await this.reconcileAgentStatus(i.agentId,i.workspaceId),await this.syncIssueStatusFromTask(i,"failed"),await this.dispatchNextBufferedMessage(i.conversationId,i.workspaceId)),i}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await u.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let n=await l.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 c.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(n)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await o.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let i=await o.cancelTask(this.db,r.id,t);return i?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await l.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),i):null}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await d.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,n.invalidate)(n.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let n=await l.activateNextBufferedMessage(this.db,e);if(!n)return null;let d=await c.getConversation(this.db,e,t);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await l.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),null;let u=d.userId;try{let s=n.attachmentIds?JSON.parse(n.attachmentIds):[],c=await o.getLatestTaskForConversation(this.db,e),p=c?.traceId??null,h=await this.enqueueTask(d.agentId,e,t,n.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:p,parentTaskId:null});return await l.updateMessageTaskId(this.db,n.id,h.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(n),task:(0,i.taskToResponse)(h)}).catch(()=>{}),h}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await l.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:n.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await o.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},636551,e=>e.a(async(t,a)=>{try{var s=e.i(291484);e.i(700598);var r=e.i(291109),i=e.i(675139),n=e.i(152327),o=e.i(47962),d=e.i(776227),l=e.i(740580),c=e.i(205054),u=t([n]);[n]=u.then?(await u)():u;let p=(0,n.withAuth)(async(e,t)=>{let a,n=await (0,o.withWorkspaceMember)(e,t);if(n instanceof Response)return n;let{env:u}=(0,s.getCloudflareContext)(),p=(0,i.getDb)(u.DB),h=t.params?.id;if(!h)return(0,d.writeError)("agent id is required",400);if(!await r.queries.agent.getAgent(p,h,n.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 g=await r.queries.conversation.getOrCreateAgentConversation(p,n.workspaceId,t.userId,h,a),w=g.id,[f,k,m,v,T]=await Promise.allSettled([r.queries.message.listMessages(p,w,{limit:20}),r.queries.artifact.listArtifactsByConversation(p,w,n.workspaceId,{limit:50}),r.queries.message.listBufferedMessages(p,w),r.queries.task.getActiveTaskByConversation(p,w,n.workspaceId),r.queries.conversation.hasPreviousConversations(p,n.workspaceId,t.userId,h,w,a)]),{messages:y,has_more:_}="fulfilled"===f.status?f.value:{messages:[],has_more:!1},I="fulfilled"===k.status?k.value:[],b="fulfilled"===m.status?m.value:[],R="fulfilled"===v.status?v.value:null,E="fulfilled"===T.status&&T.value,S=R,A=b;if(A.length>0&&!S)try{let e=new c.TaskService(p),t=await e.dispatchNextBufferedMessage(w,n.workspaceId);t&&(S=t,A=await r.queries.message.listBufferedMessages(p,w))}catch{}let C=[];if(S&&!["completed","failed","cancelled","superseded"].includes(S.status))try{C=(await r.queries.taskMessage.listTaskMessages(p,S.id)).map(l.taskMessageToResponse)}catch{}return(0,d.writeJSON)({conversation:(0,l.conversationToResponse)(g),messages:y.map(l.messageToResponse),artifacts:I.map(r.queries.artifact.artifactToResponse),buffered_messages:A.map(l.messageToResponse),active_task:S?(0,l.taskToResponse)(S):null,task_messages:C,has_more_messages:_,has_more_conversations:E,has_more_artifacts:I.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),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),h=e.i(383303),g=e.i(234173),w=e.i(270215),f=e.i(830665),k=e.i(944002),m=e.i(193695);e.i(195928);var v=e.i(81543),T=e.i(636551),y=t([T]);[T]=y.then?(await y)():y;let I=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:T,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:R,serverHooks:E}=I;async function _(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),I.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/agents/[id]/chat-init/route";s=s.replace(/\/index$/,"")||"/";let i=await I.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,deploymentId:y,params:_,nextConfig:b,parsedUrl:R,isDraftMode:E,prerenderManifest:S,routerServerContext:A,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,resolvedPathname:M,clientReferenceManifest:N,serverActionsManifest:P}=i,q=(0,l.normalizeAppPath)(s),O=!!(S.dynamicRoutes[q]||S.routes[M]),B=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,R,!1):t.end("This page could not be found"),null);if(O&&!E){let e=!!S.routes[M],t=S.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await B();throw new m.NoFallbackError}}let K=null;!O||I.isDev||E||(K=M,K="/index"===K?"/":K);let U=!0===I.isDev||!O,$=O&&!U;P&&N&&(0,d.setManifestsSingleton)({page:s,clientReferenceManifest:N,serverActionsManifest:P});let D=e.method||"GET",j=(0,o.getTracer)(),L=j.getActiveScopeSpan(),H=!!(null==A?void 0:A.isWrappedByNextServer),F=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,b,S,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let V={params:_,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,r)=>I.onRequestError(e,t,s,r,A)},sharedContext:{buildId:T,deploymentId:y}},Y=new c.NodeNextRequest(e),G=new c.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(Y,(0,u.signalFromNodeResponse)(t));try{let i,n=async e=>I.handle(J,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=j.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${D} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",r),i.updateName(t))}else e.updateName(`${D} ${s}`)}),d=async i=>{var o,d;let l=async({previousCacheEntry:r})=>{try{if(!F&&C&&x&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await n(i);e.fetchMetrics=V.renderOpts.fetchMetrics;let o=V.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=V.renderOpts.collectedTags;if(!O)return await (0,g.sendResponse)(Y,G,s,V.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[k.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=k.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,r=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=k.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:v.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 I.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:C})},!1,A),t}},c=await I.handleResponse({req:e,nextConfig:b,cacheKey:K,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:F});if(!O)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==v.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",C?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,w.fromNodeOutgoingHttpHeaders)(c.value.headers);return F&&O||u.delete(k.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,g.sendResponse)(Y,G,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};H&&L?await d(L):(i=j.getActiveScopeSpan(),await j.withPropagatedContext(e.headers,()=>j.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},d),void 0,!H))}catch(t){if(t instanceof m.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:C})},!1,A),O)throw t;return await (0,g.sendResponse)(Y,G,new Response(null,{status:500})),null}}e.s(["handler",0,_,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:R})},"routeModule",0,I,"serverHooks",0,E,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,R]),a()}catch(e){a(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
|
|
1
|
+
module.exports=[726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function r(e,r,i){let n;try{let{env:a}=(0,t.getCloudflareContext)();n=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...i,status:o.status});return}catch{}let o=n||a.DEV_WS_DO_URL;try{let t=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});t.ok||s.warn("broadcast failed",{...i,status:t.status})}catch(e){s.warn("broadcast error",{...i,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,s){let i=r(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(i)}catch{}return i}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),i=e.i(740580),n=e.i(774078);let o=t.queries.task,d=t.queries.agent,l=t.queries.message,c=t.queries.conversation,u=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,i=a.TASK_TYPES.USER_DM_MESSAGE,l){let c=await d.getAgent(this.db,e,s);if(!c)throw Error("agent not found");if(!c.runtimeId)throw Error("agent has no runtime");if(l?.traceId&&l.parentTaskId&&await o.countTasksByTrace(this.db,l.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:c.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:i,contextKey:l?.contextKey??null,priority:0,context:l?.context,traceId:l?.traceId??null,parentTaskId:l?.parentTaskId??null});return(0,n.invalidate)(n.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(e,t){let a=await d.getAgent(this.db,e,t);if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,e,t);if(!s||await o.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,e,t);return s?(await d.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await o.claimKillTasks(this.db,e,a,t),r=t-s.length,i=r>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],n=new Set(e),d=new Set,l=[...s],c=[];for(let e of i){if(c.length>=r)break;let t=`${e.agentId}:${e.workspaceId}`;d.has(t)||(d.add(t),c.push(e))}for(let e of(await Promise.all(c.map(e=>this.claimTask(e.agentId,e.workspaceId)))))e&&n.has(e.runtimeId)&&l.push(e);return l}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,n){let d;try{d=JSON.parse(a)}catch{d={raw:a}}let u=await o.completeTask(this.db,e,t,{result:d,sessionId:n||null});if(!u){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let p=d,h="string"==typeof p?.output?p.output:"";if(h){let a=await l.createMessage(this.db,{conversationId:u.conversationId,role:"assistant",content:h,taskId:e});try{let e=await c.getConversation(this.db,u.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:u.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(u.agentId,u.workspaceId),await this.dispatchNextBufferedMessage(u.conversationId,u.workspaceId),u}async failTask(e,t,n){let d=await o.failTask(this.db,e,t,n);if(!d){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(d.type===a.TASK_TYPES.KILL_TASK)return d;if(n){let a=await l.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:`Error: ${n}`,taskId:e});try{let e=await c.getConversation(this.db,d.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.syncIssueStatusFromTask(d,"failed"),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await u.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let n=await l.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 c.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(n)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await o.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let i=await o.cancelTask(this.db,r.id,t);return i?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await l.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),i):null}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await d.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,n.invalidate)(n.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let n=await l.activateNextBufferedMessage(this.db,e);if(!n)return null;let d=await c.getConversation(this.db,e,t);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await l.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),null;let u=d.userId;try{let s=n.attachmentIds?JSON.parse(n.attachmentIds):[],c=await o.getLatestTaskForConversation(this.db,e),p=c?.traceId??null,h=await this.enqueueTask(d.agentId,e,t,n.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:p,parentTaskId:null});return await l.updateMessageTaskId(this.db,n.id,h.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(n),task:(0,i.taskToResponse)(h)}).catch(()=>{}),h}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await l.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:n.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await o.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},636551,e=>e.a(async(t,a)=>{try{var s=e.i(291484);e.i(700598);var r=e.i(291109),i=e.i(675139),n=e.i(152327),o=e.i(47962),d=e.i(776227),l=e.i(740580),c=e.i(205054),u=t([n]);[n]=u.then?(await u)():u;let p=(0,n.withAuth)(async(e,t)=>{let a,n=await (0,o.withWorkspaceMember)(e,t);if(n instanceof Response)return n;let{env:u}=(0,s.getCloudflareContext)(),p=(0,i.getDb)(u.DB),h=t.params?.id;if(!h)return(0,d.writeError)("agent id is required",400);if(!await r.queries.agent.getAgent(p,h,n.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 g=await r.queries.conversation.getOrCreateAgentConversation(p,n.workspaceId,t.userId,h,a),w=g.id,[f,v,k,m,T]=await Promise.allSettled([r.queries.message.listMessages(p,w,{limit:20}),r.queries.artifact.listArtifactsByConversation(p,w,n.workspaceId,{limit:50}),r.queries.message.listBufferedMessages(p,w),r.queries.task.getActiveTaskByConversation(p,w,n.workspaceId),r.queries.conversation.hasPreviousConversations(p,n.workspaceId,t.userId,h,w,a)]),{messages:y,has_more:I}="fulfilled"===f.status?f.value:{messages:[],has_more:!1},_="fulfilled"===v.status?v.value:[],b="fulfilled"===k.status?k.value:[],R="fulfilled"===m.status?m.value:null,E="fulfilled"===T.status&&T.value,S=R,A=b;if(A.length>0&&!S)try{let e=new c.TaskService(p),t=await e.dispatchNextBufferedMessage(w,n.workspaceId);t&&(S=t,A=await r.queries.message.listBufferedMessages(p,w))}catch{}let C=[];if(S&&!["completed","failed","cancelled","superseded"].includes(S.status))try{C=(await r.queries.taskMessage.listTaskMessages(p,S.id)).map(l.taskMessageToResponse)}catch{}return(0,d.writeJSON)({conversation:(0,l.conversationToResponse)(g),messages:y.map(l.messageToResponse),artifacts:_.map(r.queries.artifact.artifactToResponse),buffered_messages:A.map(l.messageToResponse),active_task:S?(0,l.taskToResponse)(S):null,task_messages:C,has_more_messages:I,has_more_conversations:E,has_more_artifacts:_.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),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),h=e.i(383303),g=e.i(234173),w=e.i(270215),f=e.i(830665),v=e.i(944002),k=e.i(193695);e.i(195928);var m=e.i(81543),T=e.i(636551),y=t([T]);[T]=y.then?(await y)():y;let _=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:T,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:R,serverHooks:E}=_;async function I(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),_.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/agents/[id]/chat-init/route";s=s.replace(/\/index$/,"")||"/";let i=await _.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,deploymentId:y,params:I,nextConfig:b,parsedUrl:R,isDraftMode:E,prerenderManifest:S,routerServerContext:A,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,resolvedPathname:M,clientReferenceManifest:N,serverActionsManifest:P}=i,q=(0,l.normalizeAppPath)(s),O=!!(S.dynamicRoutes[q]||S.routes[M]),B=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,R,!1):t.end("This page could not be found"),null);if(O&&!E){let e=!!S.routes[M],t=S.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await B();throw new k.NoFallbackError}}let K=null;!O||_.isDev||E||(K=M,K="/index"===K?"/":K);let U=!0===_.isDev||!O,$=O&&!U;P&&N&&(0,d.setManifestsSingleton)({page:s,clientReferenceManifest:N,serverActionsManifest:P});let D=e.method||"GET",j=(0,o.getTracer)(),L=j.getActiveScopeSpan(),H=!!(null==A?void 0:A.isWrappedByNextServer),F=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await _.getIncrementalCache(e,b,S,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let V={params:I,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,r)=>_.onRequestError(e,t,s,r,A)},sharedContext:{buildId:T,deploymentId:y}},Y=new c.NodeNextRequest(e),G=new c.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(Y,(0,u.signalFromNodeResponse)(t));try{let i,n=async e=>_.handle(J,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=j.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${D} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",r),i.updateName(t))}else e.updateName(`${D} ${s}`)}),d=async i=>{var o,d;let l=async({previousCacheEntry:r})=>{try{if(!F&&C&&x&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await n(i);e.fetchMetrics=V.renderOpts.fetchMetrics;let o=V.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=V.renderOpts.collectedTags;if(!O)return await (0,g.sendResponse)(Y,G,s,V.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[v.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,r=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:m.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 _.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:C})},!1,A),t}},c=await _.handleResponse({req:e,nextConfig:b,cacheKey:K,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:F});if(!O)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==m.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",C?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,w.fromNodeOutgoingHttpHeaders)(c.value.headers);return F&&O||u.delete(v.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,g.sendResponse)(Y,G,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};H&&L?await d(L):(i=j.getActiveScopeSpan(),await j.withPropagatedContext(e.headers,()=>j.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},d),void 0,!H))}catch(t){if(t instanceof k.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:C})},!1,A),O)throw t;return await (0,g.sendResponse)(Y,G,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:R})},"routeModule",0,_,"serverHooks",0,E,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,R]),a()}catch(e){a(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_08mdiy6._.js.map
|