@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})}}}])},436454,e=>e.a(async(t,a)=>{try{var r=e.i(291484),s=e.i(675139),n=e.i(152327),i=e.i(776227),o=e.i(740580),d=e.i(205054);e.i(700598);var c=e.i(888247),l=e.i(726089),u=e.i(774078),p=t([n]);[n]=p.then?(await p)():p;let m=(0,n.withAuth)(async(e,t)=>{if(!t.workspaceId)return(0,i.writeError)("Forbidden: machine token required",403);let{env:a}=(0,r.getCloudflareContext)(),n=(0,s.getDb)(a.DB),p=t.params?.taskId;if(!p)return(0,i.writeError)("task_id is required",400);let[m,h]=await (0,i.parseBody)(e,c.CompleteTaskRequestSchema);if(h)return h;let f=JSON.stringify(m),g=m.session_id||"",_=new d.TaskService(n);try{let e=await _.completeTask(p,t.workspaceId,f,g),a=new Date().toISOString().slice(0,10);return(0,u.invalidate)(u.cacheKeys.overviewTaskStats(t.workspaceId,a)).catch(()=>{}),(0,u.invalidateByPrefix)(u.cacheKeys.inboxCountPrefix(t.userId,t.workspaceId)).catch(()=>{}),(0,l.broadcastToUser)(t.userId,{type:"task.updated",taskId:p,agentId:e.agentId,status:"completed"}).catch(()=>{}),(0,i.writeJSON)((0,o.taskToResponse)(e))}catch(e){return(0,i.writeError)(e instanceof Error?e.message:"Unknown error",400)}});e.s(["POST",0,m]),a()}catch(e){a(e)}},!1),591459,e=>e.a(async(t,a)=>{try{var r=e.i(80774),s=e.i(404478),n=e.i(732985),i=e.i(481671),o=e.i(638081),d=e.i(204960),c=e.i(924918),l=e.i(363585),u=e.i(906846),p=e.i(359838),m=e.i(383303),h=e.i(234173),f=e.i(270215),g=e.i(830665),_=e.i(944002),w=e.i(193695);e.i(195928);var y=e.i(81543),T=e.i(436454),k=t([T]);[T]=k.then?(await k)():k;let b=new r.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/daemon/tasks/[taskId]/complete/route",pathname:"/api/daemon/tasks/[taskId]/complete",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/daemon/tasks/[taskId]/complete/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:I,workUnitAsyncStorage:A,serverHooks:x}=b;async function v(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/daemon/tasks/[taskId]/complete/route";r=r.replace(/\/index$/,"")||"/";let n=await b.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,deploymentId:k,params:v,nextConfig:I,parsedUrl:A,isDraftMode:x,prerenderManifest:R,routerServerContext:S,isOnDemandRevalidate:E,revalidateOnlyGenerated:N,resolvedPathname:C,clientReferenceManifest:O,serverActionsManifest:P}=n,M=(0,c.normalizeAppPath)(r),q=!!(R.dynamicRoutes[M]||R.routes[C]),D=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,A,!1):t.end("This page could not be found"),null);if(q&&!x){let e=!!R.routes[C],t=R.dynamicRoutes[M];if(t&&!1===t.fallback&&!e){if(I.adapterPath)return await D();throw new w.NoFallbackError}}let K=null;!q||b.isDev||x||(K=C,K="/index"===K?"/":K);let U=!0===b.isDev||!q,j=q&&!U;P&&O&&(0,d.setManifestsSingleton)({page:r,clientReferenceManifest:O,serverActionsManifest:P});let B=e.method||"GET",$=(0,o.getTracer)(),L=$.getActiveScopeSpan(),H=!!(null==S?void 0:S.isWrappedByNextServer),F=!!(0,i.getRequestMeta)(e,"minimalMode"),W=(0,i.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,I,R,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let V={params:v,previewProps:R.preview,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts},cacheComponents:!!I.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:I.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,s)=>b.onRequestError(e,t,r,s,S)},sharedContext:{buildId:T,deploymentId:k}},J=new l.NodeNextRequest(e),Y=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(J,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>b.handle(G,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=$.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=a.get("next.route");if(s){let t=`${B} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",s),n.updateName(t))}else e.updateName(`${B} ${r}`)}),d=async n=>{var o,d;let c=async({previousCacheEntry:s})=>{try{if(!F&&E&&N&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await i(n);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(!q)return await (0,h.sendResponse)(J,Y,r,V.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[_.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>=_.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,s=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=_.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:s}}}}catch(t){throw(null==s?void 0:s.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:E})},!1,S),t}},l=await b.handleResponse({req:e,nextConfig:I,cacheKey:K,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:N,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:F});if(!q)return null;if((null==l||null==(o=l.value)?void 0:o.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(d=l.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",E?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(l.value.headers);return F&&q||u.delete(_.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(l.cacheControl)),await (0,h.sendResponse)(J,Y,new Response(l.value.body,{headers:u,status:l.value.status||200})),null};H&&L?await d(L):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},d),void 0,!H))}catch(t){if(t instanceof w.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:E})},!1,S),q)throw t;return await (0,h.sendResponse)(J,Y,new Response(null,{status:500})),null}}e.s(["handler",0,v,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:A})},"routeModule",0,b,"serverHooks",0,x,"workAsyncStorage",0,I,"workUnitAsyncStorage",0,A]),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=[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})}}}])},436454,e=>e.a(async(t,a)=>{try{var r=e.i(291484),s=e.i(675139),n=e.i(152327),i=e.i(776227),o=e.i(740580),d=e.i(205054);e.i(700598);var c=e.i(888247),l=e.i(726089),u=e.i(774078),p=t([n]);[n]=p.then?(await p)():p;let m=(0,n.withAuth)(async(e,t)=>{if(!t.workspaceId)return(0,i.writeError)("Forbidden: machine token required",403);let{env:a}=(0,r.getCloudflareContext)(),n=(0,s.getDb)(a.DB),p=t.params?.taskId;if(!p)return(0,i.writeError)("task_id is required",400);let[m,h]=await (0,i.parseBody)(e,c.CompleteTaskRequestSchema);if(h)return h;let f=JSON.stringify(m),g=m.session_id||"",w=new d.TaskService(n);try{let e=await w.completeTask(p,t.workspaceId,f,g),a=new Date().toISOString().slice(0,10);return(0,u.invalidate)(u.cacheKeys.overviewTaskStats(t.workspaceId,a)).catch(()=>{}),(0,u.invalidateByPrefix)(u.cacheKeys.inboxCountPrefix(t.userId,t.workspaceId)).catch(()=>{}),(0,l.broadcastToUser)(t.userId,{type:"task.updated",taskId:p,agentId:e.agentId,status:"completed"}).catch(()=>{}),(0,i.writeJSON)((0,o.taskToResponse)(e))}catch(e){return(0,i.writeError)(e instanceof Error?e.message:"Unknown error",400)}});e.s(["POST",0,m]),a()}catch(e){a(e)}},!1),591459,e=>e.a(async(t,a)=>{try{var r=e.i(80774),s=e.i(404478),n=e.i(732985),i=e.i(481671),o=e.i(638081),d=e.i(204960),c=e.i(924918),l=e.i(363585),u=e.i(906846),p=e.i(359838),m=e.i(383303),h=e.i(234173),f=e.i(270215),g=e.i(830665),w=e.i(944002),y=e.i(193695);e.i(195928);var _=e.i(81543),T=e.i(436454),k=t([T]);[T]=k.then?(await k)():k;let I=new r.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/daemon/tasks/[taskId]/complete/route",pathname:"/api/daemon/tasks/[taskId]/complete",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/daemon/tasks/[taskId]/complete/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:A,serverHooks:x}=I;async function v(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),I.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/daemon/tasks/[taskId]/complete/route";r=r.replace(/\/index$/,"")||"/";let n=await I.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,deploymentId:k,params:v,nextConfig:b,parsedUrl:A,isDraftMode:x,prerenderManifest:R,routerServerContext:S,isOnDemandRevalidate:E,revalidateOnlyGenerated:C,resolvedPathname:N,clientReferenceManifest:O,serverActionsManifest:P}=n,M=(0,c.normalizeAppPath)(r),q=!!(R.dynamicRoutes[M]||R.routes[N]),D=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,A,!1):t.end("This page could not be found"),null);if(q&&!x){let e=!!R.routes[N],t=R.dynamicRoutes[M];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await D();throw new y.NoFallbackError}}let U=null;!q||I.isDev||x||(U=N,U="/index"===U?"/":U);let K=!0===I.isDev||!q,j=q&&!K;P&&O&&(0,d.setManifestsSingleton)({page:r,clientReferenceManifest:O,serverActionsManifest:P});let B=e.method||"GET",$=(0,o.getTracer)(),L=$.getActiveScopeSpan(),H=!!(null==S?void 0:S.isWrappedByNextServer),F=!!(0,i.getRequestMeta)(e,"minimalMode"),W=(0,i.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,b,R,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let V={params:v,previewProps:R.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:K,incrementalCache:W,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,s)=>I.onRequestError(e,t,r,s,S)},sharedContext:{buildId:T,deploymentId:k}},J=new l.NodeNextRequest(e),Y=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(J,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>I.handle(G,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=$.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=a.get("next.route");if(s){let t=`${B} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",s),n.updateName(t))}else e.updateName(`${B} ${r}`)}),d=async n=>{var o,d;let c=async({previousCacheEntry:s})=>{try{if(!F&&E&&C&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await i(n);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(!q)return await (0,h.sendResponse)(J,Y,r,V.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[w.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>=w.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,s=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:s}}}}catch(t){throw(null==s?void 0:s.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:E})},!1,S),t}},l=await I.handleResponse({req:e,nextConfig:b,cacheKey:U,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:C,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:F});if(!q)return null;if((null==l||null==(o=l.value)?void 0:o.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(d=l.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",E?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(l.value.headers);return F&&q||u.delete(w.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(l.cacheControl)),await (0,h.sendResponse)(J,Y,new Response(l.value.body,{headers:u,status:l.value.status||200})),null};H&&L?await d(L):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},d),void 0,!H))}catch(t){if(t instanceof y.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:E})},!1,S),q)throw t;return await (0,h.sendResponse)(J,Y,new Response(null,{status:500})),null}}e.s(["handler",0,v,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:A})},"routeModule",0,I,"serverHooks",0,x,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,A]),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=%5Broot-of-the-server%5D__0dkg608._.js.map
|
|
@@ -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})}}}])},754748,e=>e.a(async(t,a)=>{try{var r=e.i(291484),s=e.i(675139),n=e.i(152327),i=e.i(776227),o=e.i(740580),d=e.i(205054),c=e.i(726089),l=e.i(774078),u=t([n]);[n]=u.then?(await u)():u;let p=(0,n.withAuth)(async(e,t)=>{if(!t.workspaceId)return(0,i.writeError)("Forbidden: machine token required",403);let{env:a}=(0,r.getCloudflareContext)(),n=(0,s.getDb)(a.DB),u=t.params?.taskId;if(!u)return(0,i.writeError)("task_id is required",400);let p=new d.TaskService(n);try{let e=await p.supersedeTask(u,t.workspaceId),a=new Date().toISOString().slice(0,10);return(0,l.invalidate)(l.cacheKeys.overviewTaskStats(t.workspaceId,a)).catch(()=>{}),(0,c.broadcastToUser)(t.userId,{type:"task.updated",taskId:u,agentId:e.agentId,status:"superseded"}).catch(()=>{}),(0,i.writeJSON)((0,o.taskToResponse)(e))}catch(e){return(0,i.writeError)(e instanceof Error?e.message:"Unknown error",400)}});e.s(["POST",0,p]),a()}catch(e){a(e)}},!1),256639,e=>e.a(async(t,a)=>{try{var r=e.i(80774),s=e.i(404478),n=e.i(732985),i=e.i(481671),o=e.i(638081),d=e.i(204960),c=e.i(924918),l=e.i(363585),u=e.i(906846),p=e.i(359838),m=e.i(383303),h=e.i(234173),f=e.i(270215),g=e.i(830665),_=e.i(944002),w=e.i(193695);e.i(195928);var y=e.i(81543),T=e.i(754748),k=t([T]);[T]=k.then?(await k)():k;let b=new r.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/daemon/tasks/[taskId]/supersede/route",pathname:"/api/daemon/tasks/[taskId]/supersede",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/daemon/tasks/[taskId]/supersede/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:I,workUnitAsyncStorage:A,serverHooks:x}=b;async function v(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/daemon/tasks/[taskId]/supersede/route";r=r.replace(/\/index$/,"")||"/";let n=await b.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,deploymentId:k,params:v,nextConfig:I,parsedUrl:A,isDraftMode:x,prerenderManifest:R,routerServerContext:S,isOnDemandRevalidate:E,revalidateOnlyGenerated:N,resolvedPathname:C,clientReferenceManifest:O,serverActionsManifest:M}=n,P=(0,c.normalizeAppPath)(r),q=!!(R.dynamicRoutes[P]||R.routes[C]),D=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,A,!1):t.end("This page could not be found"),null);if(q&&!x){let e=!!R.routes[C],t=R.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(I.adapterPath)return await D();throw new w.NoFallbackError}}let K=null;!q||b.isDev||x||(K=C,K="/index"===K?"/":K);let U=!0===b.isDev||!q,j=q&&!U;M&&O&&(0,d.setManifestsSingleton)({page:r,clientReferenceManifest:O,serverActionsManifest:M});let B=e.method||"GET",$=(0,o.getTracer)(),L=$.getActiveScopeSpan(),H=!!(null==S?void 0:S.isWrappedByNextServer),F=!!(0,i.getRequestMeta)(e,"minimalMode"),W=(0,i.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,I,R,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let V={params:v,previewProps:R.preview,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts},cacheComponents:!!I.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:I.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,s)=>b.onRequestError(e,t,r,s,S)},sharedContext:{buildId:T,deploymentId:k}},J=new l.NodeNextRequest(e),Y=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(J,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>b.handle(G,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=$.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=a.get("next.route");if(s){let t=`${B} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",s),n.updateName(t))}else e.updateName(`${B} ${r}`)}),d=async n=>{var o,d;let c=async({previousCacheEntry:s})=>{try{if(!F&&E&&N&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await i(n);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(!q)return await (0,h.sendResponse)(J,Y,r,V.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[_.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>=_.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,s=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=_.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:s}}}}catch(t){throw(null==s?void 0:s.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:E})},!1,S),t}},l=await b.handleResponse({req:e,nextConfig:I,cacheKey:K,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:N,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:F});if(!q)return null;if((null==l||null==(o=l.value)?void 0:o.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(d=l.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",E?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(l.value.headers);return F&&q||u.delete(_.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(l.cacheControl)),await (0,h.sendResponse)(J,Y,new Response(l.value.body,{headers:u,status:l.value.status||200})),null};H&&L?await d(L):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},d),void 0,!H))}catch(t){if(t instanceof w.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:E})},!1,S),q)throw t;return await (0,h.sendResponse)(J,Y,new Response(null,{status:500})),null}}e.s(["handler",0,v,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:A})},"routeModule",0,b,"serverHooks",0,x,"workAsyncStorage",0,I,"workUnitAsyncStorage",0,A]),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=[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})}}}])},754748,e=>e.a(async(t,a)=>{try{var r=e.i(291484),s=e.i(675139),n=e.i(152327),i=e.i(776227),o=e.i(740580),d=e.i(205054),c=e.i(726089),l=e.i(774078),u=t([n]);[n]=u.then?(await u)():u;let p=(0,n.withAuth)(async(e,t)=>{if(!t.workspaceId)return(0,i.writeError)("Forbidden: machine token required",403);let{env:a}=(0,r.getCloudflareContext)(),n=(0,s.getDb)(a.DB),u=t.params?.taskId;if(!u)return(0,i.writeError)("task_id is required",400);let p=new d.TaskService(n);try{let e=await p.supersedeTask(u,t.workspaceId),a=new Date().toISOString().slice(0,10);return(0,l.invalidate)(l.cacheKeys.overviewTaskStats(t.workspaceId,a)).catch(()=>{}),(0,c.broadcastToUser)(t.userId,{type:"task.updated",taskId:u,agentId:e.agentId,status:"superseded"}).catch(()=>{}),(0,i.writeJSON)((0,o.taskToResponse)(e))}catch(e){return(0,i.writeError)(e instanceof Error?e.message:"Unknown error",400)}});e.s(["POST",0,p]),a()}catch(e){a(e)}},!1),256639,e=>e.a(async(t,a)=>{try{var r=e.i(80774),s=e.i(404478),n=e.i(732985),i=e.i(481671),o=e.i(638081),d=e.i(204960),c=e.i(924918),l=e.i(363585),u=e.i(906846),p=e.i(359838),m=e.i(383303),h=e.i(234173),f=e.i(270215),g=e.i(830665),w=e.i(944002),_=e.i(193695);e.i(195928);var y=e.i(81543),T=e.i(754748),k=t([T]);[T]=k.then?(await k)():k;let I=new r.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/daemon/tasks/[taskId]/supersede/route",pathname:"/api/daemon/tasks/[taskId]/supersede",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/daemon/tasks/[taskId]/supersede/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:A,serverHooks:x}=I;async function v(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),I.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/daemon/tasks/[taskId]/supersede/route";r=r.replace(/\/index$/,"")||"/";let n=await I.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,deploymentId:k,params:v,nextConfig:b,parsedUrl:A,isDraftMode:x,prerenderManifest:R,routerServerContext:S,isOnDemandRevalidate:E,revalidateOnlyGenerated:N,resolvedPathname:C,clientReferenceManifest:O,serverActionsManifest:M}=n,P=(0,c.normalizeAppPath)(r),q=!!(R.dynamicRoutes[P]||R.routes[C]),D=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,A,!1):t.end("This page could not be found"),null);if(q&&!x){let e=!!R.routes[C],t=R.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await D();throw new _.NoFallbackError}}let U=null;!q||I.isDev||x||(U=C,U="/index"===U?"/":U);let K=!0===I.isDev||!q,j=q&&!K;M&&O&&(0,d.setManifestsSingleton)({page:r,clientReferenceManifest:O,serverActionsManifest:M});let B=e.method||"GET",$=(0,o.getTracer)(),L=$.getActiveScopeSpan(),H=!!(null==S?void 0:S.isWrappedByNextServer),F=!!(0,i.getRequestMeta)(e,"minimalMode"),W=(0,i.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,b,R,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let V={params:v,previewProps:R.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:K,incrementalCache:W,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,s)=>I.onRequestError(e,t,r,s,S)},sharedContext:{buildId:T,deploymentId:k}},J=new l.NodeNextRequest(e),Y=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(J,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>I.handle(G,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=$.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=a.get("next.route");if(s){let t=`${B} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",s),n.updateName(t))}else e.updateName(`${B} ${r}`)}),d=async n=>{var o,d;let c=async({previousCacheEntry:s})=>{try{if(!F&&E&&N&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await i(n);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(!q)return await (0,h.sendResponse)(J,Y,r,V.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[w.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>=w.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,s=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:s}}}}catch(t){throw(null==s?void 0:s.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:E})},!1,S),t}},l=await I.handleResponse({req:e,nextConfig:b,cacheKey:U,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:N,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:F});if(!q)return null;if((null==l||null==(o=l.value)?void 0:o.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(d=l.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",E?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(l.value.headers);return F&&q||u.delete(w.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(l.cacheControl)),await (0,h.sendResponse)(J,Y,new Response(l.value.body,{headers:u,status:l.value.status||200})),null};H&&L?await d(L):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},d),void 0,!H))}catch(t){if(t instanceof _.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:E})},!1,S),q)throw t;return await (0,h.sendResponse)(J,Y,new Response(null,{status:500})),null}}e.s(["handler",0,v,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:A})},"routeModule",0,I,"serverHooks",0,x,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,A]),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=%5Broot-of-the-server%5D__0p769.0._.js.map
|
|
@@ -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})}}}])},491607,e=>e.a(async(t,a)=>{try{var r=e.i(291484),s=e.i(675139),n=e.i(152327),i=e.i(776227),o=e.i(740580),d=e.i(205054),c=e.i(726089),l=t([n]);[n]=l.then?(await l)():l;let u=(0,n.withAuth)(async(e,t)=>{if(!t.workspaceId)return(0,i.writeError)("Forbidden: machine token required",403);let{env:a}=(0,r.getCloudflareContext)(),n=(0,s.getDb)(a.DB),l=t.params?.taskId;if(!l)return(0,i.writeError)("task_id is required",400);let u=new d.TaskService(n);try{let e=await u.startTask(l,t.workspaceId);return(0,c.broadcastToUser)(t.userId,{type:"task.updated",taskId:l,agentId:e.agentId,status:"running"}).catch(()=>{}),(0,i.writeJSON)((0,o.taskToResponse)(e))}catch(e){return(0,i.writeError)(e instanceof Error?e.message:"Unknown error",400)}});e.s(["POST",0,u]),a()}catch(e){a(e)}},!1),786584,e=>e.a(async(t,a)=>{try{var r=e.i(80774),s=e.i(404478),n=e.i(732985),i=e.i(481671),o=e.i(638081),d=e.i(204960),c=e.i(924918),l=e.i(363585),u=e.i(906846),p=e.i(359838),m=e.i(383303),h=e.i(234173),f=e.i(270215),g=e.i(830665),_=e.i(944002),w=e.i(193695);e.i(195928);var y=e.i(81543),T=e.i(491607),k=t([T]);[T]=k.then?(await k)():k;let b=new r.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/daemon/tasks/[taskId]/start/route",pathname:"/api/daemon/tasks/[taskId]/start",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/daemon/tasks/[taskId]/start/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:I,workUnitAsyncStorage:A,serverHooks:x}=b;async function v(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/daemon/tasks/[taskId]/start/route";r=r.replace(/\/index$/,"")||"/";let n=await b.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,deploymentId:k,params:v,nextConfig:I,parsedUrl:A,isDraftMode:x,prerenderManifest:R,routerServerContext:S,isOnDemandRevalidate:E,revalidateOnlyGenerated:N,resolvedPathname:C,clientReferenceManifest:M,serverActionsManifest:O}=n,P=(0,c.normalizeAppPath)(r),q=!!(R.dynamicRoutes[P]||R.routes[C]),D=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,A,!1):t.end("This page could not be found"),null);if(q&&!x){let e=!!R.routes[C],t=R.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(I.adapterPath)return await D();throw new w.NoFallbackError}}let U=null;!q||b.isDev||x||(U=C,U="/index"===U?"/":U);let j=!0===b.isDev||!q,K=q&&!j;O&&M&&(0,d.setManifestsSingleton)({page:r,clientReferenceManifest:M,serverActionsManifest:O});let B=e.method||"GET",$=(0,o.getTracer)(),L=$.getActiveScopeSpan(),H=!!(null==S?void 0:S.isWrappedByNextServer),F=!!(0,i.getRequestMeta)(e,"minimalMode"),W=(0,i.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,I,R,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let V={params:v,previewProps:R.preview,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts},cacheComponents:!!I.cacheComponents,supportsDynamicResponse:j,incrementalCache:W,cacheLifeProfiles:I.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,s)=>b.onRequestError(e,t,r,s,S)},sharedContext:{buildId:T,deploymentId:k}},J=new l.NodeNextRequest(e),Y=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(J,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>b.handle(G,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=$.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=a.get("next.route");if(s){let t=`${B} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",s),n.updateName(t))}else e.updateName(`${B} ${r}`)}),d=async n=>{var o,d;let c=async({previousCacheEntry:s})=>{try{if(!F&&E&&N&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await i(n);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(!q)return await (0,h.sendResponse)(J,Y,r,V.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[_.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>=_.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,s=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=_.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:s}}}}catch(t){throw(null==s?void 0:s.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:E})},!1,S),t}},l=await b.handleResponse({req:e,nextConfig:I,cacheKey:U,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:N,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:F});if(!q)return null;if((null==l||null==(o=l.value)?void 0:o.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(d=l.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",E?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(l.value.headers);return F&&q||u.delete(_.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(l.cacheControl)),await (0,h.sendResponse)(J,Y,new Response(l.value.body,{headers:u,status:l.value.status||200})),null};H&&L?await d(L):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},d),void 0,!H))}catch(t){if(t instanceof w.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:E})},!1,S),q)throw t;return await (0,h.sendResponse)(J,Y,new Response(null,{status:500})),null}}e.s(["handler",0,v,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:A})},"routeModule",0,b,"serverHooks",0,x,"workAsyncStorage",0,I,"workUnitAsyncStorage",0,A]),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=[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})}}}])},491607,e=>e.a(async(t,a)=>{try{var r=e.i(291484),s=e.i(675139),n=e.i(152327),i=e.i(776227),o=e.i(740580),d=e.i(205054),c=e.i(726089),l=t([n]);[n]=l.then?(await l)():l;let u=(0,n.withAuth)(async(e,t)=>{if(!t.workspaceId)return(0,i.writeError)("Forbidden: machine token required",403);let{env:a}=(0,r.getCloudflareContext)(),n=(0,s.getDb)(a.DB),l=t.params?.taskId;if(!l)return(0,i.writeError)("task_id is required",400);let u=new d.TaskService(n);try{let e=await u.startTask(l,t.workspaceId);return(0,c.broadcastToUser)(t.userId,{type:"task.updated",taskId:l,agentId:e.agentId,status:"running"}).catch(()=>{}),(0,i.writeJSON)((0,o.taskToResponse)(e))}catch(e){return(0,i.writeError)(e instanceof Error?e.message:"Unknown error",400)}});e.s(["POST",0,u]),a()}catch(e){a(e)}},!1),786584,e=>e.a(async(t,a)=>{try{var r=e.i(80774),s=e.i(404478),n=e.i(732985),i=e.i(481671),o=e.i(638081),d=e.i(204960),c=e.i(924918),l=e.i(363585),u=e.i(906846),p=e.i(359838),m=e.i(383303),h=e.i(234173),f=e.i(270215),g=e.i(830665),_=e.i(944002),w=e.i(193695);e.i(195928);var y=e.i(81543),T=e.i(491607),k=t([T]);[T]=k.then?(await k)():k;let I=new r.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/daemon/tasks/[taskId]/start/route",pathname:"/api/daemon/tasks/[taskId]/start",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/daemon/tasks/[taskId]/start/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:A,serverHooks:x}=I;async function v(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),I.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/daemon/tasks/[taskId]/start/route";r=r.replace(/\/index$/,"")||"/";let n=await I.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,deploymentId:k,params:v,nextConfig:b,parsedUrl:A,isDraftMode:x,prerenderManifest:R,routerServerContext:S,isOnDemandRevalidate:E,revalidateOnlyGenerated:N,resolvedPathname:C,clientReferenceManifest:M,serverActionsManifest:O}=n,P=(0,c.normalizeAppPath)(r),q=!!(R.dynamicRoutes[P]||R.routes[C]),U=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,A,!1):t.end("This page could not be found"),null);if(q&&!x){let e=!!R.routes[C],t=R.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await U();throw new w.NoFallbackError}}let D=null;!q||I.isDev||x||(D=C,D="/index"===D?"/":D);let j=!0===I.isDev||!q,K=q&&!j;O&&M&&(0,d.setManifestsSingleton)({page:r,clientReferenceManifest:M,serverActionsManifest:O});let B=e.method||"GET",$=(0,o.getTracer)(),L=$.getActiveScopeSpan(),H=!!(null==S?void 0:S.isWrappedByNextServer),F=!!(0,i.getRequestMeta)(e,"minimalMode"),W=(0,i.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,b,R,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let V={params:v,previewProps:R.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:j,incrementalCache:W,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,s)=>I.onRequestError(e,t,r,s,S)},sharedContext:{buildId:T,deploymentId:k}},J=new l.NodeNextRequest(e),Y=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(J,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>I.handle(G,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=$.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=a.get("next.route");if(s){let t=`${B} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",s),n.updateName(t))}else e.updateName(`${B} ${r}`)}),d=async n=>{var o,d;let c=async({previousCacheEntry:s})=>{try{if(!F&&E&&N&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await i(n);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(!q)return await (0,h.sendResponse)(J,Y,r,V.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[_.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>=_.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,s=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=_.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:s}}}}catch(t){throw(null==s?void 0:s.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:E})},!1,S),t}},l=await I.handleResponse({req:e,nextConfig:b,cacheKey:D,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:N,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:F});if(!q)return null;if((null==l||null==(o=l.value)?void 0:o.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(d=l.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",E?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(l.value.headers);return F&&q||u.delete(_.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(l.cacheControl)),await (0,h.sendResponse)(J,Y,new Response(l.value.body,{headers:u,status:l.value.status||200})),null};H&&L?await d(L):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},d),void 0,!H))}catch(t){if(t instanceof w.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:E})},!1,S),q)throw t;return await (0,h.sendResponse)(J,Y,new Response(null,{status:500})),null}}e.s(["handler",0,v,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:A})},"routeModule",0,I,"serverHooks",0,x,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,A]),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=%5Broot-of-the-server%5D__0s9v7kt._.js.map
|