@alook/app 0.0.79 → 0.0.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/email-worker/index.js +33 -2
- 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/{1816-z_y9qndk.js → 068.hh6m2g-gl.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/{0kcuw_83491vk.js → 0j2~fioc-ekva.js} +15 -15
- package/bundled/web/.open-next/assets/_next/static/chunks/{0ie.u1iu3pwrm.js → 0my5rezp-sbw3.js} +1 -1
- package/bundled/web/.open-next/cache/{3zHg2EwefkGKUXp1h2jId → grlt3qzClfRM3yvBh9bW4}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/{3zHg2EwefkGKUXp1h2jId → grlt3qzClfRM3yvBh9bW4}/_not-found.cache +1 -1
- package/bundled/web/.open-next/cache/{3zHg2EwefkGKUXp1h2jId → grlt3qzClfRM3yvBh9bW4}/sitemap.xml.cache +1 -1
- package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
- package/bundled/web/.open-next/cloudflare/init.js +1 -1
- package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
- package/bundled/web/.open-next/middleware/handler.mjs +7 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/app-path-routes-manifest.json +2 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/routes-manifest.json +12 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/activity/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/[convId]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/email/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/files/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/meetings/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/new/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/help/email-setup/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/[traceId]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/chat-init/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/whitelist/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/workspace/browse/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/active-task/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/init/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/messages/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/heartbeat/route.js +14 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/heartbeat/route_client-reference-manifest.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/sweep/route.js +15 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/sweep/route_client-reference-manifest.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/complete/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/fail/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/start/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/supersede/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/poll/route.js +6 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/notify/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/comments/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/retry/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app-paths-manifest.json +2 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__04maj_8._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0_.051i._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ko5xa_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0kruv9u._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0l91rwj._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0m5a1_f._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ntc1ld._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0om99x0._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +25 -23
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0-7a9se._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_007pf4f._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0266t8u._.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_037ndoa._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_04gp_km._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_05zp0zn._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_05~18bk._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08z6pkf._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_091mubc._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_09j_99x._.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0aveiot._.js +5 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0cji8yc._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0exm5_w._.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0f.tk9k._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0g1_3hn._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0h3guve._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0h_dgb9._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0hxvvdy._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ke5r~m._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0l0biq~._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0oyl16-._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0pt9vvp._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0s~hhx-._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0w6dw.t._.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_12gxjds._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_13hlohp._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0mko5ir._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_web__next-internal_server_app_api_daemon_heartbeat_route_actions_059pb-t.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_web__next-internal_server_app_api_daemon_sweep_route_actions_00h1~h1.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +25 -23
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_063q-hj._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0ilz5db._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0st8pau._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_12e18r-._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_home_home-page_tsx_0to84tv._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/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 +94 -58
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +498 -327
- package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +5 -5
- package/bundled/web/wrangler.toml +1 -1
- package/bundled/ws-do/index.js +72 -4
- package/dist/cli/index.js +380 -72
- package/dist/cli/session-runner.js +23 -1
- package/dist/index.js +31 -1
- package/package.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0y4q15f._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0--kvw_._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0-r4t0g._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_02t7kem._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_05_d3df._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_06.am62._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_07-798_._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_07zxhb2._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08mdiy6._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0csh82a._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j.pt~7._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j1t6f2._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0lmedw9._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ns9.qo._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0piy2kq._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0tarogd._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0u3tu2x._.js +0 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0x0qvxd._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_12wxdg1._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0q3gvkd._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_07q6-kr._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0j12j81._.js +0 -3
- /package/bundled/web/.open-next/assets/_next/static/{3zHg2EwefkGKUXp1h2jId → grlt3qzClfRM3yvBh9bW4}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{3zHg2EwefkGKUXp1h2jId → grlt3qzClfRM3yvBh9bW4}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{3zHg2EwefkGKUXp1h2jId → grlt3qzClfRM3yvBh9bW4}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{3zHg2EwefkGKUXp1h2jId → grlt3qzClfRM3yvBh9bW4}/robots.txt.cache +0 -0
|
@@ -62,7 +62,7 @@ var TERMINAL_ISSUE_STATUSES = [
|
|
|
62
62
|
IssueStatus.FAILED
|
|
63
63
|
];
|
|
64
64
|
var POLL_INTERVAL_MS = Number(process.env.POLL_INTERVAL_MS) || 3000;
|
|
65
|
-
var OFFLINE_THRESHOLD_MS = Number(process.env.OFFLINE_THRESHOLD_MS) ||
|
|
65
|
+
var OFFLINE_THRESHOLD_MS = Number(process.env.OFFLINE_THRESHOLD_MS) || 30000;
|
|
66
66
|
var EVENT_POLL_INTERVAL_MS = Number(process.env.EVENT_POLL_INTERVAL_MS) || 2000;
|
|
67
67
|
var MeetingStatus = {
|
|
68
68
|
PENDING: "pending",
|
|
@@ -14434,6 +14434,9 @@ var TaskApiSchema = TaskApiBaseSchema.extend({
|
|
|
14434
14434
|
agent: TaskAgentDataApiSchema.nullable().optional(),
|
|
14435
14435
|
sender: TaskSenderApiSchema.nullable().optional()
|
|
14436
14436
|
});
|
|
14437
|
+
var HeartbeatRequestSchema = exports_external.object({
|
|
14438
|
+
daemon_id: exports_external.string().min(1)
|
|
14439
|
+
});
|
|
14437
14440
|
var PollRequestSchema = exports_external.object({
|
|
14438
14441
|
daemon_id: exports_external.string().min(1),
|
|
14439
14442
|
max_tasks: exports_external.number().int().min(1).default(1),
|
|
@@ -14462,6 +14465,15 @@ var PollResponseSchema = exports_external.object({
|
|
|
14462
14465
|
file_requests: exports_external.array(FileRequestItemSchema).optional(),
|
|
14463
14466
|
meetings: exports_external.array(PollMeetingItemSchema).optional()
|
|
14464
14467
|
});
|
|
14468
|
+
var DaemonPushMessageSchema = exports_external.discriminatedUnion("type", [
|
|
14469
|
+
exports_external.object({ type: exports_external.literal("daemon.tasks"), tasks: exports_external.array(TaskApiSchema) }),
|
|
14470
|
+
exports_external.object({ type: exports_external.literal("daemon.file_requests"), workspaceId: exports_external.string(), requests: exports_external.array(FileRequestItemSchema) }),
|
|
14471
|
+
exports_external.object({ type: exports_external.literal("daemon.meetings"), meetings: exports_external.array(PollMeetingItemSchema) }),
|
|
14472
|
+
exports_external.object({ type: exports_external.literal("daemon.evict"), workspaceId: exports_external.string() }),
|
|
14473
|
+
exports_external.object({ type: exports_external.literal("daemon.update"), version: exports_external.string() }),
|
|
14474
|
+
exports_external.object({ type: exports_external.literal("daemon.rescan") }),
|
|
14475
|
+
exports_external.object({ type: exports_external.literal("daemon.kill"), workspaceId: exports_external.string(), taskId: exports_external.string(), targetTaskId: exports_external.string() })
|
|
14476
|
+
]);
|
|
14465
14477
|
var RegisterResponseSchema = exports_external.object({
|
|
14466
14478
|
runtimes: exports_external.array(exports_external.object({ id: exports_external.string() }))
|
|
14467
14479
|
});
|
|
@@ -16763,6 +16775,16 @@ class DaemonClient {
|
|
|
16763
16775
|
const raw = await this.request("POST", "/api/daemon/register", token, body);
|
|
16764
16776
|
return RegisterResponseSchema.parse(raw);
|
|
16765
16777
|
}
|
|
16778
|
+
heartbeat(token, daemonId) {
|
|
16779
|
+
return this.request("POST", "/api/daemon/heartbeat", token, {
|
|
16780
|
+
daemon_id: daemonId
|
|
16781
|
+
});
|
|
16782
|
+
}
|
|
16783
|
+
sweep(token, daemonId) {
|
|
16784
|
+
return this.request("POST", "/api/daemon/sweep", token, {
|
|
16785
|
+
daemon_id: daemonId
|
|
16786
|
+
});
|
|
16787
|
+
}
|
|
16766
16788
|
deregister(token, daemonId) {
|
|
16767
16789
|
return this.request("POST", "/api/daemon/deregister", token, {
|
|
16768
16790
|
daemon_id: daemonId
|
package/dist/index.js
CHANGED
|
@@ -252,7 +252,7 @@ var TERMINAL_ISSUE_STATUSES = [
|
|
|
252
252
|
IssueStatus.FAILED
|
|
253
253
|
];
|
|
254
254
|
var POLL_INTERVAL_MS = Number(process.env.POLL_INTERVAL_MS) || 3000;
|
|
255
|
-
var OFFLINE_THRESHOLD_MS = Number(process.env.OFFLINE_THRESHOLD_MS) ||
|
|
255
|
+
var OFFLINE_THRESHOLD_MS = Number(process.env.OFFLINE_THRESHOLD_MS) || 30000;
|
|
256
256
|
var EVENT_POLL_INTERVAL_MS = Number(process.env.EVENT_POLL_INTERVAL_MS) || 2000;
|
|
257
257
|
var MeetingStatus = {
|
|
258
258
|
PENDING: "pending",
|
|
@@ -14625,6 +14625,9 @@ var TaskApiSchema = TaskApiBaseSchema.extend({
|
|
|
14625
14625
|
agent: TaskAgentDataApiSchema.nullable().optional(),
|
|
14626
14626
|
sender: TaskSenderApiSchema.nullable().optional()
|
|
14627
14627
|
});
|
|
14628
|
+
var HeartbeatRequestSchema = exports_external.object({
|
|
14629
|
+
daemon_id: exports_external.string().min(1)
|
|
14630
|
+
});
|
|
14628
14631
|
var PollRequestSchema = exports_external.object({
|
|
14629
14632
|
daemon_id: exports_external.string().min(1),
|
|
14630
14633
|
max_tasks: exports_external.number().int().min(1).default(1),
|
|
@@ -14653,6 +14656,15 @@ var PollResponseSchema = exports_external.object({
|
|
|
14653
14656
|
file_requests: exports_external.array(FileRequestItemSchema).optional(),
|
|
14654
14657
|
meetings: exports_external.array(PollMeetingItemSchema).optional()
|
|
14655
14658
|
});
|
|
14659
|
+
var DaemonPushMessageSchema = exports_external.discriminatedUnion("type", [
|
|
14660
|
+
exports_external.object({ type: exports_external.literal("daemon.tasks"), tasks: exports_external.array(TaskApiSchema) }),
|
|
14661
|
+
exports_external.object({ type: exports_external.literal("daemon.file_requests"), workspaceId: exports_external.string(), requests: exports_external.array(FileRequestItemSchema) }),
|
|
14662
|
+
exports_external.object({ type: exports_external.literal("daemon.meetings"), meetings: exports_external.array(PollMeetingItemSchema) }),
|
|
14663
|
+
exports_external.object({ type: exports_external.literal("daemon.evict"), workspaceId: exports_external.string() }),
|
|
14664
|
+
exports_external.object({ type: exports_external.literal("daemon.update"), version: exports_external.string() }),
|
|
14665
|
+
exports_external.object({ type: exports_external.literal("daemon.rescan") }),
|
|
14666
|
+
exports_external.object({ type: exports_external.literal("daemon.kill"), workspaceId: exports_external.string(), taskId: exports_external.string(), targetTaskId: exports_external.string() })
|
|
14667
|
+
]);
|
|
14656
14668
|
var RegisterResponseSchema = exports_external.object({
|
|
14657
14669
|
runtimes: exports_external.array(exports_external.object({ id: exports_external.string() }))
|
|
14658
14670
|
});
|
|
@@ -17226,6 +17238,21 @@ port = ${port}
|
|
|
17226
17238
|
}
|
|
17227
17239
|
writeFileSync3(tomlPath, content);
|
|
17228
17240
|
}
|
|
17241
|
+
function setInspectorPort(tomlPath, inspectorPort) {
|
|
17242
|
+
let content = readFileSync3(tomlPath, "utf-8");
|
|
17243
|
+
if (content.includes("inspector_port")) {
|
|
17244
|
+
content = content.replace(/inspector_port\s*=\s*\d+/, `inspector_port = ${inspectorPort}`);
|
|
17245
|
+
} else if (content.includes("[dev]")) {
|
|
17246
|
+
content = content.replace(/(\[dev\][^\[]*)/, `$1inspector_port = ${inspectorPort}
|
|
17247
|
+
`);
|
|
17248
|
+
} else {
|
|
17249
|
+
content += `
|
|
17250
|
+
[dev]
|
|
17251
|
+
inspector_port = ${inspectorPort}
|
|
17252
|
+
`;
|
|
17253
|
+
}
|
|
17254
|
+
writeFileSync3(tomlPath, content);
|
|
17255
|
+
}
|
|
17229
17256
|
function setVar(content, key, value) {
|
|
17230
17257
|
const pattern = new RegExp(`${key}\\s*=\\s*"[^"]*"`);
|
|
17231
17258
|
if (pattern.test(content)) {
|
|
@@ -17257,6 +17284,9 @@ port = ${ports.web}
|
|
|
17257
17284
|
writeFileSync3(webToml, webContent);
|
|
17258
17285
|
setDevPort(join7(SELF_HOSTED_DIR, "email-worker", "wrangler.toml"), ports.emailWorker);
|
|
17259
17286
|
setDevPort(join7(SELF_HOSTED_DIR, "ws-do", "wrangler.toml"), ports.wsDo);
|
|
17287
|
+
setInspectorPort(join7(SELF_HOSTED_DIR, "web", "wrangler.toml"), 19229);
|
|
17288
|
+
setInspectorPort(join7(SELF_HOSTED_DIR, "ws-do", "wrangler.toml"), 19230);
|
|
17289
|
+
setInspectorPort(join7(SELF_HOSTED_DIR, "email-worker", "wrangler.toml"), 19231);
|
|
17260
17290
|
}
|
|
17261
17291
|
|
|
17262
17292
|
// src/lib/cli-env.ts
|
package/package.json
CHANGED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[776227,e=>{"use strict";var t=e.i(463421);function r(e,r){return t.NextResponse.json({error:e},{status:r})}async function a(e,a){let n;try{n=await e.json()}catch{return[null,r("invalid request body",400)]}try{return[a.parse(n),null]}catch(r){let e=(r.issues??r.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,a,"writeError",0,r,"writeJSON",0,function(e,r=200){return t.NextResponse.json(e,{status:r})}])},918622,(e,t,r)=>{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,r)=>{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,r)=>{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,r)=>{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,r)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/db/adapter");e.n(t),r()}catch(e){r(e)}},!0),666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},414859,e=>e.a(async(t,r)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/env");e.n(t),r()}catch(e){r(e)}},!0),978098,e=>e.a(async(t,r)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/string");e.n(t),r()}catch(e){r(e)}},!0),200861,e=>e.a(async(t,r)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/error");e.n(t),r()}catch(e){r(e)}},!0),323118,e=>e.a(async(t,r)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/error-codes");e.n(t),r()}catch(e){r(e)}},!0),987514,e=>e.a(async(t,r)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/db");e.n(t),r()}catch(e){r(e)}},!0),65638,e=>e.a(async(t,r)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/db");e.n(t),r()}catch(e){r(e)}},!0),288398,e=>e.a(async(t,r)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/json");e.n(t),r()}catch(e){r(e)}},!0),412578,e=>e.a(async(t,r)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/ip");e.n(t),r()}catch(e){r(e)}},!0),139329,e=>e.a(async(t,r)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/context");e.n(t),r()}catch(e){r(e)}},!0),685116,e=>e.a(async(t,r)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/instrumentation");e.n(t),r()}catch(e){r(e)}},!0),895517,e=>e.a(async(t,r)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/id");e.n(t),r()}catch(e){r(e)}},!0),684495,e=>e.a(async(t,r)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/host");e.n(t),r()}catch(e){r(e)}},!0),406417,e=>e.a(async(t,r)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/is-api-error");e.n(t),r()}catch(e){r(e)}},!0),780471,e=>e.a(async(t,r)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/api");e.n(t),r()}catch(e){r(e)}},!0),836329,e=>e.a(async(t,r)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/url");e.n(t),r()}catch(e){r(e)}},!0),405597,e=>e.a(async(t,r)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/utils/deprecate");e.n(t),r()}catch(e){r(e)}},!0),825660,e=>e.a(async(t,r)=>{try{let t=await e.y("@better-auth/core-05fe37db7d6627d8/social-providers");e.n(t),r()}catch(e){r(e)}},!0),902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},912714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},660526,(e,t,r)=>{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 r=/"/g,a=/[\\'"]/g;class n 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(r,'""')}sanitizeJSONPathMemberValue(e){return e.replace(a,e=>"\\"===e?"\\\\":"'"===e?"''":'\\"')}visitDefaultInsertValue(e){this.append("null")}}e.s(["SqliteQueryCompiler",0,n])},493713,e=>{"use strict";var t=e.i(50335);class r extends t.DialectAdapterBase{get supportsTransactionalDdl(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(e,t){}async releaseMigrationLock(e,t){}}e.s(["SqliteAdapter",0,r])},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,r)=>{try{var a=e.i(463421),n=e.i(291484);e.i(700598);var s=e.i(291109),i=e.i(675139),o=e.i(342573),l=e.i(774078),d=t([o]);[o]=d.then?(await d)():d,e.s(["withAuth",0,function(e){return async(t,r)=>{let d,u=r?.params?r.params instanceof Promise?await r.params:r.params:void 0,{env:c}=await (0,n.getCloudflareContext)({async:!0});(0,l.bindCacheKV)(c.CACHE_KV??null);let p=t.headers.get("Authorization");if(p?.startsWith("Bearer ")){let r=p.slice(7);if(r.startsWith("al_"))try{let n=(0,i.getDb)(c.DB),o=await (0,l.cached)(l.cacheKeys.machineToken(r),900,()=>s.queries.machineToken.getMachineTokenByToken(n,r));if(!o)return a.NextResponse.json({error:"invalid token"},{status:401});(0,l.throttled)(l.cacheKeys.machineTokenLastUsed(r),900,()=>s.queries.machineToken.updateMachineTokenLastUsed(n,o.id)).catch(()=>{});let d={userId:o.userId,email:o.userEmail,workspaceId:o.workspaceId??void 0};return e(t,{...d,params:u})}catch{return a.NextResponse.json({error:"invalid token"},{status:401})}}let h=(0,o.createAuth)(c),y=null;for(let e=0;e<2;e++)try{y=await h.api.getSession({headers:t.headers,returnHeaders:!0}),d=void 0;break}catch(e){d=e}if(d)return a.NextResponse.json({error:"session validation failed"},{status:503});if(!y?.response)return a.NextResponse.json({error:"unauthorized"},{status:401});let f={userId:y.response.user.id,email:y.response.user.email},w=await e(t,{...f,params:u}),m=y.headers.getSetCookie();if(m.length>0){let e=new a.NextResponse(w.body,w);for(let t of m)e.headers.append("Set-Cookie",t);return e}return w}}]),r()}catch(e){r(e)}},!1),91232,e=>e.a(async(t,r)=>{try{var a=e.i(291484);e.i(700598);var n=e.i(291109),s=e.i(888247),i=e.i(152327),o=e.i(776227),l=e.i(675139),d=e.i(774078),u=t([i]);[i]=u.then?(await u)():u;let c=(0,i.withAuth)(async(e,t)=>{let{env:r}=(0,a.getCloudflareContext)(),i=(0,l.getDb)(r.DB),u=t.params?.id;if(!u)return(0,o.writeError)("agent id required",400);let[c,p]=await (0,o.parseBody)(e,s.WorkspaceFileBrowseRequestSchema);if(p)return p;let h=new URL(e.url).searchParams.get("workspace_id");if(!h)return(0,o.writeError)("workspace_id required",400);if(!await n.queries.agent.getAgent(i,u,h))return(0,o.writeError)("agent not found",404);let y=await n.queries.workspaceFileRequest.createRequest(i,{workspaceId:h,agentId:u,requestType:c.request_type,path:c.path}),f=r.CACHE_KV??null;return f&&f.put(d.cacheKeys.hasPendingFileRequest(h),"1",{expirationTtl:60}).catch(()=>{}),(0,o.writeJSON)({request_id:y.id})});e.s(["POST",0,c]),r()}catch(e){r(e)}},!1),704056,e=>e.a(async(t,r)=>{try{var a=e.i(80774),n=e.i(404478),s=e.i(732985),i=e.i(481671),o=e.i(638081),l=e.i(204960),d=e.i(924918),u=e.i(363585),c=e.i(906846),p=e.i(359838),h=e.i(383303),y=e.i(234173),f=e.i(270215),w=e.i(830665),m=e.i(944002),g=e.i(193695);e.i(195928);var v=e.i(81543),x=e.i(91232),b=t([x]);[x]=b.then?(await b)():b;let _=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/agents/[id]/workspace/browse/route",pathname:"/api/agents/[id]/workspace/browse",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/agents/[id]/workspace/browse/route.ts",nextConfigOutput:"standalone",userland:x,...{}}),{workAsyncStorage:k,workUnitAsyncStorage:C,serverHooks:E}=_;async function R(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),_.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/agents/[id]/workspace/browse/route";a=a.replace(/\/index$/,"")||"/";let s=await _.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:x,deploymentId:b,params:R,nextConfig:k,parsedUrl:C,isDraftMode:E,prerenderManifest:q,routerServerContext:A,isOnDemandRevalidate:T,revalidateOnlyGenerated:N,resolvedPathname:P,clientReferenceManifest:j,serverActionsManifest:S}=s,O=(0,d.normalizeAppPath)(a),I=!!(q.dynamicRoutes[O]||q.routes[P]),D=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,C,!1):t.end("This page could not be found"),null);if(I&&!E){let e=!!q.routes[P],t=q.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(k.adapterPath)return await D();throw new g.NoFallbackError}}let M=null;!I||_.isDev||E||(M=P,M="/index"===M?"/":M);let H=!0===_.isDev||!I,U=I&&!H;S&&j&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:j,serverActionsManifest:S});let B=e.method||"GET",K=(0,o.getTracer)(),$=K.getActiveScopeSpan(),L=!!(null==A?void 0:A.isWrappedByNextServer),F=!!(0,i.getRequestMeta)(e,"minimalMode"),W=(0,i.getRequestMeta)(e,"incrementalCache")||await _.getIncrementalCache(e,k,q,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let V={params:R,previewProps:q.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:H,incrementalCache:W,cacheLifeProfiles:k.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>_.onRequestError(e,t,a,n,A)},sharedContext:{buildId:x,deploymentId:b}},z=new u.NodeNextRequest(e),Z=new u.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest(z,(0,c.signalFromNodeResponse)(t));try{let s,i=async e=>_.handle(G,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${B} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",n),s.updateName(t))}else e.updateName(`${B} ${a}`)}),l=async s=>{var o,l;let d=async({previousCacheEntry:n})=>{try{if(!F&&T&&N&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(s);e.fetchMetrics=V.renderOpts.fetchMetrics;let o=V.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=V.renderOpts.collectedTags;if(!I)return await (0,y.sendResponse)(z,Z,a,V.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,n=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,A),t}},u=await _.handleResponse({req:e,nextConfig:k,cacheKey:M,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:q,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:N,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:F});if(!I)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",T?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return F&&I||c.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,w.getCacheControlHeader)(u.cacheControl)),await (0,y.sendResponse)(z,Z,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};L&&$?await l($):(s=K.getActiveScopeSpan(),await K.withPropagatedContext(e.headers,()=>K.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${a}`,kind:o.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},l),void 0,!L))}catch(t){if(t instanceof g.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,A),I)throw t;return await (0,y.sendResponse)(z,Z,new Response(null,{status:500})),null}}e.s(["handler",0,R,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:C})},"routeModule",0,_,"serverHooks",0,E,"workAsyncStorage",0,k,"workUnitAsyncStorage",0,C]),r()}catch(e){r(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
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0y4q15f._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0--kvw_._.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[388335,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(205054),n=e.i(774078);async function r(e,r){let i=`sweep:${r}`,s=!1;try{s=await (0,n.throttled)(i,30,async()=>{})}catch{s=!0}if(!s)return;let o=await t.queries.task.failStaleDispatchedTasks(e,r);await t.queries.task.failStaleKillTasks(e,r);let l=[...o,...await t.queries.task.failStaleRunningTasks(e,r)];if(l.length>0){let t=new a.TaskService(e),i=new Set;for(let e of l){let a=`${e.agentId}:${e.workspaceId}`;i.has(a)||(i.add(a),await t.reconcileAgentStatus(e.agentId,e.workspaceId))}let s=new Set;for(let e of l)s.has(e.conversationId)||(s.add(e.conversationId),await t.dispatchNextBufferedMessage(e.conversationId,e.workspaceId));let o=new Date().toISOString().slice(0,10);await Promise.all([(0,n.invalidate)(n.cacheKeys.allAgents(r)),(0,n.invalidate)(n.cacheKeys.overviewTaskStats(r,o)),(0,n.invalidate)(n.cacheKeys.activeTaskCounts(r))]).catch(()=>{})}}e.s(["sweepStaleState",0,r])},620276,e=>e.a(async(t,a)=>{try{var n=e.i(291484);e.i(700598);var r=e.i(291109),i=e.i(888247),s=e.i(139733),o=e.i(424166),l=e.i(675139),d=e.i(152327),c=e.i(776227),u=e.i(740580),p=e.i(205054),w=e.i(388335),g=e.i(801093),m=e.i(726089),h=e.i(799579),I=t([d]);[d]=I.then?(await I)():I;let k=(0,d.withAuth)(async(t,a)=>{let d,I,k,f,{env:v,ctx:R}=(0,n.getCloudflareContext)(),_=(0,l.getDb)(v.DB),{cached:y,cacheKeys:S,throttled:q}=await e.A(386211),[A,C]=await (0,c.parseBody)(t,i.PollRequestSchema);if(C)return C;if(!a.workspaceId)return(0,c.writeError)("Forbidden: machine token required",403);let E=await y(S.runtimeIds(a.workspaceId,A.daemon_id),600,()=>r.queries.runtime.getRuntimeIdsByDaemon(_,A.daemon_id,a.workspaceId));if(0===E.length)return(0,c.writeJSON)({tasks:[],evicted:!0});let T=v.CACHE_KV??null;T&&T.put(S.heartbeat(a.workspaceId,A.daemon_id),new Date().toISOString(),{expirationTtl:120}).catch(()=>{});try{await q(`hb_d1:${a.workspaceId}:${A.daemon_id}`,15,async()=>{await r.queries.machine.upsertMachine(_,{daemonId:A.daemon_id,workspaceId:a.workspaceId,deviceInfo:A.daemon_id})})}catch(e){h.log.warn("machine upsert failed",{daemonId:A.daemon_id,err:String(e)})}(0,m.broadcastToUser)(a.userId,{type:"runtime.status",daemonId:A.daemon_id,workspaceId:a.workspaceId,status:"online"}).catch(()=>{}),R.waitUntil((0,w.sweepStaleState)(_,a.workspaceId).catch(e=>{h.log.warn("sweep failed",{workspaceId:a.workspaceId,err:String(e)})})),R.waitUntil(q(`cal:${a.workspaceId}`,30,async()=>{let e=await (0,g.promoteDueCalendarEventsForWorkspace)(_,a.workspaceId);e>0&&h.log.info("calendar: enqueued",{workspaceId:a.workspaceId,enqueued:e})}).catch(e=>{h.log.warn("calendar: promote failed",{workspaceId:a.workspaceId,err:String(e)})}));let x=new p.TaskService(_),b=await (0,l.withD1Retry)(()=>x.claimTasksForRuntimes(E,A.max_tasks,a.workspaceId)),P=b.filter(e=>"kill_task"!==e.type),N=[...new Set(P.map(e=>e.agentId))],[M,O,U]=N.length>0?await Promise.all([y(S.allAgents(a.workspaceId),300,()=>r.queries.agent.getAllAgentsForWorkspace(_,a.workspaceId)),y(S.allEmailAccounts(a.workspaceId),600,()=>r.queries.emailAccount.getAllEmailAccountsForWorkspace(_,a.workspaceId)),y(S.allColleagues(a.workspaceId),600,()=>r.queries.agentLink.getAllColleaguesForWorkspace(_,a.workspaceId)).catch(()=>[])]).then(([e,t,a])=>{let n=new Set(N);return[e.filter(e=>n.has(e.id)),t.filter(e=>n.has(e.agentId)),a.filter(e=>n.has(e.agentId))]}):[[],[],[]],D=new Map(M.map(e=>[e.id,e])),H=new Map;for(let e of O){let t=H.get(e.agentId)??[];t.push(e.emailAddress),H.set(e.agentId,t)}let F=new Map;for(let e of U){let t=F.get(e.agentId)??[];t.push(e),F.set(e.agentId,t)}let $=[],B=new Map,K=new Map,V=new Map;for(let e of b){if("kill_task"===e.type){$.push({...(0,u.taskToResponse)(e),agent:null,sender:null});continue}let t=D.get(e.agentId)??null,n=[];if(t){t.emailHandle&&n.push(`${t.emailHandle}@alook.ai`);let e=H.get(t.id)??[];n.push(...e)}let i=t?.instructions??"";if(t?.ownerId){if(!B.has(t.ownerId)){let a=await y(S.member(e.workspaceId,t.ownerId),600,()=>r.queries.member.getMemberByUserAndWorkspace(_,t.ownerId,e.workspaceId));B.set(t.ownerId,a?{globalInstruction:a.globalInstruction}:null)}let a=B.get(t.ownerId);a?.globalInstruction&&(i=[a.globalInstruction,i].filter(Boolean).join("\n\n"))}let s=null;if(t?.ownerId){if(!K.has(t.ownerId)){let e=await y(S.user(t.ownerId),1800,()=>r.queries.user.getUser(_,t.ownerId));K.set(t.ownerId,e?{name:e.name,email:e.email}:null)}s=K.get(t.ownerId)?.name??null}let l=V.get(e.conversationId)??null;e.conversationId&&!V.has(e.conversationId)&&(l=await r.queries.conversation.getConversation(_,e.conversationId,e.workspaceId),V.set(e.conversationId,l));let d=l?.channel??"default",c=null;if("user_dm_message"===e.type&&l?.userId){if(!K.has(l.userId)){let e=await y(S.user(l.userId),1800,()=>r.queries.user.getUser(_,l.userId));K.set(l.userId,e?{name:e.name,email:e.email}:null)}let e=K.get(l.userId);e&&(c={name:e.name,email:e.email,is_owner:l.userId===t?.ownerId})}let p=(F.get(e.agentId)??[]).map(e=>({name:e.name,email:e.emailHandle?(0,o.toAlookAddress)(e.emailHandle):"",description:e.description,instruction:e.instruction}));$.push({...(0,u.taskToResponse)(e),channel:d,sender:c,agent:t?{instructions:i,name:t.name,runtime_config:t.runtimeConfig||{},email_handle:t.emailHandle||null,email_addresses:n,user_email:a.email||null,user_name:s,colleagues:p}:null})}let W=`misc:${a.workspaceId}:${A.daemon_id}`,j=!1;try{j=await q(W,30,async()=>{})}catch{j=!0}if(j){try{let e=await r.queries.machine.getMachineByDaemon(_,A.daemon_id,a.workspaceId);e?.pendingUpdateVersion&&A.cli_version&&((0,s.semverGte)(A.cli_version,e.pendingUpdateVersion)?(await r.queries.machine.clearPendingUpdateVersion(_,A.daemon_id,a.workspaceId),(0,m.broadcastToUser)(a.userId,{type:"runtime.status",daemonId:A.daemon_id,workspaceId:a.workspaceId,status:"online"}).catch(()=>{})):d={version:e.pendingUpdateVersion}),e?.pendingRescan&&(I=!0,await r.queries.machine.clearPendingRescan(_,A.daemon_id,a.workspaceId))}catch(e){h.log.warn("pending check failed",{daemonId:A.daemon_id,err:String(e)})}try{let e=new Date(Date.now()+3e5),t=new Date().toISOString(),n=await r.queries.meetingSession.listScheduledMeetings(_,a.workspaceId,e.toISOString());if(n.length>0){let e=n.map(e=>e.id),i=await r.queries.meetingSession.claimMeetingSessions(_,e,a.workspaceId,t);if(i.length>0){let e=new Map(n.map(e=>[e.id,e]));k=i.map(t=>{let a=e.get(t.id);return{id:t.id,meeting_url:t.meetingUrl,participants:t.participants,workspace_id:t.workspaceId,agent_id:t.agentId,agent_name:a?.agentName||"",title:a?.title||void 0}})}}}catch(e){h.log.warn("meeting-claim: failed in poll",{err:String(e)})}}try{await q(`expire_fr:${a.workspaceId}`,5,async()=>{await r.queries.workspaceFileRequest.expireStale(_,a.workspaceId)});let e=v.CACHE_KV??null,t=e?await e.get(S.hasPendingFileRequest(a.workspaceId)):null;if("0"!==t){let t=await r.queries.workspaceFileRequest.getPendingByWorkspace(_,a.workspaceId);t.length>0?(f=t.map(e=>({id:e.id,agent_id:e.agentId,request_type:e.requestType,path:e.path})),await r.queries.workspaceFileRequest.markDispatched(_,t.map(e=>e.id))):e&&e.put(S.hasPendingFileRequest(a.workspaceId),"0",{expirationTtl:60}).catch(()=>{})}}catch(e){h.log.warn("file-requests: poll failed",{err:String(e)})}return(0,c.writeJSON)({tasks:$,...d&&{pending_update:d},...I&&{pending_rescan:I},...f&&{file_requests:f},...k&&{meetings:k}})});e.s(["POST",0,k]),a()}catch(e){a(e)}},!1),892152,e=>e.a(async(t,a)=>{try{var n=e.i(80774),r=e.i(404478),i=e.i(732985),s=e.i(481671),o=e.i(638081),l=e.i(204960),d=e.i(924918),c=e.i(363585),u=e.i(906846),p=e.i(359838),w=e.i(383303),g=e.i(234173),m=e.i(270215),h=e.i(830665),I=e.i(944002),k=e.i(193695);e.i(195928);var f=e.i(81543),v=e.i(620276),R=t([v]);[v]=R.then?(await R)():R;let y=new n.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/daemon/tasks/poll/route",pathname:"/api/daemon/tasks/poll",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/daemon/tasks/poll/route.ts",nextConfigOutput:"standalone",userland:v,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:q,serverHooks:A}=y;async function _(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),y.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/daemon/tasks/poll/route";n=n.replace(/\/index$/,"")||"/";let i=await y.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,deploymentId:R,params:_,nextConfig:S,parsedUrl:q,isDraftMode:A,prerenderManifest:C,routerServerContext:E,isOnDemandRevalidate:T,revalidateOnlyGenerated:x,resolvedPathname:b,clientReferenceManifest:P,serverActionsManifest:N}=i,M=(0,d.normalizeAppPath)(n),O=!!(C.dynamicRoutes[M]||C.routes[b]),U=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,q,!1):t.end("This page could not be found"),null);if(O&&!A){let e=!!C.routes[b],t=C.dynamicRoutes[M];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await U();throw new k.NoFallbackError}}let D=null;!O||y.isDev||A||(D=b,D="/index"===D?"/":D);let H=!0===y.isDev||!O,F=O&&!H;N&&P&&(0,l.setManifestsSingleton)({page:n,clientReferenceManifest:P,serverActionsManifest:N});let $=e.method||"GET",B=(0,o.getTracer)(),K=B.getActiveScopeSpan(),V=!!(null==E?void 0:E.isWrappedByNextServer),W=!!(0,s.getRequestMeta)(e,"minimalMode"),j=(0,s.getRequestMeta)(e,"incrementalCache")||await y.getIncrementalCache(e,S,C,W);null==j||j.resetRequestCache(),globalThis.__incrementalCache=j;let L={params:_,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:H,incrementalCache:j,cacheLifeProfiles:S.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,n,r)=>y.onRequestError(e,t,n,r,E)},sharedContext:{buildId:v,deploymentId:R}},G=new c.NodeNextRequest(e),X=new c.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let i,s=async e=>y.handle(J,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=B.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${$} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",r),i.updateName(t))}else e.updateName(`${$} ${n}`)}),l=async i=>{var o,l;let d=async({previousCacheEntry:r})=>{try{if(!W&&T&&x&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await s(i);e.fetchMetrics=L.renderOpts.fetchMetrics;let o=L.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=L.renderOpts.collectedTags;if(!O)return await (0,g.sendResponse)(G,X,n,L.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[I.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=I.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,r=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=I.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await y.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,w.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:T})},!1,E),t}},c=await y.handleResponse({req:e,nextConfig:S,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:x,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:W});if(!O)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,m.fromNodeOutgoingHttpHeaders)(c.value.headers);return W&&O||u.delete(I.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,h.getCacheControlHeader)(c.cacheControl)),await (0,g.sendResponse)(G,X,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};V&&K?await l(K):(i=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(p.BaseServerSpan.handleRequest,{spanName:`${$} ${n}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l),void 0,!V))}catch(t){if(t instanceof k.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,w.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:T})},!1,E),O)throw t;return await (0,g.sendResponse)(G,X,new Response(null,{status:500})),null}}e.s(["handler",0,_,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:q})},"routeModule",0,y,"serverHooks",0,A,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,q]),a()}catch(e){a(e)}},!1)];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_0--kvw_._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0-r4t0g._.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[726089,t=>{"use strict";var e=t.i(291484);t.i(700598);var a=t.i(704024);let s=(0,t.i(726527).createLogger)({service:"broadcast"});async function r(t,r,i){let n;try{let{env:a}=(0,e.getCloudflareContext)();n=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${t}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...i,status:o.status});return}catch{}let o=n||a.DEV_WS_DO_URL;try{let e=await fetch(`${o}${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});e.ok||s.warn("broadcast failed",{...i,status:e.status})}catch(t){s.warn("broadcast error",{...i,err:String(t)})}}t.s(["broadcastToUser",0,function(t,a){return function(t,a,s){let i=r(t,a,s);try{let{ctx:t}=(0,e.getCloudflareContext)();t.waitUntil(i)}catch{}return i}(`/broadcast/user/${t}`,JSON.stringify(a),{userId:t,type:a.type})}])},799579,t=>{"use strict";t.i(700598);let e=(0,t.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});t.s(["log",0,e])},205054,t=>{"use strict";t.i(700598);var e=t.i(291109),a=t.i(704024),s=t.i(799579),r=t.i(726089),i=t.i(740580),n=t.i(774078);let o=e.queries.task,d=e.queries.agent,c=e.queries.message,l=e.queries.conversation,u=e.queries.issue;t.s(["TaskService",0,class{db;constructor(t){this.db=t}async enqueueTask(t,e,s,r,i=a.TASK_TYPES.USER_DM_MESSAGE,c){let l=await d.getAgent(this.db,t,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(c?.traceId&&c.parentTaskId&&await o.countTasksByTrace(this.db,c.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:t,runtimeId:l.runtimeId,workspaceId:s,conversationId:e,prompt:r,type:i,contextKey:c?.contextKey??null,priority:0,context:c?.context,traceId:c?.traceId??null,parentTaskId:c?.parentTaskId??null});return(0,n.invalidate)(n.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(t,e){let a=await d.getAgent(this.db,t,e);if(!a)return null;if(await o.countRunningTasks(this.db,t,e)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,t,e);if(!s||await o.countRunningTasks(this.db,t,e,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,t,e);return s?(await d.updateAgentStatus(this.db,t,e,"working"),s):null}async claimTasksForRuntimes(t,e,a){let s=await o.claimKillTasks(this.db,t,a,e),r=e-s.length,i=r>0?await o.listPendingTasksByRuntimes(this.db,t,a):[],n=new Set(t),d=new Set,c=[...s],l=[];for(let t of i){if(l.length>=r)break;let e=`${t.agentId}:${t.workspaceId}`;d.has(e)||(d.add(e),l.push(t))}for(let t of(await Promise.all(l.map(t=>this.claimTask(t.agentId,t.workspaceId)))))t&&n.has(t.runtimeId)&&c.push(t);return c}async startTask(t,e){let a=await o.startTask(this.db,t,e);if(!a)throw Error("task not in dispatched status");return a}async completeTask(t,e,a,n){let d;try{d=JSON.parse(a)}catch{d={raw:a}}let u=await o.completeTask(this.db,t,e,{result:d,sessionId:n||null});if(!u){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot complete task in '${a}' status`)}let h=d,k="string"==typeof h?.output?h.output:"";if(k){let a=await c.createMessage(this.db,{conversationId:u.conversationId,role:"assistant",content:k,taskId:t});try{let t=await l.getConversation(this.db,u.conversationId,e);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:u.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(u.agentId,u.workspaceId),await this.dispatchNextBufferedMessage(u.conversationId,u.workspaceId),u}async failTask(t,e,n){let d=await o.failTask(this.db,t,e,n);if(!d){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot fail task in '${a}' status`)}if(d.type===a.TASK_TYPES.KILL_TASK)return d;if(n){let a=await c.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:`Error: ${n}`,taskId:t});try{let t=await l.getConversation(this.db,d.conversationId,e);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.syncIssueStatusFromTask(d,"failed"),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async syncIssueStatusFromTask(t,e){if(t.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,t.conversationId,t.workspaceId);if(!s||s.status===e||!await u.updateIssue(this.db,s.id,t.workspaceId,{status:e}))return;let n=await c.createMessage(this.db,{conversationId:t.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${e}`,taskId:t.id,metadata:JSON.stringify({issueId:s.id})});try{let e=await l.getConversation(this.db,t.conversationId,t.workspaceId);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:t.conversationId,message:(0,i.messageToResponse)(n)}).catch(()=>{})}catch{}}async supersedeTask(t,e){let a=await o.supersedeTask(this.db,t,e);if(!a){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(t,e){let a=await o.getTask(this.db,t);if(!a||a.workspaceId!==e)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,t,e);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,e,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(t,e,s){let r=await o.getActiveTaskByConversation(this.db,t,e);if(!r)return null;let i=await o.cancelTask(this.db,r.id,e);return i?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:e,conversationId:t,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await c.createMessage(this.db,{conversationId:t,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,e),s?.skipDispatch||await this.dispatchNextBufferedMessage(t,e),i):null}async reconcileAgentStatus(t,e){let a=await o.countRunningTasks(this.db,t,e);await d.updateAgentStatus(this.db,t,e,a>0?"working":"idle"),(0,n.invalidate)(n.cacheKeys.activeTaskCounts(e)).catch(()=>{})}async dispatchNextBufferedMessage(t,e){let n=await c.activateNextBufferedMessage(this.db,t);if(!n)return null;let d=await l.getConversation(this.db,t,e);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:t}),await c.revertToBuffered(this.db,n.id).catch(t=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:t})}),null;let u=d.userId;try{let s=n.attachmentIds?JSON.parse(n.attachmentIds):[],l=await o.getLatestTaskForConversation(this.db,t),h=l?.traceId??null,k=await this.enqueueTask(d.agentId,t,e,n.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:t,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await c.updateMessageTaskId(this.db,n.id,k.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:t,message:(0,i.messageToResponse)(n),task:(0,i.taskToResponse)(k)}).catch(()=>{}),k}catch(e){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:t,err:e}),await c.revertToBuffered(this.db,n.id).catch(t=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:t})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:t,messageId:n.id,error:e instanceof Error?e.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(t,e,a){for(let r of[...new Set((await o.getTraceTree(this.db,t,e)).filter(t=>["queued","dispatched","running"].includes(t.status)).map(t=>t.conversationId))])try{await this.cancelActiveTask(r,e,{skipDispatch:!0,reason:a?.reason})}catch(e){s.log.warn("cancelTrace: failed to cancel task",{traceId:t,convId:r,err:e})}}}])},572758,t=>{t.v(e=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(e=>t.l(e))).then(()=>e(501816)))},409008,t=>{t.v(e=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(e=>t.l(e))).then(()=>e(770021)))},96318,t=>{t.v(e=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(e=>t.l(e))).then(()=>e(158195)))},11379,t=>{t.v(e=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(e=>t.l(e))).then(()=>e(302822)))},946743,t=>{t.v(e=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(e=>t.l(e))).then(()=>e(898679)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_0-r4t0g._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_02t7kem._.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),n=e.i(740580),i=e.i(774078);let o=t.queries.task,d=t.queries.agent,c=t.queries.message,l=t.queries.conversation,u=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,n=a.TASK_TYPES.USER_DM_MESSAGE,c){let l=await d.getAgent(this.db,e,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(c?.traceId&&c.parentTaskId&&await o.countTasksByTrace(this.db,c.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:l.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:n,contextKey:c?.contextKey??null,priority:0,context:c?.context,traceId:c?.traceId??null,parentTaskId:c?.parentTaskId??null});return(0,i.invalidate)(i.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(e,t){let a=await d.getAgent(this.db,e,t);if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,e,t);if(!s||await o.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,e,t);return s?(await d.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await o.claimKillTasks(this.db,e,a,t),r=t-s.length,n=r>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],i=new Set(e),d=new Set,c=[...s],l=[];for(let e of n){if(l.length>=r)break;let t=`${e.agentId}:${e.workspaceId}`;d.has(t)||(d.add(t),l.push(e))}for(let e of(await Promise.all(l.map(e=>this.claimTask(e.agentId,e.workspaceId)))))e&&i.has(e.runtimeId)&&c.push(e);return c}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,i){let d;try{d=JSON.parse(a)}catch{d={raw:a}}let u=await o.completeTask(this.db,e,t,{result:d,sessionId:i||null});if(!u){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let p=d,h="string"==typeof p?.output?p.output:"";if(h){let a=await c.createMessage(this.db,{conversationId:u.conversationId,role:"assistant",content:h,taskId:e});try{let e=await l.getConversation(this.db,u.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:u.conversationId,message:(0,n.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(u.agentId,u.workspaceId),await this.dispatchNextBufferedMessage(u.conversationId,u.workspaceId),u}async failTask(e,t,i){let d=await o.failTask(this.db,e,t,i);if(!d){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(d.type===a.TASK_TYPES.KILL_TASK)return d;if(i){let a=await c.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:`Error: ${i}`,taskId:e});try{let e=await l.getConversation(this.db,d.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,n.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.syncIssueStatusFromTask(d,"failed"),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await u.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let i=await c.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await l.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,n.messageToResponse)(i)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await o.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let n=await o.cancelTask(this.db,r.id,t);return n?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await c.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),n):null}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await d.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,i.invalidate)(i.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let i=await c.activateNextBufferedMessage(this.db,e);if(!i)return null;let d=await l.getConversation(this.db,e,t);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await c.revertToBuffered(this.db,i.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:i.id,revertErr:e})}),null;let u=d.userId;try{let s=i.attachmentIds?JSON.parse(i.attachmentIds):[],l=await o.getLatestTaskForConversation(this.db,e),p=l?.traceId??null,h=await this.enqueueTask(d.agentId,e,t,i.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:p,parentTaskId:null});return await c.updateMessageTaskId(this.db,i.id,h.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,n.messageToResponse)(i),task:(0,n.taskToResponse)(h)}).catch(()=>{}),h}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await c.revertToBuffered(this.db,i.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:i.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:i.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await o.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},754748,e=>e.a(async(t,a)=>{try{var s=e.i(291484),r=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,s.getCloudflareContext)(),n=(0,r.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,l.invalidateByPrefix)(l.cacheKeys.inboxCountPrefix(t.userId,t.workspaceId)).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 s=e.i(80774),r=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),h=e.i(383303),w=e.i(234173),g=e.i(270215),k=e.i(830665),f=e.i(944002),T=e.i(193695);e.i(195928);var v=e.i(81543),I=e.i(754748),m=t([I]);[I]=m.then?(await m)():m;let b=new s.AppRouteRouteModule({definition:{kind:r.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:I,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:R,serverHooks:E}=b;async function y(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/daemon/tasks/[taskId]/supersede/route";s=s.replace(/\/index$/,"")||"/";let n=await b.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:I,deploymentId:m,params:y,nextConfig:_,parsedUrl:R,isDraftMode:E,prerenderManifest:S,routerServerContext:x,isOnDemandRevalidate:A,revalidateOnlyGenerated:C,resolvedPathname:N,clientReferenceManifest:P,serverActionsManifest:M}=n,q=(0,c.normalizeAppPath)(s),K=!!(S.dynamicRoutes[q]||S.routes[N]),O=async()=>((null==x?void 0:x.render404)?await x.render404(e,t,R,!1):t.end("This page could not be found"),null);if(K&&!E){let e=!!S.routes[N],t=S.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await O();throw new T.NoFallbackError}}let U=null;!K||b.isDev||E||(U=N,U="/index"===U?"/":U);let B=!0===b.isDev||!K,$=K&&!B;M&&P&&(0,d.setManifestsSingleton)({page:s,clientReferenceManifest:P,serverActionsManifest:M});let D=e.method||"GET",j=(0,o.getTracer)(),H=j.getActiveScopeSpan(),F=!!(null==x?void 0:x.isWrappedByNextServer),L=!!(0,i.getRequestMeta)(e,"minimalMode"),Y=(0,i.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,_,S,L);null==Y||Y.resetRequestCache(),globalThis.__incrementalCache=Y;let G={params:y,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:B,incrementalCache:Y,cacheLifeProfiles:_.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,r)=>b.onRequestError(e,t,s,r,x)},sharedContext:{buildId:I,deploymentId:m}},X=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(X,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>b.handle(V,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=j.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${D} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${D} ${s}`)}),d=async n=>{var o,d;let c=async({previousCacheEntry:r})=>{try{if(!L&&A&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=G.renderOpts.collectedTags;if(!K)return await (0,w.sendResponse)(X,J,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:A})},!1,x),t}},l=await b.handleResponse({req:e,nextConfig:_,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:C,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:L});if(!K)return null;if((null==l||null==(o=l.value)?void 0:o.kind)!==v.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});L||t.setHeader("x-nextjs-cache",A?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,g.fromNodeOutgoingHttpHeaders)(l.value.headers);return L&&K||u.delete(f.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,k.getCacheControlHeader)(l.cacheControl)),await (0,w.sendResponse)(X,J,new Response(l.value.body,{headers:u,status:l.value.status||200})),null};F&&H?await d(H):(n=j.getActiveScopeSpan(),await j.withPropagatedContext(e.headers,()=>j.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},d),void 0,!F))}catch(t){if(t instanceof T.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:A})},!1,x),K)throw t;return await (0,w.sendResponse)(X,J,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:R})},"routeModule",0,b,"serverHooks",0,E,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,R]),a()}catch(e){a(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_02t7kem._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_05_d3df._.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function r(e,r,n){let i;try{let{env:a}=(0,t.getCloudflareContext)();i=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...n,status:o.status});return}catch{}let o=i||a.DEV_WS_DO_URL;try{let t=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});t.ok||s.warn("broadcast failed",{...n,status:t.status})}catch(e){s.warn("broadcast error",{...n,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,s){let n=r(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(n)}catch{}return n}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),n=e.i(740580),i=e.i(774078);let o=t.queries.task,d=t.queries.agent,c=t.queries.message,l=t.queries.conversation,u=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,n=a.TASK_TYPES.USER_DM_MESSAGE,c){let l=await d.getAgent(this.db,e,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(c?.traceId&&c.parentTaskId&&await o.countTasksByTrace(this.db,c.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:l.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:n,contextKey:c?.contextKey??null,priority:0,context:c?.context,traceId:c?.traceId??null,parentTaskId:c?.parentTaskId??null});return(0,i.invalidate)(i.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(e,t){let a=await d.getAgent(this.db,e,t);if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,e,t);if(!s||await o.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,e,t);return s?(await d.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await o.claimKillTasks(this.db,e,a,t),r=t-s.length,n=r>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],i=new Set(e),d=new Set,c=[...s],l=[];for(let e of n){if(l.length>=r)break;let t=`${e.agentId}:${e.workspaceId}`;d.has(t)||(d.add(t),l.push(e))}for(let e of(await Promise.all(l.map(e=>this.claimTask(e.agentId,e.workspaceId)))))e&&i.has(e.runtimeId)&&c.push(e);return c}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,i){let d;try{d=JSON.parse(a)}catch{d={raw:a}}let u=await o.completeTask(this.db,e,t,{result:d,sessionId:i||null});if(!u){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let h=d,g="string"==typeof h?.output?h.output:"";if(g){let a=await c.createMessage(this.db,{conversationId:u.conversationId,role:"assistant",content:g,taskId:e});try{let e=await l.getConversation(this.db,u.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:u.conversationId,message:(0,n.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(u.agentId,u.workspaceId),await this.dispatchNextBufferedMessage(u.conversationId,u.workspaceId),u}async failTask(e,t,i){let d=await o.failTask(this.db,e,t,i);if(!d){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(d.type===a.TASK_TYPES.KILL_TASK)return d;if(i){let a=await c.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:`Error: ${i}`,taskId:e});try{let e=await l.getConversation(this.db,d.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,n.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.syncIssueStatusFromTask(d,"failed"),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await u.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let i=await c.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await l.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,n.messageToResponse)(i)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await o.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let n=await o.cancelTask(this.db,r.id,t);return n?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await c.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),n):null}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await d.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,i.invalidate)(i.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let i=await c.activateNextBufferedMessage(this.db,e);if(!i)return null;let d=await l.getConversation(this.db,e,t);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await c.revertToBuffered(this.db,i.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:i.id,revertErr:e})}),null;let u=d.userId;try{let s=i.attachmentIds?JSON.parse(i.attachmentIds):[],l=await o.getLatestTaskForConversation(this.db,e),h=l?.traceId??null,g=await this.enqueueTask(d.agentId,e,t,i.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await c.updateMessageTaskId(this.db,i.id,g.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,n.messageToResponse)(i),task:(0,n.taskToResponse)(g)}).catch(()=>{}),g}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await c.revertToBuffered(this.db,i.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:i.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:i.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await o.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},897069,e=>{"use strict";var t=e.i(424166);e.s(["parsePromptMentions",0,function(e,a){if(!e||0===a.length)return{enrichedPrompt:e,mentions:[]};let s=a.slice().sort((e,t)=>t.name.length-e.name.length),r=[],n=[];for(let t=0;t<e.length;t++){if("@"!==e[t]||!function(e,t){if(0===t)return!0;let a=e.charCodeAt(t-1);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(e,t))continue;let a=t+1;for(let r of s){let s=a+r.name.length;if(!(s>e.length)&&e.slice(a,s).toLowerCase()===r.name.toLowerCase()&&function(e,t){if(t>=e.length)return!0;let a=e.charCodeAt(t);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(e,s)){if(n.some(e=>t>=e.start&&t<e.end))break;n.push({start:t,end:s,agent:r});break}}}let i=e;for(let e=n.length-1;e>=0;e--){let a=n[e],s={name:a.agent.name,email:a.agent.emailHandle?(0,t.toAlookAddress)(a.agent.emailHandle):null,description:a.agent.description};if(r.unshift(s),a.agent.emailHandle){let e=`@${a.agent.name} (${(0,t.toAlookAddress)(a.agent.emailHandle)})`;i=i.slice(0,a.start)+e+i.slice(a.end)}else i=i.slice(0,a.start)+`@${a.agent.name}`+i.slice(a.end)}return{enrichedPrompt:i,mentions:r}}])},572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_05_d3df._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_06.am62._.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function r(e,r,n){let i;try{let{env:a}=(0,t.getCloudflareContext)();i=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...n,status:o.status});return}catch{}let o=i||a.DEV_WS_DO_URL;try{let t=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});t.ok||s.warn("broadcast failed",{...n,status:t.status})}catch(e){s.warn("broadcast error",{...n,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,s){let n=r(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(n)}catch{}return n}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),n=e.i(740580),i=e.i(774078);let o=t.queries.task,d=t.queries.agent,c=t.queries.message,l=t.queries.conversation,u=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,n=a.TASK_TYPES.USER_DM_MESSAGE,c){let l=await d.getAgent(this.db,e,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(c?.traceId&&c.parentTaskId&&await o.countTasksByTrace(this.db,c.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:l.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:n,contextKey:c?.contextKey??null,priority:0,context:c?.context,traceId:c?.traceId??null,parentTaskId:c?.parentTaskId??null});return(0,i.invalidate)(i.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(e,t){let a=await d.getAgent(this.db,e,t);if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,e,t);if(!s||await o.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,e,t);return s?(await d.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await o.claimKillTasks(this.db,e,a,t),r=t-s.length,n=r>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],i=new Set(e),d=new Set,c=[...s],l=[];for(let e of n){if(l.length>=r)break;let t=`${e.agentId}:${e.workspaceId}`;d.has(t)||(d.add(t),l.push(e))}for(let e of(await Promise.all(l.map(e=>this.claimTask(e.agentId,e.workspaceId)))))e&&i.has(e.runtimeId)&&c.push(e);return c}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,i){let d;try{d=JSON.parse(a)}catch{d={raw:a}}let u=await o.completeTask(this.db,e,t,{result:d,sessionId:i||null});if(!u){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let h=d,g="string"==typeof h?.output?h.output:"";if(g){let a=await c.createMessage(this.db,{conversationId:u.conversationId,role:"assistant",content:g,taskId:e});try{let e=await l.getConversation(this.db,u.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:u.conversationId,message:(0,n.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(u.agentId,u.workspaceId),await this.dispatchNextBufferedMessage(u.conversationId,u.workspaceId),u}async failTask(e,t,i){let d=await o.failTask(this.db,e,t,i);if(!d){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(d.type===a.TASK_TYPES.KILL_TASK)return d;if(i){let a=await c.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:`Error: ${i}`,taskId:e});try{let e=await l.getConversation(this.db,d.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,n.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.syncIssueStatusFromTask(d,"failed"),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await u.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let i=await c.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await l.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,n.messageToResponse)(i)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await o.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let n=await o.cancelTask(this.db,r.id,t);return n?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await c.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),n):null}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await d.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,i.invalidate)(i.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let i=await c.activateNextBufferedMessage(this.db,e);if(!i)return null;let d=await l.getConversation(this.db,e,t);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await c.revertToBuffered(this.db,i.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:i.id,revertErr:e})}),null;let u=d.userId;try{let s=i.attachmentIds?JSON.parse(i.attachmentIds):[],l=await o.getLatestTaskForConversation(this.db,e),h=l?.traceId??null,g=await this.enqueueTask(d.agentId,e,t,i.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await c.updateMessageTaskId(this.db,i.id,g.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,n.messageToResponse)(i),task:(0,n.taskToResponse)(g)}).catch(()=>{}),g}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await c.revertToBuffered(this.db,i.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:i.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:i.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await o.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},897069,e=>{"use strict";var t=e.i(424166);e.s(["parsePromptMentions",0,function(e,a){if(!e||0===a.length)return{enrichedPrompt:e,mentions:[]};let s=a.slice().sort((e,t)=>t.name.length-e.name.length),r=[],n=[];for(let t=0;t<e.length;t++){if("@"!==e[t]||!function(e,t){if(0===t)return!0;let a=e.charCodeAt(t-1);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(e,t))continue;let a=t+1;for(let r of s){let s=a+r.name.length;if(!(s>e.length)&&e.slice(a,s).toLowerCase()===r.name.toLowerCase()&&function(e,t){if(t>=e.length)return!0;let a=e.charCodeAt(t);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(e,s)){if(n.some(e=>t>=e.start&&t<e.end))break;n.push({start:t,end:s,agent:r});break}}}let i=e;for(let e=n.length-1;e>=0;e--){let a=n[e],s={name:a.agent.name,email:a.agent.emailHandle?(0,t.toAlookAddress)(a.agent.emailHandle):null,description:a.agent.description};if(r.unshift(s),a.agent.emailHandle){let e=`@${a.agent.name} (${(0,t.toAlookAddress)(a.agent.emailHandle)})`;i=i.slice(0,a.start)+e+i.slice(a.end)}else i=i.slice(0,a.start)+`@${a.agent.name}`+i.slice(a.end)}return{enrichedPrompt:i,mentions:r}}])},572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_06.am62._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_07-798_._.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function r(e,r,i){let n;try{let{env:a}=(0,t.getCloudflareContext)();n=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...i,status:o.status});return}catch{}let o=n||a.DEV_WS_DO_URL;try{let t=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});t.ok||s.warn("broadcast failed",{...i,status:t.status})}catch(e){s.warn("broadcast error",{...i,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,s){let i=r(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(i)}catch{}return i}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),i=e.i(740580),n=e.i(774078);let o=t.queries.task,d=t.queries.agent,l=t.queries.message,c=t.queries.conversation,u=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,i=a.TASK_TYPES.USER_DM_MESSAGE,l){let c=await d.getAgent(this.db,e,s);if(!c)throw Error("agent not found");if(!c.runtimeId)throw Error("agent has no runtime");if(l?.traceId&&l.parentTaskId&&await o.countTasksByTrace(this.db,l.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:c.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:i,contextKey:l?.contextKey??null,priority:0,context:l?.context,traceId:l?.traceId??null,parentTaskId:l?.parentTaskId??null});return(0,n.invalidate)(n.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(e,t){let a=await d.getAgent(this.db,e,t);if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,e,t);if(!s||await o.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,e,t);return s?(await d.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await o.claimKillTasks(this.db,e,a,t),r=t-s.length,i=r>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],n=new Set(e),d=new Set,l=[...s],c=[];for(let e of i){if(c.length>=r)break;let t=`${e.agentId}:${e.workspaceId}`;d.has(t)||(d.add(t),c.push(e))}for(let e of(await Promise.all(c.map(e=>this.claimTask(e.agentId,e.workspaceId)))))e&&n.has(e.runtimeId)&&l.push(e);return l}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,n){let d;try{d=JSON.parse(a)}catch{d={raw:a}}let u=await o.completeTask(this.db,e,t,{result:d,sessionId:n||null});if(!u){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let h=d,p="string"==typeof h?.output?h.output:"";if(p){let a=await l.createMessage(this.db,{conversationId:u.conversationId,role:"assistant",content:p,taskId:e});try{let e=await c.getConversation(this.db,u.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:u.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(u.agentId,u.workspaceId),await this.dispatchNextBufferedMessage(u.conversationId,u.workspaceId),u}async failTask(e,t,n){let d=await o.failTask(this.db,e,t,n);if(!d){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(d.type===a.TASK_TYPES.KILL_TASK)return d;if(n){let a=await l.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:`Error: ${n}`,taskId:e});try{let e=await c.getConversation(this.db,d.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.syncIssueStatusFromTask(d,"failed"),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await u.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let n=await l.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await c.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(n)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await o.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let i=await o.cancelTask(this.db,r.id,t);return i?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await l.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),i):null}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await d.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,n.invalidate)(n.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let n=await l.activateNextBufferedMessage(this.db,e);if(!n)return null;let d=await c.getConversation(this.db,e,t);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await l.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),null;let u=d.userId;try{let s=n.attachmentIds?JSON.parse(n.attachmentIds):[],c=await o.getLatestTaskForConversation(this.db,e),h=c?.traceId??null,p=await this.enqueueTask(d.agentId,e,t,n.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await l.updateMessageTaskId(this.db,n.id,p.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(n),task:(0,i.taskToResponse)(p)}).catch(()=>{}),p}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await l.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:n.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await o.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},99293,e=>e.a(async(t,a)=>{try{var s=e.i(291484);e.i(700598);var r=e.i(291109),i=e.i(888247),n=e.i(704024),o=e.i(675139),d=e.i(152327),l=e.i(47962),c=e.i(776227),u=e.i(205054),h=e.i(774078),p=t([d]);[d]=p.then?(await p)():p;let w=(0,d.withAuth)(async(e,t)=>{let a=await (0,l.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:i}=(0,s.getCloudflareContext)(),n=(0,o.getDb)(i.DB),d=t.params?.id;if(!d)return(0,c.writeError)("agent id is required",400);if(!await r.queries.agent.getAgent(n,d,a.workspaceId,t.userId))return(0,c.writeError)("agent not found",404);let u=await r.queries.whitelist.getWhitelist(n,d,a.workspaceId);return(0,c.writeJSON)(u.map(e=>({id:e.id,email:e.email,created_at:(0,c.formatTimestamp)(e.createdAt)})))}),g=(0,d.withAuth)(async(e,t)=>{let a=await (0,l.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:d}=(0,s.getCloudflareContext)(),p=(0,o.getDb)(d.DB),w=t.params?.id;if(!w)return(0,c.writeError)("agent id is required",400);let g=await r.queries.agent.getAgent(p,w,a.workspaceId,t.userId);if(!g)return(0,c.writeError)("agent not found",404);let[f,m]=await (0,c.parseBody)(e,i.AddWhitelistRequestSchema);if(m)return m;let k=f.email.toLowerCase(),T=await r.queries.whitelist.addWhitelist(p,w,a.workspaceId,k);if(!T)return(0,c.writeError)("email already whitelisted",409);if(g.runtimeId&&g.emailHandle&&g.ownerId)try{let e=await r.queries.conversation.createConversation(p,{workspaceId:a.workspaceId,agentId:g.id,userId:g.ownerId,title:`Welcome: ${k}`.slice(0,50),type:n.TASK_TYPES.EMAIL_NOTIFICATION}),s=new u.TaskService(p);await s.enqueueTask(g.id,e.id,a.workspaceId,`Your owner (${t.email}) has added a new contact to your whitelist: ${k}. Please compose and send them a welcome email introducing yourself as "${g.name}". Be warm and professional. Let them know they can reach you at your email address and briefly describe how you can help them.`,n.TASK_TYPES.EMAIL_NOTIFICATION);let i=new Date().toISOString().slice(0,10);(0,h.invalidate)(h.cacheKeys.overviewTaskStats(a.workspaceId,i)).catch(()=>{}),(0,h.invalidate)(h.cacheKeys.activeTaskCounts(a.workspaceId)).catch(()=>{})}catch{}return(0,c.writeJSON)({id:T.id,email:T.email,created_at:(0,c.formatTimestamp)(T.createdAt)},201)});e.s(["GET",0,w,"POST",0,g]),a()}catch(e){a(e)}},!1),829167,e=>e.a(async(t,a)=>{try{var s=e.i(80774),r=e.i(404478),i=e.i(732985),n=e.i(481671),o=e.i(638081),d=e.i(204960),l=e.i(924918),c=e.i(363585),u=e.i(906846),h=e.i(359838),p=e.i(383303),w=e.i(234173),g=e.i(270215),f=e.i(830665),m=e.i(944002),k=e.i(193695);e.i(195928);var T=e.i(81543),v=e.i(99293),I=t([v]);[v]=I.then?(await I)():I;let b=new s.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/agents/[id]/whitelist/route",pathname:"/api/agents/[id]/whitelist",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/agents/[id]/whitelist/route.ts",nextConfigOutput:"standalone",userland:v,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:E,serverHooks:R}=b;async function y(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/agents/[id]/whitelist/route";s=s.replace(/\/index$/,"")||"/";let i=await b.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,deploymentId:I,params:y,nextConfig:_,parsedUrl:E,isDraftMode:R,prerenderManifest:S,routerServerContext:A,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,resolvedPathname:N,clientReferenceManifest:P,serverActionsManifest:O}=i,q=(0,l.normalizeAppPath)(s),M=!!(S.dynamicRoutes[q]||S.routes[N]),K=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,E,!1):t.end("This page could not be found"),null);if(M&&!R){let e=!!S.routes[N],t=S.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await K();throw new k.NoFallbackError}}let $=null;!M||b.isDev||R||($=N,$="/index"===$?"/":$);let U=!0===b.isDev||!M,B=M&&!U;O&&P&&(0,d.setManifestsSingleton)({page:s,clientReferenceManifest:P,serverActionsManifest:O});let D=e.method||"GET",L=(0,o.getTracer)(),j=L.getActiveScopeSpan(),H=!!(null==A?void 0:A.isWrappedByNextServer),F=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,_,S,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let Y={params:y,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:_.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,r)=>b.onRequestError(e,t,s,r,A)},sharedContext:{buildId:v,deploymentId:I}},G=new c.NodeNextRequest(e),V=new c.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let i,n=async e=>b.handle(J,Y).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=L.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==h.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${D} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",r),i.updateName(t))}else e.updateName(`${D} ${s}`)}),d=async i=>{var o,d;let l=async({previousCacheEntry:r})=>{try{if(!F&&C&&x&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await n(i);e.fetchMetrics=Y.renderOpts.fetchMetrics;let o=Y.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=Y.renderOpts.collectedTags;if(!M)return await (0,w.sendResponse)(G,V,s,Y.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==Y.renderOpts.collectedRevalidate&&!(Y.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&Y.renderOpts.collectedRevalidate,r=void 0===Y.renderOpts.collectedExpire||Y.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:Y.renderOpts.collectedExpire;return{value:{kind:T.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:C})},!1,A),t}},c=await b.handleResponse({req:e,nextConfig:_,cacheKey:$,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:F});if(!M)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==T.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",C?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,g.fromNodeOutgoingHttpHeaders)(c.value.headers);return F&&M||u.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,w.sendResponse)(G,V,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};H&&j?await d(j):(i=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(h.BaseServerSpan.handleRequest,{spanName:`${D} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},d),void 0,!H))}catch(t){if(t instanceof k.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:C})},!1,A),M)throw t;return await (0,w.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:E})},"routeModule",0,b,"serverHooks",0,R,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,E]),a()}catch(e){a(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_07-798_._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_07zxhb2._.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function r(e,r,i){let n;try{let{env:a}=(0,t.getCloudflareContext)();n=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...i,status:o.status});return}catch{}let o=n||a.DEV_WS_DO_URL;try{let t=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});t.ok||s.warn("broadcast failed",{...i,status:t.status})}catch(e){s.warn("broadcast error",{...i,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,s){let i=r(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(i)}catch{}return i}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),i=e.i(740580),n=e.i(774078);let o=t.queries.task,d=t.queries.agent,c=t.queries.message,l=t.queries.conversation,u=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,i=a.TASK_TYPES.USER_DM_MESSAGE,c){let l=await d.getAgent(this.db,e,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(c?.traceId&&c.parentTaskId&&await o.countTasksByTrace(this.db,c.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:l.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:i,contextKey:c?.contextKey??null,priority:0,context:c?.context,traceId:c?.traceId??null,parentTaskId:c?.parentTaskId??null});return(0,n.invalidate)(n.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(e,t){let a=await d.getAgent(this.db,e,t);if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,e,t);if(!s||await o.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,e,t);return s?(await d.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await o.claimKillTasks(this.db,e,a,t),r=t-s.length,i=r>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],n=new Set(e),d=new Set,c=[...s],l=[];for(let e of i){if(l.length>=r)break;let t=`${e.agentId}:${e.workspaceId}`;d.has(t)||(d.add(t),l.push(e))}for(let e of(await Promise.all(l.map(e=>this.claimTask(e.agentId,e.workspaceId)))))e&&n.has(e.runtimeId)&&c.push(e);return c}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,n){let d;try{d=JSON.parse(a)}catch{d={raw:a}}let u=await o.completeTask(this.db,e,t,{result:d,sessionId:n||null});if(!u){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let h=d,p="string"==typeof h?.output?h.output:"";if(p){let a=await c.createMessage(this.db,{conversationId:u.conversationId,role:"assistant",content:p,taskId:e});try{let e=await l.getConversation(this.db,u.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:u.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(u.agentId,u.workspaceId),await this.dispatchNextBufferedMessage(u.conversationId,u.workspaceId),u}async failTask(e,t,n){let d=await o.failTask(this.db,e,t,n);if(!d){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(d.type===a.TASK_TYPES.KILL_TASK)return d;if(n){let a=await c.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:`Error: ${n}`,taskId:e});try{let e=await l.getConversation(this.db,d.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.syncIssueStatusFromTask(d,"failed"),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await u.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let n=await c.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await l.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(n)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await o.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let i=await o.cancelTask(this.db,r.id,t);return i?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await c.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),i):null}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await d.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,n.invalidate)(n.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let n=await c.activateNextBufferedMessage(this.db,e);if(!n)return null;let d=await l.getConversation(this.db,e,t);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await c.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),null;let u=d.userId;try{let s=n.attachmentIds?JSON.parse(n.attachmentIds):[],l=await o.getLatestTaskForConversation(this.db,e),h=l?.traceId??null,p=await this.enqueueTask(d.agentId,e,t,n.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await c.updateMessageTaskId(this.db,n.id,p.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(n),task:(0,i.taskToResponse)(p)}).catch(()=>{}),p}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await c.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:n.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await o.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},213764,e=>e.a(async(t,a)=>{try{var s=e.i(291484);e.i(700598);var r=e.i(291109),i=e.i(675139),n=e.i(152327),o=e.i(47962),d=e.i(776227),c=e.i(740580),l=e.i(205054),u=t([n]);[n]=u.then?(await u)():u;let h=(0,n.withAuth)(async(e,t)=>{let a=await (0,o.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:n}=(0,s.getCloudflareContext)(),u=(0,i.getDb)(n.DB),h=t.params?.id;if(!h)return(0,d.writeError)("conversation id is required",400);let p=new URL(e.url).searchParams.get("newest_message_id"),g=await r.queries.conversation.getConversation(u,h,a.workspaceId);if(!g)return(0,d.writeError)("conversation not found",404);let w=!1;p&&(w=await r.queries.message.getNewestMessageId(u,h)===p);let[f,k,v,m,T,I]=await Promise.all([r.queries.message.listMessages(u,h,{limit:20}),r.queries.artifact.listArtifactsByConversation(u,h,a.workspaceId,{limit:50}).catch(()=>[]),r.queries.message.listBufferedMessages(u,h).catch(()=>[]),r.queries.task.getActiveTaskByConversation(u,h,a.workspaceId).catch(()=>null),r.queries.messageFlag.listFlaggedMessageIds(u,t.userId,a.workspaceId,h).catch(()=>[]),r.queries.conversation.hasPreviousConversations(u,a.workspaceId,t.userId,g.agentId,h,g.channel||void 0).catch(()=>!1)]),{messages:y,has_more:_}=f,b=m,R=v;if(R.length>0&&!b)try{let e=new l.TaskService(u),t=await e.dispatchNextBufferedMessage(h,a.workspaceId);t&&(b=t,R=await r.queries.message.listBufferedMessages(u,h))}catch{}let E=[];if(b&&!["completed","failed","cancelled","superseded"].includes(b.status))try{E=(await r.queries.taskMessage.listTaskMessages(u,b.id)).map(c.taskMessageToResponse)}catch{}let S={};if(y.length>0){let e=[...new Set(y.filter(e=>"assistant"===e.role&&e.taskId).map(e=>e.taskId))];if(e.length>0)try{for(let t of(await r.queries.taskMessage.countTaskMessagesByTaskIds(u,e,a.workspaceId)))S[t.taskId]=t.count}catch{}}return(0,d.writeJSON)({conversation:(0,c.conversationToResponse)(g),messages:w?null:y.map(c.messageToResponse),has_more_messages:_,has_more_conversations:I,has_more_artifacts:k.length>=50,artifacts:k.map(r.queries.artifact.artifactToResponse),buffered_messages:R.map(c.messageToResponse),flagged_message_ids:T,step_counts:S,active_task:b?(0,c.taskToResponse)(b):null,task_messages:E,cache_valid:w})});e.s(["GET",0,h]),a()}catch(e){a(e)}},!1),581142,e=>e.a(async(t,a)=>{try{var s=e.i(80774),r=e.i(404478),i=e.i(732985),n=e.i(481671),o=e.i(638081),d=e.i(204960),c=e.i(924918),l=e.i(363585),u=e.i(906846),h=e.i(359838),p=e.i(383303),g=e.i(234173),w=e.i(270215),f=e.i(830665),k=e.i(944002),v=e.i(193695);e.i(195928);var m=e.i(81543),T=e.i(213764),I=t([T]);[T]=I.then?(await I)():I;let _=new s.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/conversations/[id]/init/route",pathname:"/api/conversations/[id]/init",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/conversations/[id]/init/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:R,serverHooks:E}=_;async function y(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),_.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/conversations/[id]/init/route";s=s.replace(/\/index$/,"")||"/";let i=await _.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,deploymentId:I,params:y,nextConfig:b,parsedUrl:R,isDraftMode:E,prerenderManifest:S,routerServerContext:A,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,resolvedPathname:M,clientReferenceManifest:q,serverActionsManifest:N}=i,P=(0,c.normalizeAppPath)(s),O=!!(S.dynamicRoutes[P]||S.routes[M]),B=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,R,!1):t.end("This page could not be found"),null);if(O&&!E){let e=!!S.routes[M],t=S.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await B();throw new v.NoFallbackError}}let K=null;!O||_.isDev||E||(K=M,K="/index"===K?"/":K);let U=!0===_.isDev||!O,$=O&&!U;N&&q&&(0,d.setManifestsSingleton)({page:s,clientReferenceManifest:q,serverActionsManifest:N});let D=e.method||"GET",j=(0,o.getTracer)(),L=j.getActiveScopeSpan(),H=!!(null==A?void 0:A.isWrappedByNextServer),F=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await _.getIncrementalCache(e,b,S,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let G={params:y,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,r)=>_.onRequestError(e,t,s,r,A)},sharedContext:{buildId:T,deploymentId:I}},V=new l.NodeNextRequest(e),Y=new l.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t));try{let i,n=async e=>_.handle(J,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=j.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==h.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${D} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",r),i.updateName(t))}else e.updateName(`${D} ${s}`)}),d=async i=>{var o,d;let c=async({previousCacheEntry:r})=>{try{if(!F&&C&&x&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await n(i);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=G.renderOpts.collectedTags;if(!O)return await (0,g.sendResponse)(V,Y,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[k.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=k.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=k.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:C})},!1,A),t}},l=await _.handleResponse({req:e,nextConfig:b,cacheKey:K,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:F});if(!O)return null;if((null==l||null==(o=l.value)?void 0:o.kind)!==m.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",C?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,w.fromNodeOutgoingHttpHeaders)(l.value.headers);return F&&O||u.delete(k.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(l.cacheControl)),await (0,g.sendResponse)(V,Y,new Response(l.value.body,{headers:u,status:l.value.status||200})),null};H&&L?await d(L):(i=j.getActiveScopeSpan(),await j.withPropagatedContext(e.headers,()=>j.trace(h.BaseServerSpan.handleRequest,{spanName:`${D} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},d),void 0,!H))}catch(t){if(t instanceof v.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:C})},!1,A),O)throw t;return await (0,g.sendResponse)(V,Y,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:R})},"routeModule",0,_,"serverHooks",0,E,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,R]),a()}catch(e){a(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_07zxhb2._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08mdiy6._.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function r(e,r,i){let n;try{let{env:a}=(0,t.getCloudflareContext)();n=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...i,status:o.status});return}catch{}let o=n||a.DEV_WS_DO_URL;try{let t=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});t.ok||s.warn("broadcast failed",{...i,status:t.status})}catch(e){s.warn("broadcast error",{...i,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,s){let i=r(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(i)}catch{}return i}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),i=e.i(740580),n=e.i(774078);let o=t.queries.task,d=t.queries.agent,l=t.queries.message,c=t.queries.conversation,u=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,i=a.TASK_TYPES.USER_DM_MESSAGE,l){let c=await d.getAgent(this.db,e,s);if(!c)throw Error("agent not found");if(!c.runtimeId)throw Error("agent has no runtime");if(l?.traceId&&l.parentTaskId&&await o.countTasksByTrace(this.db,l.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:c.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:i,contextKey:l?.contextKey??null,priority:0,context:l?.context,traceId:l?.traceId??null,parentTaskId:l?.parentTaskId??null});return(0,n.invalidate)(n.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(e,t){let a=await d.getAgent(this.db,e,t);if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,e,t);if(!s||await o.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,e,t);return s?(await d.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await o.claimKillTasks(this.db,e,a,t),r=t-s.length,i=r>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],n=new Set(e),d=new Set,l=[...s],c=[];for(let e of i){if(c.length>=r)break;let t=`${e.agentId}:${e.workspaceId}`;d.has(t)||(d.add(t),c.push(e))}for(let e of(await Promise.all(c.map(e=>this.claimTask(e.agentId,e.workspaceId)))))e&&n.has(e.runtimeId)&&l.push(e);return l}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,n){let d;try{d=JSON.parse(a)}catch{d={raw:a}}let u=await o.completeTask(this.db,e,t,{result:d,sessionId:n||null});if(!u){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let p=d,h="string"==typeof p?.output?p.output:"";if(h){let a=await l.createMessage(this.db,{conversationId:u.conversationId,role:"assistant",content:h,taskId:e});try{let e=await c.getConversation(this.db,u.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:u.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(u.agentId,u.workspaceId),await this.dispatchNextBufferedMessage(u.conversationId,u.workspaceId),u}async failTask(e,t,n){let d=await o.failTask(this.db,e,t,n);if(!d){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(d.type===a.TASK_TYPES.KILL_TASK)return d;if(n){let a=await l.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:`Error: ${n}`,taskId:e});try{let e=await c.getConversation(this.db,d.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.syncIssueStatusFromTask(d,"failed"),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await u.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let n=await l.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await c.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(n)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await o.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let i=await o.cancelTask(this.db,r.id,t);return i?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await l.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),i):null}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await d.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,n.invalidate)(n.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let n=await l.activateNextBufferedMessage(this.db,e);if(!n)return null;let d=await c.getConversation(this.db,e,t);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await l.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),null;let u=d.userId;try{let s=n.attachmentIds?JSON.parse(n.attachmentIds):[],c=await o.getLatestTaskForConversation(this.db,e),p=c?.traceId??null,h=await this.enqueueTask(d.agentId,e,t,n.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:p,parentTaskId:null});return await l.updateMessageTaskId(this.db,n.id,h.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(n),task:(0,i.taskToResponse)(h)}).catch(()=>{}),h}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await l.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:n.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await o.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},636551,e=>e.a(async(t,a)=>{try{var s=e.i(291484);e.i(700598);var r=e.i(291109),i=e.i(675139),n=e.i(152327),o=e.i(47962),d=e.i(776227),l=e.i(740580),c=e.i(205054),u=t([n]);[n]=u.then?(await u)():u;let p=(0,n.withAuth)(async(e,t)=>{let a,n=await (0,o.withWorkspaceMember)(e,t);if(n instanceof Response)return n;let{env:u}=(0,s.getCloudflareContext)(),p=(0,i.getDb)(u.DB),h=t.params?.id;if(!h)return(0,d.writeError)("agent id is required",400);if(!await r.queries.agent.getAgent(p,h,n.workspaceId,t.userId))return(0,d.writeError)("agent not found",404);try{let t=await e.json();a="string"==typeof t.channel?t.channel:void 0}catch{}let g=await r.queries.conversation.getOrCreateAgentConversation(p,n.workspaceId,t.userId,h,a),w=g.id,[f,v,k,m,T]=await Promise.allSettled([r.queries.message.listMessages(p,w,{limit:20}),r.queries.artifact.listArtifactsByConversation(p,w,n.workspaceId,{limit:50}),r.queries.message.listBufferedMessages(p,w),r.queries.task.getActiveTaskByConversation(p,w,n.workspaceId),r.queries.conversation.hasPreviousConversations(p,n.workspaceId,t.userId,h,w,a)]),{messages:y,has_more:I}="fulfilled"===f.status?f.value:{messages:[],has_more:!1},_="fulfilled"===v.status?v.value:[],b="fulfilled"===k.status?k.value:[],R="fulfilled"===m.status?m.value:null,E="fulfilled"===T.status&&T.value,S=R,A=b;if(A.length>0&&!S)try{let e=new c.TaskService(p),t=await e.dispatchNextBufferedMessage(w,n.workspaceId);t&&(S=t,A=await r.queries.message.listBufferedMessages(p,w))}catch{}let C=[];if(S&&!["completed","failed","cancelled","superseded"].includes(S.status))try{C=(await r.queries.taskMessage.listTaskMessages(p,S.id)).map(l.taskMessageToResponse)}catch{}return(0,d.writeJSON)({conversation:(0,l.conversationToResponse)(g),messages:y.map(l.messageToResponse),artifacts:_.map(r.queries.artifact.artifactToResponse),buffered_messages:A.map(l.messageToResponse),active_task:S?(0,l.taskToResponse)(S):null,task_messages:C,has_more_messages:I,has_more_conversations:E,has_more_artifacts:_.length>=50})});e.s(["POST",0,p]),a()}catch(e){a(e)}},!1),84690,e=>e.a(async(t,a)=>{try{var s=e.i(80774),r=e.i(404478),i=e.i(732985),n=e.i(481671),o=e.i(638081),d=e.i(204960),l=e.i(924918),c=e.i(363585),u=e.i(906846),p=e.i(359838),h=e.i(383303),g=e.i(234173),w=e.i(270215),f=e.i(830665),v=e.i(944002),k=e.i(193695);e.i(195928);var m=e.i(81543),T=e.i(636551),y=t([T]);[T]=y.then?(await y)():y;let _=new s.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/agents/[id]/chat-init/route",pathname:"/api/agents/[id]/chat-init",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/agents/[id]/chat-init/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:R,serverHooks:E}=_;async function I(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),_.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/agents/[id]/chat-init/route";s=s.replace(/\/index$/,"")||"/";let i=await _.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,deploymentId:y,params:I,nextConfig:b,parsedUrl:R,isDraftMode:E,prerenderManifest:S,routerServerContext:A,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,resolvedPathname:M,clientReferenceManifest:N,serverActionsManifest:P}=i,q=(0,l.normalizeAppPath)(s),O=!!(S.dynamicRoutes[q]||S.routes[M]),B=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,R,!1):t.end("This page could not be found"),null);if(O&&!E){let e=!!S.routes[M],t=S.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await B();throw new k.NoFallbackError}}let K=null;!O||_.isDev||E||(K=M,K="/index"===K?"/":K);let U=!0===_.isDev||!O,$=O&&!U;P&&N&&(0,d.setManifestsSingleton)({page:s,clientReferenceManifest:N,serverActionsManifest:P});let D=e.method||"GET",j=(0,o.getTracer)(),L=j.getActiveScopeSpan(),H=!!(null==A?void 0:A.isWrappedByNextServer),F=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await _.getIncrementalCache(e,b,S,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let V={params:I,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,r)=>_.onRequestError(e,t,s,r,A)},sharedContext:{buildId:T,deploymentId:y}},Y=new c.NodeNextRequest(e),G=new c.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(Y,(0,u.signalFromNodeResponse)(t));try{let i,n=async e=>_.handle(J,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=j.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${D} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",r),i.updateName(t))}else e.updateName(`${D} ${s}`)}),d=async i=>{var o,d;let l=async({previousCacheEntry:r})=>{try{if(!F&&C&&x&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await n(i);e.fetchMetrics=V.renderOpts.fetchMetrics;let o=V.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=V.renderOpts.collectedTags;if(!O)return await (0,g.sendResponse)(Y,G,s,V.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[v.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,r=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:C})},!1,A),t}},c=await _.handleResponse({req:e,nextConfig:b,cacheKey:K,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:F});if(!O)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",C?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,w.fromNodeOutgoingHttpHeaders)(c.value.headers);return F&&O||u.delete(v.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,g.sendResponse)(Y,G,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};H&&L?await d(L):(i=j.getActiveScopeSpan(),await j.withPropagatedContext(e.headers,()=>j.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},d),void 0,!H))}catch(t){if(t instanceof k.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:C})},!1,A),O)throw t;return await (0,g.sendResponse)(Y,G,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:R})},"routeModule",0,_,"serverHooks",0,E,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,R]),a()}catch(e){a(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_08mdiy6._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0csh82a._.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function r(e,r,i){let n;try{let{env:a}=(0,t.getCloudflareContext)();n=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...i,status:o.status});return}catch{}let o=n||a.DEV_WS_DO_URL;try{let t=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});t.ok||s.warn("broadcast failed",{...i,status:t.status})}catch(e){s.warn("broadcast error",{...i,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,s){let i=r(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(i)}catch{}return i}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),i=e.i(740580),n=e.i(774078);let o=t.queries.task,l=t.queries.agent,d=t.queries.message,c=t.queries.conversation,u=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,i=a.TASK_TYPES.USER_DM_MESSAGE,d){let c=await l.getAgent(this.db,e,s);if(!c)throw Error("agent not found");if(!c.runtimeId)throw Error("agent has no runtime");if(d?.traceId&&d.parentTaskId&&await o.countTasksByTrace(this.db,d.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:c.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:i,contextKey:d?.contextKey??null,priority:0,context:d?.context,traceId:d?.traceId??null,parentTaskId:d?.parentTaskId??null});return(0,n.invalidate)(n.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(e,t){let a=await l.getAgent(this.db,e,t);if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,e,t);if(!s||await o.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,e,t);return s?(await l.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await o.claimKillTasks(this.db,e,a,t),r=t-s.length,i=r>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],n=new Set(e),l=new Set,d=[...s],c=[];for(let e of i){if(c.length>=r)break;let t=`${e.agentId}:${e.workspaceId}`;l.has(t)||(l.add(t),c.push(e))}for(let e of(await Promise.all(c.map(e=>this.claimTask(e.agentId,e.workspaceId)))))e&&n.has(e.runtimeId)&&d.push(e);return d}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,n){let l;try{l=JSON.parse(a)}catch{l={raw:a}}let u=await o.completeTask(this.db,e,t,{result:l,sessionId:n||null});if(!u){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let h=l,p="string"==typeof h?.output?h.output:"";if(p){let a=await d.createMessage(this.db,{conversationId:u.conversationId,role:"assistant",content:p,taskId:e});try{let e=await c.getConversation(this.db,u.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:u.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(u.agentId,u.workspaceId),await this.dispatchNextBufferedMessage(u.conversationId,u.workspaceId),u}async failTask(e,t,n){let l=await o.failTask(this.db,e,t,n);if(!l){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(l.type===a.TASK_TYPES.KILL_TASK)return l;if(n){let a=await d.createMessage(this.db,{conversationId:l.conversationId,role:"assistant",content:`Error: ${n}`,taskId:e});try{let e=await c.getConversation(this.db,l.conversationId,t);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:l.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(l.agentId,l.workspaceId),await this.syncIssueStatusFromTask(l,"failed"),await this.dispatchNextBufferedMessage(l.conversationId,l.workspaceId),l}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await u.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let n=await d.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await c.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(n)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await o.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let i=await o.cancelTask(this.db,r.id,t);return i?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await d.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),i):null}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await l.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,n.invalidate)(n.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let n=await d.activateNextBufferedMessage(this.db,e);if(!n)return null;let l=await c.getConversation(this.db,e,t);if(!l)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await d.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),null;let u=l.userId;try{let s=n.attachmentIds?JSON.parse(n.attachmentIds):[],c=await o.getLatestTaskForConversation(this.db,e),h=c?.traceId??null,p=await this.enqueueTask(l.agentId,e,t,n.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await d.updateMessageTaskId(this.db,n.id,p.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(n),task:(0,i.taskToResponse)(p)}).catch(()=>{}),p}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await d.revertToBuffered(this.db,n.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:n.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await o.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},764083,e=>{"use strict";e.s(["filterVisibleAgents",0,function(e,t,a){let s=new Set(a.filter(e=>e.userId===t).map(e=>e.agentId));return e.filter(e=>"public"===e.visibility||e.ownerId===t||s.has(e.id))}])},587860,e=>e.a(async(t,a)=>{try{var s=e.i(291484);e.i(700598);var r=e.i(291109),i=e.i(424166),n=e.i(469187),o=e.i(888247),l=e.i(704024),d=e.i(675139),c=e.i(152327),u=e.i(47962),h=e.i(776227),p=e.i(740580),w=e.i(205054),g=e.i(774078),m=e.i(764083),f=t([c]);[c]=f.then?(await f)():f;let k=(0,c.withAuth)(async(e,t)=>{let a=await (0,u.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:i}=(0,s.getCloudflareContext)(),n=(0,d.getDb)(i.DB),[o,l]=await Promise.all([(0,g.cached)(g.cacheKeys.allAgents(a.workspaceId),300,()=>r.queries.agent.getAllAgentsForWorkspace(n,a.workspaceId)),(0,g.cached)(g.cacheKeys.allAgentAccess(a.workspaceId),300,()=>r.queries.agentAccess.getAllAgentAccessForWorkspace(n,a.workspaceId))]),c=(0,m.filterVisibleAgents)(o,t.userId,l);return(0,h.writeJSON)(c.map(p.agentToResponse))}),I=(0,c.withAuth)(async(e,t)=>{let a=await (0,u.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:c}=(0,s.getCloudflareContext)(),m=(0,d.getDb)(c.DB),[f,k]=await (0,h.parseBody)(e,o.CreateAgentRequestSchema);if(k)return k;let I=f.name.trim(),y=f.runtime_id,T=f.max_concurrent_tasks||0;T<=0&&(T=6);let v="string"==typeof f.email_handle?f.email_handle.trim().toLowerCase():"";if(v){if(!(0,i.isValidHandle)(v))return(0,h.writeError)("email_handle must be 4+ alphanumeric/dash characters",400);if(await r.queries.agent.getAgentByHandle(m,v))return(0,h.writeError)("Handle already taken",409)}let b=await r.queries.runtime.getAgentRuntimeForWorkspace(m,y,a.workspaceId);if(!b)return(0,h.writeError)("runtime not found in workspace",404);let _=f.runtime_config,A=_?{..."string"==typeof _.model?{model:_.model}:{}}:null,S=await r.queries.agent.createAgent(m,{workspaceId:a.workspaceId,name:I,description:f.description,instructions:f.instructions,runtimeId:y,runtimeMode:b.runtimeMode,runtimeConfig:A,visibility:"private",maxConcurrentTasks:T,ownerId:t.userId,emailHandle:v||null,avatarUrl:f.avatar_url??null});if(v&&t.email&&await r.queries.whitelist.addWhitelist(m,S.id,a.workspaceId,t.email.toLowerCase()),await Promise.all([(0,g.invalidate)(g.cacheKeys.allAgents(a.workspaceId)),(0,g.invalidate)(g.cacheKeys.allHandles(a.workspaceId)),(0,g.invalidate)(g.cacheKeys.allAgentAccess(a.workspaceId))]),S.runtimeId&&S.emailHandle&&t.email&&(0,n.isOnline)(b.machineLastSeenAt))try{let e=await r.queries.conversation.createConversation(m,{workspaceId:a.workspaceId,agentId:S.id,userId:t.userId,title:`Welcome: ${t.email}`.slice(0,50),type:l.TASK_TYPES.EMAIL_NOTIFICATION}),s=new w.TaskService(m);await s.enqueueTask(S.id,e.id,a.workspaceId,`You have just been created by your owner (${t.email}). Please send them a welcome email introducing yourself as "${I}". In the email: 1) Introduce yourself warmly — your name, your email address, and what you can help with. 2) Briefly introduce the Alook platform — a personal AI agent platform where agents can handle emails, schedule tasks, and work autonomously. 3) Let them know they can chat with you directly or email you anytime. Be warm, professional, and concise.`,l.TASK_TYPES.EMAIL_NOTIFICATION);let i=new Date().toISOString().slice(0,10);(0,g.invalidate)(g.cacheKeys.overviewTaskStats(a.workspaceId,i)).catch(()=>{}),(0,g.invalidate)(g.cacheKeys.activeTaskCounts(a.workspaceId)).catch(()=>{})}catch{}if((0,n.isOnline)(b.machineLastSeenAt)){let e=new w.TaskService(m);await e.reconcileAgentStatus(S.id,a.workspaceId);let s=await r.queries.agent.getAgent(m,S.id,a.workspaceId,t.userId);if(s)return(0,h.writeJSON)((0,p.agentToResponse)(s),201)}return(0,h.writeJSON)((0,p.agentToResponse)(S),201)});e.s(["GET",0,k,"POST",0,I]),a()}catch(e){a(e)}},!1),672424,e=>e.a(async(t,a)=>{try{var s=e.i(80774),r=e.i(404478),i=e.i(732985),n=e.i(481671),o=e.i(638081),l=e.i(204960),d=e.i(924918),c=e.i(363585),u=e.i(906846),h=e.i(359838),p=e.i(383303),w=e.i(234173),g=e.i(270215),m=e.i(830665),f=e.i(944002),k=e.i(193695);e.i(195928);var I=e.i(81543),y=e.i(587860),T=t([y]);[y]=T.then?(await T)():T;let b=new s.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/agents/route",pathname:"/api/agents",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/agents/route.ts",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:A,serverHooks:S}=b;async function v(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/agents/route";s=s.replace(/\/index$/,"")||"/";let i=await b.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:T,params:v,nextConfig:_,parsedUrl:A,isDraftMode:S,prerenderManifest:R,routerServerContext:E,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,resolvedPathname:N,clientReferenceManifest:P,serverActionsManifest:O}=i,M=(0,d.normalizeAppPath)(s),q=!!(R.dynamicRoutes[M]||R.routes[N]),K=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,A,!1):t.end("This page could not be found"),null);if(q&&!S){let e=!!R.routes[N],t=R.dynamicRoutes[M];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await K();throw new k.NoFallbackError}}let B=null;!q||b.isDev||S||(B=N,B="/index"===B?"/":B);let U=!0===b.isDev||!q,$=q&&!U;O&&P&&(0,l.setManifestsSingleton)({page:s,clientReferenceManifest:P,serverActionsManifest:O});let D=e.method||"GET",L=(0,o.getTracer)(),H=L.getActiveScopeSpan(),j=!!(null==E?void 0:E.isWrappedByNextServer),F=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,_,R,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let V={params:v,previewProps:R.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:_.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,r)=>b.onRequestError(e,t,s,r,E)},sharedContext:{buildId:y,deploymentId:T}},Y=new c.NodeNextRequest(e),G=new c.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(Y,(0,u.signalFromNodeResponse)(t));try{let i,n=async e=>b.handle(J,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=L.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==h.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${D} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",r),i.updateName(t))}else e.updateName(`${D} ${s}`)}),l=async i=>{var o,l;let d=async({previousCacheEntry:r})=>{try{if(!F&&C&&x&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await n(i);e.fetchMetrics=V.renderOpts.fetchMetrics;let o=V.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=V.renderOpts.collectedTags;if(!q)return await (0,w.sendResponse)(Y,G,s,V.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,r=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:I.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:C})},!1,E),t}},c=await b.handleResponse({req:e,nextConfig:_,cacheKey:B,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:F});if(!q)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==I.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",C?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,g.fromNodeOutgoingHttpHeaders)(c.value.headers);return F&&q||u.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,m.getCacheControlHeader)(c.cacheControl)),await (0,w.sendResponse)(Y,G,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};j&&H?await l(H):(i=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(h.BaseServerSpan.handleRequest,{spanName:`${D} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},l),void 0,!j))}catch(t){if(t instanceof k.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:C})},!1,E),q)throw t;return await (0,w.sendResponse)(Y,G,new Response(null,{status:500})),null}}e.s(["handler",0,v,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:A})},"routeModule",0,b,"serverHooks",0,S,"workAsyncStorage",0,_,"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
|
-
|
|
3
|
-
//# sourceMappingURL=_0csh82a._.js.map
|
package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j.pt~7._.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[726089,t=>{"use strict";var e=t.i(291484);t.i(700598);var a=t.i(704024);let s=(0,t.i(726527).createLogger)({service:"broadcast"});async function r(t,r,i){let n;try{let{env:a}=(0,e.getCloudflareContext)();n=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${t}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...i,status:o.status});return}catch{}let o=n||a.DEV_WS_DO_URL;try{let e=await fetch(`${o}${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});e.ok||s.warn("broadcast failed",{...i,status:e.status})}catch(t){s.warn("broadcast error",{...i,err:String(t)})}}t.s(["broadcastToUser",0,function(t,a){return function(t,a,s){let i=r(t,a,s);try{let{ctx:t}=(0,e.getCloudflareContext)();t.waitUntil(i)}catch{}return i}(`/broadcast/user/${t}`,JSON.stringify(a),{userId:t,type:a.type})}])},799579,t=>{"use strict";t.i(700598);let e=(0,t.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});t.s(["log",0,e])},205054,t=>{"use strict";t.i(700598);var e=t.i(291109),a=t.i(704024),s=t.i(799579),r=t.i(726089),i=t.i(740580),n=t.i(774078);let o=e.queries.task,d=e.queries.agent,c=e.queries.message,l=e.queries.conversation,u=e.queries.issue;t.s(["TaskService",0,class{db;constructor(t){this.db=t}async enqueueTask(t,e,s,r,i=a.TASK_TYPES.USER_DM_MESSAGE,c){let l=await d.getAgent(this.db,t,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(c?.traceId&&c.parentTaskId&&await o.countTasksByTrace(this.db,c.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:t,runtimeId:l.runtimeId,workspaceId:s,conversationId:e,prompt:r,type:i,contextKey:c?.contextKey??null,priority:0,context:c?.context,traceId:c?.traceId??null,parentTaskId:c?.parentTaskId??null});return(0,n.invalidate)(n.cacheKeys.activeTaskCounts(s)).catch(()=>{}),u}async claimTask(t,e){let a=await d.getAgent(this.db,t,e);if(!a)return null;if(await o.countRunningTasks(this.db,t,e)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,t,e);if(!s||await o.countRunningTasks(this.db,t,e,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,t,e);return s?(await d.updateAgentStatus(this.db,t,e,"working"),s):null}async claimTasksForRuntimes(t,e,a){let s=await o.claimKillTasks(this.db,t,a,e),r=e-s.length,i=r>0?await o.listPendingTasksByRuntimes(this.db,t,a):[],n=new Set(t),d=new Set,c=[...s],l=[];for(let t of i){if(l.length>=r)break;let e=`${t.agentId}:${t.workspaceId}`;d.has(e)||(d.add(e),l.push(t))}for(let t of(await Promise.all(l.map(t=>this.claimTask(t.agentId,t.workspaceId)))))t&&n.has(t.runtimeId)&&c.push(t);return c}async startTask(t,e){let a=await o.startTask(this.db,t,e);if(!a)throw Error("task not in dispatched status");return a}async completeTask(t,e,a,n){let d;try{d=JSON.parse(a)}catch{d={raw:a}}let u=await o.completeTask(this.db,t,e,{result:d,sessionId:n||null});if(!u){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot complete task in '${a}' status`)}let h=d,k="string"==typeof h?.output?h.output:"";if(k){let a=await c.createMessage(this.db,{conversationId:u.conversationId,role:"assistant",content:k,taskId:t});try{let t=await l.getConversation(this.db,u.conversationId,e);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:u.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(u.agentId,u.workspaceId),await this.dispatchNextBufferedMessage(u.conversationId,u.workspaceId),u}async failTask(t,e,n){let d=await o.failTask(this.db,t,e,n);if(!d){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot fail task in '${a}' status`)}if(d.type===a.TASK_TYPES.KILL_TASK)return d;if(n){let a=await c.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:`Error: ${n}`,taskId:t});try{let t=await l.getConversation(this.db,d.conversationId,e);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.syncIssueStatusFromTask(d,"failed"),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async syncIssueStatusFromTask(t,e){if(t.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await u.getIssueByConversation(this.db,t.conversationId,t.workspaceId);if(!s||s.status===e||!await u.updateIssue(this.db,s.id,t.workspaceId,{status:e}))return;let n=await c.createMessage(this.db,{conversationId:t.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${e}`,taskId:t.id,metadata:JSON.stringify({issueId:s.id})});try{let e=await l.getConversation(this.db,t.conversationId,t.workspaceId);e&&(0,r.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:t.conversationId,message:(0,i.messageToResponse)(n)}).catch(()=>{})}catch{}}async supersedeTask(t,e){let a=await o.supersedeTask(this.db,t,e);if(!a){let e=await o.getTask(this.db,t),a=e?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:t}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(t,e){let a=await o.getTask(this.db,t);if(!a||a.workspaceId!==e)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,t,e);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,e,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(t,e,s){let r=await o.getActiveTaskByConversation(this.db,t,e);if(!r)return null;let i=await o.cancelTask(this.db,r.id,e);return i?(("dispatched"===r.status||"running"===r.status)&&await o.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:e,conversationId:t,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await c.createMessage(this.db,{conversationId:t,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,e),s?.skipDispatch||await this.dispatchNextBufferedMessage(t,e),i):null}async reconcileAgentStatus(t,e){let a=await o.countRunningTasks(this.db,t,e);await d.updateAgentStatus(this.db,t,e,a>0?"working":"idle"),(0,n.invalidate)(n.cacheKeys.activeTaskCounts(e)).catch(()=>{})}async dispatchNextBufferedMessage(t,e){let n=await c.activateNextBufferedMessage(this.db,t);if(!n)return null;let d=await l.getConversation(this.db,t,e);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:t}),await c.revertToBuffered(this.db,n.id).catch(t=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:t})}),null;let u=d.userId;try{let s=n.attachmentIds?JSON.parse(n.attachmentIds):[],l=await o.getLatestTaskForConversation(this.db,t),h=l?.traceId??null,k=await this.enqueueTask(d.agentId,t,e,n.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:t,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await c.updateMessageTaskId(this.db,n.id,k.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:t,message:(0,i.messageToResponse)(n),task:(0,i.taskToResponse)(k)}).catch(()=>{}),k}catch(e){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:t,err:e}),await c.revertToBuffered(this.db,n.id).catch(t=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:n.id,revertErr:t})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:t,messageId:n.id,error:e instanceof Error?e.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(t,e,a){for(let r of[...new Set((await o.getTraceTree(this.db,t,e)).filter(t=>["queued","dispatched","running"].includes(t.status)).map(t=>t.conversationId))])try{await this.cancelActiveTask(r,e,{skipDispatch:!0,reason:a?.reason})}catch(e){s.log.warn("cancelTrace: failed to cancel task",{traceId:t,convId:r,err:e})}}}])},572758,t=>{t.v(e=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(e=>t.l(e))).then(()=>e(501816)))},409008,t=>{t.v(e=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(e=>t.l(e))).then(()=>e(770021)))},96318,t=>{t.v(e=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(e=>t.l(e))).then(()=>e(158195)))},11379,t=>{t.v(e=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(e=>t.l(e))).then(()=>e(302822)))},946743,t=>{t.v(e=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(e=>t.l(e))).then(()=>e(898679)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_0j.pt~7._.js.map
|