@alook/app 0.0.70 → 0.0.72

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.
Files changed (141) hide show
  1. package/bundled/email-worker/index.js +45 -41
  2. package/bundled/web/.open-next/.build/durable-objects/queue.js +5 -5
  3. package/bundled/web/.open-next/assets/BUILD_ID +1 -1
  4. package/bundled/web/.open-next/assets/_next/static/chunks/{01-oixdvo.kcw.js → 08py05dvbwpz..js} +15 -15
  5. package/bundled/web/.open-next/assets/_next/static/chunks/{0va5axmz5ywg8.js → 0_ceurra~p4yl.js} +1 -1
  6. package/bundled/web/.open-next/assets/_next/static/chunks/{08vzc8ntbbjoe.js → 0hxwcjbgkr~0_.js} +1 -1
  7. package/bundled/web/.open-next/assets/_next/static/chunks/0ua2sdw9pqxwv.js +1 -0
  8. package/bundled/web/.open-next/cache/{P_a_AT2D4owiIED7-cUYg → UKi2wJge4r06KGiZ66_h-}/_global-error.cache +1 -1
  9. package/bundled/web/.open-next/cache/{P_a_AT2D4owiIED7-cUYg → UKi2wJge4r06KGiZ66_h-}/_not-found.cache +1 -1
  10. package/bundled/web/.open-next/cache/{P_a_AT2D4owiIED7-cUYg → UKi2wJge4r06KGiZ66_h-}/sitemap.xml.cache +1 -1
  11. package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
  12. package/bundled/web/.open-next/cloudflare/init.js +1 -1
  13. package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
  14. package/bundled/web/.open-next/middleware/handler.mjs +4 -4
  15. package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
  16. package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
  17. package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
  18. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
  19. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
  29. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
  30. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
  31. 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
  32. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
  33. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
  34. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
  35. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
  36. 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
  37. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/page_client-reference-manifest.js +1 -1
  38. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
  39. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
  40. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
  41. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  42. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agent-links/route.js +2 -2
  43. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/whitelist/route.js +2 -2
  44. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/active-task-counts/route.js +1 -1
  45. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/route.js +4 -4
  46. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/[id]/route.js +1 -1
  47. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/route.js +2 -2
  48. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/[id]/route.js +2 -2
  49. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/route.js +2 -2
  50. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/route.js +2 -2
  51. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/register/route.js +3 -4
  52. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/complete/route.js +2 -3
  53. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/fail/route.js +2 -3
  54. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/messages/route.js +3 -4
  55. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/start/route.js +2 -3
  56. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/supersede/route.js +2 -3
  57. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/poll/route.js +6 -7
  58. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/notify/route.js +1 -1
  59. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/send/route.js +3 -3
  60. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/route.js +1 -1
  61. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/route.js +1 -1
  62. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/machine-tokens/activate/route.js +2 -2
  63. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/route.js +4 -4
  64. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/route.js +1 -1
  65. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/route.js +2 -2
  66. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
  67. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
  68. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
  69. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0.1vmoe._.js +6 -6
  70. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__027mioa._.js +10 -10
  71. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__02rso~7._.js +3 -0
  72. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__02wurdb._.js +3 -0
  73. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0dkg608._.js +3 -0
  74. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0grx101._.js +1 -1
  75. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{[root-of-the-server]__0_.051i._.js → [root-of-the-server]__0gzp~d6._.js} +2 -2
  76. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0jvwtv1._.js +1 -1
  77. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0kc1f.6._.js +1 -1
  78. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0niqi98._.js +6 -6
  79. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0p769.0._.js +3 -0
  80. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0s0l_.j._.js +3 -0
  81. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0s9v7kt._.js +3 -0
  82. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0v.x5_r._.js +3 -0
  83. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +14 -14
  84. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0--kvw_._.js +3 -0
  85. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0-r4t0g._.js +1 -1
  86. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0266t8u._.js +2 -2
  87. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_05_d3df._.js +1 -1
  88. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_06.am62._.js +1 -1
  89. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_07-798_._.js +1 -1
  90. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08mdiy6._.js +1 -1
  91. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08z6pkf._.js +3 -0
  92. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_09j_99x._.js +2 -2
  93. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0csh82a._.js +3 -0
  94. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0exm5_w._.js +2 -2
  95. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j.pt~7._.js +1 -1
  96. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j1t6f2._.js +1 -1
  97. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0lmedw9._.js +1 -1
  98. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ns9.qo._.js +1 -1
  99. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0u3tu2x._.js +2 -2
  100. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0w6dw.t._.js +2 -2
  101. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0q3gvkd._.js +1 -1
  102. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +14 -14
  103. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_063q-hj._.js +1 -1
  104. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_07q6-kr._.js +3 -0
  105. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0ilz5db._.js +1 -1
  106. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_13cbsrm._.js → _0y3mwm6._.js} +3 -3
  107. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_11~t2ti._.js +1 -1
  108. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_12e18r-._.js +1 -1
  109. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0j12j81._.js +3 -0
  110. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0~23g-y._.js +1 -1
  111. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
  112. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
  113. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
  114. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
  115. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +51 -51
  116. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +681 -255
  117. package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +3 -3
  118. package/bundled/web/migrations/0030_task_queue_dispatch_index.sql +5 -0
  119. package/bundled/web/wrangler.toml +1 -1
  120. package/bundled/ws-do/index.js +39 -40
  121. package/dist/cli/index.js +18 -12
  122. package/dist/cli/session-runner.js +18 -12
  123. package/dist/index.js +1 -0
  124. package/package.json +1 -1
  125. package/bundled/web/.open-next/assets/_next/static/chunks/13lom177x6744.js +0 -1
  126. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__10-16_o._.js +0 -3
  127. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_02t7kem._.js +0 -3
  128. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0c9~wb-._.js +0 -3
  129. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0h6e0bb._.js +0 -3
  130. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0piy2kq._.js +0 -3
  131. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0s4qnoj._.js +0 -3
  132. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0sj8mn_._.js +0 -3
  133. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0tarogd._.js +0 -3
  134. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0tcd35h._.js +0 -3
  135. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0x0qvxd._.js +0 -3
  136. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0z.s70x._.js +0 -3
  137. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0st8pau._.js +0 -3
  138. /package/bundled/web/.open-next/assets/_next/static/{P_a_AT2D4owiIED7-cUYg → UKi2wJge4r06KGiZ66_h-}/_buildManifest.js +0 -0
  139. /package/bundled/web/.open-next/assets/_next/static/{P_a_AT2D4owiIED7-cUYg → UKi2wJge4r06KGiZ66_h-}/_clientMiddlewareManifest.js +0 -0
  140. /package/bundled/web/.open-next/assets/_next/static/{P_a_AT2D4owiIED7-cUYg → UKi2wJge4r06KGiZ66_h-}/_ssgManifest.js +0 -0
  141. /package/bundled/web/.open-next/cache/{P_a_AT2D4owiIED7-cUYg → UKi2wJge4r06KGiZ66_h-}/robots.txt.cache +0 -0
@@ -1268,11 +1268,11 @@ var NEXT_DIR = path.join(__dirname, ".next");
1268
1268
  var OPEN_NEXT_DIR = path.join(__dirname, ".open-next");
1269
1269
  debug({ NEXT_DIR, OPEN_NEXT_DIR });
1270
1270
  var NextConfig = { "env": {}, "webpack": null, "typescript": { "ignoreBuildErrors": false }, "typedRoutes": false, "distDir": ".next", "cleanDistDir": true, "assetPrefix": "", "cacheMaxMemorySize": 52428800, "configOrigin": "next.config.ts", "useFileSystemPublicRoutes": true, "generateEtags": true, "pageExtensions": ["tsx", "ts", "jsx", "js"], "poweredByHeader": true, "compress": true, "images": { "deviceSizes": [640, 750, 828, 1080, 1200, 1920, 2048, 3840], "imageSizes": [32, 48, 64, 96, 128, 256, 384], "path": "/_next/image", "loader": "default", "loaderFile": "", "domains": [], "disableStaticImages": false, "minimumCacheTTL": 14400, "formats": ["image/webp"], "maximumRedirects": 3, "maximumResponseBody": 5e7, "dangerouslyAllowLocalIP": false, "dangerouslyAllowSVG": false, "contentSecurityPolicy": "script-src 'none'; frame-src 'none'; sandbox;", "contentDispositionType": "attachment", "localPatterns": [{ "pathname": "**", "search": "" }], "remotePatterns": [], "qualities": [75], "unoptimized": false, "customCacheHandler": false }, "devIndicators": { "position": "bottom-left" }, "onDemandEntries": { "maxInactiveAge": 6e4, "pagesBufferLength": 5 }, "basePath": "", "sassOptions": {}, "trailingSlash": false, "i18n": null, "productionBrowserSourceMaps": false, "excludeDefaultMomentLocales": true, "reactProductionProfiling": false, "reactStrictMode": null, "reactMaxHeadersLength": 6e3, "httpAgentOptions": { "keepAlive": true }, "logging": { "serverFunctions": true, "browserToTerminal": "warn" }, "compiler": {}, "expireTime": 31536e3, "staticPageGenerationTimeout": 60, "output": "standalone", "modularizeImports": { "@mui/icons-material": { "transform": "@mui/icons-material/{{member}}" }, "lodash": { "transform": "lodash/{{member}}" } }, "outputFileTracingRoot": "/home/runner/work/alook/alook", "cacheComponents": false, "cacheLife": { "default": { "stale": 300, "revalidate": 900, "expire": 4294967294 }, "seconds": { "stale": 30, "revalidate": 1, "expire": 60 }, "minutes": { "stale": 300, "revalidate": 60, "expire": 3600 }, "hours": { "stale": 300, "revalidate": 3600, "expire": 86400 }, "days": { "stale": 300, "revalidate": 86400, "expire": 604800 }, "weeks": { "stale": 300, "revalidate": 604800, "expire": 2592e3 }, "max": { "stale": 300, "revalidate": 2592e3, "expire": 31536e3 } }, "cacheHandlers": {}, "experimental": { "appNewScrollHandler": false, "useSkewCookie": false, "cssChunking": true, "multiZoneDraftMode": false, "appNavFailHandling": false, "prerenderEarlyExit": true, "serverMinification": true, "linkNoTouchStart": false, "caseSensitiveRoutes": false, "cachedNavigations": false, "partialFallbacks": false, "dynamicOnHover": false, "varyParams": false, "prefetchInlining": false, "preloadEntriesOnStart": true, "clientRouterFilter": true, "clientRouterFilterRedirects": false, "fetchCacheKeyPrefix": "", "proxyPrefetch": "flexible", "optimisticClientCache": true, "manualClientBasePath": false, "cpus": 1, "memoryBasedWorkersCount": false, "imgOptConcurrency": null, "imgOptTimeoutInSeconds": 7, "imgOptMaxInputPixels": 268402689, "imgOptSequentialRead": null, "imgOptSkipMetadata": null, "isrFlushToDisk": true, "workerThreads": false, "optimizeCss": false, "nextScriptWorkers": false, "scrollRestoration": false, "externalDir": false, "disableOptimizedLoading": false, "gzipSize": true, "craCompat": false, "esmExternals": true, "fullySpecified": false, "swcTraceProfiling": false, "forceSwcTransforms": false, "largePageDataBytes": 128e3, "typedEnv": false, "parallelServerCompiles": false, "parallelServerBuildTraces": false, "ppr": false, "authInterrupts": false, "webpackMemoryOptimizations": false, "optimizeServerReact": true, "strictRouteTypes": false, "viewTransition": false, "removeUncaughtErrorAndRejectionListeners": false, "validateRSCRequestHeaders": false, "staleTimes": { "dynamic": 0, "static": 300 }, "reactDebugChannel": true, "serverComponentsHmrCache": true, "staticGenerationMaxConcurrency": 8, "staticGenerationMinPagesPerWorker": 25, "transitionIndicator": false, "gestureTransition": false, "inlineCss": false, "useCache": false, "globalNotFound": false, "browserDebugInfoInTerminal": "warn", "lockDistDir": true, "proxyClientMaxBodySize": 10485760, "hideLogsAfterAbort": false, "mcpServer": true, "turbopackFileSystemCacheForDev": true, "turbopackFileSystemCacheForBuild": false, "turbopackInferModuleSideEffects": true, "turbopackPluginRuntimeStrategy": "childProcesses", "optimizePackageImports": ["lucide-react", "date-fns", "lodash-es", "ramda", "antd", "react-bootstrap", "ahooks", "@ant-design/icons", "@headlessui/react", "@headlessui-float/react", "@heroicons/react/20/solid", "@heroicons/react/24/solid", "@heroicons/react/24/outline", "@visx/visx", "@tremor/react", "rxjs", "@mui/material", "@mui/icons-material", "recharts", "react-use", "effect", "@effect/schema", "@effect/platform", "@effect/platform-node", "@effect/platform-browser", "@effect/platform-bun", "@effect/sql", "@effect/sql-mssql", "@effect/sql-mysql2", "@effect/sql-pg", "@effect/sql-sqlite-node", "@effect/sql-sqlite-bun", "@effect/sql-sqlite-wasm", "@effect/sql-sqlite-react-native", "@effect/rpc", "@effect/rpc-http", "@effect/typeclass", "@effect/experimental", "@effect/opentelemetry", "@material-ui/core", "@material-ui/icons", "@tabler/icons-react", "mui-core", "react-icons/ai", "react-icons/bi", "react-icons/bs", "react-icons/cg", "react-icons/ci", "react-icons/di", "react-icons/fa", "react-icons/fa6", "react-icons/fc", "react-icons/fi", "react-icons/gi", "react-icons/go", "react-icons/gr", "react-icons/hi", "react-icons/hi2", "react-icons/im", "react-icons/io", "react-icons/io5", "react-icons/lia", "react-icons/lib", "react-icons/lu", "react-icons/md", "react-icons/pi", "react-icons/ri", "react-icons/rx", "react-icons/si", "react-icons/sl", "react-icons/tb", "react-icons/tfi", "react-icons/ti", "react-icons/vsc", "react-icons/wi"], "trustHostHeader": false, "isExperimentalCompile": false }, "htmlLimitedBots": "[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight", "bundlePagesRouterDependencies": false, "configFileName": "next.config.ts", "serverExternalPackages": ["@better-auth/core"], "turbopack": { "root": "/home/runner/work/alook/alook" }, "distDirRoot": ".next" };
1271
- var BuildId = "P_a_AT2D4owiIED7-cUYg";
1271
+ var BuildId = "UKi2wJge4r06KGiZ66_h-";
1272
1272
  var HtmlPages = ["/404", "/500"];
1273
1273
  var RoutesManifest = { "basePath": "", "rewrites": { "beforeFiles": [], "afterFiles": [], "fallback": [] }, "redirects": [{ "source": "/:path+/", "destination": "/:path+", "internal": true, "priority": true, "statusCode": 308, "regex": "^(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))/$" }], "routes": { "static": [{ "page": "/", "regex": "^/(?:/)?$", "routeKeys": {}, "namedRegex": "^/(?:/)?$" }, { "page": "/_global-error", "regex": "^/_global\\-error(?:/)?$", "routeKeys": {}, "namedRegex": "^/_global\\-error(?:/)?$" }, { "page": "/_not-found", "regex": "^/_not\\-found(?:/)?$", "routeKeys": {}, "namedRegex": "^/_not\\-found(?:/)?$" }, { "page": "/api/agent-links", "regex": "^/api/agent\\-links(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/agent\\-links(?:/)?$" }, { "page": "/api/agents", "regex": "^/api/agents(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/agents(?:/)?$" }, { "page": "/api/agents/active-task-counts", "regex": "^/api/agents/active\\-task\\-counts(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/agents/active\\-task\\-counts(?:/)?$" }, { "page": "/api/agents/active-tasks", "regex": "^/api/agents/active\\-tasks(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/agents/active\\-tasks(?:/)?$" }, { "page": "/api/agents/pins", "regex": "^/api/agents/pins(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/agents/pins(?:/)?$" }, { "page": "/api/agents/pins/reorder", "regex": "^/api/agents/pins/reorder(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/agents/pins/reorder(?:/)?$" }, { "page": "/api/agents/sidebar/reorder", "regex": "^/api/agents/sidebar/reorder(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/agents/sidebar/reorder(?:/)?$" }, { "page": "/api/artifacts", "regex": "^/api/artifacts(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/artifacts(?:/)?$" }, { "page": "/api/artifacts/upload", "regex": "^/api/artifacts/upload(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/artifacts/upload(?:/)?$" }, { "page": "/api/calendar", "regex": "^/api/calendar(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/calendar(?:/)?$" }, { "page": "/api/channels", "regex": "^/api/channels(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/channels(?:/)?$" }, { "page": "/api/channels/reorder", "regex": "^/api/channels/reorder(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/channels/reorder(?:/)?$" }, { "page": "/api/cli/latest-version", "regex": "^/api/cli/latest\\-version(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/cli/latest\\-version(?:/)?$" }, { "page": "/api/config/min-version", "regex": "^/api/config/min\\-version(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/config/min\\-version(?:/)?$" }, { "page": "/api/config/model-options", "regex": "^/api/config/model\\-options(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/config/model\\-options(?:/)?$" }, { "page": "/api/conversations", "regex": "^/api/conversations(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/conversations(?:/)?$" }, { "page": "/api/daemon/deregister", "regex": "^/api/daemon/deregister(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/daemon/deregister(?:/)?$" }, { "page": "/api/daemon/register", "regex": "^/api/daemon/register(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/daemon/register(?:/)?$" }, { "page": "/api/daemon/tasks/poll", "regex": "^/api/daemon/tasks/poll(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/daemon/tasks/poll(?:/)?$" }, { "page": "/api/daemon/workspace/report", "regex": "^/api/daemon/workspace/report(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/daemon/workspace/report(?:/)?$" }, { "page": "/api/daily-quote", "regex": "^/api/daily\\-quote(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/daily\\-quote(?:/)?$" }, { "page": "/api/email", "regex": "^/api/email(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/email(?:/)?$" }, { "page": "/api/email/notify", "regex": "^/api/email/notify(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/email/notify(?:/)?$" }, { "page": "/api/email/send", "regex": "^/api/email/send(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/email/send(?:/)?$" }, { "page": "/api/email/upload", "regex": "^/api/email/upload(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/email/upload(?:/)?$" }, { "page": "/api/flags", "regex": "^/api/flags(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/flags(?:/)?$" }, { "page": "/api/flags/count", "regex": "^/api/flags/count(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/flags/count(?:/)?$" }, { "page": "/api/health", "regex": "^/api/health(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/health(?:/)?$" }, { "page": "/api/inbox", "regex": "^/api/inbox(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/inbox(?:/)?$" }, { "page": "/api/inbox/count", "regex": "^/api/inbox/count(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/inbox/count(?:/)?$" }, { "page": "/api/inbox/read", "regex": "^/api/inbox/read(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/inbox/read(?:/)?$" }, { "page": "/api/inbox/read-all", "regex": "^/api/inbox/read\\-all(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/inbox/read\\-all(?:/)?$" }, { "page": "/api/issues", "regex": "^/api/issues(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/issues(?:/)?$" }, { "page": "/api/machine-tokens", "regex": "^/api/machine\\-tokens(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/machine\\-tokens(?:/)?$" }, { "page": "/api/machine-tokens/activate", "regex": "^/api/machine\\-tokens/activate(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/machine\\-tokens/activate(?:/)?$" }, { "page": "/api/me", "regex": "^/api/me(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/me(?:/)?$" }, { "page": "/api/meeting/callback", "regex": "^/api/meeting/callback(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/meeting/callback(?:/)?$" }, { "page": "/api/members/me", "regex": "^/api/members/me(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/members/me(?:/)?$" }, { "page": "/api/runtimes", "regex": "^/api/runtimes(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/runtimes(?:/)?$" }, { "page": "/api/runtimes/machine", "regex": "^/api/runtimes/machine(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/runtimes/machine(?:/)?$" }, { "page": "/api/studios", "regex": "^/api/studios(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/studios(?:/)?$" }, { "page": "/api/studios/check-handles", "regex": "^/api/studios/check\\-handles(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/studios/check\\-handles(?:/)?$" }, { "page": "/api/studios/check-name", "regex": "^/api/studios/check\\-name(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/studios/check\\-name(?:/)?$" }, { "page": "/api/tasks/step-counts", "regex": "^/api/tasks/step\\-counts(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/tasks/step\\-counts(?:/)?$" }, { "page": "/api/traces", "regex": "^/api/traces(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/traces(?:/)?$" }, { "page": "/api/workspaces", "regex": "^/api/workspaces(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/workspaces(?:/)?$" }, { "page": "/api/ws/token", "regex": "^/api/ws/token(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/ws/token(?:/)?$" }, { "page": "/og", "regex": "^/og(?:/)?$", "routeKeys": {}, "namedRegex": "^/og(?:/)?$" }, { "page": "/robots.txt", "regex": "^/robots\\.txt(?:/)?$", "routeKeys": {}, "namedRegex": "^/robots\\.txt(?:/)?$" }, { "page": "/sign-in", "regex": "^/sign\\-in(?:/)?$", "routeKeys": {}, "namedRegex": "^/sign\\-in(?:/)?$" }, { "page": "/sitemap.xml", "regex": "^/sitemap\\.xml(?:/)?$", "routeKeys": {}, "namedRegex": "^/sitemap\\.xml(?:/)?$" }, { "page": "/studio/new", "regex": "^/studio/new(?:/)?$", "routeKeys": {}, "namedRegex": "^/studio/new(?:/)?$" }, { "page": "/templates", "regex": "^/templates(?:/)?$", "routeKeys": {}, "namedRegex": "^/templates(?:/)?$" }, { "page": "/workspaces", "regex": "^/workspaces(?:/)?$", "routeKeys": {}, "namedRegex": "^/workspaces(?:/)?$" }], "dynamic": [{ "page": "/api/agent-links/[id]", "regex": "^/api/agent\\-links/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agent\\-links/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/agents/[id]", "regex": "^/api/agents/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/agents/[id]/access", "regex": "^/api/agents/([^/]+?)/access(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/access(?:/)?$" }, { "page": "/api/agents/[id]/access/[userId]", "regex": "^/api/agents/([^/]+?)/access/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPuserId": "nxtPuserId" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/access/(?<nxtPuserId>[^/]+?)(?:/)?$" }, { "page": "/api/agents/[id]/active-tasks", "regex": "^/api/agents/([^/]+?)/active\\-tasks(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/active\\-tasks(?:/)?$" }, { "page": "/api/agents/[id]/activity", "regex": "^/api/agents/([^/]+?)/activity(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/activity(?:/)?$" }, { "page": "/api/agents/[id]/chat-init", "regex": "^/api/agents/([^/]+?)/chat\\-init(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/chat\\-init(?:/)?$" }, { "page": "/api/agents/[id]/conversation", "regex": "^/api/agents/([^/]+?)/conversation(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/conversation(?:/)?$" }, { "page": "/api/agents/[id]/conversations", "regex": "^/api/agents/([^/]+?)/conversations(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/conversations(?:/)?$" }, { "page": "/api/agents/[id]/email-accounts", "regex": "^/api/agents/([^/]+?)/email\\-accounts(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/email\\-accounts(?:/)?$" }, { "page": "/api/agents/[id]/email-accounts/[accountId]", "regex": "^/api/agents/([^/]+?)/email\\-accounts/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPaccountId": "nxtPaccountId" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/email\\-accounts/(?<nxtPaccountId>[^/]+?)(?:/)?$" }, { "page": "/api/agents/[id]/email-accounts/[accountId]/sync", "regex": "^/api/agents/([^/]+?)/email\\-accounts/([^/]+?)/sync(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPaccountId": "nxtPaccountId" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/email\\-accounts/(?<nxtPaccountId>[^/]+?)/sync(?:/)?$" }, { "page": "/api/agents/[id]/email-accounts/[accountId]/test", "regex": "^/api/agents/([^/]+?)/email\\-accounts/([^/]+?)/test(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPaccountId": "nxtPaccountId" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/email\\-accounts/(?<nxtPaccountId>[^/]+?)/test(?:/)?$" }, { "page": "/api/agents/[id]/meetings", "regex": "^/api/agents/([^/]+?)/meetings(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/meetings(?:/)?$" }, { "page": "/api/agents/[id]/meetings/[meetingId]", "regex": "^/api/agents/([^/]+?)/meetings/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPmeetingId": "nxtPmeetingId" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/meetings/(?<nxtPmeetingId>[^/]+?)(?:/)?$" }, { "page": "/api/agents/[id]/meetings/[meetingId]/approve", "regex": "^/api/agents/([^/]+?)/meetings/([^/]+?)/approve(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPmeetingId": "nxtPmeetingId" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/meetings/(?<nxtPmeetingId>[^/]+?)/approve(?:/)?$" }, { "page": "/api/agents/[id]/meetings/[meetingId]/stop", "regex": "^/api/agents/([^/]+?)/meetings/([^/]+?)/stop(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPmeetingId": "nxtPmeetingId" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/meetings/(?<nxtPmeetingId>[^/]+?)/stop(?:/)?$" }, { "page": "/api/agents/[id]/pin", "regex": "^/api/agents/([^/]+?)/pin(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/pin(?:/)?$" }, { "page": "/api/agents/[id]/whitelist", "regex": "^/api/agents/([^/]+?)/whitelist(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/whitelist(?:/)?$" }, { "page": "/api/agents/[id]/whitelist/[whitelistId]", "regex": "^/api/agents/([^/]+?)/whitelist/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPwhitelistId": "nxtPwhitelistId" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/whitelist/(?<nxtPwhitelistId>[^/]+?)(?:/)?$" }, { "page": "/api/agents/[id]/workspace/browse", "regex": "^/api/agents/([^/]+?)/workspace/browse(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/workspace/browse(?:/)?$" }, { "page": "/api/artifacts/[id]", "regex": "^/api/artifacts/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/artifacts/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/artifacts/[id]/content", "regex": "^/api/artifacts/([^/]+?)/content(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/artifacts/(?<nxtPid>[^/]+?)/content(?:/)?$" }, { "page": "/api/auth/[...all]", "regex": "^/api/auth/(.+?)(?:/)?$", "routeKeys": { "nxtPall": "nxtPall" }, "namedRegex": "^/api/auth/(?<nxtPall>.+?)(?:/)?$" }, { "page": "/api/calendar/[id]", "regex": "^/api/calendar/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/calendar/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/channels/[id]", "regex": "^/api/channels/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/channels/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/conversations/[id]", "regex": "^/api/conversations/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/conversations/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/conversations/[id]/active-task", "regex": "^/api/conversations/([^/]+?)/active\\-task(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/conversations/(?<nxtPid>[^/]+?)/active\\-task(?:/)?$" }, { "page": "/api/conversations/[id]/buffered-messages", "regex": "^/api/conversations/([^/]+?)/buffered\\-messages(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/conversations/(?<nxtPid>[^/]+?)/buffered\\-messages(?:/)?$" }, { "page": "/api/conversations/[id]/buffered-messages/[messageId]", "regex": "^/api/conversations/([^/]+?)/buffered\\-messages/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPmessageId": "nxtPmessageId" }, "namedRegex": "^/api/conversations/(?<nxtPid>[^/]+?)/buffered\\-messages/(?<nxtPmessageId>[^/]+?)(?:/)?$" }, { "page": "/api/conversations/[id]/messages", "regex": "^/api/conversations/([^/]+?)/messages(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/conversations/(?<nxtPid>[^/]+?)/messages(?:/)?$" }, { "page": "/api/daemon/tasks/[taskId]/complete", "regex": "^/api/daemon/tasks/([^/]+?)/complete(?:/)?$", "routeKeys": { "nxtPtaskId": "nxtPtaskId" }, "namedRegex": "^/api/daemon/tasks/(?<nxtPtaskId>[^/]+?)/complete(?:/)?$" }, { "page": "/api/daemon/tasks/[taskId]/fail", "regex": "^/api/daemon/tasks/([^/]+?)/fail(?:/)?$", "routeKeys": { "nxtPtaskId": "nxtPtaskId" }, "namedRegex": "^/api/daemon/tasks/(?<nxtPtaskId>[^/]+?)/fail(?:/)?$" }, { "page": "/api/daemon/tasks/[taskId]/messages", "regex": "^/api/daemon/tasks/([^/]+?)/messages(?:/)?$", "routeKeys": { "nxtPtaskId": "nxtPtaskId" }, "namedRegex": "^/api/daemon/tasks/(?<nxtPtaskId>[^/]+?)/messages(?:/)?$" }, { "page": "/api/daemon/tasks/[taskId]/progress", "regex": "^/api/daemon/tasks/([^/]+?)/progress(?:/)?$", "routeKeys": { "nxtPtaskId": "nxtPtaskId" }, "namedRegex": "^/api/daemon/tasks/(?<nxtPtaskId>[^/]+?)/progress(?:/)?$" }, { "page": "/api/daemon/tasks/[taskId]/start", "regex": "^/api/daemon/tasks/([^/]+?)/start(?:/)?$", "routeKeys": { "nxtPtaskId": "nxtPtaskId" }, "namedRegex": "^/api/daemon/tasks/(?<nxtPtaskId>[^/]+?)/start(?:/)?$" }, { "page": "/api/daemon/tasks/[taskId]/status", "regex": "^/api/daemon/tasks/([^/]+?)/status(?:/)?$", "routeKeys": { "nxtPtaskId": "nxtPtaskId" }, "namedRegex": "^/api/daemon/tasks/(?<nxtPtaskId>[^/]+?)/status(?:/)?$" }, { "page": "/api/daemon/tasks/[taskId]/supersede", "regex": "^/api/daemon/tasks/([^/]+?)/supersede(?:/)?$", "routeKeys": { "nxtPtaskId": "nxtPtaskId" }, "namedRegex": "^/api/daemon/tasks/(?<nxtPtaskId>[^/]+?)/supersede(?:/)?$" }, { "page": "/api/email/[id]", "regex": "^/api/email/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/email/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/email/[id]/attachment/[index]", "regex": "^/api/email/([^/]+?)/attachment/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPindex": "nxtPindex" }, "namedRegex": "^/api/email/(?<nxtPid>[^/]+?)/attachment/(?<nxtPindex>[^/]+?)(?:/)?$" }, { "page": "/api/email/[id]/body", "regex": "^/api/email/([^/]+?)/body(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/email/(?<nxtPid>[^/]+?)/body(?:/)?$" }, { "page": "/api/email/[id]/raw", "regex": "^/api/email/([^/]+?)/raw(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/email/(?<nxtPid>[^/]+?)/raw(?:/)?$" }, { "page": "/api/email/[id]/thread", "regex": "^/api/email/([^/]+?)/thread(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/email/(?<nxtPid>[^/]+?)/thread(?:/)?$" }, { "page": "/api/flags/[messageId]", "regex": "^/api/flags/([^/]+?)(?:/)?$", "routeKeys": { "nxtPmessageId": "nxtPmessageId" }, "namedRegex": "^/api/flags/(?<nxtPmessageId>[^/]+?)(?:/)?$" }, { "page": "/api/invite/[token]", "regex": "^/api/invite/([^/]+?)(?:/)?$", "routeKeys": { "nxtPtoken": "nxtPtoken" }, "namedRegex": "^/api/invite/(?<nxtPtoken>[^/]+?)(?:/)?$" }, { "page": "/api/issues/[id]", "regex": "^/api/issues/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/issues/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/issues/[id]/comments", "regex": "^/api/issues/([^/]+?)/comments(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/issues/(?<nxtPid>[^/]+?)/comments(?:/)?$" }, { "page": "/api/machine-tokens/[id]", "regex": "^/api/machine\\-tokens/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/machine\\-tokens/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/runtimes/[runtimeId]/rescan", "regex": "^/api/runtimes/([^/]+?)/rescan(?:/)?$", "routeKeys": { "nxtPruntimeId": "nxtPruntimeId" }, "namedRegex": "^/api/runtimes/(?<nxtPruntimeId>[^/]+?)/rescan(?:/)?$" }, { "page": "/api/runtimes/[runtimeId]/update", "regex": "^/api/runtimes/([^/]+?)/update(?:/)?$", "routeKeys": { "nxtPruntimeId": "nxtPruntimeId" }, "namedRegex": "^/api/runtimes/(?<nxtPruntimeId>[^/]+?)/update(?:/)?$" }, { "page": "/api/tasks/[id]", "regex": "^/api/tasks/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/tasks/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/tasks/[id]/messages", "regex": "^/api/tasks/([^/]+?)/messages(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/tasks/(?<nxtPid>[^/]+?)/messages(?:/)?$" }, { "page": "/api/tasks/[id]/retry", "regex": "^/api/tasks/([^/]+?)/retry(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/tasks/(?<nxtPid>[^/]+?)/retry(?:/)?$" }, { "page": "/api/traces/[traceId]", "regex": "^/api/traces/([^/]+?)(?:/)?$", "routeKeys": { "nxtPtraceId": "nxtPtraceId" }, "namedRegex": "^/api/traces/(?<nxtPtraceId>[^/]+?)(?:/)?$" }, { "page": "/api/workspaces/[id]", "regex": "^/api/workspaces/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/workspaces/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/workspaces/[id]/invites", "regex": "^/api/workspaces/([^/]+?)/invites(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/workspaces/(?<nxtPid>[^/]+?)/invites(?:/)?$" }, { "page": "/api/workspaces/[id]/invites/[inviteId]", "regex": "^/api/workspaces/([^/]+?)/invites/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPinviteId": "nxtPinviteId" }, "namedRegex": "^/api/workspaces/(?<nxtPid>[^/]+?)/invites/(?<nxtPinviteId>[^/]+?)(?:/)?$" }, { "page": "/api/workspaces/[id]/members", "regex": "^/api/workspaces/([^/]+?)/members(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/workspaces/(?<nxtPid>[^/]+?)/members(?:/)?$" }, { "page": "/api/workspaces/[id]/members/[memberId]", "regex": "^/api/workspaces/([^/]+?)/members/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPmemberId": "nxtPmemberId" }, "namedRegex": "^/api/workspaces/(?<nxtPid>[^/]+?)/members/(?<nxtPmemberId>[^/]+?)(?:/)?$" }, { "page": "/api/workspaces/[id]/overview", "regex": "^/api/workspaces/([^/]+?)/overview(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/workspaces/(?<nxtPid>[^/]+?)/overview(?:/)?$" }, { "page": "/invite/[token]", "regex": "^/invite/([^/]+?)(?:/)?$", "routeKeys": { "nxtPtoken": "nxtPtoken" }, "namedRegex": "^/invite/(?<nxtPtoken>[^/]+?)(?:/)?$" }, { "page": "/templates/[id]", "regex": "^/templates/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/templates/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/w/[slug]/agents", "regex": "^/w/([^/]+?)/agents(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/agents(?:/)?$" }, { "page": "/w/[slug]/agents/new", "regex": "^/w/([^/]+?)/agents/new(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/agents/new(?:/)?$" }, { "page": "/w/[slug]/agents/[id]", "regex": "^/w/([^/]+?)/agents/([^/]+?)(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug", "nxtPid": "nxtPid" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/agents/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/w/[slug]/agents/[id]/activity", "regex": "^/w/([^/]+?)/agents/([^/]+?)/activity(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug", "nxtPid": "nxtPid" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/agents/(?<nxtPid>[^/]+?)/activity(?:/)?$" }, { "page": "/w/[slug]/agents/[id]/chat", "regex": "^/w/([^/]+?)/agents/([^/]+?)/chat(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug", "nxtPid": "nxtPid" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/agents/(?<nxtPid>[^/]+?)/chat(?:/)?$" }, { "page": "/w/[slug]/agents/[id]/chat/[convId]", "regex": "^/w/([^/]+?)/agents/([^/]+?)/chat/([^/]+?)(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug", "nxtPid": "nxtPid", "nxtPconvId": "nxtPconvId" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/agents/(?<nxtPid>[^/]+?)/chat/(?<nxtPconvId>[^/]+?)(?:/)?$" }, { "page": "/w/[slug]/agents/[id]/email", "regex": "^/w/([^/]+?)/agents/([^/]+?)/email(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug", "nxtPid": "nxtPid" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/agents/(?<nxtPid>[^/]+?)/email(?:/)?$" }, { "page": "/w/[slug]/agents/[id]/files", "regex": "^/w/([^/]+?)/agents/([^/]+?)/files(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug", "nxtPid": "nxtPid" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/agents/(?<nxtPid>[^/]+?)/files(?:/)?$" }, { "page": "/w/[slug]/agents/[id]/meetings", "regex": "^/w/([^/]+?)/agents/([^/]+?)/meetings(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug", "nxtPid": "nxtPid" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/agents/(?<nxtPid>[^/]+?)/meetings(?:/)?$" }, { "page": "/w/[slug]/calendar", "regex": "^/w/([^/]+?)/calendar(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/calendar(?:/)?$" }, { "page": "/w/[slug]/flags", "regex": "^/w/([^/]+?)/flags(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/flags(?:/)?$" }, { "page": "/w/[slug]/help/email-setup", "regex": "^/w/([^/]+?)/help/email\\-setup(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/help/email\\-setup(?:/)?$" }, { "page": "/w/[slug]/home", "regex": "^/w/([^/]+?)/home(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/home(?:/)?$" }, { "page": "/w/[slug]/issues", "regex": "^/w/([^/]+?)/issues(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/issues(?:/)?$" }, { "page": "/w/[slug]/runtimes", "regex": "^/w/([^/]+?)/runtimes(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/runtimes(?:/)?$" }, { "page": "/w/[slug]/settings", "regex": "^/w/([^/]+?)/settings(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/settings(?:/)?$" }, { "page": "/w/[slug]/threads", "regex": "^/w/([^/]+?)/threads(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/threads(?:/)?$" }, { "page": "/w/[slug]/threads/[traceId]", "regex": "^/w/([^/]+?)/threads/([^/]+?)(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug", "nxtPtraceId": "nxtPtraceId" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/threads/(?<nxtPtraceId>[^/]+?)(?:/)?$" }, { "page": "/w/[slug]/unread", "regex": "^/w/([^/]+?)/unread(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/unread(?:/)?$" }], "data": { "static": [], "dynamic": [] } }, "locales": [] };
1274
- var PrerenderManifest = { "version": 4, "routes": { "/_global-error": { "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/_global-error", "dataRoute": "/_global-error.rsc", "allowHeader": ["host", "x-matched-path", "x-prerender-revalidate", "x-prerender-revalidate-if-generated", "x-next-revalidated-tags", "x-next-revalidate-tag-token"] }, "/_not-found": { "initialStatus": 404, "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/_not-found", "dataRoute": "/_not-found.rsc", "allowHeader": ["host", "x-matched-path", "x-prerender-revalidate", "x-prerender-revalidate-if-generated", "x-next-revalidated-tags", "x-next-revalidate-tag-token"] }, "/robots.txt": { "initialHeaders": { "cache-control": "public, max-age=0, must-revalidate", "content-type": "text/plain", "x-next-cache-tags": "_N_T_/layout,_N_T_/robots.txt/layout,_N_T_/robots.txt/route,_N_T_/robots.txt" }, "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/robots.txt", "dataRoute": null, "allowHeader": ["host", "x-matched-path", "x-prerender-revalidate", "x-prerender-revalidate-if-generated", "x-next-revalidated-tags", "x-next-revalidate-tag-token"] }, "/sitemap.xml": { "initialHeaders": { "cache-control": "public, max-age=0, must-revalidate", "content-type": "application/xml", "x-next-cache-tags": "_N_T_/layout,_N_T_/sitemap.xml/layout,_N_T_/sitemap.xml/route,_N_T_/sitemap.xml" }, "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/sitemap.xml", "dataRoute": null, "allowHeader": ["host", "x-matched-path", "x-prerender-revalidate", "x-prerender-revalidate-if-generated", "x-next-revalidated-tags", "x-next-revalidate-tag-token"] } }, "dynamicRoutes": {}, "notFoundRoutes": [], "preview": { "previewModeId": "7b28454f1317f90496c210a59dbf7ac4", "previewModeSigningKey": "c4b884399be7679b12c6c482ffba8b7935959661e89695dd045e7ac9e48b4a7f", "previewModeEncryptionKey": "4d7eb422cb8889e43afd34bdfea53fd774dbeb69d4431522ea3bf0162fe3ea93" } };
1275
- var MiddlewareManifest = { "version": 3, "middleware": { "/": { "files": ["server/edge/chunks/_0hofbt5._.js", "server/edge/chunks/058b_next_dist_esm_build_templates_edge-wrapper_05qoh-5.js", "server/edge/chunks/node_modules__pnpm_064.gf-._.js", "server/edge/chunks/[root-of-the-server]__0y.93rt._.js", "server/edge/chunks/0u~q_@better-auth_core_dist_0nfw4wv._.js", "server/edge/chunks/[root-of-the-server]__0oytv_q._.js", "server/edge/chunks/0kwo_kysely_dist_esm_0~ppdkt._.js", "server/edge/chunks/0_yy_@better-auth_kysely-adapter_dist_index_mjs_0j71amh._.js", "server/edge/chunks/058b_next_dist_esm_build_templates_edge-wrapper_0iw744w.js"], "name": "middleware", "page": "/", "entrypoint": "server/edge/chunks/058b_next_dist_esm_build_templates_edge-wrapper_0iw744w.js", "matchers": [{ "regexp": "^(?:\\/(_next\\/data\\/[^/]{1,}))?(?:\\/((?!_next|favicon\\.ico|.*\\..*).*))(\\.json|\\.rsc|\\.segments\\/.+\\.segment\\.rsc)?[\\/#\\?]?$", "originalSource": "/((?!_next|favicon\\.ico|.*\\..*).*)" }], "wasm": [], "assets": [], "env": { "__NEXT_BUILD_ID": "P_a_AT2D4owiIED7-cUYg", "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "GiuMO2Kez1SBtDAQjlT75H8Ggj8tu3qJ4tzvVsAGZM0=", "__NEXT_PREVIEW_MODE_ID": "7b28454f1317f90496c210a59dbf7ac4", "__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "4d7eb422cb8889e43afd34bdfea53fd774dbeb69d4431522ea3bf0162fe3ea93", "__NEXT_PREVIEW_MODE_SIGNING_KEY": "c4b884399be7679b12c6c482ffba8b7935959661e89695dd045e7ac9e48b4a7f" } } }, "sortedMiddleware": ["/"], "functions": {} };
1274
+ var PrerenderManifest = { "version": 4, "routes": { "/_global-error": { "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/_global-error", "dataRoute": "/_global-error.rsc", "allowHeader": ["host", "x-matched-path", "x-prerender-revalidate", "x-prerender-revalidate-if-generated", "x-next-revalidated-tags", "x-next-revalidate-tag-token"] }, "/_not-found": { "initialStatus": 404, "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/_not-found", "dataRoute": "/_not-found.rsc", "allowHeader": ["host", "x-matched-path", "x-prerender-revalidate", "x-prerender-revalidate-if-generated", "x-next-revalidated-tags", "x-next-revalidate-tag-token"] }, "/robots.txt": { "initialHeaders": { "cache-control": "public, max-age=0, must-revalidate", "content-type": "text/plain", "x-next-cache-tags": "_N_T_/layout,_N_T_/robots.txt/layout,_N_T_/robots.txt/route,_N_T_/robots.txt" }, "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/robots.txt", "dataRoute": null, "allowHeader": ["host", "x-matched-path", "x-prerender-revalidate", "x-prerender-revalidate-if-generated", "x-next-revalidated-tags", "x-next-revalidate-tag-token"] }, "/sitemap.xml": { "initialHeaders": { "cache-control": "public, max-age=0, must-revalidate", "content-type": "application/xml", "x-next-cache-tags": "_N_T_/layout,_N_T_/sitemap.xml/layout,_N_T_/sitemap.xml/route,_N_T_/sitemap.xml" }, "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/sitemap.xml", "dataRoute": null, "allowHeader": ["host", "x-matched-path", "x-prerender-revalidate", "x-prerender-revalidate-if-generated", "x-next-revalidated-tags", "x-next-revalidate-tag-token"] } }, "dynamicRoutes": {}, "notFoundRoutes": [], "preview": { "previewModeId": "c3775ba8b6e8d8cd7ece8917f29a88cb", "previewModeSigningKey": "eda6fde4824877b8b05ed1110ab6f77e8995fdd44d8d6c9a6a46c7ec38ad42ba", "previewModeEncryptionKey": "03864e458d8e2b81f0842e7c8107c2f81abd6d277e2919011cee73c583fd5046" } };
1275
+ var MiddlewareManifest = { "version": 3, "middleware": { "/": { "files": ["server/edge/chunks/_0hofbt5._.js", "server/edge/chunks/058b_next_dist_esm_build_templates_edge-wrapper_05qoh-5.js", "server/edge/chunks/node_modules__pnpm_064.gf-._.js", "server/edge/chunks/[root-of-the-server]__0y.93rt._.js", "server/edge/chunks/0u~q_@better-auth_core_dist_0nfw4wv._.js", "server/edge/chunks/[root-of-the-server]__0oytv_q._.js", "server/edge/chunks/0kwo_kysely_dist_esm_0~ppdkt._.js", "server/edge/chunks/0_yy_@better-auth_kysely-adapter_dist_index_mjs_0j71amh._.js", "server/edge/chunks/058b_next_dist_esm_build_templates_edge-wrapper_0iw744w.js"], "name": "middleware", "page": "/", "entrypoint": "server/edge/chunks/058b_next_dist_esm_build_templates_edge-wrapper_0iw744w.js", "matchers": [{ "regexp": "^(?:\\/(_next\\/data\\/[^/]{1,}))?(?:\\/((?!_next|favicon\\.ico|.*\\..*).*))(\\.json|\\.rsc|\\.segments\\/.+\\.segment\\.rsc)?[\\/#\\?]?$", "originalSource": "/((?!_next|favicon\\.ico|.*\\..*).*)" }], "wasm": [], "assets": [], "env": { "__NEXT_BUILD_ID": "UKi2wJge4r06KGiZ66_h-", "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "aRP6e7+l4/b6n+euCewoB5m8/DQNeDuCvXR0aUf5DuE=", "__NEXT_PREVIEW_MODE_ID": "c3775ba8b6e8d8cd7ece8917f29a88cb", "__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "03864e458d8e2b81f0842e7c8107c2f81abd6d277e2919011cee73c583fd5046", "__NEXT_PREVIEW_MODE_SIGNING_KEY": "eda6fde4824877b8b05ed1110ab6f77e8995fdd44d8d6c9a6a46c7ec38ad42ba" } } }, "sortedMiddleware": ["/"], "functions": {} };
1276
1276
  var AppPathRoutesManifest = { "/(app)/invite/[token]/page": "/invite/[token]", "/(app)/studio/new/page": "/studio/new", "/(app)/w/[slug]/agents/[id]/activity/page": "/w/[slug]/agents/[id]/activity", "/(app)/w/[slug]/agents/[id]/chat/[convId]/page": "/w/[slug]/agents/[id]/chat/[convId]", "/(app)/w/[slug]/agents/[id]/chat/page": "/w/[slug]/agents/[id]/chat", "/(app)/w/[slug]/agents/[id]/email/page": "/w/[slug]/agents/[id]/email", "/(app)/w/[slug]/agents/[id]/files/page": "/w/[slug]/agents/[id]/files", "/(app)/w/[slug]/agents/[id]/meetings/page": "/w/[slug]/agents/[id]/meetings", "/(app)/w/[slug]/agents/[id]/page": "/w/[slug]/agents/[id]", "/(app)/w/[slug]/agents/new/page": "/w/[slug]/agents/new", "/(app)/w/[slug]/agents/page": "/w/[slug]/agents", "/(app)/w/[slug]/calendar/page": "/w/[slug]/calendar", "/(app)/w/[slug]/flags/page": "/w/[slug]/flags", "/(app)/w/[slug]/help/email-setup/page": "/w/[slug]/help/email-setup", "/(app)/w/[slug]/home/page": "/w/[slug]/home", "/(app)/w/[slug]/issues/page": "/w/[slug]/issues", "/(app)/w/[slug]/runtimes/page": "/w/[slug]/runtimes", "/(app)/w/[slug]/settings/page": "/w/[slug]/settings", "/(app)/w/[slug]/threads/[traceId]/page": "/w/[slug]/threads/[traceId]", "/(app)/w/[slug]/threads/page": "/w/[slug]/threads", "/(app)/w/[slug]/unread/page": "/w/[slug]/unread", "/(app)/workspaces/page": "/workspaces", "/(auth)/sign-in/page": "/sign-in", "/_global-error/page": "/_global-error", "/_not-found/page": "/_not-found", "/api/agent-links/[id]/route": "/api/agent-links/[id]", "/api/agent-links/route": "/api/agent-links", "/api/agents/[id]/access/[userId]/route": "/api/agents/[id]/access/[userId]", "/api/agents/[id]/access/route": "/api/agents/[id]/access", "/api/agents/[id]/active-tasks/route": "/api/agents/[id]/active-tasks", "/api/agents/[id]/activity/route": "/api/agents/[id]/activity", "/api/agents/[id]/chat-init/route": "/api/agents/[id]/chat-init", "/api/agents/[id]/conversation/route": "/api/agents/[id]/conversation", "/api/agents/[id]/conversations/route": "/api/agents/[id]/conversations", "/api/agents/[id]/email-accounts/[accountId]/route": "/api/agents/[id]/email-accounts/[accountId]", "/api/agents/[id]/email-accounts/[accountId]/sync/route": "/api/agents/[id]/email-accounts/[accountId]/sync", "/api/agents/[id]/email-accounts/[accountId]/test/route": "/api/agents/[id]/email-accounts/[accountId]/test", "/api/agents/[id]/email-accounts/route": "/api/agents/[id]/email-accounts", "/api/agents/[id]/meetings/[meetingId]/approve/route": "/api/agents/[id]/meetings/[meetingId]/approve", "/api/agents/[id]/meetings/[meetingId]/route": "/api/agents/[id]/meetings/[meetingId]", "/api/agents/[id]/meetings/[meetingId]/stop/route": "/api/agents/[id]/meetings/[meetingId]/stop", "/api/agents/[id]/meetings/route": "/api/agents/[id]/meetings", "/api/agents/[id]/pin/route": "/api/agents/[id]/pin", "/api/agents/[id]/route": "/api/agents/[id]", "/api/agents/[id]/whitelist/[whitelistId]/route": "/api/agents/[id]/whitelist/[whitelistId]", "/api/agents/[id]/whitelist/route": "/api/agents/[id]/whitelist", "/api/agents/[id]/workspace/browse/route": "/api/agents/[id]/workspace/browse", "/api/agents/active-task-counts/route": "/api/agents/active-task-counts", "/api/agents/active-tasks/route": "/api/agents/active-tasks", "/api/agents/pins/reorder/route": "/api/agents/pins/reorder", "/api/agents/pins/route": "/api/agents/pins", "/api/agents/route": "/api/agents", "/api/agents/sidebar/reorder/route": "/api/agents/sidebar/reorder", "/api/artifacts/[id]/content/route": "/api/artifacts/[id]/content", "/api/artifacts/[id]/route": "/api/artifacts/[id]", "/api/artifacts/route": "/api/artifacts", "/api/artifacts/upload/route": "/api/artifacts/upload", "/api/auth/[...all]/route": "/api/auth/[...all]", "/api/calendar/[id]/route": "/api/calendar/[id]", "/api/calendar/route": "/api/calendar", "/api/channels/[id]/route": "/api/channels/[id]", "/api/channels/reorder/route": "/api/channels/reorder", "/api/channels/route": "/api/channels", "/api/cli/latest-version/route": "/api/cli/latest-version", "/api/config/min-version/route": "/api/config/min-version", "/api/config/model-options/route": "/api/config/model-options", "/api/conversations/[id]/active-task/route": "/api/conversations/[id]/active-task", "/api/conversations/[id]/buffered-messages/[messageId]/route": "/api/conversations/[id]/buffered-messages/[messageId]", "/api/conversations/[id]/buffered-messages/route": "/api/conversations/[id]/buffered-messages", "/api/conversations/[id]/messages/route": "/api/conversations/[id]/messages", "/api/conversations/[id]/route": "/api/conversations/[id]", "/api/conversations/route": "/api/conversations", "/api/daemon/deregister/route": "/api/daemon/deregister", "/api/daemon/register/route": "/api/daemon/register", "/api/daemon/tasks/[taskId]/complete/route": "/api/daemon/tasks/[taskId]/complete", "/api/daemon/tasks/[taskId]/fail/route": "/api/daemon/tasks/[taskId]/fail", "/api/daemon/tasks/[taskId]/messages/route": "/api/daemon/tasks/[taskId]/messages", "/api/daemon/tasks/[taskId]/progress/route": "/api/daemon/tasks/[taskId]/progress", "/api/daemon/tasks/[taskId]/start/route": "/api/daemon/tasks/[taskId]/start", "/api/daemon/tasks/[taskId]/status/route": "/api/daemon/tasks/[taskId]/status", "/api/daemon/tasks/[taskId]/supersede/route": "/api/daemon/tasks/[taskId]/supersede", "/api/daemon/tasks/poll/route": "/api/daemon/tasks/poll", "/api/daemon/workspace/report/route": "/api/daemon/workspace/report", "/api/daily-quote/route": "/api/daily-quote", "/api/email/[id]/attachment/[index]/route": "/api/email/[id]/attachment/[index]", "/api/email/[id]/body/route": "/api/email/[id]/body", "/api/email/[id]/raw/route": "/api/email/[id]/raw", "/api/email/[id]/route": "/api/email/[id]", "/api/email/[id]/thread/route": "/api/email/[id]/thread", "/api/email/notify/route": "/api/email/notify", "/api/email/route": "/api/email", "/api/email/send/route": "/api/email/send", "/api/email/upload/route": "/api/email/upload", "/api/flags/[messageId]/route": "/api/flags/[messageId]", "/api/flags/count/route": "/api/flags/count", "/api/flags/route": "/api/flags", "/api/health/route": "/api/health", "/api/inbox/count/route": "/api/inbox/count", "/api/inbox/read-all/route": "/api/inbox/read-all", "/api/inbox/read/route": "/api/inbox/read", "/api/inbox/route": "/api/inbox", "/api/invite/[token]/route": "/api/invite/[token]", "/api/issues/[id]/comments/route": "/api/issues/[id]/comments", "/api/issues/[id]/route": "/api/issues/[id]", "/api/issues/route": "/api/issues", "/api/machine-tokens/[id]/route": "/api/machine-tokens/[id]", "/api/machine-tokens/activate/route": "/api/machine-tokens/activate", "/api/machine-tokens/route": "/api/machine-tokens", "/api/me/route": "/api/me", "/api/meeting/callback/route": "/api/meeting/callback", "/api/members/me/route": "/api/members/me", "/api/runtimes/[runtimeId]/rescan/route": "/api/runtimes/[runtimeId]/rescan", "/api/runtimes/[runtimeId]/update/route": "/api/runtimes/[runtimeId]/update", "/api/runtimes/machine/route": "/api/runtimes/machine", "/api/runtimes/route": "/api/runtimes", "/api/studios/check-handles/route": "/api/studios/check-handles", "/api/studios/check-name/route": "/api/studios/check-name", "/api/studios/route": "/api/studios", "/api/tasks/[id]/messages/route": "/api/tasks/[id]/messages", "/api/tasks/[id]/retry/route": "/api/tasks/[id]/retry", "/api/tasks/[id]/route": "/api/tasks/[id]", "/api/tasks/step-counts/route": "/api/tasks/step-counts", "/api/traces/[traceId]/route": "/api/traces/[traceId]", "/api/traces/route": "/api/traces", "/api/workspaces/[id]/invites/[inviteId]/route": "/api/workspaces/[id]/invites/[inviteId]", "/api/workspaces/[id]/invites/route": "/api/workspaces/[id]/invites", "/api/workspaces/[id]/members/[memberId]/route": "/api/workspaces/[id]/members/[memberId]", "/api/workspaces/[id]/members/route": "/api/workspaces/[id]/members", "/api/workspaces/[id]/overview/route": "/api/workspaces/[id]/overview", "/api/workspaces/[id]/route": "/api/workspaces/[id]", "/api/workspaces/route": "/api/workspaces", "/api/ws/token/route": "/api/ws/token", "/og/route": "/og", "/page": "/", "/robots.txt/route": "/robots.txt", "/sitemap.xml/route": "/sitemap.xml", "/templates/[id]/page": "/templates/[id]", "/templates/page": "/templates" };
1277
1277
  var FunctionsConfigManifest = { "version": 1, "functions": {} };
1278
1278
  var PagesManifest = { "/404": "pages/404.html", "/500": "pages/500.html" };
@@ -0,0 +1,5 @@
1
+ -- Composite index for failStaleDispatchedTasks sweep query.
2
+ -- The existing idx_task_queue_workspace_active covers (workspaceId, status, agentId)
3
+ -- but lacks dispatched_at for the range scan used in the stale-dispatch check.
4
+ CREATE INDEX IF NOT EXISTS idx_task_queue_workspace_status_dispatched
5
+ ON agent_task_queue(workspace_id, status, dispatched_at);
@@ -77,4 +77,4 @@ id = "3aaa92b4c2c74185b888977e5552e9bf"
77
77
 
78
78
  [vars]
79
79
  RUNTIME_MODEL_OPTIONS = '{"claude":["claude-opus-4-6","claude-sonnet-4-6","claude-haiku-4-5"],"codex":["gpt-5.4","gpt-5.3-codex"]}'
80
- MIN_CLI_VERSION = "0.0.70"
80
+ MIN_CLI_VERSION = "0.0.72"
@@ -22752,6 +22752,7 @@ var agentTaskQueue = sqliteTable(
22752
22752
  index("idx_task_queue_trace").on(t.traceId),
22753
22753
  index("idx_task_queue_parent").on(t.parentTaskId),
22754
22754
  index("idx_task_queue_workspace_type_status").on(t.workspaceId, t.type, t.status),
22755
+ index("idx_task_queue_workspace_status_dispatched").on(t.workspaceId, t.status, t.dispatchedAt),
22755
22756
  foreignKey({
22756
22757
  columns: [t.agentId, t.workspaceId],
22757
22758
  foreignColumns: [agent.id, agent.workspaceId]
@@ -23846,18 +23847,23 @@ async function findSteerableReplacement(db, agentId, workspaceId) {
23846
23847
  ne(agentTaskQueue.type, TASK_TYPES.KILL_TASK)
23847
23848
  )
23848
23849
  );
23849
- for (const active of activeTasks) {
23850
- if (!active.contextKey) continue;
23851
- const candidates = await db.select({ id: agentTaskQueue.id }).from(agentTaskQueue).where(
23852
- and(
23853
- eq(agentTaskQueue.agentId, agentId),
23854
- eq(agentTaskQueue.workspaceId, workspaceId),
23855
- eq(agentTaskQueue.status, "queued"),
23856
- eq(agentTaskQueue.conversationId, active.conversationId),
23857
- eq(agentTaskQueue.contextKey, active.contextKey)
23858
- )
23859
- ).limit(1);
23860
- if (candidates.length > 0) {
23850
+ const steerableActive = activeTasks.filter((t) => t.contextKey);
23851
+ if (steerableActive.length === 0) return null;
23852
+ const contextKeys = steerableActive.map((t) => t.contextKey);
23853
+ const queuedWithMatchingKeys = await db.select({
23854
+ conversationId: agentTaskQueue.conversationId,
23855
+ contextKey: agentTaskQueue.contextKey
23856
+ }).from(agentTaskQueue).where(
23857
+ and(
23858
+ eq(agentTaskQueue.agentId, agentId),
23859
+ eq(agentTaskQueue.workspaceId, workspaceId),
23860
+ eq(agentTaskQueue.status, "queued"),
23861
+ inArray(agentTaskQueue.contextKey, contextKeys)
23862
+ )
23863
+ );
23864
+ const queuedSet = new Set(queuedWithMatchingKeys.map((q) => `${q.conversationId}:${q.contextKey}`));
23865
+ for (const active of steerableActive) {
23866
+ if (queuedSet.has(`${active.conversationId}:${active.contextKey}`)) {
23861
23867
  return { predecessorId: active.id, contextKey: active.contextKey };
23862
23868
  }
23863
23869
  }
@@ -23899,20 +23905,22 @@ async function claimTask(db, agentId, workspaceId) {
23899
23905
  ).orderBy(desc(agentTaskQueue.priority), asc(agentTaskQueue.createdAt)).limit(1);
23900
23906
  let candidates = await candidateQuery;
23901
23907
  if (candidates.length === 0 && steerableConvContextKeys.size > 0) {
23902
- for (const [convId, activeContextKey] of steerableConvContextKeys) {
23903
- const steerCandidates = await db.select({ id: agentTaskQueue.id }).from(agentTaskQueue).where(
23904
- and(
23905
- eq(agentTaskQueue.agentId, agentId),
23906
- eq(agentTaskQueue.workspaceId, workspaceId),
23907
- eq(agentTaskQueue.status, "queued"),
23908
- eq(agentTaskQueue.conversationId, convId),
23909
- eq(agentTaskQueue.contextKey, activeContextKey)
23910
- )
23911
- ).orderBy(desc(agentTaskQueue.priority), asc(agentTaskQueue.createdAt)).limit(1);
23912
- if (steerCandidates.length > 0) {
23913
- candidates = steerCandidates;
23914
- break;
23915
- }
23908
+ const steerConditions = [...steerableConvContextKeys.entries()].slice(0, 50).map(
23909
+ ([convId, ctxKey]) => and(
23910
+ eq(agentTaskQueue.conversationId, convId),
23911
+ eq(agentTaskQueue.contextKey, ctxKey)
23912
+ )
23913
+ );
23914
+ const steerCandidates = await db.select({ id: agentTaskQueue.id }).from(agentTaskQueue).where(
23915
+ and(
23916
+ eq(agentTaskQueue.agentId, agentId),
23917
+ eq(agentTaskQueue.workspaceId, workspaceId),
23918
+ eq(agentTaskQueue.status, "queued"),
23919
+ or(...steerConditions)
23920
+ )
23921
+ ).orderBy(desc(agentTaskQueue.priority), asc(agentTaskQueue.createdAt)).limit(1);
23922
+ if (steerCandidates.length > 0) {
23923
+ candidates = steerCandidates;
23916
23924
  }
23917
23925
  }
23918
23926
  if (candidates.length === 0) return null;
@@ -24173,24 +24181,15 @@ __name(failStaleKillTasks, "failStaleKillTasks");
24173
24181
  var DEFAULT_STALE_RUNNING_SECONDS = Number(process.env.ALOOK_STALE_RUNNING_TIMEOUT_S) || 3600;
24174
24182
  async function failStaleRunningTasks(db, workspaceId, staleSeconds = DEFAULT_STALE_RUNNING_SECONDS) {
24175
24183
  const threshold = new Date(Date.now() - staleSeconds * 1e3).toISOString();
24176
- const runningTasks = await db.select({ id: agentTaskQueue.id, startedAt: agentTaskQueue.startedAt }).from(agentTaskQueue).where(
24184
+ const staleRows = await db.select({ id: agentTaskQueue.id }).from(agentTaskQueue).where(
24177
24185
  and(
24178
24186
  eq(agentTaskQueue.workspaceId, workspaceId),
24179
- eq(agentTaskQueue.status, "running")
24187
+ eq(agentTaskQueue.status, "running"),
24188
+ sql`coalesce((SELECT MAX(created_at) FROM task_message WHERE task_id = ${agentTaskQueue.id}), ${agentTaskQueue.startedAt}) < ${threshold}`
24180
24189
  )
24181
24190
  );
24182
- if (runningTasks.length === 0) return [];
24183
- const taskIds = runningTasks.map((t) => t.id);
24184
- const lastMessages = await db.select({
24185
- taskId: taskMessage.taskId,
24186
- lastMessageAt: sql`max(${taskMessage.createdAt})`.as("last_message_at")
24187
- }).from(taskMessage).where(inArray(taskMessage.taskId, taskIds)).groupBy(taskMessage.taskId);
24188
- const lastMsgMap = new Map(lastMessages.map((m) => [m.taskId, m.lastMessageAt]));
24189
- const staleIds = runningTasks.filter((t) => {
24190
- const lastActivity = lastMsgMap.get(t.id) ?? t.startedAt;
24191
- return lastActivity != null && lastActivity < threshold;
24192
- }).map((t) => t.id);
24193
- if (staleIds.length === 0) return [];
24191
+ if (staleRows.length === 0) return [];
24192
+ const staleIds = staleRows.map((r) => r.id);
24194
24193
  const rows = await db.update(agentTaskQueue).set({
24195
24194
  status: "failed",
24196
24195
  completedAt: (/* @__PURE__ */ new Date()).toISOString(),
package/dist/cli/index.js CHANGED
@@ -16540,6 +16540,7 @@ var agentTaskQueue = sqliteTable("agent_task_queue", {
16540
16540
  index("idx_task_queue_trace").on(t.traceId),
16541
16541
  index("idx_task_queue_parent").on(t.parentTaskId),
16542
16542
  index("idx_task_queue_workspace_type_status").on(t.workspaceId, t.type, t.status),
16543
+ index("idx_task_queue_workspace_status_dispatched").on(t.workspaceId, t.status, t.dispatchedAt),
16543
16544
  foreignKey({
16544
16545
  columns: [t.agentId, t.workspaceId],
16545
16546
  foreignColumns: [agent.id, agent.workspaceId]
@@ -17470,7 +17471,8 @@ class ClaudeBackend {
17470
17471
  cwd: options.cwd,
17471
17472
  stdio: ["pipe", "pipe", "pipe"],
17472
17473
  env: { ...process.env, ...options.env },
17473
- shell: process.platform === "win32"
17474
+ shell: process.platform === "win32",
17475
+ windowsHide: true
17474
17476
  });
17475
17477
  if (!proc.pid) {
17476
17478
  const error51 = `Failed to start ${this.cliPath}: binary not found or not executable. Is 'claude' installed and on PATH?`;
@@ -17738,7 +17740,8 @@ class CodexBackend {
17738
17740
  cwd: options.cwd,
17739
17741
  stdio: ["pipe", "pipe", "pipe"],
17740
17742
  env: { ...process.env, ...options.env },
17741
- shell: process.platform === "win32"
17743
+ shell: process.platform === "win32",
17744
+ windowsHide: true
17742
17745
  });
17743
17746
  if (!proc.pid) {
17744
17747
  const error51 = `Failed to start ${this.cliPath}: binary not found or not executable. Is 'codex' installed and on PATH?`;
@@ -18227,7 +18230,8 @@ class OpenCodeBackend {
18227
18230
  cwd: options.cwd,
18228
18231
  stdio: ["ignore", "pipe", "pipe"],
18229
18232
  env: { ...process.env, ...options.env, OPENCODE_PERMISSION: '{"*":"allow"}' },
18230
- shell: process.platform === "win32"
18233
+ shell: process.platform === "win32",
18234
+ windowsHide: true
18231
18235
  });
18232
18236
  if (!proc.pid) {
18233
18237
  const error51 = `Failed to start ${this.cliPath}: binary not found or not executable. Is 'opencode' installed and on PATH?`;
@@ -19491,15 +19495,6 @@ async function runSession(input) {
19491
19495
  break;
19492
19496
  const msg = iterResult.value;
19493
19497
  seq++;
19494
- pendingMessages.push({
19495
- seq,
19496
- type: msg.type,
19497
- tool: msg.tool,
19498
- call_id: msg.callId,
19499
- content: msg.content,
19500
- input: msg.input,
19501
- output: msg.output
19502
- });
19503
19498
  if (msg.type === "tool-use")
19504
19499
  toolCount++;
19505
19500
  if (msg.type === "tool-result" && msg.output && msg.output.length > 500) {
@@ -19507,6 +19502,17 @@ async function runSession(input) {
19507
19502
  } else {
19508
19503
  log5.info(JSON.stringify({ role: "assistant", ...msg }));
19509
19504
  }
19505
+ if (msg.type === "status" || msg.type === "log")
19506
+ continue;
19507
+ pendingMessages.push({
19508
+ seq,
19509
+ type: msg.type,
19510
+ tool: msg.tool,
19511
+ call_id: msg.callId,
19512
+ content: msg.type === "tool-result" ? "" : msg.content,
19513
+ input: msg.type === "tool-result" ? undefined : msg.input,
19514
+ output: msg.type === "tool-result" ? "" : msg.output
19515
+ });
19510
19516
  if (msg.type === "text" && msg.content) {
19511
19517
  updateEntry(timelineDir, task.id, (entry) => {
19512
19518
  entry.agent_responses.push(msg.content);
@@ -16407,6 +16407,7 @@ var agentTaskQueue = sqliteTable("agent_task_queue", {
16407
16407
  index("idx_task_queue_trace").on(t.traceId),
16408
16408
  index("idx_task_queue_parent").on(t.parentTaskId),
16409
16409
  index("idx_task_queue_workspace_type_status").on(t.workspaceId, t.type, t.status),
16410
+ index("idx_task_queue_workspace_status_dispatched").on(t.workspaceId, t.status, t.dispatchedAt),
16410
16411
  foreignKey({
16411
16412
  columns: [t.agentId, t.workspaceId],
16412
16413
  foreignColumns: [agent.id, agent.workspaceId]
@@ -16854,7 +16855,8 @@ class ClaudeBackend {
16854
16855
  cwd: options.cwd,
16855
16856
  stdio: ["pipe", "pipe", "pipe"],
16856
16857
  env: { ...process.env, ...options.env },
16857
- shell: process.platform === "win32"
16858
+ shell: process.platform === "win32",
16859
+ windowsHide: true
16858
16860
  });
16859
16861
  if (!proc.pid) {
16860
16862
  const error51 = `Failed to start ${this.cliPath}: binary not found or not executable. Is 'claude' installed and on PATH?`;
@@ -17122,7 +17124,8 @@ class CodexBackend {
17122
17124
  cwd: options.cwd,
17123
17125
  stdio: ["pipe", "pipe", "pipe"],
17124
17126
  env: { ...process.env, ...options.env },
17125
- shell: process.platform === "win32"
17127
+ shell: process.platform === "win32",
17128
+ windowsHide: true
17126
17129
  });
17127
17130
  if (!proc.pid) {
17128
17131
  const error51 = `Failed to start ${this.cliPath}: binary not found or not executable. Is 'codex' installed and on PATH?`;
@@ -17611,7 +17614,8 @@ class OpenCodeBackend {
17611
17614
  cwd: options.cwd,
17612
17615
  stdio: ["ignore", "pipe", "pipe"],
17613
17616
  env: { ...process.env, ...options.env, OPENCODE_PERMISSION: '{"*":"allow"}' },
17614
- shell: process.platform === "win32"
17617
+ shell: process.platform === "win32",
17618
+ windowsHide: true
17615
17619
  });
17616
17620
  if (!proc.pid) {
17617
17621
  const error51 = `Failed to start ${this.cliPath}: binary not found or not executable. Is 'opencode' installed and on PATH?`;
@@ -18880,15 +18884,6 @@ async function runSession(input) {
18880
18884
  break;
18881
18885
  const msg = iterResult.value;
18882
18886
  seq++;
18883
- pendingMessages.push({
18884
- seq,
18885
- type: msg.type,
18886
- tool: msg.tool,
18887
- call_id: msg.callId,
18888
- content: msg.content,
18889
- input: msg.input,
18890
- output: msg.output
18891
- });
18892
18887
  if (msg.type === "tool-use")
18893
18888
  toolCount++;
18894
18889
  if (msg.type === "tool-result" && msg.output && msg.output.length > 500) {
@@ -18896,6 +18891,17 @@ async function runSession(input) {
18896
18891
  } else {
18897
18892
  log4.info(JSON.stringify({ role: "assistant", ...msg }));
18898
18893
  }
18894
+ if (msg.type === "status" || msg.type === "log")
18895
+ continue;
18896
+ pendingMessages.push({
18897
+ seq,
18898
+ type: msg.type,
18899
+ tool: msg.tool,
18900
+ call_id: msg.callId,
18901
+ content: msg.type === "tool-result" ? "" : msg.content,
18902
+ input: msg.type === "tool-result" ? undefined : msg.input,
18903
+ output: msg.type === "tool-result" ? "" : msg.output
18904
+ });
18899
18905
  if (msg.type === "text" && msg.content) {
18900
18906
  updateEntry(timelineDir, task.id, (entry) => {
18901
18907
  entry.agent_responses.push(msg.content);
package/dist/index.js CHANGED
@@ -16598,6 +16598,7 @@ var agentTaskQueue = sqliteTable("agent_task_queue", {
16598
16598
  index("idx_task_queue_trace").on(t.traceId),
16599
16599
  index("idx_task_queue_parent").on(t.parentTaskId),
16600
16600
  index("idx_task_queue_workspace_type_status").on(t.workspaceId, t.type, t.status),
16601
+ index("idx_task_queue_workspace_status_dispatched").on(t.workspaceId, t.status, t.dispatchedAt),
16601
16602
  foreignKey({
16602
16603
  columns: [t.agentId, t.workspaceId],
16603
16604
  foreignColumns: [agent.id, agent.workspaceId]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alook/app",
3
- "version": "0.0.70",
3
+ "version": "0.0.72",
4
4
  "description": "Run Alook locally — one command, no clone needed",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/alookai/alook#readme",
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,113354,e=>{"use strict";let t=(0,e.i(406963).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],113354)},541544,e=>{"use strict";var t=e.i(297925);e.s(["Check",()=>t.default])},642342,e=>{"use strict";var t=e.i(459119),r=e.i(298699);let a=(0,e.i(613349).isLocalMode)(),n=Number(t.default.env.NEXT_PUBLIC_WS_DO_PORT)||8789,s=Number(t.default.env.NEXT_PUBLIC_WS_RECONNECT_DELAY_MS)||1e3,o=Number(t.default.env.NEXT_PUBLIC_WS_RECONNECT_MAX_DELAY_MS)||3e4;e.s(["useUserWs",0,function(e){let t=(0,r.useRef)(null),i=(0,r.useRef)(s),c=(0,r.useRef)(e),l=(0,r.useRef)(null);(0,r.useEffect)(()=>{c.current=e},[e]);let d=(0,r.useRef)(null),u=(0,r.useCallback)(()=>{let e=Math.min(i.current,o);i.current=Math.min(2*e,o),l.current=setTimeout(()=>{d.current?.()},e+500*Math.random())},[]),f=(0,r.useCallback)(async()=>{let e,r,o,l=n;try{let t=await fetch("/api/ws/token");if(!t.ok){console.warn("[ws] token fetch failed:",t.status),u();return}let a=await t.json();e=a.userId,r=a.token,a.wsPort&&(l=a.wsPort)}catch(e){console.warn("[ws] token fetch error:",e),u();return}let d=a?`ws://localhost:${l}/?userId=${e}`:`${location.origin.replace("http","ws")}/api/ws/user?userId=${e}`;try{o=new WebSocket(d)}catch(e){console.warn("[ws] WebSocket creation failed:",e),u();return}t.current=o,o.onopen=()=>{i.current=s,o.send(JSON.stringify({type:"auth",token:r}))},o.onmessage=e=>{try{let t=JSON.parse(e.data);if("auth.ok"===t.type)return;c.current(t)}catch{}},o.onerror=()=>{},o.onclose=()=>{o===t.current&&u()}},[u]);(0,r.useEffect)(()=>{d.current=f},[f]),(0,r.useEffect)(()=>(f(),()=>{null!==l.current&&(clearTimeout(l.current),l.current=null);let e=t.current;t.current=null,e?.close()}),[f])}])},297925,e=>{"use strict";let t=(0,e.i(406963).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",0,t])},371522,e=>{"use strict";let t=(0,e.i(406963).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",0,t],371522)},275351,e=>{"use strict";let t,r,a,n,s=(e,t)=>t.some(t=>e instanceof t),o=new WeakMap,i=new WeakMap,c=new WeakMap,l={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return o.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return d(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function d(e){if(e instanceof IDBRequest){let t;return t=new Promise((t,r)=>{let a=()=>{e.removeEventListener("success",n),e.removeEventListener("error",s)},n=()=>{t(d(e.result)),a()},s=()=>{r(e.error),a()};e.addEventListener("success",n),e.addEventListener("error",s)}),c.set(t,e),t}if(i.has(e))return i.get(e);let t=function(e){if("function"==typeof e)return(n||(n=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(u(this),t),d(this.request)}:function(...t){return d(e.apply(u(this),t))};return(e instanceof IDBTransaction&&function(e){if(o.has(e))return;let t=new Promise((t,r)=>{let a=()=>{e.removeEventListener("complete",n),e.removeEventListener("error",s),e.removeEventListener("abort",s)},n=()=>{t(),a()},s=()=>{r(e.error||new DOMException("AbortError","AbortError")),a()};e.addEventListener("complete",n),e.addEventListener("error",s),e.addEventListener("abort",s)});o.set(e,t)}(e),s(e,a||(a=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(e,l):e}(e);return t!==e&&(i.set(e,t),c.set(t,e)),t}let u=e=>c.get(e),f=["get","getKey","getAll","getAllKeys","count"],m=["put","add","delete","clear"],p=new Map;function h(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(p.get(t))return p.get(t);let r=t.replace(/FromIndex$/,""),a=t!==r,n=m.includes(r);if(!(r in(a?IDBIndex:IDBObjectStore).prototype)||!(n||f.includes(r)))return;let s=async function(e,...t){let s=this.transaction(e,n?"readwrite":"readonly"),o=s.store;return a&&(o=o.index(t.shift())),(await Promise.all([o[r](...t),n&&s.done]))[0]};return p.set(t,s),s}l={...t=l,get:(e,r,a)=>h(e,r)||t.get(e,r,a),has:(e,r)=>!!h(e,r)||t.has(e,r)};let g=["continue","continuePrimaryKey","advance"],x={},y=new WeakMap,w=new WeakMap,b={get(e,t){if(!g.includes(t))return e[t];let r=x[t];return r||(r=x[t]=function(...e){y.set(this,w.get(this)[t](...e))}),r}};async function*v(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;let r=new Proxy(t,b);for(w.set(r,t),c.set(r,u(t));t;)yield r,t=await (y.get(r)||t.continue()),y.delete(r)}function C(e,t){return t===Symbol.asyncIterator&&s(e,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===t&&s(e,[IDBIndex,IDBObjectStore])}l={...r=l,get:(e,t,a)=>C(e,t)?v:r.get(e,t,a),has:(e,t)=>C(e,t)||r.has(e,t)};let j=null,k=null;function I(e){return"u"<typeof indexedDB?null:j&&k===e?j:(k=e,j=function(e,{blocked:t,upgrade:r,blocking:a,terminated:n}={}){let s=indexedDB.open(e,1),o=d(s);return r&&s.addEventListener("upgradeneeded",e=>{r(d(s.result),e.oldVersion,e.newVersion,d(s.transaction),e)}),t&&s.addEventListener("blocked",e=>t(e.oldVersion,e.newVersion,e)),o.then(e=>{n&&e.addEventListener("close",()=>n()),a&&e.addEventListener("versionchange",e=>a(e.oldVersion,e.newVersion,e))}).catch(()=>{}),o}(`alook-chat-cache-${e}`,{upgrade(e){let t=e.createObjectStore("messages",{keyPath:["conversation_id","id"]});t.createIndex("by-conversation","conversation_id",{unique:!1}),t.createIndex("by-created",["conversation_id","created_at"],{unique:!1}),e.createObjectStore("cache_meta",{keyPath:"conversation_id"})}}))}function N(e){return e?I(e):j}async function _(e,t){let r=N(t);if(!r)return null;try{let t=await r,a=await t.getAllFromIndex("messages","by-conversation",e);if(0===a.length)return null;let n=a.filter(e=>"buffered"!==e.status&&!e.id.startsWith("temp-"));n.sort((e,t)=>{let r=e.created_at.localeCompare(t.created_at);return 0!==r?r:e.id.localeCompare(t.id)});let s=await t.get("cache_meta",e);return s&&await t.put("cache_meta",{...s,lastAccessedAt:Date.now()}),n}catch{return null}}async function D(e,t,r,a){let n=N(a);if(n)try{let a=await n,s=t.filter(e=>"buffered"!==e.status&&!e.id.startsWith("temp-"));if(0===s.length)return;let o=a.transaction(["messages","cache_meta"],"readwrite"),i=o.objectStore("messages"),c=o.objectStore("cache_meta");for(let e of s)await i.put(e);let l=await i.index("by-conversation").getAllKeys(e),d=Date.now(),u=s.reduce((e,t)=>e.created_at>t.created_at?e:t),f={conversation_id:e,lastFetchedAt:d,lastAccessedAt:d,messageCount:l.length,newestMessageId:u.id,hasMore:r};await c.put(f),await o.done,E().catch(()=>{})}catch{}}async function B(e,t,r){let a=N(r);if(a&&!("buffered"===t.status||t.id.startsWith("temp-")))try{let r=await a,n=await r.get("messages",[e,t.id]);await r.put("messages",t);let s=await r.get("cache_meta",e);s&&await r.put("cache_meta",{...s,lastAccessedAt:Date.now(),messageCount:n?s.messageCount:s.messageCount+1,newestMessageId:t.id})}catch{}}async function E(e=50){let t=N();if(t)try{let r=await t,a=await r.getAll("cache_meta");if(a.length<=e)return;a.sort((e,t)=>e.lastAccessedAt-t.lastAccessedAt);let n=a.slice(0,a.length-e),s=r.transaction(["messages","cache_meta"],"readwrite"),o=s.objectStore("messages"),i=s.objectStore("cache_meta");for(let e of n){for(let t of(await o.index("by-conversation").getAllKeys(e.conversation_id)))await o.delete(t);await i.delete(e.conversation_id)}await s.done}catch{}}async function A(){if("u">typeof indexedDB)try{j&&((await j).close(),j=null),k&&(await T(`alook-chat-cache-${k}`),k=null)}catch{}}async function T(e){return new Promise((t,r)=>{let a=indexedDB.deleteDatabase(e);a.onsuccess=()=>t(),a.onerror=()=>r(a.error),a.onblocked=()=>t()})}e.s(["appendCachedMessage",0,B,"clearAllCache",0,A,"getCachedMessages",0,_,"mergeCachedMessages",0,D,"openCacheDB",0,I],275351)},934351,e=>{"use strict";var t=e.i(368075),r=e.i(613349);e.s(["Card",0,function({className:e,size:a="default",...n}){return(0,t.jsx)("div",{"data-slot":"card","data-size":a,className:(0,r.cn)("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",e),...n})},"CardAction",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-action",className:(0,r.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",e),...a})},"CardContent",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,r.cn)("px-4 group-data-[size=sm]/card:px-3",e),...a})},"CardHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,r.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",e),...a})},"CardTitle",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,r.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",e),...a})}])},866519,e=>{"use strict";let t=(0,e.i(406963).default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);e.s(["LogOut",0,t],866519)},371406,e=>{"use strict";var t=e.i(368075),r=e.i(298699),a=e.i(186339),n=e.i(329686),s=e.i(541544),o=e.i(880932),i=e.i(613349);function c({step:e,completed:r}){return r?(0,t.jsx)("span",{className:"flex items-center justify-center size-5 rounded-full bg-emerald-500 text-white transition-all duration-300",children:(0,t.jsx)(s.Check,{className:"size-3",strokeWidth:3})}):(0,t.jsx)("span",{className:"flex items-center justify-center size-5 rounded-full bg-foreground text-background text-xs font-semibold",children:e})}e.s(["ConnectMachineSteps",0,function({generatedToken:e,generatingToken:s,onGenerateToken:l,registered:d}){let u=(0,r.useRef)(!1);(0,r.useEffect)(()=>{e||s||u.current||(u.current=!0,l())},[e,s,l]);let f=()=>{navigator.clipboard.writeText(`${(0,i.cliCmd)()} register --token ${e}`),o.toast.success("Copied to clipboard")},m=(0,i.daemonStartCmd)(),p=()=>{navigator.clipboard.writeText(m),o.toast.success("Copied to clipboard")};return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("p",{className:"text-sm font-medium flex items-center gap-2",children:[(0,t.jsx)(c,{step:1,completed:d}),"Register your CLI",d&&(0,t.jsx)("span",{className:"text-xs text-emerald-500 font-normal",children:"Done"})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground pl-7",children:"Run this in your terminal to link your machine."}),s?(0,t.jsx)("div",{className:"pl-7",children:(0,t.jsx)("div",{className:"rounded-md bg-muted p-2.5 font-mono text-xs text-muted-foreground animate-pulse",children:"Generating token..."})}):e?(0,t.jsxs)("div",{className:"pl-7 space-y-2",children:[(0,t.jsxs)(n.Tooltip,{children:[(0,t.jsxs)(n.TooltipTrigger,{render:(0,t.jsx)("div",{className:"rounded-md bg-muted p-2.5 font-mono text-xs text-muted-foreground cursor-pointer hover:bg-muted/80 transition-colors break-all",onClick:f}),children:[(0,i.cliCmd)()," register --token"," ",(0,t.jsx)("span",{className:"text-foreground/70",children:e})]}),(0,t.jsx)(n.TooltipContent,{children:"Click to copy"})]}),!d&&(0,t.jsx)(a.Button,{size:"sm",onClick:f,className:"w-full",children:"Copy Command"})]}):null]}),(0,t.jsxs)("div",{className:`space-y-2 transition-opacity duration-300 ${!d?"opacity-40 pointer-events-none":""}`,children:[(0,t.jsxs)("p",{className:"text-sm font-medium flex items-center gap-2",children:[(0,t.jsx)(c,{step:2,completed:!1}),"Start the daemon"]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground pl-7",children:"The daemon connects your local agents to Alook."}),(0,t.jsxs)(n.Tooltip,{children:[(0,t.jsx)(n.TooltipTrigger,{render:(0,t.jsx)("div",{className:"ml-7 rounded-md bg-muted p-2.5 font-mono text-xs text-muted-foreground cursor-pointer hover:bg-muted/80 transition-colors",onClick:p}),children:m}),(0,t.jsx)(n.TooltipContent,{children:"Click to copy"})]}),d&&(0,t.jsx)("div",{className:"pl-7",children:(0,t.jsx)(a.Button,{size:"sm",onClick:p,className:"w-full",children:"Copy Command"})})]})]})}])}]);
@@ -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 s;try{s=await e.json()}catch{return[null,r("invalid request body",400)]}try{return[a.parse(s),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"))},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),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),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 s extends t.DefaultQueryCompiler{visitOrAction(e){this.append("or "),this.append(e.action)}getCurrentParameterPlaceholder(){return"?"}getLeftExplainOptionsWrapper(){return""}getRightExplainOptionsWrapper(){return""}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getAutoIncrement(){return"autoincrement"}sanitizeIdentifier(e){return e.replace(r,'""')}sanitizeJSONPathMemberValue(e){return e.replace(a,e=>"\\"===e?"\\\\":"'"===e?"''":'\\"')}visitDefaultInsertValue(e){this.append("null")}}e.s(["SqliteQueryCompiler",0,s])},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),s=e.i(291484);e.i(700598);var n=e.i(291109),i=e.i(675139),o=e.i(342573),c=e.i(774078),l=t([o]);[o]=l.then?(await l)():l,e.s(["withAuth",0,function(e){return async(t,r)=>{let l,u=r?.params?r.params instanceof Promise?await r.params:r.params:void 0,{env:d}=await (0,s.getCloudflareContext)({async:!0});(0,c.bindCacheKV)(d.CACHE_KV??null);let p=t.headers.get("Authorization");if(p?.startsWith("Bearer ")){let r=p.slice(7);if(r.startsWith("al_"))try{let s=(0,i.getDb)(d.DB),o=await (0,c.cached)(c.cacheKeys.machineToken(r),900,()=>n.queries.machineToken.getMachineTokenByToken(s,r));if(!o)return a.NextResponse.json({error:"invalid token"},{status:401});(0,c.cached)(c.cacheKeys.machineTokenLastUsed(r),900,async()=>(await n.queries.machineToken.updateMachineTokenLastUsed(s,o.id),"1")).catch(()=>{});let l={userId:o.userId,email:o.userEmail,workspaceId:o.workspaceId??void 0};return e(t,{...l,params:u})}catch{return a.NextResponse.json({error:"invalid token"},{status:401})}}let h=(0,o.createAuth)(d),y=null;for(let e=0;e<2;e++)try{y=await h.api.getSession({headers:t.headers}),l=void 0;break}catch(e){l=e}if(l)return a.NextResponse.json({error:"session validation failed"},{status:503});if(!y)return a.NextResponse.json({error:"unauthorized"},{status:401});let m={userId:y.user.id,email:y.user.email};return e(t,{...m,params:u})}}]),r()}catch(e){r(e)}},!1),47962,e=>{"use strict";var t=e.i(463421),r=e.i(291484);e.i(700598);var a=e.i(291109),s=e.i(675139),n=e.i(774078);async function i(e,i){let o=e.nextUrl.searchParams.get("workspace_id")||e.headers.get("X-Workspace-ID")||i.workspaceId;if(!o)return t.NextResponse.json({error:"workspace_id is required"},{status:400});if(!i.userId)return t.NextResponse.json({error:"user not authenticated"},{status:401});let{env:c}=await (0,r.getCloudflareContext)({async:!0}),l=(0,s.getDb)(c.DB),u=await (0,n.cached)(n.cacheKeys.member(o,i.userId),1800,()=>a.queries.member.getMemberByUserAndWorkspace(l,i.userId,o));return u||i.workspaceId!==o?u?{workspaceId:o,memberRole:u.role}:t.NextResponse.json({error:"workspace not found"},{status:404}):{workspaceId:o,memberRole:"member"}}async function o(e,r){let a=await i(e,r);return a instanceof t.NextResponse?a:"owner"!==a.memberRole?t.NextResponse.json({error:"owner access required"},{status:403}):a}e.s(["withWorkspaceMember",0,i,"withWorkspaceOwner",0,o])},57202,e=>e.a(async(t,r)=>{try{var a=e.i(291484);e.i(700598);var s=e.i(20586),n=e.i(291109),i=e.i(152327),o=e.i(47962),c=e.i(776227),l=t([i]);[i]=l.then?(await l)():l;let u=(0,i.withAuth)(async(e,t)=>{let r=await (0,o.withWorkspaceMember)(e,t);if(r instanceof Response)return r;let{env:i}=(0,a.getCloudflareContext)(),l=(0,s.createDb)(i.DB),u=await n.queries.task.listActiveTaskCountsByWorkspace(l,r.workspaceId),d={};for(let e of u)d[e.agentId]=Number(e.count);return(0,c.writeJSON)({counts:d})});e.s(["GET",0,u]),r()}catch(e){r(e)}},!1),591904,e=>e.a(async(t,r)=>{try{var a=e.i(80774),s=e.i(404478),n=e.i(732985),i=e.i(481671),o=e.i(638081),c=e.i(204960),l=e.i(924918),u=e.i(363585),d=e.i(906846),p=e.i(359838),h=e.i(383303),y=e.i(234173),m=e.i(270215),f=e.i(830665),v=e.i(944002),w=e.i(193695);e.i(195928);var x=e.i(81543),b=e.i(57202),g=t([b]);[b]=g.then?(await g)():g;let _=new a.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/agents/active-task-counts/route",pathname:"/api/agents/active-task-counts",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/agents/active-task-counts/route.ts",nextConfigOutput:"standalone",userland:b,...{}}),{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/active-task-counts/route";a=a.replace(/\/index$/,"")||"/";let n=await _.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:b,deploymentId:g,params:R,nextConfig:k,parsedUrl:C,isDraftMode:E,prerenderManifest:N,routerServerContext:A,isOnDemandRevalidate:j,revalidateOnlyGenerated:q,resolvedPathname:T,clientReferenceManifest:I,serverActionsManifest:P}=n,S=(0,l.normalizeAppPath)(a),O=!!(N.dynamicRoutes[S]||N.routes[T]),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(O&&!E){let e=!!N.routes[T],t=N.dynamicRoutes[S];if(t&&!1===t.fallback&&!e){if(k.adapterPath)return await D();throw new w.NoFallbackError}}let M=null;!O||_.isDev||E||(M=T,M="/index"===M?"/":M);let U=!0===_.isDev||!O,H=O&&!U;P&&I&&(0,c.setManifestsSingleton)({page:a,clientReferenceManifest:I,serverActionsManifest:P});let B=e.method||"GET",W=(0,o.getTracer)(),K=W.getActiveScopeSpan(),$=!!(null==A?void 0:A.isWrappedByNextServer),L=!!(0,i.getRequestMeta)(e,"minimalMode"),F=(0,i.getRequestMeta)(e,"incrementalCache")||await _.getIncrementalCache(e,k,N,L);null==F||F.resetRequestCache(),globalThis.__incrementalCache=F;let z={params:R,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:U,incrementalCache:F,cacheLifeProfiles:k.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>_.onRequestError(e,t,a,s,A)},sharedContext:{buildId:b,deploymentId:g}},V=new u.NodeNextRequest(e),Z=new u.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let n,i=async e=>_.handle(G,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=W.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 s=r.get("next.route");if(s){let t=`${B} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",s),n.updateName(t))}else e.updateName(`${B} ${a}`)}),c=async n=>{var o,c;let l=async({previousCacheEntry:s})=>{try{if(!L&&j&&q&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let c=z.renderOpts.collectedTags;if(!O)return await (0,y.sendResponse)(V,Z,a,z.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(a.headers);c&&(t[v.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,s=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==s?void 0:s.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:j})},!1,A),t}},u=await _.handleResponse({req:e,nextConfig:k,cacheKey:M,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:q,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:L});if(!O)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(c=u.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",j?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,m.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&O||d.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,y.sendResponse)(V,Z,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};$&&K?await c(K):(n=W.getActiveScopeSpan(),await W.withPropagatedContext(e.headers,()=>W.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${a}`,kind:o.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},c),void 0,!$))}catch(t){if(t instanceof w.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:j})},!1,A),O)throw t;return await (0,y.sendResponse)(V,Z,new Response(null,{status:500})),null}}e.s(["handler",0,R,"patchFetch",0,function(){return(0,n.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__10-16_o._.js.map