@alook/app 0.0.104 → 0.0.105

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 (385) hide show
  1. package/bundled/web/.open-next/.build/durable-objects/queue.js +5 -5
  2. package/bundled/web/.open-next/assets/BUILD_ID +1 -1
  3. package/bundled/web/.open-next/assets/_next/static/chunks/0-d-~6jj6tl.7.js +1 -0
  4. package/bundled/web/.open-next/assets/_next/static/chunks/{14kvac9rwxt82.js → 0kdkur96-.nfu.js} +1 -1
  5. package/bundled/web/.open-next/assets/_next/static/chunks/0vzkhcgq9dm.f.css +1 -0
  6. package/bundled/web/.open-next/assets/_next/static/chunks/{0f8wlbde-yi5~.js → 10o4oebv5u2k1.js} +2 -2
  7. package/bundled/web/.open-next/cache/{NQHumUcZ7C8pGax6pzH01 → Q_0OGs3-VOTcpmfxKRir3}/_global-error.cache +1 -1
  8. package/bundled/web/.open-next/cache/{NQHumUcZ7C8pGax6pzH01 → Q_0OGs3-VOTcpmfxKRir3}/_not-found.cache +1 -1
  9. package/bundled/web/.open-next/cache/{NQHumUcZ7C8pGax6pzH01 → Q_0OGs3-VOTcpmfxKRir3}/device.cache +1 -1
  10. package/bundled/web/.open-next/cache/{NQHumUcZ7C8pGax6pzH01 → Q_0OGs3-VOTcpmfxKRir3}/privacy.cache +1 -1
  11. package/bundled/web/.open-next/cache/{NQHumUcZ7C8pGax6pzH01 → Q_0OGs3-VOTcpmfxKRir3}/sitemap.xml.cache +1 -1
  12. package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
  13. package/bundled/web/.open-next/cloudflare/init.js +1 -1
  14. package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
  15. package/bundled/web/.open-next/middleware/handler.mjs +166 -166
  16. package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
  17. package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
  18. package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
  19. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page.js +2 -2
  20. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
  21. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page.js +2 -2
  22. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/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]/activity/page.js +2 -2
  24. 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
  25. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/[convId]/page.js +2 -2
  26. 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
  27. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/page.js +2 -2
  28. 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
  29. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/email/page.js +2 -2
  30. 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
  31. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/files/page.js +2 -2
  32. 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
  33. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/meetings/page.js +2 -2
  34. 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
  35. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/page.js +2 -2
  36. 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
  37. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/new/page.js +2 -2
  38. 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
  39. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page.js +2 -2
  40. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
  41. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page.js +2 -2
  42. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
  43. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page.js +2 -2
  44. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
  45. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/help/email-setup/page.js +2 -2
  46. 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
  47. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page.js +2 -2
  48. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
  49. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page.js +2 -2
  50. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
  51. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page.js +2 -2
  52. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
  53. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page.js +2 -2
  54. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
  55. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/[traceId]/page.js +2 -2
  56. 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
  57. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/page.js +2 -2
  58. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/page_client-reference-manifest.js +1 -1
  59. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page.js +2 -2
  60. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
  61. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page.js +2 -2
  62. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
  63. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page.js +2 -2
  64. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
  65. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  66. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agent-links/[id]/route.js +2 -2
  67. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agent-links/route.js +2 -2
  68. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/access/[userId]/route.js +2 -2
  69. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/access/route.js +2 -2
  70. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/active-tasks/route.js +2 -2
  71. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/activity/route.js +2 -2
  72. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/chat-init/route.js +2 -2
  73. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/conversation/route.js +2 -2
  74. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/conversations/route.js +2 -2
  75. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/[accountId]/route.js +2 -2
  76. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/[accountId]/sync/route.js +2 -2
  77. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/[accountId]/test/route.js +2 -2
  78. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/route.js +2 -2
  79. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/[meetingId]/approve/route.js +2 -2
  80. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/[meetingId]/route.js +2 -2
  81. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/[meetingId]/stop/route.js +2 -2
  82. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/route.js +2 -2
  83. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/pin/route.js +2 -2
  84. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/route.js +2 -2
  85. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/skills/route.js +2 -2
  86. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/whitelist/[whitelistId]/route.js +2 -2
  87. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/whitelist/route.js +2 -2
  88. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/workspace/browse/route.js +2 -2
  89. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/active-task-counts/route.js +2 -2
  90. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/active-tasks/route.js +2 -2
  91. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/pins/reorder/route.js +2 -2
  92. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/pins/route.js +2 -2
  93. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/recruit/route.js +2 -2
  94. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/route.js +2 -2
  95. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/sidebar/reorder/route.js +2 -2
  96. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/[id]/content/route.js +2 -2
  97. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/[id]/route.js +2 -2
  98. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/route.js +2 -2
  99. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/upload/route.js +2 -2
  100. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/auth/[...all]/route.js +2 -2
  101. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/[id]/route.js +2 -2
  102. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/route.js +2 -2
  103. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/[id]/route.js +2 -2
  104. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/reorder/route.js +2 -2
  105. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/route.js +2 -2
  106. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/config/min-version/route.js +2 -2
  107. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/config/model-options/route.js +2 -2
  108. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/active-task/route.js +2 -2
  109. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/[messageId]/route.js +2 -2
  110. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/route.js +2 -2
  111. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/init/route.js +2 -2
  112. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/messages/route.js +2 -2
  113. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/route.js +2 -2
  114. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/check-fresh/route.js +2 -2
  115. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/route.js +2 -2
  116. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/deregister/route.js +2 -2
  117. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/heartbeat/route.js +2 -2
  118. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/register/route.js +2 -2
  119. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/skills/sync/route.js +2 -2
  120. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/sweep/route.js +2 -2
  121. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/complete/route.js +4 -4
  122. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/fail/route.js +2 -2
  123. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/messages/route.js +2 -2
  124. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/progress/route.js +2 -2
  125. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/start/route.js +2 -2
  126. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/status/route.js +2 -2
  127. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/supersede/route.js +2 -2
  128. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/poll/route.js +2 -2
  129. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/workspace/report/route.js +2 -2
  130. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/attachment/[index]/route.js +2 -2
  131. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/body/route.js +2 -2
  132. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/raw/route.js +2 -2
  133. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/route.js +2 -2
  134. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/thread/route.js +2 -2
  135. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/route.js +2 -2
  136. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/send/route.js +2 -2
  137. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/upload/route.js +2 -2
  138. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/flags/[messageId]/route.js +2 -2
  139. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/flags/count/route.js +2 -2
  140. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/flags/route.js +2 -2
  141. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/count/route.js +2 -2
  142. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/read/route.js +2 -2
  143. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/read-all/route.js +2 -2
  144. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/route.js +2 -2
  145. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/invite/[token]/route.js +2 -2
  146. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/comments/route.js +2 -2
  147. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/route.js +2 -2
  148. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/route.js +2 -2
  149. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/machine-tokens/[id]/route.js +2 -2
  150. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/machine-tokens/route.js +2 -2
  151. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/me/route.js +2 -2
  152. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/meeting/callback/route.js +2 -2
  153. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/members/me/route.js +2 -2
  154. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/[runtimeId]/rescan/route.js +2 -2
  155. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/[runtimeId]/update/route.js +2 -2
  156. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/machine/route.js +2 -2
  157. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/route.js +2 -2
  158. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/check-handles/route.js +2 -2
  159. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/check-name/route.js +2 -2
  160. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/route.js +2 -2
  161. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/messages/route.js +2 -2
  162. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/retry/route.js +2 -2
  163. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/route.js +2 -2
  164. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/traces/[traceId]/route.js +2 -2
  165. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/traces/route.js +2 -2
  166. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/invites/[inviteId]/route.js +2 -2
  167. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/invites/route.js +2 -2
  168. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/members/[memberId]/route.js +2 -2
  169. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/members/route.js +2 -2
  170. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/overview/route.js +2 -2
  171. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/route.js +2 -2
  172. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/route.js +2 -2
  173. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/ws/token/route.js +2 -2
  174. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/device/page_client-reference-manifest.js +1 -1
  175. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page.js +2 -2
  176. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
  177. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  178. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page.js +2 -2
  179. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
  180. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page.js +2 -2
  181. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
  182. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/05hd_server_app_api_agents_[id]_meetings_[meetingId]_route_actions_0cjly6q.js +1 -1
  183. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/0e94_better-auth_dist_adapters_kysely-adapter_index_mjs_0nf4_d_._.js +3 -0
  184. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/0kwo_kysely_dist_esm_1144ys~._.js +1 -1
  185. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0-vzyo8._.js +3 -0
  186. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0-y1g0.._.js +3 -0
  187. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0.dfvh3._.js +3 -0
  188. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0.pstc1._.js +3 -0
  189. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__00_7~3~._.js +3 -0
  190. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{[root-of-the-server]__02vaexg._.js → [root-of-the-server]__00f946j._.js} +2 -2
  191. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{[root-of-the-server]__0ag85d7._.js → [root-of-the-server]__00gpm8y._.js} +2 -2
  192. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__01e67yh._.js +3 -0
  193. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__01z_y19._.js +3 -0
  194. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{[root-of-the-server]__0e5.bd.._.js → [root-of-the-server]__02np6j1._.js} +2 -2
  195. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__037rgtw._.js +3 -0
  196. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{[root-of-the-server]__0znsc-5._.js → [root-of-the-server]__03x664c._.js} +2 -2
  197. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{[root-of-the-server]__03lyetv._.js → [root-of-the-server]__05d~fq2._.js} +2 -2
  198. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{[root-of-the-server]__11ibz5l._.js → [root-of-the-server]__065un1t._.js} +2 -2
  199. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__077rvkk._.js +3 -0
  200. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__08.dwne._.js +3 -0
  201. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__081v-vn._.js +1 -1
  202. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__08cz5i-._.js +1 -1
  203. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__096oel-._.js +3 -0
  204. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{[root-of-the-server]__0zfnaqm._.js → [root-of-the-server]__09d-0v~._.js} +2 -2
  205. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__09s1i~7._.js +3 -0
  206. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0_1pk~d._.js +3 -0
  207. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0cnqzn4._.js +3 -0
  208. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0dlt9bt._.js +3 -0
  209. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0dpmc74._.js +3 -0
  210. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ezasi-._.js +3 -0
  211. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0g-xxhj._.js +3 -0
  212. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{[root-of-the-server]__0f.zn2l._.js → [root-of-the-server]__0g2f8es._.js} +2 -2
  213. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{[root-of-the-server]__0t19g8q._.js → [root-of-the-server]__0hd.yda._.js} +2 -2
  214. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0hgh92o._.js +1 -1
  215. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0i5dgp9._.js +3 -0
  216. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0inam0n._.js +3 -0
  217. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0k3bvwx._.js +3 -0
  218. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0kj5lg3._.js +3 -0
  219. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0kwlvx0._.js +3 -0
  220. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0m9332l._.js +3 -0
  221. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0mcp7fl._.js +1 -1
  222. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0nooc_b._.js +3 -0
  223. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0o_~d1v._.js +3 -0
  224. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0q6awek._.js +3 -0
  225. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0rf4yis._.js +3 -0
  226. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0rkdssk._.js +3 -0
  227. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0sj8dk9._.js +3 -0
  228. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0t74od3._.js +3 -0
  229. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0tn3f9a._.js +3 -0
  230. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0v-p92-._.js +3 -0
  231. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0v.0_p3._.js +3 -0
  232. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0vtwgq9._.js +3 -0
  233. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0w2.frb._.js +3 -0
  234. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0wfvng_._.js +3 -0
  235. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0y0yodd._.js +3 -0
  236. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0y79_77._.js +3 -0
  237. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0z-c1gu._.js +3 -0
  238. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0z_em0b._.js +3 -0
  239. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0zjmkhv._.js +3 -0
  240. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0zx18d8._.js +3 -0
  241. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0zx75nw._.js +3 -0
  242. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0~qneth._.js +3 -0
  243. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{[root-of-the-server]__0ts1pc-._.js → [root-of-the-server]__0~qx7w~._.js} +2 -2
  244. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__10i0.8d._.js +3 -0
  245. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__11ub2ix._.js +3 -0
  246. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__12nfiuw._.js +3 -0
  247. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__13_p2cf._.js +3 -0
  248. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__13c7pjf._.js +3 -0
  249. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__13p_aap._.js +3 -0
  250. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +124 -124
  251. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_07fngx6._.js → _0-1a4cl._.js} +10 -10
  252. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_10o45oq._.js → _0.t8mj.._.js} +2 -2
  253. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_075dawj._.js → _00clbi5._.js} +2 -2
  254. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0.jdc24._.js → _027kyge._.js} +2 -2
  255. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_08z61ff._.js → _03v84m~._.js} +2 -2
  256. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0fgxnp-._.js → _0422iyn._.js} +2 -2
  257. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0yqpi1q._.js → _05s89o0._.js} +2 -2
  258. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0l18cx1._.js → _064~~s0._.js} +2 -2
  259. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0sitmej._.js → _06wthys._.js} +2 -2
  260. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0so6rfm._.js → _07n_1wf._.js} +2 -2
  261. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0tm1yk4._.js → _089u_am._.js} +2 -2
  262. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0x-35b6._.js → _09yl_9p._.js} +2 -2
  263. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0zi.4ru._.js → _0_fhdqp._.js} +2 -2
  264. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0t3b.z3._.js → _0a3hhbw._.js} +2 -2
  265. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_02s8tjz._.js → _0eh60-_._.js} +2 -2
  266. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0t-zria._.js → _0f2yj1_._.js} +2 -2
  267. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0-gx7n5._.js → _0iiaqss._.js} +2 -2
  268. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0cbv1zs._.js → _0iu2v25._.js} +2 -2
  269. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0j0w3cr._.js → _0j22j5s._.js} +2 -2
  270. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0y._2j2._.js → _0j5oga0._.js} +2 -2
  271. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0ibfckn._.js → _0kcwicp._.js} +2 -2
  272. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0qs0p8p._.js → _0kfs6gu._.js} +2 -2
  273. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0md.i7f._.js → _0kk_ada._.js} +2 -2
  274. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0l93my8._.js → _0nzshkl._.js} +2 -2
  275. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0wuimg6._.js → _0p8t2cq._.js} +2 -2
  276. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0-w~.ku._.js → _0q_7t_c._.js} +2 -2
  277. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0ewxdg-._.js → _0qh5atg._.js} +2 -2
  278. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0kr0eic._.js → _0r4pg7i._.js} +2 -2
  279. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_01zmfff._.js → _0r7d~ex._.js} +2 -2
  280. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_06v_fxl._.js → _0s8~lcj._.js} +2 -2
  281. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0iw5zo7._.js → _0s9vk0i._.js} +2 -2
  282. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_01_yc2w._.js → _0t1vdvk._.js} +2 -2
  283. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0~xo5xv._.js → _0u976y8._.js} +2 -2
  284. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0bsxqxy._.js → _0v78k7n._.js} +2 -2
  285. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_03ukpt.._.js → _0w.4xbh._.js} +2 -2
  286. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_075s7e5._.js → _0wcirbf._.js} +2 -2
  287. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_023ukmc._.js → _0xbn-s9._.js} +2 -2
  288. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_126-72j._.js → _0xfvf8p._.js} +2 -2
  289. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0j7d~w5._.js → _0xjhix2._.js} +2 -2
  290. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0-4.xrj._.js → _0xsfb6w._.js} +10 -10
  291. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_12-f-m9._.js → _0y1jmbv._.js} +2 -2
  292. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0fck1ep._.js → _0yjsnc4._.js} +2 -2
  293. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0t.2oiw._.js → _0yzdqc1._.js} +2 -2
  294. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0vwnryu._.js → _0z378hv._.js} +2 -2
  295. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0bwop.1._.js → _0zhu~h5._.js} +2 -2
  296. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0trxkmj._.js → _0zyolvu._.js} +2 -2
  297. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_031s8iq._.js → _10m3m_r._.js} +2 -2
  298. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_0d7xo~t._.js → _12l3fe3._.js} +2 -2
  299. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{_05gock~._.js → _13sefqw._.js} +2 -2
  300. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/node_modules__pnpm_0idb3o2._.js +1 -1
  301. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/0e94_better-auth_dist_adapters_kysely-adapter_index_mjs_09_kbp5._.js +3 -0
  302. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0eps30g._.js → [root-of-the-server]__0-x5z.1._.js} +2 -2
  303. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__08-nw64._.js → [root-of-the-server]__02uhgmr._.js} +2 -2
  304. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__11tafcb._.js → [root-of-the-server]__055.nm-._.js} +2 -2
  305. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0u5z3bw._.js → [root-of-the-server]__0amr7o3._.js} +1 -1
  306. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0qvuf-b._.js → [root-of-the-server]__0i.ojnl._.js} +2 -2
  307. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__06vwwp8._.js → [root-of-the-server]__0rulxqh._.js} +2 -2
  308. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +124 -124
  309. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_081swi.._.js +3 -0
  310. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0vaznlb._.js → _0ckz8_m._.js} +1 -1
  311. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0tuyt-l._.js → _0e217r_._.js} +1 -1
  312. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_10r5my3._.js → _0oc-b49._.js} +1 -1
  313. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0wbrpcy._.js → _0ryz7_7._.js} +11 -11
  314. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0ulpkx0._.js → _0v378m.._.js} +11 -11
  315. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0~23g-y._.js +2 -2
  316. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_home_page_tsx_0lkx78f._.js +1 -1
  317. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_home_home-page_tsx_0to84tv._.js +1 -1
  318. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
  319. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +8 -8
  320. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
  321. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
  322. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +210 -210
  323. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +1055 -1055
  324. package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +3 -3
  325. package/package.json +1 -1
  326. package/bundled/web/.open-next/assets/_next/static/chunks/06hi5~bereg4n.js +0 -1
  327. package/bundled/web/.open-next/assets/_next/static/chunks/0bdljmevmff_7.css +0 -1
  328. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/04ac_better-auth_dist_adapters_kysely-adapter_index_mjs_0mwn_em._.js +0 -3
  329. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0-33u6h._.js +0 -3
  330. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0.333qh._.js +0 -3
  331. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0.xf19s._.js +0 -3
  332. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__01-ixva._.js +0 -3
  333. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__01nh0d8._.js +0 -3
  334. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__029kpb-._.js +0 -3
  335. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__05ytrtu._.js +0 -3
  336. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0622g2e._.js +0 -3
  337. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__07jgeqm._.js +0 -3
  338. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__07te~fi._.js +0 -3
  339. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__082ln.q._.js +0 -3
  340. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__08n.f66._.js +0 -3
  341. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__08z4le5._.js +0 -3
  342. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__09tptiv._.js +0 -3
  343. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0_z1.75._.js +0 -3
  344. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0adllbt._.js +0 -3
  345. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0av~m97._.js +0 -3
  346. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0c7or3d._.js +0 -3
  347. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0czpv86._.js +0 -3
  348. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ej_0.n._.js +0 -3
  349. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0eugyw4._.js +0 -3
  350. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0f.msc3._.js +0 -3
  351. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0f~b927._.js +0 -3
  352. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0g.v_e~._.js +0 -3
  353. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0i_s-tn._.js +0 -3
  354. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ie-dh6._.js +0 -3
  355. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0isx9v4._.js +0 -3
  356. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0jfpx0t._.js +0 -3
  357. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0kecp4v._.js +0 -3
  358. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0l5bwju._.js +0 -3
  359. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0m8~tah._.js +0 -3
  360. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0o8df~9._.js +0 -3
  361. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0oe1ee8._.js +0 -3
  362. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0qe.x8_._.js +0 -3
  363. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0rp.qg4._.js +0 -3
  364. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0s088ei._.js +0 -3
  365. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0se2n1d._.js +0 -3
  366. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0sgfrmp._.js +0 -3
  367. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0teeql7._.js +0 -3
  368. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ukwan.._.js +0 -3
  369. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0v9_xa7._.js +0 -3
  370. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0vh~3e7._.js +0 -3
  371. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0vnxqrc._.js +0 -3
  372. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0w9huxe._.js +0 -3
  373. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0yxbet~._.js +0 -3
  374. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ziw6-y._.js +0 -3
  375. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0~gl5v.._.js +0 -3
  376. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__11msq.p._.js +0 -3
  377. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__11ysuoh._.js +0 -3
  378. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__12.mrz8._.js +0 -3
  379. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__13q7_c4._.js +0 -3
  380. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/04ac_better-auth_dist_adapters_kysely-adapter_index_mjs_0dd_v1k._.js +0 -3
  381. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_10jei2g._.js +0 -3
  382. /package/bundled/web/.open-next/assets/_next/static/{NQHumUcZ7C8pGax6pzH01 → Q_0OGs3-VOTcpmfxKRir3}/_buildManifest.js +0 -0
  383. /package/bundled/web/.open-next/assets/_next/static/{NQHumUcZ7C8pGax6pzH01 → Q_0OGs3-VOTcpmfxKRir3}/_clientMiddlewareManifest.js +0 -0
  384. /package/bundled/web/.open-next/assets/_next/static/{NQHumUcZ7C8pGax6pzH01 → Q_0OGs3-VOTcpmfxKRir3}/_ssgManifest.js +0 -0
  385. /package/bundled/web/.open-next/cache/{NQHumUcZ7C8pGax6pzH01 → Q_0OGs3-VOTcpmfxKRir3}/robots.txt.cache +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[726089,e=>{"use strict";var t=e.i(170865);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function n(e,n,i){let r;try{let{env:a}=(0,t.getCloudflareContext)();r=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:n});if(o.ok)try{return{sent:(await o.json()).sent??0}}catch{return{sent:0}}s.warn("broadcast service-binding non-ok",{...i,status:o.status})}catch{}let o=r||a.DEV_WS_DO_URL,d=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:n});if(!d.ok)throw Error(`broadcast failed: ${d.status}`);try{return{sent:(await d.json()).sent??0}}catch{return{sent:0}}}e.s(["broadcastToDaemon",0,function(e,a){let s=n(`/broadcast/daemon/${e}`,JSON.stringify(a),{daemonId:e,type:a.type});try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(s.catch(()=>{}))}catch{}return s},"broadcastToUser",0,function(e,a){return function(e,a,s){let i=n(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(i.catch(()=>{}))}catch{}return i.then(()=>{})}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},555230,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(424166),n=e.i(740580),i=e.i(774078);e.s(["TaskPayloadBuilder",0,class{db;constructor(e){this.db=e}async buildFullPayloads(e,r){let o=e.filter(e=>e.type!==a.TASK_TYPES.KILL_TASK),d=[...new Set(o.map(e=>e.agentId))],[l,c,u]=d.length>0?await Promise.all([(0,i.cached)(i.cacheKeys.allAgents(r),300,()=>t.queries.agent.getAllAgentsForWorkspace(this.db,r)),(0,i.cached)(i.cacheKeys.allEmailAccounts(r),600,()=>t.queries.emailAccount.getAllEmailAccountsForWorkspace(this.db,r)),(0,i.cached)(i.cacheKeys.allColleagues(r),600,()=>t.queries.agentLink.getAllColleaguesForWorkspace(this.db,r)).catch(()=>[])]).then(([e,t,a])=>{let s=new Set(d);return[e.filter(e=>s.has(e.id)),t.filter(e=>s.has(e.agentId)),a.filter(e=>s.has(e.agentId))]}):[[],[],[]],h=new Map(l.map(e=>[e.id,e])),g=new Map;for(let e of c){let t=g.get(e.agentId)??[];t.push(e.emailAddress),g.set(e.agentId,t)}let m=new Map;for(let e of u){let t=m.get(e.agentId)??[];t.push(e),m.set(e.agentId,t)}let p=[...new Set(o.map(e=>e.conversationId).filter(Boolean))],w=new Map((p.length>0?await t.queries.conversation.getConversationsByIds(this.db,p,r):[]).map(e=>[e.id,e])),f=new Map,I=new Map,k=[];for(let o of e){if(o.type===a.TASK_TYPES.KILL_TASK){k.push({...(0,n.taskToResponse)(o),agent:null,sender:null});continue}let e=h.get(o.agentId)??null,d=[];if(e){e.emailHandle&&d.push(`${e.emailHandle}@alook.ai`);let t=g.get(e.id)??[];d.push(...t)}let l=e?.instructions??"";if(e?.ownerId){if(!f.has(e.ownerId)){let a=await (0,i.cached)(i.cacheKeys.member(r,e.ownerId),600,()=>t.queries.member.getMemberByUserAndWorkspace(this.db,e.ownerId,r));f.set(e.ownerId,a?{globalInstruction:a.globalInstruction}:null)}let a=f.get(e.ownerId);a?.globalInstruction&&(l=[a.globalInstruction,l].filter(Boolean).join("\n\n"))}let c=null;if(e?.ownerId){if(!I.has(e.ownerId)){let a=await (0,i.cached)(i.cacheKeys.user(e.ownerId),1800,()=>t.queries.user.getUser(this.db,e.ownerId));I.set(e.ownerId,a?{name:a.name,email:a.email}:null)}c=I.get(e.ownerId)?.name??null}let u=w.get(o.conversationId)??null,p=u?.channel??"default",T=null;if(o.type===a.TASK_TYPES.USER_DM_MESSAGE&&u?.userId){if(!I.has(u.userId)){let e=await (0,i.cached)(i.cacheKeys.user(u.userId),1800,()=>t.queries.user.getUser(this.db,u.userId));I.set(u.userId,e?{name:e.name,email:e.email}:null)}let a=I.get(u.userId);a&&(T={name:a.name,email:a.email,is_owner:u.userId===e?.ownerId})}let b=(m.get(o.agentId)??[]).map(e=>({name:e.name,email:e.emailHandle?(0,s.toAlookAddress)(e.emailHandle):"",description:e.description,instruction:e.instruction}));k.push({...(0,n.taskToResponse)(o),channel:p,sender:T,agent:e?{instructions:l,name:e.name,runtime_config:e.runtimeConfig||{},email_handle:e.emailHandle||null,email_addresses:d,user_email:null,user_name:c,colleagues:b}:null})}return k}}])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),n=e.i(726089),i=e.i(740580),r=e.i(774078),o=e.i(555230);let d=t.queries.task,l=t.queries.agent,c=t.queries.message,u=t.queries.conversation,h=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,n,i=a.TASK_TYPES.USER_DM_MESSAGE,o){let c=await l.getAgent(this.db,e,s);if(!c)throw Error("agent not found");if(!c.runtimeId)throw Error("agent has no runtime");if(o?.traceId&&o.parentTaskId&&await d.countTasksByTrace(this.db,o.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await d.createTask(this.db,{agentId:e,runtimeId:c.runtimeId,workspaceId:s,conversationId:t,prompt:n,type:i,contextKey:o?.contextKey??null,priority:0,context:o?.context,traceId:o?.traceId??null,parentTaskId:o?.parentTaskId??null});return(0,r.invalidate)(r.cacheKeys.activeTaskCounts(s)).catch(()=>{}),await this.pushTaskToDaemon(u,s).catch(()=>{}),u}async claimTask(e,t){let a=await l.getAgent(this.db,e,t);return this.claimTaskWithAgent(e,t,a)}async claimTaskWithAgent(e,t,a){if(!a)return null;if(await d.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await d.findSteerableReplacement(this.db,e,t);if(!s||await d.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await d.claimTask(this.db,e,t);return s?(await l.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await d.claimKillTasks(this.db,e,a,t),n=t-s.length,i=n>0?await d.listPendingTasksByRuntimes(this.db,e,a):[],r=new Set(e),o=new Set,c=[...s],u=[];for(let e of i){if(u.length>=n)break;let t=`${e.agentId}:${e.workspaceId}`;o.has(t)||(o.add(t),u.push(e))}if(0===u.length)return c;let h=[...new Set(u.map(e=>e.agentId))],g=new Map((await l.getAgentsByIds(this.db,h,a)).map(e=>[e.id,e]));for(let e of(await Promise.all(u.map(e=>this.claimTaskWithAgent(e.agentId,e.workspaceId,g.get(e.agentId)??null)))))e&&r.has(e.runtimeId)&&c.push(e);return c}async startTask(e,t){let a=await d.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let o;try{o=JSON.parse(a)}catch{o={raw:a}}let l=await d.completeTask(this.db,e,t,{result:o,sessionId:r||null});if(!l){let t=await d.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let h=o,g="string"==typeof h?.output?h.output:"";if(g){let a=await c.createMessage(this.db,{conversationId:l.conversationId,role:"assistant",content:g,taskId:e});try{let e=await u.getConversation(this.db,l.conversationId,t);e&&(0,n.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:l.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(l.agentId,l.workspaceId),await this.dispatchNextBufferedMessage(l.conversationId,l.workspaceId),l}async failTask(e,t,r){let o=await d.failTask(this.db,e,t,r);if(!o){let t=await d.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(o.type===a.TASK_TYPES.KILL_TASK)return o;if(r){let a=await c.createMessage(this.db,{conversationId:o.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e});try{let e=await u.getConversation(this.db,o.conversationId,t);e&&(0,n.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:o.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(o.agentId,o.workspaceId),await this.syncIssueStatusFromTask(o,"failed"),await this.dispatchNextBufferedMessage(o.conversationId,o.workspaceId),o}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await h.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await h.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let r=await c.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await u.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,n.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(r)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await d.supersedeTask(this.db,e,t);if(!a){let t=await d.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await d.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await d.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,i,r){let o=await d.getActiveTaskByConversation(this.db,e,i);if(!o)return null;let l=await d.cancelTask(this.db,o.id,i);if(!l)return null;if("dispatched"===o.status||"running"===o.status){let r=await d.createTask(this.db,{agentId:o.agentId,runtimeId:o.runtimeId,workspaceId:i,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:o.id}});await d.dispatchTaskById(this.db,r.id,i);let l=await t.queries.runtime.getAgentRuntime(this.db,o.runtimeId);l&&(0,n.broadcastToDaemon)(l.daemonId,{type:"daemon.kill",workspaceId:i,agentId:o.agentId,taskId:r.id,targetTaskId:o.id}).catch(e=>s.log.warn("daemon.kill broadcast failed, relying on poll fallback",e))}return await c.createMessage(this.db,{conversationId:e,role:"assistant",content:r?.reason??"Task cancelled by user",taskId:o.id}),await this.reconcileAgentStatus(o.agentId,i),r?.skipDispatch||await this.dispatchNextBufferedMessage(e,i),l}async reconcileAgentStatus(e,t){let a=await d.countRunningTasks(this.db,e,t);await l.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,r.invalidate)(r.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let r=await c.activateNextBufferedMessage(this.db,e);if(!r)return null;let o=await u.getConversation(this.db,e,t);if(!o)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await c.revertToBuffered(this.db,r.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:r.id,revertErr:e})}),null;let l=o.userId;try{let s=r.attachmentIds?JSON.parse(r.attachmentIds):[],u=await d.getLatestTaskForConversation(this.db,e),h=u?.traceId??null,g=await this.enqueueTask(o.agentId,e,t,r.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await c.updateMessageTaskId(this.db,r.id,g.id),(0,n.broadcastToUser)(l,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(r),task:(0,i.taskToResponse)(g)}).catch(()=>{}),g}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await c.revertToBuffered(this.db,r.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:r.id,revertErr:e})}),(0,n.broadcastToUser)(l,{type:"followup.dispatch_failed",conversationId:e,messageId:r.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let n of[...new Set((await d.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(n,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:n,err:t})}}async pushTaskToDaemon(e,a){let s=await t.queries.runtime.getAgentRuntime(this.db,e.runtimeId);if(!s)return;let i=await d.dispatchTaskById(this.db,e.id,a);if(!i)return;let r=new o.TaskPayloadBuilder(this.db),l=await r.buildFullPayloads([i],a);if(0===l.length)return void await d.revertDispatchedToQueued(this.db,e.id,a);try{let{sent:t}=await (0,n.broadcastToDaemon)(s.daemonId,{type:"daemon.tasks",tasks:l});0===t&&await d.revertDispatchedToQueued(this.db,e.id,a)}catch{await d.revertDispatchedToQueued(this.db,e.id,a)}}}])},897069,e=>{"use strict";var t=e.i(424166);e.s(["parsePromptMentions",0,function(e,a){if(!e||0===a.length)return{enrichedPrompt:e,mentions:[]};let s=a.slice().sort((e,t)=>t.name.length-e.name.length),n=[],i=[];for(let t=0;t<e.length;t++){if("@"!==e[t]||!function(e,t){if(0===t)return!0;let a=e.charCodeAt(t-1);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(e,t))continue;let a=t+1;for(let n of s){let s=a+n.name.length;if(!(s>e.length)&&e.slice(a,s).toLowerCase()===n.name.toLowerCase()&&function(e,t){if(t>=e.length)return!0;let a=e.charCodeAt(t);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(e,s)){if(i.some(e=>t>=e.start&&t<e.end))break;i.push({start:t,end:s,agent:n});break}}}let r=e;for(let e=i.length-1;e>=0;e--){let a=i[e],s={name:a.agent.name,email:a.agent.emailHandle?(0,t.toAlookAddress)(a.agent.emailHandle):null,description:a.agent.description};if(n.unshift(s),a.agent.emailHandle){let e=`@${a.agent.name} (${(0,t.toAlookAddress)(a.agent.emailHandle)})`;r=r.slice(0,a.start)+e+r.slice(a.end)}else r=r.slice(0,a.start)+`@${a.agent.name}`+r.slice(a.end)}return{enrichedPrompt:r,mentions:n}}])},56981,e=>{e.v(t=>Promise.all(["server/chunks/07mc_@better-auth_memory-adapter_dist_index_mjs_0736-hy._.js"].map(t=>e.l(t))).then(()=>t(665211)))},517780,e=>{e.v(t=>Promise.all(["server/chunks/04ac_better-auth_dist_adapters_kysely-adapter_index_mjs_0mwn_em._.js"].map(t=>e.l(t))).then(()=>t(369799)))},394293,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0vd~ts1._.js"].map(t=>e.l(t))).then(()=>t(359283)))},724281,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0z45rqy._.js"].map(t=>e.l(t))).then(()=>t(631543)))},862941,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_11aa~n_._.js"].map(t=>e.l(t))).then(()=>t(893029)))}];
1
+ module.exports=[726089,e=>{"use strict";var t=e.i(170865);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function n(e,n,i){let r;try{let{env:a}=(0,t.getCloudflareContext)();r=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:n});if(o.ok)try{return{sent:(await o.json()).sent??0}}catch{return{sent:0}}s.warn("broadcast service-binding non-ok",{...i,status:o.status})}catch{}let o=r||a.DEV_WS_DO_URL,d=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:n});if(!d.ok)throw Error(`broadcast failed: ${d.status}`);try{return{sent:(await d.json()).sent??0}}catch{return{sent:0}}}e.s(["broadcastToDaemon",0,function(e,a){let s=n(`/broadcast/daemon/${e}`,JSON.stringify(a),{daemonId:e,type:a.type});try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(s.catch(()=>{}))}catch{}return s},"broadcastToUser",0,function(e,a){return function(e,a,s){let i=n(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(i.catch(()=>{}))}catch{}return i.then(()=>{})}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},555230,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(424166),n=e.i(740580),i=e.i(774078);e.s(["TaskPayloadBuilder",0,class{db;constructor(e){this.db=e}async buildFullPayloads(e,r){let o=e.filter(e=>e.type!==a.TASK_TYPES.KILL_TASK),d=[...new Set(o.map(e=>e.agentId))],[l,c,u]=d.length>0?await Promise.all([(0,i.cached)(i.cacheKeys.allAgents(r),300,()=>t.queries.agent.getAllAgentsForWorkspace(this.db,r)),(0,i.cached)(i.cacheKeys.allEmailAccounts(r),600,()=>t.queries.emailAccount.getAllEmailAccountsForWorkspace(this.db,r)),(0,i.cached)(i.cacheKeys.allColleagues(r),600,()=>t.queries.agentLink.getAllColleaguesForWorkspace(this.db,r)).catch(()=>[])]).then(([e,t,a])=>{let s=new Set(d);return[e.filter(e=>s.has(e.id)),t.filter(e=>s.has(e.agentId)),a.filter(e=>s.has(e.agentId))]}):[[],[],[]],h=new Map(l.map(e=>[e.id,e])),g=new Map;for(let e of c){let t=g.get(e.agentId)??[];t.push(e.emailAddress),g.set(e.agentId,t)}let m=new Map;for(let e of u){let t=m.get(e.agentId)??[];t.push(e),m.set(e.agentId,t)}let p=[...new Set(o.map(e=>e.conversationId).filter(Boolean))],w=new Map((p.length>0?await t.queries.conversation.getConversationsByIds(this.db,p,r):[]).map(e=>[e.id,e])),f=new Map,I=new Map,k=[];for(let o of e){if(o.type===a.TASK_TYPES.KILL_TASK){k.push({...(0,n.taskToResponse)(o),agent:null,sender:null});continue}let e=h.get(o.agentId)??null,d=[];if(e){e.emailHandle&&d.push(`${e.emailHandle}@alook.ai`);let t=g.get(e.id)??[];d.push(...t)}let l=e?.instructions??"";if(e?.ownerId){if(!f.has(e.ownerId)){let a=await (0,i.cached)(i.cacheKeys.member(r,e.ownerId),600,()=>t.queries.member.getMemberByUserAndWorkspace(this.db,e.ownerId,r));f.set(e.ownerId,a?{globalInstruction:a.globalInstruction}:null)}let a=f.get(e.ownerId);a?.globalInstruction&&(l=[a.globalInstruction,l].filter(Boolean).join("\n\n"))}let c=null;if(e?.ownerId){if(!I.has(e.ownerId)){let a=await (0,i.cached)(i.cacheKeys.user(e.ownerId),1800,()=>t.queries.user.getUser(this.db,e.ownerId));I.set(e.ownerId,a?{name:a.name,email:a.email}:null)}c=I.get(e.ownerId)?.name??null}let u=w.get(o.conversationId)??null,p=u?.channel??"default",T=null;if(o.type===a.TASK_TYPES.USER_DM_MESSAGE&&u?.userId){if(!I.has(u.userId)){let e=await (0,i.cached)(i.cacheKeys.user(u.userId),1800,()=>t.queries.user.getUser(this.db,u.userId));I.set(u.userId,e?{name:e.name,email:e.email}:null)}let a=I.get(u.userId);a&&(T={name:a.name,email:a.email,is_owner:u.userId===e?.ownerId})}let b=(m.get(o.agentId)??[]).map(e=>({name:e.name,email:e.emailHandle?(0,s.toAlookAddress)(e.emailHandle):"",description:e.description,instruction:e.instruction}));k.push({...(0,n.taskToResponse)(o),channel:p,sender:T,agent:e?{instructions:l,name:e.name,runtime_config:e.runtimeConfig||{},email_handle:e.emailHandle||null,email_addresses:d,user_email:null,user_name:c,colleagues:b}:null})}return k}}])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),n=e.i(726089),i=e.i(740580),r=e.i(774078),o=e.i(555230);let d=t.queries.task,l=t.queries.agent,c=t.queries.message,u=t.queries.conversation,h=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,n,i=a.TASK_TYPES.USER_DM_MESSAGE,o){let c=await l.getAgent(this.db,e,s);if(!c)throw Error("agent not found");if(!c.runtimeId)throw Error("agent has no runtime");if(o?.traceId&&o.parentTaskId&&await d.countTasksByTrace(this.db,o.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await d.createTask(this.db,{agentId:e,runtimeId:c.runtimeId,workspaceId:s,conversationId:t,prompt:n,type:i,contextKey:o?.contextKey??null,priority:0,context:o?.context,traceId:o?.traceId??null,parentTaskId:o?.parentTaskId??null});return(0,r.invalidate)(r.cacheKeys.activeTaskCounts(s)).catch(()=>{}),await this.pushTaskToDaemon(u,s).catch(()=>{}),u}async claimTask(e,t){let a=await l.getAgent(this.db,e,t);return this.claimTaskWithAgent(e,t,a)}async claimTaskWithAgent(e,t,a){if(!a)return null;if(await d.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await d.findSteerableReplacement(this.db,e,t);if(!s||await d.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await d.claimTask(this.db,e,t);return s?(await l.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await d.claimKillTasks(this.db,e,a,t),n=t-s.length,i=n>0?await d.listPendingTasksByRuntimes(this.db,e,a):[],r=new Set(e),o=new Set,c=[...s],u=[];for(let e of i){if(u.length>=n)break;let t=`${e.agentId}:${e.workspaceId}`;o.has(t)||(o.add(t),u.push(e))}if(0===u.length)return c;let h=[...new Set(u.map(e=>e.agentId))],g=new Map((await l.getAgentsByIds(this.db,h,a)).map(e=>[e.id,e]));for(let e of(await Promise.all(u.map(e=>this.claimTaskWithAgent(e.agentId,e.workspaceId,g.get(e.agentId)??null)))))e&&r.has(e.runtimeId)&&c.push(e);return c}async startTask(e,t){let a=await d.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let o;try{o=JSON.parse(a)}catch{o={raw:a}}let l=await d.completeTask(this.db,e,t,{result:o,sessionId:r||null});if(!l){let t=await d.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let h=o,g="string"==typeof h?.output?h.output:"";if(g){let a=await c.createMessage(this.db,{conversationId:l.conversationId,role:"assistant",content:g,taskId:e});try{let e=await u.getConversation(this.db,l.conversationId,t);e&&(0,n.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:l.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(l.agentId,l.workspaceId),await this.dispatchNextBufferedMessage(l.conversationId,l.workspaceId),l}async failTask(e,t,r){let o=await d.failTask(this.db,e,t,r);if(!o){let t=await d.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(o.type===a.TASK_TYPES.KILL_TASK)return o;if(r){let a=await c.createMessage(this.db,{conversationId:o.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e});try{let e=await u.getConversation(this.db,o.conversationId,t);e&&(0,n.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:o.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(o.agentId,o.workspaceId),await this.syncIssueStatusFromTask(o,"failed"),await this.dispatchNextBufferedMessage(o.conversationId,o.workspaceId),o}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await h.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await h.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let r=await c.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await u.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,n.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(r)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await d.supersedeTask(this.db,e,t);if(!a){let t=await d.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await d.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await d.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,i,r){let o=await d.getActiveTaskByConversation(this.db,e,i);if(!o)return null;let l=await d.cancelTask(this.db,o.id,i);if(!l)return null;if("dispatched"===o.status||"running"===o.status){let r=await d.createTask(this.db,{agentId:o.agentId,runtimeId:o.runtimeId,workspaceId:i,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:o.id}});await d.dispatchTaskById(this.db,r.id,i);let l=await t.queries.runtime.getAgentRuntime(this.db,o.runtimeId);l&&(0,n.broadcastToDaemon)(l.daemonId,{type:"daemon.kill",workspaceId:i,agentId:o.agentId,taskId:r.id,targetTaskId:o.id}).catch(e=>s.log.warn("daemon.kill broadcast failed, relying on poll fallback",e))}return await c.createMessage(this.db,{conversationId:e,role:"assistant",content:r?.reason??"Task cancelled by user",taskId:o.id}),await this.reconcileAgentStatus(o.agentId,i),r?.skipDispatch||await this.dispatchNextBufferedMessage(e,i),l}async reconcileAgentStatus(e,t){let a=await d.countRunningTasks(this.db,e,t);await l.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,r.invalidate)(r.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let r=await c.activateNextBufferedMessage(this.db,e);if(!r)return null;let o=await u.getConversation(this.db,e,t);if(!o)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await c.revertToBuffered(this.db,r.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:r.id,revertErr:e})}),null;let l=o.userId;try{let s=r.attachmentIds?JSON.parse(r.attachmentIds):[],u=await d.getLatestTaskForConversation(this.db,e),h=u?.traceId??null,g=await this.enqueueTask(o.agentId,e,t,r.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await c.updateMessageTaskId(this.db,r.id,g.id),(0,n.broadcastToUser)(l,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(r),task:(0,i.taskToResponse)(g)}).catch(()=>{}),g}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await c.revertToBuffered(this.db,r.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:r.id,revertErr:e})}),(0,n.broadcastToUser)(l,{type:"followup.dispatch_failed",conversationId:e,messageId:r.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let n of[...new Set((await d.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(n,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:n,err:t})}}async pushTaskToDaemon(e,a){let s=await t.queries.runtime.getAgentRuntime(this.db,e.runtimeId);if(!s)return;let i=await d.dispatchTaskById(this.db,e.id,a);if(!i)return;let r=new o.TaskPayloadBuilder(this.db),l=await r.buildFullPayloads([i],a);if(0===l.length)return void await d.revertDispatchedToQueued(this.db,e.id,a);try{let{sent:t}=await (0,n.broadcastToDaemon)(s.daemonId,{type:"daemon.tasks",tasks:l});0===t&&await d.revertDispatchedToQueued(this.db,e.id,a)}catch{await d.revertDispatchedToQueued(this.db,e.id,a)}}}])},897069,e=>{"use strict";var t=e.i(424166);e.s(["parsePromptMentions",0,function(e,a){if(!e||0===a.length)return{enrichedPrompt:e,mentions:[]};let s=a.slice().sort((e,t)=>t.name.length-e.name.length),n=[],i=[];for(let t=0;t<e.length;t++){if("@"!==e[t]||!function(e,t){if(0===t)return!0;let a=e.charCodeAt(t-1);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(e,t))continue;let a=t+1;for(let n of s){let s=a+n.name.length;if(!(s>e.length)&&e.slice(a,s).toLowerCase()===n.name.toLowerCase()&&function(e,t){if(t>=e.length)return!0;let a=e.charCodeAt(t);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(e,s)){if(i.some(e=>t>=e.start&&t<e.end))break;i.push({start:t,end:s,agent:n});break}}}let r=e;for(let e=i.length-1;e>=0;e--){let a=i[e],s={name:a.agent.name,email:a.agent.emailHandle?(0,t.toAlookAddress)(a.agent.emailHandle):null,description:a.agent.description};if(n.unshift(s),a.agent.emailHandle){let e=`@${a.agent.name} (${(0,t.toAlookAddress)(a.agent.emailHandle)})`;r=r.slice(0,a.start)+e+r.slice(a.end)}else r=r.slice(0,a.start)+`@${a.agent.name}`+r.slice(a.end)}return{enrichedPrompt:r,mentions:n}}])},56981,e=>{e.v(t=>Promise.all(["server/chunks/07mc_@better-auth_memory-adapter_dist_index_mjs_0736-hy._.js"].map(t=>e.l(t))).then(()=>t(665211)))},534759,e=>{e.v(t=>Promise.all(["server/chunks/0e94_better-auth_dist_adapters_kysely-adapter_index_mjs_0nf4_d_._.js"].map(t=>e.l(t))).then(()=>t(458714)))},394293,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0vd~ts1._.js"].map(t=>e.l(t))).then(()=>t(359283)))},724281,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0z45rqy._.js"].map(t=>e.l(t))).then(()=>t(631543)))},862941,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_11aa~n_._.js"].map(t=>e.l(t))).then(()=>t(893029)))}];
2
2
 
3
- //# sourceMappingURL=_0x-35b6._.js.map
3
+ //# sourceMappingURL=_09yl_9p._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[310722,e=>e.a(async(t,a)=>{try{var r=e.i(170865);e.i(700598);var n=e.i(291109),i=e.i(675139),s=e.i(152327),o=e.i(47962),l=e.i(776227),d=e.i(740580),u=t([s]);[s]=u.then?(await u)():u;let c=(0,s.withAuth)(async(e,t)=>{let a=await (0,o.withWorkspaceOwner)(e,t);if(a instanceof Response)return a;let{env:s}=await (0,r.getCloudflareContext)({async:!0}),u=(0,i.getDb)(s.DB),c=await n.queries.workspaceInvite.listActiveInvites(u,a.workspaceId);return(0,l.writeJSON)(c.map(d.inviteToResponse))}),p=(0,s.withAuth)(async(e,t)=>{let a=await (0,o.withWorkspaceOwner)(e,t);if(a instanceof Response)return a;let{env:s}=await (0,r.getCloudflareContext)({async:!0}),u=(0,i.getDb)(s.DB),c=new Date(Date.now()+6048e5).toISOString(),p=await n.queries.workspaceInvite.createInvite(u,{workspaceId:a.workspaceId,createdBy:t.userId,expiresAt:c});return(0,l.writeJSON)((0,d.inviteToResponse)(p),201)});e.s(["GET",0,c,"POST",0,p]),a()}catch(e){a(e)}},!1),334987,e=>e.a(async(t,a)=>{try{var r=e.i(80774),n=e.i(404478),i=e.i(732985),s=e.i(481671),o=e.i(638081),l=e.i(204960),d=e.i(924918),u=e.i(363585),c=e.i(906846),p=e.i(359838),h=e.i(383303),v=e.i(234173),w=e.i(270215),R=e.i(830665),_=e.i(944002),m=e.i(193695);e.i(195928);var g=e.i(81543),y=e.i(310722),f=t([y]);[y]=f.then?(await f)():f;let E=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/workspaces/[id]/invites/route",pathname:"/api/workspaces/[id]/invites",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/workspaces/[id]/invites/route.ts",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:x,workUnitAsyncStorage:A,serverHooks:k}=E;async function C(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/workspaces/[id]/invites/route";r=r.replace(/\/index$/,"")||"/";let i=await E.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:f,params:C,nextConfig:x,parsedUrl:A,isDraftMode:k,prerenderManifest:b,routerServerContext:P,isOnDemandRevalidate:T,revalidateOnlyGenerated:N,resolvedPathname:O,clientReferenceManifest:S,serverActionsManifest:I}=i,q=(0,d.normalizeAppPath)(r),D=!!(b.dynamicRoutes[q]||b.routes[O]),j=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,A,!1):t.end("This page could not be found"),null);if(D&&!k){let e=!!b.routes[O],t=b.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(x.adapterPath)return await j();throw new m.NoFallbackError}}let H=null;!D||E.isDev||k||(H=O,H="/index"===H?"/":H);let U=!0===E.isDev||!D,M=D&&!U;I&&S&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:S,serverActionsManifest:I});let B=e.method||"GET",$=(0,o.getTracer)(),F=$.getActiveScopeSpan(),K=!!(null==P?void 0:P.isWrappedByNextServer),L=!!(0,s.getRequestMeta)(e,"minimalMode"),W=(0,s.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,x,b,L);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let G={params:C,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:x.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>E.onRequestError(e,t,r,n,P)},sharedContext:{buildId:y,deploymentId:f}},V=new u.NodeNextRequest(e),X=new u.NodeNextResponse(t),z=c.NextRequestAdapter.fromNodeNextRequest(V,(0,c.signalFromNodeResponse)(t));try{let i,s=async e=>E.handle(z,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=$.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${B} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",n),i.updateName(t))}else e.updateName(`${B} ${r}`)}),l=async i=>{var o,l;let d=async({previousCacheEntry:n})=>{try{if(!L&&T&&N&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await s(i);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!D)return await (0,v.sendResponse)(V,X,r,G.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(r.headers);l&&(t[_.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=_.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=_.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,P),t}},u=await E.handleResponse({req:e,nextConfig:x,cacheKey:H,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:N,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:L});if(!D)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",T?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,w.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&D||c.delete(_.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,R.getCacheControlHeader)(u.cacheControl)),await (0,v.sendResponse)(V,X,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};K&&F?await l(F):(i=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},l),void 0,!K))}catch(t){if(t instanceof m.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,P),D)throw t;return await (0,v.sendResponse)(V,X,new Response(null,{status:500})),null}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:A})},"routeModule",0,E,"serverHooks",0,k,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,A]),a()}catch(e){a(e)}},!1),56981,e=>{e.v(t=>Promise.all(["server/chunks/07mc_@better-auth_memory-adapter_dist_index_mjs_0736-hy._.js"].map(t=>e.l(t))).then(()=>t(665211)))},517780,e=>{e.v(t=>Promise.all(["server/chunks/04ac_better-auth_dist_adapters_kysely-adapter_index_mjs_0mwn_em._.js"].map(t=>e.l(t))).then(()=>t(369799)))},394293,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0vd~ts1._.js"].map(t=>e.l(t))).then(()=>t(359283)))},724281,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0z45rqy._.js"].map(t=>e.l(t))).then(()=>t(631543)))},862941,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_11aa~n_._.js"].map(t=>e.l(t))).then(()=>t(893029)))}];
1
+ module.exports=[310722,e=>e.a(async(t,a)=>{try{var r=e.i(170865);e.i(700598);var n=e.i(291109),i=e.i(675139),s=e.i(152327),o=e.i(47962),l=e.i(776227),d=e.i(740580),u=t([s]);[s]=u.then?(await u)():u;let c=(0,s.withAuth)(async(e,t)=>{let a=await (0,o.withWorkspaceOwner)(e,t);if(a instanceof Response)return a;let{env:s}=await (0,r.getCloudflareContext)({async:!0}),u=(0,i.getDb)(s.DB),c=await n.queries.workspaceInvite.listActiveInvites(u,a.workspaceId);return(0,l.writeJSON)(c.map(d.inviteToResponse))}),p=(0,s.withAuth)(async(e,t)=>{let a=await (0,o.withWorkspaceOwner)(e,t);if(a instanceof Response)return a;let{env:s}=await (0,r.getCloudflareContext)({async:!0}),u=(0,i.getDb)(s.DB),c=new Date(Date.now()+6048e5).toISOString(),p=await n.queries.workspaceInvite.createInvite(u,{workspaceId:a.workspaceId,createdBy:t.userId,expiresAt:c});return(0,l.writeJSON)((0,d.inviteToResponse)(p),201)});e.s(["GET",0,c,"POST",0,p]),a()}catch(e){a(e)}},!1),334987,e=>e.a(async(t,a)=>{try{var r=e.i(80774),n=e.i(404478),i=e.i(732985),s=e.i(481671),o=e.i(638081),l=e.i(204960),d=e.i(924918),u=e.i(363585),c=e.i(906846),p=e.i(359838),h=e.i(383303),v=e.i(234173),w=e.i(270215),R=e.i(830665),_=e.i(944002),m=e.i(193695);e.i(195928);var g=e.i(81543),f=e.i(310722),y=t([f]);[f]=y.then?(await y)():y;let E=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/workspaces/[id]/invites/route",pathname:"/api/workspaces/[id]/invites",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/workspaces/[id]/invites/route.ts",nextConfigOutput:"standalone",userland:f,...{}}),{workAsyncStorage:x,workUnitAsyncStorage:A,serverHooks:k}=E;async function C(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/workspaces/[id]/invites/route";r=r.replace(/\/index$/,"")||"/";let i=await E.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:f,deploymentId:y,params:C,nextConfig:x,parsedUrl:A,isDraftMode:k,prerenderManifest:b,routerServerContext:P,isOnDemandRevalidate:T,revalidateOnlyGenerated:N,resolvedPathname:O,clientReferenceManifest:S,serverActionsManifest:I}=i,q=(0,d.normalizeAppPath)(r),D=!!(b.dynamicRoutes[q]||b.routes[O]),j=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,A,!1):t.end("This page could not be found"),null);if(D&&!k){let e=!!b.routes[O],t=b.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(x.adapterPath)return await j();throw new m.NoFallbackError}}let H=null;!D||E.isDev||k||(H=O,H="/index"===H?"/":H);let U=!0===E.isDev||!D,M=D&&!U;I&&S&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:S,serverActionsManifest:I});let B=e.method||"GET",$=(0,o.getTracer)(),F=$.getActiveScopeSpan(),K=!!(null==P?void 0:P.isWrappedByNextServer),L=!!(0,s.getRequestMeta)(e,"minimalMode"),W=(0,s.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,x,b,L);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let G={params:C,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:x.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>E.onRequestError(e,t,r,n,P)},sharedContext:{buildId:f,deploymentId:y}},V=new u.NodeNextRequest(e),X=new u.NodeNextResponse(t),z=c.NextRequestAdapter.fromNodeNextRequest(V,(0,c.signalFromNodeResponse)(t));try{let i,s=async e=>E.handle(z,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=$.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${B} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",n),i.updateName(t))}else e.updateName(`${B} ${r}`)}),l=async i=>{var o,l;let d=async({previousCacheEntry:n})=>{try{if(!L&&T&&N&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await s(i);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!D)return await (0,v.sendResponse)(V,X,r,G.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(r.headers);l&&(t[_.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=_.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=_.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,P),t}},u=await E.handleResponse({req:e,nextConfig:x,cacheKey:H,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:N,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:L});if(!D)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",T?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,w.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&D||c.delete(_.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,R.getCacheControlHeader)(u.cacheControl)),await (0,v.sendResponse)(V,X,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};K&&F?await l(F):(i=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},l),void 0,!K))}catch(t){if(t instanceof m.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,P),D)throw t;return await (0,v.sendResponse)(V,X,new Response(null,{status:500})),null}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:A})},"routeModule",0,E,"serverHooks",0,k,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,A]),a()}catch(e){a(e)}},!1),56981,e=>{e.v(t=>Promise.all(["server/chunks/07mc_@better-auth_memory-adapter_dist_index_mjs_0736-hy._.js"].map(t=>e.l(t))).then(()=>t(665211)))},534759,e=>{e.v(t=>Promise.all(["server/chunks/0e94_better-auth_dist_adapters_kysely-adapter_index_mjs_0nf4_d_._.js"].map(t=>e.l(t))).then(()=>t(458714)))},394293,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0vd~ts1._.js"].map(t=>e.l(t))).then(()=>t(359283)))},724281,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0z45rqy._.js"].map(t=>e.l(t))).then(()=>t(631543)))},862941,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_11aa~n_._.js"].map(t=>e.l(t))).then(()=>t(893029)))}];
2
2
 
3
- //# sourceMappingURL=_0zi.4ru._.js.map
3
+ //# sourceMappingURL=_0_fhdqp._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[726089,e=>{"use strict";var t=e.i(170865);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function n(e,n,i){let r;try{let{env:a}=(0,t.getCloudflareContext)();r=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:n});if(o.ok)try{return{sent:(await o.json()).sent??0}}catch{return{sent:0}}s.warn("broadcast service-binding non-ok",{...i,status:o.status})}catch{}let o=r||a.DEV_WS_DO_URL,d=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:n});if(!d.ok)throw Error(`broadcast failed: ${d.status}`);try{return{sent:(await d.json()).sent??0}}catch{return{sent:0}}}e.s(["broadcastToDaemon",0,function(e,a){let s=n(`/broadcast/daemon/${e}`,JSON.stringify(a),{daemonId:e,type:a.type});try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(s.catch(()=>{}))}catch{}return s},"broadcastToUser",0,function(e,a){return function(e,a,s){let i=n(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(i.catch(()=>{}))}catch{}return i.then(()=>{})}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},555230,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(424166),n=e.i(740580),i=e.i(774078);e.s(["TaskPayloadBuilder",0,class{db;constructor(e){this.db=e}async buildFullPayloads(e,r){let o=e.filter(e=>e.type!==a.TASK_TYPES.KILL_TASK),d=[...new Set(o.map(e=>e.agentId))],[l,c,u]=d.length>0?await Promise.all([(0,i.cached)(i.cacheKeys.allAgents(r),300,()=>t.queries.agent.getAllAgentsForWorkspace(this.db,r)),(0,i.cached)(i.cacheKeys.allEmailAccounts(r),600,()=>t.queries.emailAccount.getAllEmailAccountsForWorkspace(this.db,r)),(0,i.cached)(i.cacheKeys.allColleagues(r),600,()=>t.queries.agentLink.getAllColleaguesForWorkspace(this.db,r)).catch(()=>[])]).then(([e,t,a])=>{let s=new Set(d);return[e.filter(e=>s.has(e.id)),t.filter(e=>s.has(e.agentId)),a.filter(e=>s.has(e.agentId))]}):[[],[],[]],h=new Map(l.map(e=>[e.id,e])),g=new Map;for(let e of c){let t=g.get(e.agentId)??[];t.push(e.emailAddress),g.set(e.agentId,t)}let m=new Map;for(let e of u){let t=m.get(e.agentId)??[];t.push(e),m.set(e.agentId,t)}let p=[...new Set(o.map(e=>e.conversationId).filter(Boolean))],w=new Map((p.length>0?await t.queries.conversation.getConversationsByIds(this.db,p,r):[]).map(e=>[e.id,e])),f=new Map,I=new Map,k=[];for(let o of e){if(o.type===a.TASK_TYPES.KILL_TASK){k.push({...(0,n.taskToResponse)(o),agent:null,sender:null});continue}let e=h.get(o.agentId)??null,d=[];if(e){e.emailHandle&&d.push(`${e.emailHandle}@alook.ai`);let t=g.get(e.id)??[];d.push(...t)}let l=e?.instructions??"";if(e?.ownerId){if(!f.has(e.ownerId)){let a=await (0,i.cached)(i.cacheKeys.member(r,e.ownerId),600,()=>t.queries.member.getMemberByUserAndWorkspace(this.db,e.ownerId,r));f.set(e.ownerId,a?{globalInstruction:a.globalInstruction}:null)}let a=f.get(e.ownerId);a?.globalInstruction&&(l=[a.globalInstruction,l].filter(Boolean).join("\n\n"))}let c=null;if(e?.ownerId){if(!I.has(e.ownerId)){let a=await (0,i.cached)(i.cacheKeys.user(e.ownerId),1800,()=>t.queries.user.getUser(this.db,e.ownerId));I.set(e.ownerId,a?{name:a.name,email:a.email}:null)}c=I.get(e.ownerId)?.name??null}let u=w.get(o.conversationId)??null,p=u?.channel??"default",T=null;if(o.type===a.TASK_TYPES.USER_DM_MESSAGE&&u?.userId){if(!I.has(u.userId)){let e=await (0,i.cached)(i.cacheKeys.user(u.userId),1800,()=>t.queries.user.getUser(this.db,u.userId));I.set(u.userId,e?{name:e.name,email:e.email}:null)}let a=I.get(u.userId);a&&(T={name:a.name,email:a.email,is_owner:u.userId===e?.ownerId})}let b=(m.get(o.agentId)??[]).map(e=>({name:e.name,email:e.emailHandle?(0,s.toAlookAddress)(e.emailHandle):"",description:e.description,instruction:e.instruction}));k.push({...(0,n.taskToResponse)(o),channel:p,sender:T,agent:e?{instructions:l,name:e.name,runtime_config:e.runtimeConfig||{},email_handle:e.emailHandle||null,email_addresses:d,user_email:null,user_name:c,colleagues:b}:null})}return k}}])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),n=e.i(726089),i=e.i(740580),r=e.i(774078),o=e.i(555230);let d=t.queries.task,l=t.queries.agent,c=t.queries.message,u=t.queries.conversation,h=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,n,i=a.TASK_TYPES.USER_DM_MESSAGE,o){let c=await l.getAgent(this.db,e,s);if(!c)throw Error("agent not found");if(!c.runtimeId)throw Error("agent has no runtime");if(o?.traceId&&o.parentTaskId&&await d.countTasksByTrace(this.db,o.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await d.createTask(this.db,{agentId:e,runtimeId:c.runtimeId,workspaceId:s,conversationId:t,prompt:n,type:i,contextKey:o?.contextKey??null,priority:0,context:o?.context,traceId:o?.traceId??null,parentTaskId:o?.parentTaskId??null});return(0,r.invalidate)(r.cacheKeys.activeTaskCounts(s)).catch(()=>{}),await this.pushTaskToDaemon(u,s).catch(()=>{}),u}async claimTask(e,t){let a=await l.getAgent(this.db,e,t);return this.claimTaskWithAgent(e,t,a)}async claimTaskWithAgent(e,t,a){if(!a)return null;if(await d.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await d.findSteerableReplacement(this.db,e,t);if(!s||await d.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await d.claimTask(this.db,e,t);return s?(await l.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await d.claimKillTasks(this.db,e,a,t),n=t-s.length,i=n>0?await d.listPendingTasksByRuntimes(this.db,e,a):[],r=new Set(e),o=new Set,c=[...s],u=[];for(let e of i){if(u.length>=n)break;let t=`${e.agentId}:${e.workspaceId}`;o.has(t)||(o.add(t),u.push(e))}if(0===u.length)return c;let h=[...new Set(u.map(e=>e.agentId))],g=new Map((await l.getAgentsByIds(this.db,h,a)).map(e=>[e.id,e]));for(let e of(await Promise.all(u.map(e=>this.claimTaskWithAgent(e.agentId,e.workspaceId,g.get(e.agentId)??null)))))e&&r.has(e.runtimeId)&&c.push(e);return c}async startTask(e,t){let a=await d.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let o;try{o=JSON.parse(a)}catch{o={raw:a}}let l=await d.completeTask(this.db,e,t,{result:o,sessionId:r||null});if(!l){let t=await d.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let h=o,g="string"==typeof h?.output?h.output:"";if(g){let a=await c.createMessage(this.db,{conversationId:l.conversationId,role:"assistant",content:g,taskId:e});try{let e=await u.getConversation(this.db,l.conversationId,t);e&&(0,n.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:l.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(l.agentId,l.workspaceId),await this.dispatchNextBufferedMessage(l.conversationId,l.workspaceId),l}async failTask(e,t,r){let o=await d.failTask(this.db,e,t,r);if(!o){let t=await d.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(o.type===a.TASK_TYPES.KILL_TASK)return o;if(r){let a=await c.createMessage(this.db,{conversationId:o.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e});try{let e=await u.getConversation(this.db,o.conversationId,t);e&&(0,n.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:o.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(o.agentId,o.workspaceId),await this.syncIssueStatusFromTask(o,"failed"),await this.dispatchNextBufferedMessage(o.conversationId,o.workspaceId),o}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await h.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await h.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let r=await c.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await u.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,n.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(r)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await d.supersedeTask(this.db,e,t);if(!a){let t=await d.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await d.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await d.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,i,r){let o=await d.getActiveTaskByConversation(this.db,e,i);if(!o)return null;let l=await d.cancelTask(this.db,o.id,i);if(!l)return null;if("dispatched"===o.status||"running"===o.status){let r=await d.createTask(this.db,{agentId:o.agentId,runtimeId:o.runtimeId,workspaceId:i,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:o.id}});await d.dispatchTaskById(this.db,r.id,i);let l=await t.queries.runtime.getAgentRuntime(this.db,o.runtimeId);l&&(0,n.broadcastToDaemon)(l.daemonId,{type:"daemon.kill",workspaceId:i,agentId:o.agentId,taskId:r.id,targetTaskId:o.id}).catch(e=>s.log.warn("daemon.kill broadcast failed, relying on poll fallback",e))}return await c.createMessage(this.db,{conversationId:e,role:"assistant",content:r?.reason??"Task cancelled by user",taskId:o.id}),await this.reconcileAgentStatus(o.agentId,i),r?.skipDispatch||await this.dispatchNextBufferedMessage(e,i),l}async reconcileAgentStatus(e,t){let a=await d.countRunningTasks(this.db,e,t);await l.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,r.invalidate)(r.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let r=await c.activateNextBufferedMessage(this.db,e);if(!r)return null;let o=await u.getConversation(this.db,e,t);if(!o)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await c.revertToBuffered(this.db,r.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:r.id,revertErr:e})}),null;let l=o.userId;try{let s=r.attachmentIds?JSON.parse(r.attachmentIds):[],u=await d.getLatestTaskForConversation(this.db,e),h=u?.traceId??null,g=await this.enqueueTask(o.agentId,e,t,r.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await c.updateMessageTaskId(this.db,r.id,g.id),(0,n.broadcastToUser)(l,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(r),task:(0,i.taskToResponse)(g)}).catch(()=>{}),g}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await c.revertToBuffered(this.db,r.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:r.id,revertErr:e})}),(0,n.broadcastToUser)(l,{type:"followup.dispatch_failed",conversationId:e,messageId:r.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let n of[...new Set((await d.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(n,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:n,err:t})}}async pushTaskToDaemon(e,a){let s=await t.queries.runtime.getAgentRuntime(this.db,e.runtimeId);if(!s)return;let i=await d.dispatchTaskById(this.db,e.id,a);if(!i)return;let r=new o.TaskPayloadBuilder(this.db),l=await r.buildFullPayloads([i],a);if(0===l.length)return void await d.revertDispatchedToQueued(this.db,e.id,a);try{let{sent:t}=await (0,n.broadcastToDaemon)(s.daemonId,{type:"daemon.tasks",tasks:l});0===t&&await d.revertDispatchedToQueued(this.db,e.id,a)}catch{await d.revertDispatchedToQueued(this.db,e.id,a)}}}])},897069,e=>{"use strict";var t=e.i(424166);e.s(["parsePromptMentions",0,function(e,a){if(!e||0===a.length)return{enrichedPrompt:e,mentions:[]};let s=a.slice().sort((e,t)=>t.name.length-e.name.length),n=[],i=[];for(let t=0;t<e.length;t++){if("@"!==e[t]||!function(e,t){if(0===t)return!0;let a=e.charCodeAt(t-1);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(e,t))continue;let a=t+1;for(let n of s){let s=a+n.name.length;if(!(s>e.length)&&e.slice(a,s).toLowerCase()===n.name.toLowerCase()&&function(e,t){if(t>=e.length)return!0;let a=e.charCodeAt(t);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(e,s)){if(i.some(e=>t>=e.start&&t<e.end))break;i.push({start:t,end:s,agent:n});break}}}let r=e;for(let e=i.length-1;e>=0;e--){let a=i[e],s={name:a.agent.name,email:a.agent.emailHandle?(0,t.toAlookAddress)(a.agent.emailHandle):null,description:a.agent.description};if(n.unshift(s),a.agent.emailHandle){let e=`@${a.agent.name} (${(0,t.toAlookAddress)(a.agent.emailHandle)})`;r=r.slice(0,a.start)+e+r.slice(a.end)}else r=r.slice(0,a.start)+`@${a.agent.name}`+r.slice(a.end)}return{enrichedPrompt:r,mentions:n}}])},56981,e=>{e.v(t=>Promise.all(["server/chunks/07mc_@better-auth_memory-adapter_dist_index_mjs_0736-hy._.js"].map(t=>e.l(t))).then(()=>t(665211)))},517780,e=>{e.v(t=>Promise.all(["server/chunks/04ac_better-auth_dist_adapters_kysely-adapter_index_mjs_0mwn_em._.js"].map(t=>e.l(t))).then(()=>t(369799)))},394293,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0vd~ts1._.js"].map(t=>e.l(t))).then(()=>t(359283)))},724281,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0z45rqy._.js"].map(t=>e.l(t))).then(()=>t(631543)))},862941,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_11aa~n_._.js"].map(t=>e.l(t))).then(()=>t(893029)))}];
1
+ module.exports=[726089,e=>{"use strict";var t=e.i(170865);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function n(e,n,i){let r;try{let{env:a}=(0,t.getCloudflareContext)();r=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:n});if(o.ok)try{return{sent:(await o.json()).sent??0}}catch{return{sent:0}}s.warn("broadcast service-binding non-ok",{...i,status:o.status})}catch{}let o=r||a.DEV_WS_DO_URL,d=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:n});if(!d.ok)throw Error(`broadcast failed: ${d.status}`);try{return{sent:(await d.json()).sent??0}}catch{return{sent:0}}}e.s(["broadcastToDaemon",0,function(e,a){let s=n(`/broadcast/daemon/${e}`,JSON.stringify(a),{daemonId:e,type:a.type});try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(s.catch(()=>{}))}catch{}return s},"broadcastToUser",0,function(e,a){return function(e,a,s){let i=n(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(i.catch(()=>{}))}catch{}return i.then(()=>{})}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},555230,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(424166),n=e.i(740580),i=e.i(774078);e.s(["TaskPayloadBuilder",0,class{db;constructor(e){this.db=e}async buildFullPayloads(e,r){let o=e.filter(e=>e.type!==a.TASK_TYPES.KILL_TASK),d=[...new Set(o.map(e=>e.agentId))],[l,c,u]=d.length>0?await Promise.all([(0,i.cached)(i.cacheKeys.allAgents(r),300,()=>t.queries.agent.getAllAgentsForWorkspace(this.db,r)),(0,i.cached)(i.cacheKeys.allEmailAccounts(r),600,()=>t.queries.emailAccount.getAllEmailAccountsForWorkspace(this.db,r)),(0,i.cached)(i.cacheKeys.allColleagues(r),600,()=>t.queries.agentLink.getAllColleaguesForWorkspace(this.db,r)).catch(()=>[])]).then(([e,t,a])=>{let s=new Set(d);return[e.filter(e=>s.has(e.id)),t.filter(e=>s.has(e.agentId)),a.filter(e=>s.has(e.agentId))]}):[[],[],[]],h=new Map(l.map(e=>[e.id,e])),g=new Map;for(let e of c){let t=g.get(e.agentId)??[];t.push(e.emailAddress),g.set(e.agentId,t)}let m=new Map;for(let e of u){let t=m.get(e.agentId)??[];t.push(e),m.set(e.agentId,t)}let p=[...new Set(o.map(e=>e.conversationId).filter(Boolean))],w=new Map((p.length>0?await t.queries.conversation.getConversationsByIds(this.db,p,r):[]).map(e=>[e.id,e])),f=new Map,I=new Map,k=[];for(let o of e){if(o.type===a.TASK_TYPES.KILL_TASK){k.push({...(0,n.taskToResponse)(o),agent:null,sender:null});continue}let e=h.get(o.agentId)??null,d=[];if(e){e.emailHandle&&d.push(`${e.emailHandle}@alook.ai`);let t=g.get(e.id)??[];d.push(...t)}let l=e?.instructions??"";if(e?.ownerId){if(!f.has(e.ownerId)){let a=await (0,i.cached)(i.cacheKeys.member(r,e.ownerId),600,()=>t.queries.member.getMemberByUserAndWorkspace(this.db,e.ownerId,r));f.set(e.ownerId,a?{globalInstruction:a.globalInstruction}:null)}let a=f.get(e.ownerId);a?.globalInstruction&&(l=[a.globalInstruction,l].filter(Boolean).join("\n\n"))}let c=null;if(e?.ownerId){if(!I.has(e.ownerId)){let a=await (0,i.cached)(i.cacheKeys.user(e.ownerId),1800,()=>t.queries.user.getUser(this.db,e.ownerId));I.set(e.ownerId,a?{name:a.name,email:a.email}:null)}c=I.get(e.ownerId)?.name??null}let u=w.get(o.conversationId)??null,p=u?.channel??"default",T=null;if(o.type===a.TASK_TYPES.USER_DM_MESSAGE&&u?.userId){if(!I.has(u.userId)){let e=await (0,i.cached)(i.cacheKeys.user(u.userId),1800,()=>t.queries.user.getUser(this.db,u.userId));I.set(u.userId,e?{name:e.name,email:e.email}:null)}let a=I.get(u.userId);a&&(T={name:a.name,email:a.email,is_owner:u.userId===e?.ownerId})}let b=(m.get(o.agentId)??[]).map(e=>({name:e.name,email:e.emailHandle?(0,s.toAlookAddress)(e.emailHandle):"",description:e.description,instruction:e.instruction}));k.push({...(0,n.taskToResponse)(o),channel:p,sender:T,agent:e?{instructions:l,name:e.name,runtime_config:e.runtimeConfig||{},email_handle:e.emailHandle||null,email_addresses:d,user_email:null,user_name:c,colleagues:b}:null})}return k}}])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),n=e.i(726089),i=e.i(740580),r=e.i(774078),o=e.i(555230);let d=t.queries.task,l=t.queries.agent,c=t.queries.message,u=t.queries.conversation,h=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,n,i=a.TASK_TYPES.USER_DM_MESSAGE,o){let c=await l.getAgent(this.db,e,s);if(!c)throw Error("agent not found");if(!c.runtimeId)throw Error("agent has no runtime");if(o?.traceId&&o.parentTaskId&&await d.countTasksByTrace(this.db,o.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await d.createTask(this.db,{agentId:e,runtimeId:c.runtimeId,workspaceId:s,conversationId:t,prompt:n,type:i,contextKey:o?.contextKey??null,priority:0,context:o?.context,traceId:o?.traceId??null,parentTaskId:o?.parentTaskId??null});return(0,r.invalidate)(r.cacheKeys.activeTaskCounts(s)).catch(()=>{}),await this.pushTaskToDaemon(u,s).catch(()=>{}),u}async claimTask(e,t){let a=await l.getAgent(this.db,e,t);return this.claimTaskWithAgent(e,t,a)}async claimTaskWithAgent(e,t,a){if(!a)return null;if(await d.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await d.findSteerableReplacement(this.db,e,t);if(!s||await d.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await d.claimTask(this.db,e,t);return s?(await l.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await d.claimKillTasks(this.db,e,a,t),n=t-s.length,i=n>0?await d.listPendingTasksByRuntimes(this.db,e,a):[],r=new Set(e),o=new Set,c=[...s],u=[];for(let e of i){if(u.length>=n)break;let t=`${e.agentId}:${e.workspaceId}`;o.has(t)||(o.add(t),u.push(e))}if(0===u.length)return c;let h=[...new Set(u.map(e=>e.agentId))],g=new Map((await l.getAgentsByIds(this.db,h,a)).map(e=>[e.id,e]));for(let e of(await Promise.all(u.map(e=>this.claimTaskWithAgent(e.agentId,e.workspaceId,g.get(e.agentId)??null)))))e&&r.has(e.runtimeId)&&c.push(e);return c}async startTask(e,t){let a=await d.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let o;try{o=JSON.parse(a)}catch{o={raw:a}}let l=await d.completeTask(this.db,e,t,{result:o,sessionId:r||null});if(!l){let t=await d.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let h=o,g="string"==typeof h?.output?h.output:"";if(g){let a=await c.createMessage(this.db,{conversationId:l.conversationId,role:"assistant",content:g,taskId:e});try{let e=await u.getConversation(this.db,l.conversationId,t);e&&(0,n.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:l.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(l.agentId,l.workspaceId),await this.dispatchNextBufferedMessage(l.conversationId,l.workspaceId),l}async failTask(e,t,r){let o=await d.failTask(this.db,e,t,r);if(!o){let t=await d.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(o.type===a.TASK_TYPES.KILL_TASK)return o;if(r){let a=await c.createMessage(this.db,{conversationId:o.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e});try{let e=await u.getConversation(this.db,o.conversationId,t);e&&(0,n.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:o.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(o.agentId,o.workspaceId),await this.syncIssueStatusFromTask(o,"failed"),await this.dispatchNextBufferedMessage(o.conversationId,o.workspaceId),o}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await h.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await h.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let r=await c.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await u.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,n.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(r)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await d.supersedeTask(this.db,e,t);if(!a){let t=await d.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await d.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await d.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,i,r){let o=await d.getActiveTaskByConversation(this.db,e,i);if(!o)return null;let l=await d.cancelTask(this.db,o.id,i);if(!l)return null;if("dispatched"===o.status||"running"===o.status){let r=await d.createTask(this.db,{agentId:o.agentId,runtimeId:o.runtimeId,workspaceId:i,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:o.id}});await d.dispatchTaskById(this.db,r.id,i);let l=await t.queries.runtime.getAgentRuntime(this.db,o.runtimeId);l&&(0,n.broadcastToDaemon)(l.daemonId,{type:"daemon.kill",workspaceId:i,agentId:o.agentId,taskId:r.id,targetTaskId:o.id}).catch(e=>s.log.warn("daemon.kill broadcast failed, relying on poll fallback",e))}return await c.createMessage(this.db,{conversationId:e,role:"assistant",content:r?.reason??"Task cancelled by user",taskId:o.id}),await this.reconcileAgentStatus(o.agentId,i),r?.skipDispatch||await this.dispatchNextBufferedMessage(e,i),l}async reconcileAgentStatus(e,t){let a=await d.countRunningTasks(this.db,e,t);await l.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,r.invalidate)(r.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let r=await c.activateNextBufferedMessage(this.db,e);if(!r)return null;let o=await u.getConversation(this.db,e,t);if(!o)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await c.revertToBuffered(this.db,r.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:r.id,revertErr:e})}),null;let l=o.userId;try{let s=r.attachmentIds?JSON.parse(r.attachmentIds):[],u=await d.getLatestTaskForConversation(this.db,e),h=u?.traceId??null,g=await this.enqueueTask(o.agentId,e,t,r.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await c.updateMessageTaskId(this.db,r.id,g.id),(0,n.broadcastToUser)(l,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(r),task:(0,i.taskToResponse)(g)}).catch(()=>{}),g}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await c.revertToBuffered(this.db,r.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:r.id,revertErr:e})}),(0,n.broadcastToUser)(l,{type:"followup.dispatch_failed",conversationId:e,messageId:r.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let n of[...new Set((await d.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(n,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:n,err:t})}}async pushTaskToDaemon(e,a){let s=await t.queries.runtime.getAgentRuntime(this.db,e.runtimeId);if(!s)return;let i=await d.dispatchTaskById(this.db,e.id,a);if(!i)return;let r=new o.TaskPayloadBuilder(this.db),l=await r.buildFullPayloads([i],a);if(0===l.length)return void await d.revertDispatchedToQueued(this.db,e.id,a);try{let{sent:t}=await (0,n.broadcastToDaemon)(s.daemonId,{type:"daemon.tasks",tasks:l});0===t&&await d.revertDispatchedToQueued(this.db,e.id,a)}catch{await d.revertDispatchedToQueued(this.db,e.id,a)}}}])},897069,e=>{"use strict";var t=e.i(424166);e.s(["parsePromptMentions",0,function(e,a){if(!e||0===a.length)return{enrichedPrompt:e,mentions:[]};let s=a.slice().sort((e,t)=>t.name.length-e.name.length),n=[],i=[];for(let t=0;t<e.length;t++){if("@"!==e[t]||!function(e,t){if(0===t)return!0;let a=e.charCodeAt(t-1);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(e,t))continue;let a=t+1;for(let n of s){let s=a+n.name.length;if(!(s>e.length)&&e.slice(a,s).toLowerCase()===n.name.toLowerCase()&&function(e,t){if(t>=e.length)return!0;let a=e.charCodeAt(t);return(!(a>=48)||!(a<=57))&&(!(a>=65)||!(a<=90))&&(!(a>=97)||!(a<=122))&&95!==a}(e,s)){if(i.some(e=>t>=e.start&&t<e.end))break;i.push({start:t,end:s,agent:n});break}}}let r=e;for(let e=i.length-1;e>=0;e--){let a=i[e],s={name:a.agent.name,email:a.agent.emailHandle?(0,t.toAlookAddress)(a.agent.emailHandle):null,description:a.agent.description};if(n.unshift(s),a.agent.emailHandle){let e=`@${a.agent.name} (${(0,t.toAlookAddress)(a.agent.emailHandle)})`;r=r.slice(0,a.start)+e+r.slice(a.end)}else r=r.slice(0,a.start)+`@${a.agent.name}`+r.slice(a.end)}return{enrichedPrompt:r,mentions:n}}])},56981,e=>{e.v(t=>Promise.all(["server/chunks/07mc_@better-auth_memory-adapter_dist_index_mjs_0736-hy._.js"].map(t=>e.l(t))).then(()=>t(665211)))},534759,e=>{e.v(t=>Promise.all(["server/chunks/0e94_better-auth_dist_adapters_kysely-adapter_index_mjs_0nf4_d_._.js"].map(t=>e.l(t))).then(()=>t(458714)))},394293,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0vd~ts1._.js"].map(t=>e.l(t))).then(()=>t(359283)))},724281,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0z45rqy._.js"].map(t=>e.l(t))).then(()=>t(631543)))},862941,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_11aa~n_._.js"].map(t=>e.l(t))).then(()=>t(893029)))}];
2
2
 
3
- //# sourceMappingURL=_0t3b.z3._.js.map
3
+ //# sourceMappingURL=_0a3hhbw._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[291320,e=>{"use strict";e.s(["isUniqueConstraintError",0,function e(t){if(t instanceof Error){if("SQLITE_CONSTRAINT_UNIQUE"===t.code||t.message.includes("UNIQUE"))return!0;if(t.cause)return e(t.cause)}return!1}])},313046,e=>e.a(async(t,r)=>{try{var a=e.i(170865);e.i(700598);var n=e.i(291109),s=e.i(888247),i=e.i(291320),o=e.i(675139),l=e.i(152327),u=e.i(47962),d=e.i(776227),c=e.i(740580),p=t([l]);[l]=p.then?(await p)():p;let h=(0,l.withAuth)(async(e,t)=>{let{env:r}=(0,a.getCloudflareContext)(),s=(0,o.getDb)(r.DB),i=t.params?.id;if(!i)return(0,d.writeError)("workspace id is required",400);let l=await n.queries.workspace.getWorkspace(s,i,t.userId);return l?(0,d.writeJSON)((0,c.workspaceToResponse)(l)):(0,d.writeError)("workspace not found",404)}),w=(0,l.withAuth)(async(e,t)=>{let r=await (0,u.withWorkspaceOwner)(e,t);if(r instanceof Response)return r;let[l,p]=await (0,d.parseBody)(e,s.UpdateWorkspaceRequestSchema);if(p)return p;if(!l.name&&!l.slug)return(0,d.writeError)("at least one of name or slug is required",400);let{env:h}=await (0,a.getCloudflareContext)({async:!0}),w=(0,o.getDb)(h.DB);try{let e=await n.queries.workspace.updateWorkspace(w,r.workspaceId,l);if(!e)return(0,d.writeError)("workspace not found",404);return(0,d.writeJSON)((0,c.workspaceToResponse)(e))}catch(e){if((0,i.isUniqueConstraintError)(e))return(0,d.writeError)("slug already in use",409);throw e}}),R=(0,l.withAuth)(async(e,t)=>{let r=await (0,u.withWorkspaceOwner)(e,t);if(r instanceof Response)return r;let[i,l]=await (0,d.parseBody)(e,s.DeleteWorkspaceRequestSchema);if(l)return l;let{env:c}=await (0,a.getCloudflareContext)({async:!0}),p=(0,o.getDb)(c.DB),h=await n.queries.workspace.getWorkspace(p,r.workspaceId,t.userId);return h?h.name!==i.confirm_name?(0,d.writeError)("workspace name does not match",400):(await n.queries.workspace.deleteWorkspace(p,r.workspaceId),new Response(null,{status:204})):(0,d.writeError)("workspace not found",404)});e.s(["DELETE",0,R,"GET",0,h,"PATCH",0,w]),r()}catch(e){r(e)}},!1),141586,e=>e.a(async(t,r)=>{try{var a=e.i(80774),n=e.i(404478),s=e.i(732985),i=e.i(481671),o=e.i(638081),l=e.i(204960),u=e.i(924918),d=e.i(363585),c=e.i(906846),p=e.i(359838),h=e.i(383303),w=e.i(234173),R=e.i(270215),m=e.i(830665),f=e.i(944002),v=e.i(193695);e.i(195928);var _=e.i(81543),E=e.i(313046),g=t([E]);[E]=g.then?(await g)():g;let k=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/workspaces/[id]/route",pathname:"/api/workspaces/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/workspaces/[id]/route.ts",nextConfigOutput:"standalone",userland:E,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:x,serverHooks:A}=k;async function y(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),k.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/workspaces/[id]/route";a=a.replace(/\/index$/,"")||"/";let s=await k.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:E,deploymentId:g,params:y,nextConfig:C,parsedUrl:x,isDraftMode:A,prerenderManifest:T,routerServerContext:b,isOnDemandRevalidate:q,revalidateOnlyGenerated:N,resolvedPathname:P,clientReferenceManifest:S,serverActionsManifest:I}=s,O=(0,u.normalizeAppPath)(a),U=!!(T.dynamicRoutes[O]||T.routes[P]),D=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,x,!1):t.end("This page could not be found"),null);if(U&&!A){let e=!!T.routes[P],t=T.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(C.adapterPath)return await D();throw new v.NoFallbackError}}let H=null;!U||k.isDev||A||(H=P,H="/index"===H?"/":H);let j=!0===k.isDev||!U,M=U&&!j;I&&S&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:S,serverActionsManifest:I});let B=e.method||"GET",W=(0,o.getTracer)(),$=W.getActiveScopeSpan(),F=!!(null==b?void 0:b.isWrappedByNextServer),K=!!(0,i.getRequestMeta)(e,"minimalMode"),L=(0,i.getRequestMeta)(e,"incrementalCache")||await k.getIncrementalCache(e,C,T,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let G={params:y,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:j,incrementalCache:L,cacheLifeProfiles:C.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>k.onRequestError(e,t,a,n,b)},sharedContext:{buildId:E,deploymentId:g}},Q=new d.NodeNextRequest(e),V=new d.NodeNextResponse(t),X=c.NextRequestAdapter.fromNodeNextRequest(Q,(0,c.signalFromNodeResponse)(t));try{let s,i=async e=>k.handle(X,G).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 n=r.get("next.route");if(n){let t=`${B} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",n),s.updateName(t))}else e.updateName(`${B} ${a}`)}),l=async s=>{var o,l;let u=async({previousCacheEntry:n})=>{try{if(!K&&q&&N&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(s);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!U)return await (0,w.sendResponse)(Q,V,a,G.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,R.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:q})},!1,b),t}},d=await k.handleResponse({req:e,nextConfig:C,cacheKey:H,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:N,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:K});if(!U)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",q?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,R.fromNodeOutgoingHttpHeaders)(d.value.headers);return K&&U||c.delete(f.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,w.sendResponse)(Q,V,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};F&&$?await l($):(s=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}},l),void 0,!F))}catch(t){if(t instanceof v.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:q})},!1,b),U)throw t;return await (0,w.sendResponse)(Q,V,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:x})},"routeModule",0,k,"serverHooks",0,A,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,x]),r()}catch(e){r(e)}},!1),56981,e=>{e.v(t=>Promise.all(["server/chunks/07mc_@better-auth_memory-adapter_dist_index_mjs_0736-hy._.js"].map(t=>e.l(t))).then(()=>t(665211)))},517780,e=>{e.v(t=>Promise.all(["server/chunks/04ac_better-auth_dist_adapters_kysely-adapter_index_mjs_0mwn_em._.js"].map(t=>e.l(t))).then(()=>t(369799)))},394293,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0vd~ts1._.js"].map(t=>e.l(t))).then(()=>t(359283)))},724281,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0z45rqy._.js"].map(t=>e.l(t))).then(()=>t(631543)))},862941,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_11aa~n_._.js"].map(t=>e.l(t))).then(()=>t(893029)))}];
1
+ module.exports=[291320,e=>{"use strict";e.s(["isUniqueConstraintError",0,function e(t){if(t instanceof Error){if("SQLITE_CONSTRAINT_UNIQUE"===t.code||t.message.includes("UNIQUE"))return!0;if(t.cause)return e(t.cause)}return!1}])},313046,e=>e.a(async(t,r)=>{try{var a=e.i(170865);e.i(700598);var n=e.i(291109),s=e.i(888247),i=e.i(291320),o=e.i(675139),l=e.i(152327),u=e.i(47962),d=e.i(776227),c=e.i(740580),p=t([l]);[l]=p.then?(await p)():p;let h=(0,l.withAuth)(async(e,t)=>{let{env:r}=(0,a.getCloudflareContext)(),s=(0,o.getDb)(r.DB),i=t.params?.id;if(!i)return(0,d.writeError)("workspace id is required",400);let l=await n.queries.workspace.getWorkspace(s,i,t.userId);return l?(0,d.writeJSON)((0,c.workspaceToResponse)(l)):(0,d.writeError)("workspace not found",404)}),w=(0,l.withAuth)(async(e,t)=>{let r=await (0,u.withWorkspaceOwner)(e,t);if(r instanceof Response)return r;let[l,p]=await (0,d.parseBody)(e,s.UpdateWorkspaceRequestSchema);if(p)return p;if(!l.name&&!l.slug)return(0,d.writeError)("at least one of name or slug is required",400);let{env:h}=await (0,a.getCloudflareContext)({async:!0}),w=(0,o.getDb)(h.DB);try{let e=await n.queries.workspace.updateWorkspace(w,r.workspaceId,l);if(!e)return(0,d.writeError)("workspace not found",404);return(0,d.writeJSON)((0,c.workspaceToResponse)(e))}catch(e){if((0,i.isUniqueConstraintError)(e))return(0,d.writeError)("slug already in use",409);throw e}}),R=(0,l.withAuth)(async(e,t)=>{let r=await (0,u.withWorkspaceOwner)(e,t);if(r instanceof Response)return r;let[i,l]=await (0,d.parseBody)(e,s.DeleteWorkspaceRequestSchema);if(l)return l;let{env:c}=await (0,a.getCloudflareContext)({async:!0}),p=(0,o.getDb)(c.DB),h=await n.queries.workspace.getWorkspace(p,r.workspaceId,t.userId);return h?h.name!==i.confirm_name?(0,d.writeError)("workspace name does not match",400):(await n.queries.workspace.deleteWorkspace(p,r.workspaceId),new Response(null,{status:204})):(0,d.writeError)("workspace not found",404)});e.s(["DELETE",0,R,"GET",0,h,"PATCH",0,w]),r()}catch(e){r(e)}},!1),141586,e=>e.a(async(t,r)=>{try{var a=e.i(80774),n=e.i(404478),s=e.i(732985),i=e.i(481671),o=e.i(638081),l=e.i(204960),u=e.i(924918),d=e.i(363585),c=e.i(906846),p=e.i(359838),h=e.i(383303),w=e.i(234173),R=e.i(270215),f=e.i(830665),m=e.i(944002),_=e.i(193695);e.i(195928);var v=e.i(81543),E=e.i(313046),g=t([E]);[E]=g.then?(await g)():g;let k=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/workspaces/[id]/route",pathname:"/api/workspaces/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/workspaces/[id]/route.ts",nextConfigOutput:"standalone",userland:E,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:x,serverHooks:A}=k;async function y(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),k.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/workspaces/[id]/route";a=a.replace(/\/index$/,"")||"/";let s=await k.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:E,deploymentId:g,params:y,nextConfig:C,parsedUrl:x,isDraftMode:A,prerenderManifest:T,routerServerContext:b,isOnDemandRevalidate:q,revalidateOnlyGenerated:N,resolvedPathname:P,clientReferenceManifest:S,serverActionsManifest:I}=s,O=(0,u.normalizeAppPath)(a),U=!!(T.dynamicRoutes[O]||T.routes[P]),D=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,x,!1):t.end("This page could not be found"),null);if(U&&!A){let e=!!T.routes[P],t=T.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(C.adapterPath)return await D();throw new _.NoFallbackError}}let H=null;!U||k.isDev||A||(H=P,H="/index"===H?"/":H);let j=!0===k.isDev||!U,M=U&&!j;I&&S&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:S,serverActionsManifest:I});let B=e.method||"GET",W=(0,o.getTracer)(),$=W.getActiveScopeSpan(),F=!!(null==b?void 0:b.isWrappedByNextServer),K=!!(0,i.getRequestMeta)(e,"minimalMode"),L=(0,i.getRequestMeta)(e,"incrementalCache")||await k.getIncrementalCache(e,C,T,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let G={params:y,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:j,incrementalCache:L,cacheLifeProfiles:C.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>k.onRequestError(e,t,a,n,b)},sharedContext:{buildId:E,deploymentId:g}},Q=new d.NodeNextRequest(e),V=new d.NodeNextResponse(t),X=c.NextRequestAdapter.fromNodeNextRequest(Q,(0,c.signalFromNodeResponse)(t));try{let s,i=async e=>k.handle(X,G).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 n=r.get("next.route");if(n){let t=`${B} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",n),s.updateName(t))}else e.updateName(`${B} ${a}`)}),l=async s=>{var o,l;let u=async({previousCacheEntry:n})=>{try{if(!K&&q&&N&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(s);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!U)return await (0,w.sendResponse)(Q,V,a,G.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,R.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:q})},!1,b),t}},d=await k.handleResponse({req:e,nextConfig:C,cacheKey:H,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:N,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:K});if(!U)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",q?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,R.fromNodeOutgoingHttpHeaders)(d.value.headers);return K&&U||c.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,w.sendResponse)(Q,V,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};F&&$?await l($):(s=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}},l),void 0,!F))}catch(t){if(t instanceof _.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:q})},!1,b),U)throw t;return await (0,w.sendResponse)(Q,V,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:x})},"routeModule",0,k,"serverHooks",0,A,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,x]),r()}catch(e){r(e)}},!1),56981,e=>{e.v(t=>Promise.all(["server/chunks/07mc_@better-auth_memory-adapter_dist_index_mjs_0736-hy._.js"].map(t=>e.l(t))).then(()=>t(665211)))},534759,e=>{e.v(t=>Promise.all(["server/chunks/0e94_better-auth_dist_adapters_kysely-adapter_index_mjs_0nf4_d_._.js"].map(t=>e.l(t))).then(()=>t(458714)))},394293,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0vd~ts1._.js"].map(t=>e.l(t))).then(()=>t(359283)))},724281,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0z45rqy._.js"].map(t=>e.l(t))).then(()=>t(631543)))},862941,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_11aa~n_._.js"].map(t=>e.l(t))).then(()=>t(893029)))}];
2
2
 
3
- //# sourceMappingURL=_02s8tjz._.js.map
3
+ //# sourceMappingURL=_0eh60-_._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[726089,t=>{"use strict";var e=t.i(170865);t.i(700598);var n=t.i(704024);let r=(0,t.i(726527).createLogger)({service:"broadcast"});async function a(t,a,s){let i;try{let{env:n}=(0,e.getCloudflareContext)();i=n.DEV_WS_DO_URL;let o=await n.WS_DO_WORKER.fetch(`http://internal${t}`,{method:"POST",body:a});if(o.ok)try{return{sent:(await o.json()).sent??0}}catch{return{sent:0}}r.warn("broadcast service-binding non-ok",{...s,status:o.status})}catch{}let o=i||n.DEV_WS_DO_URL,l=await fetch(`${o}${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:a});if(!l.ok)throw Error(`broadcast failed: ${l.status}`);try{return{sent:(await l.json()).sent??0}}catch{return{sent:0}}}t.s(["broadcastToDaemon",0,function(t,n){let r=a(`/broadcast/daemon/${t}`,JSON.stringify(n),{daemonId:t,type:n.type});try{let{ctx:t}=(0,e.getCloudflareContext)();t.waitUntil(r.catch(()=>{}))}catch{}return r},"broadcastToUser",0,function(t,n){return function(t,n,r){let s=a(t,n,r);try{let{ctx:t}=(0,e.getCloudflareContext)();t.waitUntil(s.catch(()=>{}))}catch{}return s.then(()=>{})}(`/broadcast/user/${t}`,JSON.stringify(n),{userId:t,type:n.type})}])},929782,t=>{"use strict";var e=t.i(719436);t.s(["buildMimeMessage",0,function(t){let n=[];t.messageId&&n.push(`Message-ID: ${t.messageId}`),t.inReplyTo&&n.push(`In-Reply-To: ${t.inReplyTo}`),t.references&&n.push(`References: ${t.references}`);let r=t.date??new Date().toUTCString(),a=t.bodyType??"text/html",s=t.attachments??[];if(0===s.length)return[`From: ${t.from}`,`To: ${t.to}`,`Subject: ${t.subject}`,`Date: ${r}`,...n,"MIME-Version: 1.0",`Content-Type: ${a}; charset=utf-8`,"",t.body].join("\r\n");let i=`----=_Part_${(0,e.nanoid)(16)}`,o=[`From: ${t.from}`,`To: ${t.to}`,`Subject: ${t.subject}`,`Date: ${r}`,...n,"MIME-Version: 1.0",`Content-Type: multipart/mixed; boundary="${i}"`,"",`--${i}`,`Content-Type: ${a}; charset=utf-8`,"Content-Transfer-Encoding: 7bit","",t.body];for(let t of s)o.push([`--${i}`,`Content-Type: ${t.contentType}; name="${t.filename}"`,`Content-Disposition: attachment; filename="${t.filename}"`,"Content-Transfer-Encoding: base64","",t.base64.match(/.{1,76}/g)?.join("\r\n")??t.base64].join("\r\n"));return o.push(`--${i}--`),o.join("\r\n")},"filterDownloadableAttachments",0,function(t){return t.filter(t=>"attachment"===t.disposition||t.filename)}])},332432,t=>{"use strict";t.s(["buildEmailMapKey",0,function(t,e){return`email:${t}:${e}`},"extractThreadId",0,function(t,e,n){if(t){let e=t.trim().split(/\s+/)[0];if(e)return e}return e?e.trim():n?n.trim():null}])},316308,(t,e,n)=>{"use strict";e.exports=t.r(792908).vendored["react-rsc"].ReactJsxRuntime},56981,t=>{t.v(e=>Promise.all(["server/chunks/07mc_@better-auth_memory-adapter_dist_index_mjs_0736-hy._.js"].map(e=>t.l(e))).then(()=>e(665211)))},517780,t=>{t.v(e=>Promise.all(["server/chunks/04ac_better-auth_dist_adapters_kysely-adapter_index_mjs_0mwn_em._.js"].map(e=>t.l(e))).then(()=>e(369799)))},394293,t=>{t.v(e=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0vd~ts1._.js"].map(e=>t.l(e))).then(()=>e(359283)))},724281,t=>{t.v(e=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0z45rqy._.js"].map(e=>t.l(e))).then(()=>e(631543)))},862941,t=>{t.v(e=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_11aa~n_._.js"].map(e=>t.l(e))).then(()=>e(893029)))}];
1
+ module.exports=[726089,t=>{"use strict";var e=t.i(170865);t.i(700598);var n=t.i(704024);let r=(0,t.i(726527).createLogger)({service:"broadcast"});async function a(t,a,s){let i;try{let{env:n}=(0,e.getCloudflareContext)();i=n.DEV_WS_DO_URL;let o=await n.WS_DO_WORKER.fetch(`http://internal${t}`,{method:"POST",body:a});if(o.ok)try{return{sent:(await o.json()).sent??0}}catch{return{sent:0}}r.warn("broadcast service-binding non-ok",{...s,status:o.status})}catch{}let o=i||n.DEV_WS_DO_URL,l=await fetch(`${o}${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:a});if(!l.ok)throw Error(`broadcast failed: ${l.status}`);try{return{sent:(await l.json()).sent??0}}catch{return{sent:0}}}t.s(["broadcastToDaemon",0,function(t,n){let r=a(`/broadcast/daemon/${t}`,JSON.stringify(n),{daemonId:t,type:n.type});try{let{ctx:t}=(0,e.getCloudflareContext)();t.waitUntil(r.catch(()=>{}))}catch{}return r},"broadcastToUser",0,function(t,n){return function(t,n,r){let s=a(t,n,r);try{let{ctx:t}=(0,e.getCloudflareContext)();t.waitUntil(s.catch(()=>{}))}catch{}return s.then(()=>{})}(`/broadcast/user/${t}`,JSON.stringify(n),{userId:t,type:n.type})}])},929782,t=>{"use strict";var e=t.i(719436);t.s(["buildMimeMessage",0,function(t){let n=[];t.messageId&&n.push(`Message-ID: ${t.messageId}`),t.inReplyTo&&n.push(`In-Reply-To: ${t.inReplyTo}`),t.references&&n.push(`References: ${t.references}`);let r=t.date??new Date().toUTCString(),a=t.bodyType??"text/html",s=t.attachments??[];if(0===s.length)return[`From: ${t.from}`,`To: ${t.to}`,`Subject: ${t.subject}`,`Date: ${r}`,...n,"MIME-Version: 1.0",`Content-Type: ${a}; charset=utf-8`,"",t.body].join("\r\n");let i=`----=_Part_${(0,e.nanoid)(16)}`,o=[`From: ${t.from}`,`To: ${t.to}`,`Subject: ${t.subject}`,`Date: ${r}`,...n,"MIME-Version: 1.0",`Content-Type: multipart/mixed; boundary="${i}"`,"",`--${i}`,`Content-Type: ${a}; charset=utf-8`,"Content-Transfer-Encoding: 7bit","",t.body];for(let t of s)o.push([`--${i}`,`Content-Type: ${t.contentType}; name="${t.filename}"`,`Content-Disposition: attachment; filename="${t.filename}"`,"Content-Transfer-Encoding: base64","",t.base64.match(/.{1,76}/g)?.join("\r\n")??t.base64].join("\r\n"));return o.push(`--${i}--`),o.join("\r\n")},"filterDownloadableAttachments",0,function(t){return t.filter(t=>"attachment"===t.disposition||t.filename)}])},332432,t=>{"use strict";t.s(["buildEmailMapKey",0,function(t,e){return`email:${t}:${e}`},"extractThreadId",0,function(t,e,n){if(t){let e=t.trim().split(/\s+/)[0];if(e)return e}return e?e.trim():n?n.trim():null}])},316308,(t,e,n)=>{"use strict";e.exports=t.r(792908).vendored["react-rsc"].ReactJsxRuntime},56981,t=>{t.v(e=>Promise.all(["server/chunks/07mc_@better-auth_memory-adapter_dist_index_mjs_0736-hy._.js"].map(e=>t.l(e))).then(()=>e(665211)))},534759,t=>{t.v(e=>Promise.all(["server/chunks/0e94_better-auth_dist_adapters_kysely-adapter_index_mjs_0nf4_d_._.js"].map(e=>t.l(e))).then(()=>e(458714)))},394293,t=>{t.v(e=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0vd~ts1._.js"].map(e=>t.l(e))).then(()=>e(359283)))},724281,t=>{t.v(e=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0z45rqy._.js"].map(e=>t.l(e))).then(()=>e(631543)))},862941,t=>{t.v(e=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_11aa~n_._.js"].map(e=>t.l(e))).then(()=>e(893029)))}];
2
2
 
3
- //# sourceMappingURL=_0t-zria._.js.map
3
+ //# sourceMappingURL=_0f2yj1_._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[726089,e=>{"use strict";var t=e.i(170865);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function n(e,n,i){let r;try{let{env:a}=(0,t.getCloudflareContext)();r=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:n});if(o.ok)try{return{sent:(await o.json()).sent??0}}catch{return{sent:0}}s.warn("broadcast service-binding non-ok",{...i,status:o.status})}catch{}let o=r||a.DEV_WS_DO_URL,l=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:n});if(!l.ok)throw Error(`broadcast failed: ${l.status}`);try{return{sent:(await l.json()).sent??0}}catch{return{sent:0}}}e.s(["broadcastToDaemon",0,function(e,a){let s=n(`/broadcast/daemon/${e}`,JSON.stringify(a),{daemonId:e,type:a.type});try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(s.catch(()=>{}))}catch{}return s},"broadcastToUser",0,function(e,a){return function(e,a,s){let i=n(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(i.catch(()=>{}))}catch{}return i.then(()=>{})}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},555230,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(424166),n=e.i(740580),i=e.i(774078);e.s(["TaskPayloadBuilder",0,class{db;constructor(e){this.db=e}async buildFullPayloads(e,r){let o=e.filter(e=>e.type!==a.TASK_TYPES.KILL_TASK),l=[...new Set(o.map(e=>e.agentId))],[d,c,u]=l.length>0?await Promise.all([(0,i.cached)(i.cacheKeys.allAgents(r),300,()=>t.queries.agent.getAllAgentsForWorkspace(this.db,r)),(0,i.cached)(i.cacheKeys.allEmailAccounts(r),600,()=>t.queries.emailAccount.getAllEmailAccountsForWorkspace(this.db,r)),(0,i.cached)(i.cacheKeys.allColleagues(r),600,()=>t.queries.agentLink.getAllColleaguesForWorkspace(this.db,r)).catch(()=>[])]).then(([e,t,a])=>{let s=new Set(l);return[e.filter(e=>s.has(e.id)),t.filter(e=>s.has(e.agentId)),a.filter(e=>s.has(e.agentId))]}):[[],[],[]],h=new Map(d.map(e=>[e.id,e])),p=new Map;for(let e of c){let t=p.get(e.agentId)??[];t.push(e.emailAddress),p.set(e.agentId,t)}let g=new Map;for(let e of u){let t=g.get(e.agentId)??[];t.push(e),g.set(e.agentId,t)}let w=[...new Set(o.map(e=>e.conversationId).filter(Boolean))],m=new Map((w.length>0?await t.queries.conversation.getConversationsByIds(this.db,w,r):[]).map(e=>[e.id,e])),f=new Map,I=new Map,k=[];for(let o of e){if(o.type===a.TASK_TYPES.KILL_TASK){k.push({...(0,n.taskToResponse)(o),agent:null,sender:null});continue}let e=h.get(o.agentId)??null,l=[];if(e){e.emailHandle&&l.push(`${e.emailHandle}@alook.ai`);let t=p.get(e.id)??[];l.push(...t)}let d=e?.instructions??"";if(e?.ownerId){if(!f.has(e.ownerId)){let a=await (0,i.cached)(i.cacheKeys.member(r,e.ownerId),600,()=>t.queries.member.getMemberByUserAndWorkspace(this.db,e.ownerId,r));f.set(e.ownerId,a?{globalInstruction:a.globalInstruction}:null)}let a=f.get(e.ownerId);a?.globalInstruction&&(d=[a.globalInstruction,d].filter(Boolean).join("\n\n"))}let c=null;if(e?.ownerId){if(!I.has(e.ownerId)){let a=await (0,i.cached)(i.cacheKeys.user(e.ownerId),1800,()=>t.queries.user.getUser(this.db,e.ownerId));I.set(e.ownerId,a?{name:a.name,email:a.email}:null)}c=I.get(e.ownerId)?.name??null}let u=m.get(o.conversationId)??null,w=u?.channel??"default",T=null;if(o.type===a.TASK_TYPES.USER_DM_MESSAGE&&u?.userId){if(!I.has(u.userId)){let e=await (0,i.cached)(i.cacheKeys.user(u.userId),1800,()=>t.queries.user.getUser(this.db,u.userId));I.set(u.userId,e?{name:e.name,email:e.email}:null)}let a=I.get(u.userId);a&&(T={name:a.name,email:a.email,is_owner:u.userId===e?.ownerId})}let v=(g.get(o.agentId)??[]).map(e=>({name:e.name,email:e.emailHandle?(0,s.toAlookAddress)(e.emailHandle):"",description:e.description,instruction:e.instruction}));k.push({...(0,n.taskToResponse)(o),channel:w,sender:T,agent:e?{instructions:d,name:e.name,runtime_config:e.runtimeConfig||{},email_handle:e.emailHandle||null,email_addresses:l,user_email:null,user_name:c,colleagues:v}:null})}return k}}])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),n=e.i(726089),i=e.i(740580),r=e.i(774078),o=e.i(555230);let l=t.queries.task,d=t.queries.agent,c=t.queries.message,u=t.queries.conversation,h=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,n,i=a.TASK_TYPES.USER_DM_MESSAGE,o){let c=await d.getAgent(this.db,e,s);if(!c)throw Error("agent not found");if(!c.runtimeId)throw Error("agent has no runtime");if(o?.traceId&&o.parentTaskId&&await l.countTasksByTrace(this.db,o.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await l.createTask(this.db,{agentId:e,runtimeId:c.runtimeId,workspaceId:s,conversationId:t,prompt:n,type:i,contextKey:o?.contextKey??null,priority:0,context:o?.context,traceId:o?.traceId??null,parentTaskId:o?.parentTaskId??null});return(0,r.invalidate)(r.cacheKeys.activeTaskCounts(s)).catch(()=>{}),await this.pushTaskToDaemon(u,s).catch(()=>{}),u}async claimTask(e,t){let a=await d.getAgent(this.db,e,t);return this.claimTaskWithAgent(e,t,a)}async claimTaskWithAgent(e,t,a){if(!a)return null;if(await l.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await l.findSteerableReplacement(this.db,e,t);if(!s||await l.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await l.claimTask(this.db,e,t);return s?(await d.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await l.claimKillTasks(this.db,e,a,t),n=t-s.length,i=n>0?await l.listPendingTasksByRuntimes(this.db,e,a):[],r=new Set(e),o=new Set,c=[...s],u=[];for(let e of i){if(u.length>=n)break;let t=`${e.agentId}:${e.workspaceId}`;o.has(t)||(o.add(t),u.push(e))}if(0===u.length)return c;let h=[...new Set(u.map(e=>e.agentId))],p=new Map((await d.getAgentsByIds(this.db,h,a)).map(e=>[e.id,e]));for(let e of(await Promise.all(u.map(e=>this.claimTaskWithAgent(e.agentId,e.workspaceId,p.get(e.agentId)??null)))))e&&r.has(e.runtimeId)&&c.push(e);return c}async startTask(e,t){let a=await l.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let o;try{o=JSON.parse(a)}catch{o={raw:a}}let d=await l.completeTask(this.db,e,t,{result:o,sessionId:r||null});if(!d){let t=await l.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let h=o,p="string"==typeof h?.output?h.output:"";if(p){let a=await c.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:p,taskId:e});try{let e=await u.getConversation(this.db,d.conversationId,t);e&&(0,n.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async failTask(e,t,r){let o=await l.failTask(this.db,e,t,r);if(!o){let t=await l.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(o.type===a.TASK_TYPES.KILL_TASK)return o;if(r){let a=await c.createMessage(this.db,{conversationId:o.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e});try{let e=await u.getConversation(this.db,o.conversationId,t);e&&(0,n.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:o.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(o.agentId,o.workspaceId),await this.syncIssueStatusFromTask(o,"failed"),await this.dispatchNextBufferedMessage(o.conversationId,o.workspaceId),o}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await h.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await h.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let r=await c.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await u.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,n.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(r)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await l.supersedeTask(this.db,e,t);if(!a){let t=await l.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await l.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await l.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,i,r){let o=await l.getActiveTaskByConversation(this.db,e,i);if(!o)return null;let d=await l.cancelTask(this.db,o.id,i);if(!d)return null;if("dispatched"===o.status||"running"===o.status){let r=await l.createTask(this.db,{agentId:o.agentId,runtimeId:o.runtimeId,workspaceId:i,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:o.id}});await l.dispatchTaskById(this.db,r.id,i);let d=await t.queries.runtime.getAgentRuntime(this.db,o.runtimeId);d&&(0,n.broadcastToDaemon)(d.daemonId,{type:"daemon.kill",workspaceId:i,agentId:o.agentId,taskId:r.id,targetTaskId:o.id}).catch(e=>s.log.warn("daemon.kill broadcast failed, relying on poll fallback",e))}return await c.createMessage(this.db,{conversationId:e,role:"assistant",content:r?.reason??"Task cancelled by user",taskId:o.id}),await this.reconcileAgentStatus(o.agentId,i),r?.skipDispatch||await this.dispatchNextBufferedMessage(e,i),d}async reconcileAgentStatus(e,t){let a=await l.countRunningTasks(this.db,e,t);await d.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,r.invalidate)(r.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let r=await c.activateNextBufferedMessage(this.db,e);if(!r)return null;let o=await u.getConversation(this.db,e,t);if(!o)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await c.revertToBuffered(this.db,r.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:r.id,revertErr:e})}),null;let d=o.userId;try{let s=r.attachmentIds?JSON.parse(r.attachmentIds):[],u=await l.getLatestTaskForConversation(this.db,e),h=u?.traceId??null,p=await this.enqueueTask(o.agentId,e,t,r.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await c.updateMessageTaskId(this.db,r.id,p.id),(0,n.broadcastToUser)(d,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(r),task:(0,i.taskToResponse)(p)}).catch(()=>{}),p}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await c.revertToBuffered(this.db,r.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:r.id,revertErr:e})}),(0,n.broadcastToUser)(d,{type:"followup.dispatch_failed",conversationId:e,messageId:r.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let n of[...new Set((await l.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(n,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:n,err:t})}}async pushTaskToDaemon(e,a){let s=await t.queries.runtime.getAgentRuntime(this.db,e.runtimeId);if(!s)return;let i=await l.dispatchTaskById(this.db,e.id,a);if(!i)return;let r=new o.TaskPayloadBuilder(this.db),d=await r.buildFullPayloads([i],a);if(0===d.length)return void await l.revertDispatchedToQueued(this.db,e.id,a);try{let{sent:t}=await (0,n.broadcastToDaemon)(s.daemonId,{type:"daemon.tasks",tasks:d});0===t&&await l.revertDispatchedToQueued(this.db,e.id,a)}catch{await l.revertDispatchedToQueued(this.db,e.id,a)}}}])},213764,e=>e.a(async(t,a)=>{try{var s=e.i(170865);e.i(700598);var n=e.i(291109),i=e.i(675139),r=e.i(152327),o=e.i(47962),l=e.i(776227),d=e.i(740580),c=e.i(205054),u=t([r]);[r]=u.then?(await u)():u;let h=(0,r.withAuth)(async(e,t)=>{let a=await (0,o.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:r}=(0,s.getCloudflareContext)(),u=(0,i.getDb)(r.DB),h=t.params?.id;if(!h)return(0,l.writeError)("conversation id is required",400);let p=new URL(e.url),g=p.searchParams.get("newest_message_id"),w=p.searchParams.get("message_count"),m=await n.queries.conversation.getConversation(u,h,a.workspaceId);if(!m)return(0,l.writeError)("conversation not found",404);let[f,I]=await Promise.all([g?n.queries.message.getNewestMessageId(u,h):Promise.resolve(null),n.queries.message.getActiveMessageCount(u,h)]),k=!1;if(g){let e=!w||I===parseInt(w,10);k=f===g&&e}let[T,v,y,b,_,R]=await Promise.all([n.queries.message.listMessages(u,h,{limit:20}),n.queries.artifact.listArtifactsByConversation(u,h,a.workspaceId,{limit:50}).catch(()=>[]),n.queries.message.listBufferedMessages(u,h).catch(()=>[]),n.queries.task.getActiveTaskByConversation(u,h,a.workspaceId).catch(()=>null),n.queries.messageFlag.listFlaggedMessageIds(u,t.userId,a.workspaceId,h).catch(()=>[]),n.queries.conversation.hasPreviousConversations(u,a.workspaceId,t.userId,m.agentId,h,m.channel||void 0).catch(()=>!1)]),{messages:S,has_more:A}=T,E=b,C=y;if(C.length>0&&!E)try{let e=new c.TaskService(u),t=await e.dispatchNextBufferedMessage(h,a.workspaceId);t&&(E=t,C=await n.queries.message.listBufferedMessages(u,h))}catch{}let x=[];if(E&&!["completed","failed","cancelled","superseded"].includes(E.status))try{x=(await n.queries.taskMessage.listTaskMessages(u,E.id)).map(d.taskMessageToResponse)}catch{}let M={};if(S.length>0){let e=[...new Set(S.filter(e=>"assistant"===e.role&&e.taskId).map(e=>e.taskId))];if(e.length>0)try{for(let t of(await n.queries.taskMessage.countTextMessagesByTaskIds(u,e,a.workspaceId)))M[t.taskId]=t.count}catch{}}return(0,l.writeJSON)({conversation:(0,d.conversationToResponse)(m),messages:k?null:S.map(d.messageToResponse),has_more_messages:A,has_more_conversations:R,has_more_artifacts:v.length>=50,artifacts:v.map(n.queries.artifact.artifactToResponse),buffered_messages:C.map(d.messageToResponse),flagged_message_ids:_,thinking_counts:M,active_task:E?(0,d.taskToResponse)(E):null,task_messages:x,cache_valid:k,message_count:I})});e.s(["GET",0,h]),a()}catch(e){a(e)}},!1),581142,e=>e.a(async(t,a)=>{try{var s=e.i(80774),n=e.i(404478),i=e.i(732985),r=e.i(481671),o=e.i(638081),l=e.i(204960),d=e.i(924918),c=e.i(363585),u=e.i(906846),h=e.i(359838),p=e.i(383303),g=e.i(234173),w=e.i(270215),m=e.i(830665),f=e.i(944002),I=e.i(193695);e.i(195928);var k=e.i(81543),T=e.i(213764),v=t([T]);[T]=v.then?(await v)():v;let b=new s.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/conversations/[id]/init/route",pathname:"/api/conversations/[id]/init",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/conversations/[id]/init/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:R,serverHooks:S}=b;async function y(e,t,a){a.requestMeta&&(0,r.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/conversations/[id]/init/route";s=s.replace(/\/index$/,"")||"/";let i=await b.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,deploymentId:v,params:y,nextConfig:_,parsedUrl:R,isDraftMode:S,prerenderManifest:A,routerServerContext:E,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,resolvedPathname:M,clientReferenceManifest:q,serverActionsManifest:P}=i,N=(0,d.normalizeAppPath)(s),K=!!(A.dynamicRoutes[N]||A.routes[M]),B=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,R,!1):t.end("This page could not be found"),null);if(K&&!S){let e=!!A.routes[M],t=A.dynamicRoutes[N];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await B();throw new I.NoFallbackError}}let O=null;!K||b.isDev||S||(O=M,O="/index"===O?"/":O);let U=!0===b.isDev||!K,D=K&&!U;P&&q&&(0,l.setManifestsSingleton)({page:s,clientReferenceManifest:q,serverActionsManifest:P});let $=e.method||"GET",L=(0,o.getTracer)(),H=L.getActiveScopeSpan(),j=!!(null==E?void 0:E.isWrappedByNextServer),F=!!(0,r.getRequestMeta)(e,"minimalMode"),W=(0,r.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,_,A,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let Y={params:y,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:_.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,n)=>b.onRequestError(e,t,s,n,E)},sharedContext:{buildId:T,deploymentId:v}},G=new c.NodeNextRequest(e),V=new c.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let i,r=async e=>b.handle(J,Y).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=L.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==h.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${$} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",n),i.updateName(t))}else e.updateName(`${$} ${s}`)}),l=async i=>{var o,l;let d=async({previousCacheEntry:n})=>{try{if(!F&&C&&x&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await r(i);e.fetchMetrics=Y.renderOpts.fetchMetrics;let o=Y.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=Y.renderOpts.collectedTags;if(!K)return await (0,g.sendResponse)(G,V,s,Y.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==Y.renderOpts.collectedRevalidate&&!(Y.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&Y.renderOpts.collectedRevalidate,n=void 0===Y.renderOpts.collectedExpire||Y.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:Y.renderOpts.collectedExpire;return{value:{kind:k.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:C})},!1,E),t}},c=await b.handleResponse({req:e,nextConfig:_,cacheKey:O,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:F});if(!K)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==k.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",C?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,w.fromNodeOutgoingHttpHeaders)(c.value.headers);return F&&K||u.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,m.getCacheControlHeader)(c.cacheControl)),await (0,g.sendResponse)(G,V,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};j&&H?await l(H):(i=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(h.BaseServerSpan.handleRequest,{spanName:`${$} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l),void 0,!j))}catch(t){if(t instanceof I.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:C})},!1,E),K)throw t;return await (0,g.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:R})},"routeModule",0,b,"serverHooks",0,S,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,R]),a()}catch(e){a(e)}},!1),56981,e=>{e.v(t=>Promise.all(["server/chunks/07mc_@better-auth_memory-adapter_dist_index_mjs_0736-hy._.js"].map(t=>e.l(t))).then(()=>t(665211)))},517780,e=>{e.v(t=>Promise.all(["server/chunks/04ac_better-auth_dist_adapters_kysely-adapter_index_mjs_0mwn_em._.js"].map(t=>e.l(t))).then(()=>t(369799)))},394293,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0vd~ts1._.js"].map(t=>e.l(t))).then(()=>t(359283)))},724281,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0z45rqy._.js"].map(t=>e.l(t))).then(()=>t(631543)))},862941,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_11aa~n_._.js"].map(t=>e.l(t))).then(()=>t(893029)))}];
1
+ module.exports=[726089,e=>{"use strict";var t=e.i(170865);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function n(e,n,i){let r;try{let{env:a}=(0,t.getCloudflareContext)();r=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:n});if(o.ok)try{return{sent:(await o.json()).sent??0}}catch{return{sent:0}}s.warn("broadcast service-binding non-ok",{...i,status:o.status})}catch{}let o=r||a.DEV_WS_DO_URL,l=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:n});if(!l.ok)throw Error(`broadcast failed: ${l.status}`);try{return{sent:(await l.json()).sent??0}}catch{return{sent:0}}}e.s(["broadcastToDaemon",0,function(e,a){let s=n(`/broadcast/daemon/${e}`,JSON.stringify(a),{daemonId:e,type:a.type});try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(s.catch(()=>{}))}catch{}return s},"broadcastToUser",0,function(e,a){return function(e,a,s){let i=n(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(i.catch(()=>{}))}catch{}return i.then(()=>{})}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},555230,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(424166),n=e.i(740580),i=e.i(774078);e.s(["TaskPayloadBuilder",0,class{db;constructor(e){this.db=e}async buildFullPayloads(e,r){let o=e.filter(e=>e.type!==a.TASK_TYPES.KILL_TASK),l=[...new Set(o.map(e=>e.agentId))],[d,c,u]=l.length>0?await Promise.all([(0,i.cached)(i.cacheKeys.allAgents(r),300,()=>t.queries.agent.getAllAgentsForWorkspace(this.db,r)),(0,i.cached)(i.cacheKeys.allEmailAccounts(r),600,()=>t.queries.emailAccount.getAllEmailAccountsForWorkspace(this.db,r)),(0,i.cached)(i.cacheKeys.allColleagues(r),600,()=>t.queries.agentLink.getAllColleaguesForWorkspace(this.db,r)).catch(()=>[])]).then(([e,t,a])=>{let s=new Set(l);return[e.filter(e=>s.has(e.id)),t.filter(e=>s.has(e.agentId)),a.filter(e=>s.has(e.agentId))]}):[[],[],[]],h=new Map(d.map(e=>[e.id,e])),p=new Map;for(let e of c){let t=p.get(e.agentId)??[];t.push(e.emailAddress),p.set(e.agentId,t)}let g=new Map;for(let e of u){let t=g.get(e.agentId)??[];t.push(e),g.set(e.agentId,t)}let w=[...new Set(o.map(e=>e.conversationId).filter(Boolean))],m=new Map((w.length>0?await t.queries.conversation.getConversationsByIds(this.db,w,r):[]).map(e=>[e.id,e])),f=new Map,I=new Map,k=[];for(let o of e){if(o.type===a.TASK_TYPES.KILL_TASK){k.push({...(0,n.taskToResponse)(o),agent:null,sender:null});continue}let e=h.get(o.agentId)??null,l=[];if(e){e.emailHandle&&l.push(`${e.emailHandle}@alook.ai`);let t=p.get(e.id)??[];l.push(...t)}let d=e?.instructions??"";if(e?.ownerId){if(!f.has(e.ownerId)){let a=await (0,i.cached)(i.cacheKeys.member(r,e.ownerId),600,()=>t.queries.member.getMemberByUserAndWorkspace(this.db,e.ownerId,r));f.set(e.ownerId,a?{globalInstruction:a.globalInstruction}:null)}let a=f.get(e.ownerId);a?.globalInstruction&&(d=[a.globalInstruction,d].filter(Boolean).join("\n\n"))}let c=null;if(e?.ownerId){if(!I.has(e.ownerId)){let a=await (0,i.cached)(i.cacheKeys.user(e.ownerId),1800,()=>t.queries.user.getUser(this.db,e.ownerId));I.set(e.ownerId,a?{name:a.name,email:a.email}:null)}c=I.get(e.ownerId)?.name??null}let u=m.get(o.conversationId)??null,w=u?.channel??"default",T=null;if(o.type===a.TASK_TYPES.USER_DM_MESSAGE&&u?.userId){if(!I.has(u.userId)){let e=await (0,i.cached)(i.cacheKeys.user(u.userId),1800,()=>t.queries.user.getUser(this.db,u.userId));I.set(u.userId,e?{name:e.name,email:e.email}:null)}let a=I.get(u.userId);a&&(T={name:a.name,email:a.email,is_owner:u.userId===e?.ownerId})}let v=(g.get(o.agentId)??[]).map(e=>({name:e.name,email:e.emailHandle?(0,s.toAlookAddress)(e.emailHandle):"",description:e.description,instruction:e.instruction}));k.push({...(0,n.taskToResponse)(o),channel:w,sender:T,agent:e?{instructions:d,name:e.name,runtime_config:e.runtimeConfig||{},email_handle:e.emailHandle||null,email_addresses:l,user_email:null,user_name:c,colleagues:v}:null})}return k}}])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),n=e.i(726089),i=e.i(740580),r=e.i(774078),o=e.i(555230);let l=t.queries.task,d=t.queries.agent,c=t.queries.message,u=t.queries.conversation,h=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,n,i=a.TASK_TYPES.USER_DM_MESSAGE,o){let c=await d.getAgent(this.db,e,s);if(!c)throw Error("agent not found");if(!c.runtimeId)throw Error("agent has no runtime");if(o?.traceId&&o.parentTaskId&&await l.countTasksByTrace(this.db,o.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await l.createTask(this.db,{agentId:e,runtimeId:c.runtimeId,workspaceId:s,conversationId:t,prompt:n,type:i,contextKey:o?.contextKey??null,priority:0,context:o?.context,traceId:o?.traceId??null,parentTaskId:o?.parentTaskId??null});return(0,r.invalidate)(r.cacheKeys.activeTaskCounts(s)).catch(()=>{}),await this.pushTaskToDaemon(u,s).catch(()=>{}),u}async claimTask(e,t){let a=await d.getAgent(this.db,e,t);return this.claimTaskWithAgent(e,t,a)}async claimTaskWithAgent(e,t,a){if(!a)return null;if(await l.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await l.findSteerableReplacement(this.db,e,t);if(!s||await l.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await l.claimTask(this.db,e,t);return s?(await d.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await l.claimKillTasks(this.db,e,a,t),n=t-s.length,i=n>0?await l.listPendingTasksByRuntimes(this.db,e,a):[],r=new Set(e),o=new Set,c=[...s],u=[];for(let e of i){if(u.length>=n)break;let t=`${e.agentId}:${e.workspaceId}`;o.has(t)||(o.add(t),u.push(e))}if(0===u.length)return c;let h=[...new Set(u.map(e=>e.agentId))],p=new Map((await d.getAgentsByIds(this.db,h,a)).map(e=>[e.id,e]));for(let e of(await Promise.all(u.map(e=>this.claimTaskWithAgent(e.agentId,e.workspaceId,p.get(e.agentId)??null)))))e&&r.has(e.runtimeId)&&c.push(e);return c}async startTask(e,t){let a=await l.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let o;try{o=JSON.parse(a)}catch{o={raw:a}}let d=await l.completeTask(this.db,e,t,{result:o,sessionId:r||null});if(!d){let t=await l.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let h=o,p="string"==typeof h?.output?h.output:"";if(p){let a=await c.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:p,taskId:e});try{let e=await u.getConversation(this.db,d.conversationId,t);e&&(0,n.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async failTask(e,t,r){let o=await l.failTask(this.db,e,t,r);if(!o){let t=await l.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(o.type===a.TASK_TYPES.KILL_TASK)return o;if(r){let a=await c.createMessage(this.db,{conversationId:o.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e});try{let e=await u.getConversation(this.db,o.conversationId,t);e&&(0,n.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:o.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(o.agentId,o.workspaceId),await this.syncIssueStatusFromTask(o,"failed"),await this.dispatchNextBufferedMessage(o.conversationId,o.workspaceId),o}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await h.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await h.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let r=await c.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await u.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,n.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(r)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await l.supersedeTask(this.db,e,t);if(!a){let t=await l.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await l.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await l.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,i,r){let o=await l.getActiveTaskByConversation(this.db,e,i);if(!o)return null;let d=await l.cancelTask(this.db,o.id,i);if(!d)return null;if("dispatched"===o.status||"running"===o.status){let r=await l.createTask(this.db,{agentId:o.agentId,runtimeId:o.runtimeId,workspaceId:i,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:o.id}});await l.dispatchTaskById(this.db,r.id,i);let d=await t.queries.runtime.getAgentRuntime(this.db,o.runtimeId);d&&(0,n.broadcastToDaemon)(d.daemonId,{type:"daemon.kill",workspaceId:i,agentId:o.agentId,taskId:r.id,targetTaskId:o.id}).catch(e=>s.log.warn("daemon.kill broadcast failed, relying on poll fallback",e))}return await c.createMessage(this.db,{conversationId:e,role:"assistant",content:r?.reason??"Task cancelled by user",taskId:o.id}),await this.reconcileAgentStatus(o.agentId,i),r?.skipDispatch||await this.dispatchNextBufferedMessage(e,i),d}async reconcileAgentStatus(e,t){let a=await l.countRunningTasks(this.db,e,t);await d.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,r.invalidate)(r.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let r=await c.activateNextBufferedMessage(this.db,e);if(!r)return null;let o=await u.getConversation(this.db,e,t);if(!o)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await c.revertToBuffered(this.db,r.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:r.id,revertErr:e})}),null;let d=o.userId;try{let s=r.attachmentIds?JSON.parse(r.attachmentIds):[],u=await l.getLatestTaskForConversation(this.db,e),h=u?.traceId??null,p=await this.enqueueTask(o.agentId,e,t,r.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await c.updateMessageTaskId(this.db,r.id,p.id),(0,n.broadcastToUser)(d,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(r),task:(0,i.taskToResponse)(p)}).catch(()=>{}),p}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await c.revertToBuffered(this.db,r.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:r.id,revertErr:e})}),(0,n.broadcastToUser)(d,{type:"followup.dispatch_failed",conversationId:e,messageId:r.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let n of[...new Set((await l.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(n,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:n,err:t})}}async pushTaskToDaemon(e,a){let s=await t.queries.runtime.getAgentRuntime(this.db,e.runtimeId);if(!s)return;let i=await l.dispatchTaskById(this.db,e.id,a);if(!i)return;let r=new o.TaskPayloadBuilder(this.db),d=await r.buildFullPayloads([i],a);if(0===d.length)return void await l.revertDispatchedToQueued(this.db,e.id,a);try{let{sent:t}=await (0,n.broadcastToDaemon)(s.daemonId,{type:"daemon.tasks",tasks:d});0===t&&await l.revertDispatchedToQueued(this.db,e.id,a)}catch{await l.revertDispatchedToQueued(this.db,e.id,a)}}}])},213764,e=>e.a(async(t,a)=>{try{var s=e.i(170865);e.i(700598);var n=e.i(291109),i=e.i(675139),r=e.i(152327),o=e.i(47962),l=e.i(776227),d=e.i(740580),c=e.i(205054),u=t([r]);[r]=u.then?(await u)():u;let h=(0,r.withAuth)(async(e,t)=>{let a=await (0,o.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:r}=(0,s.getCloudflareContext)(),u=(0,i.getDb)(r.DB),h=t.params?.id;if(!h)return(0,l.writeError)("conversation id is required",400);let p=new URL(e.url),g=p.searchParams.get("newest_message_id"),w=p.searchParams.get("message_count"),m=await n.queries.conversation.getConversation(u,h,a.workspaceId);if(!m)return(0,l.writeError)("conversation not found",404);let[f,I]=await Promise.all([g?n.queries.message.getNewestMessageId(u,h):Promise.resolve(null),n.queries.message.getActiveMessageCount(u,h)]),k=!1;if(g){let e=!w||I===parseInt(w,10);k=f===g&&e}let[T,v,y,b,_,R]=await Promise.all([n.queries.message.listMessages(u,h,{limit:20}),n.queries.artifact.listArtifactsByConversation(u,h,a.workspaceId,{limit:50}).catch(()=>[]),n.queries.message.listBufferedMessages(u,h).catch(()=>[]),n.queries.task.getActiveTaskByConversation(u,h,a.workspaceId).catch(()=>null),n.queries.messageFlag.listFlaggedMessageIds(u,t.userId,a.workspaceId,h).catch(()=>[]),n.queries.conversation.hasPreviousConversations(u,a.workspaceId,t.userId,m.agentId,h,m.channel||void 0).catch(()=>!1)]),{messages:S,has_more:A}=T,E=b,C=y;if(C.length>0&&!E)try{let e=new c.TaskService(u),t=await e.dispatchNextBufferedMessage(h,a.workspaceId);t&&(E=t,C=await n.queries.message.listBufferedMessages(u,h))}catch{}let x=[];if(E&&!["completed","failed","cancelled","superseded"].includes(E.status))try{x=(await n.queries.taskMessage.listTaskMessages(u,E.id)).map(d.taskMessageToResponse)}catch{}let M={};if(S.length>0){let e=[...new Set(S.filter(e=>"assistant"===e.role&&e.taskId).map(e=>e.taskId))];if(e.length>0)try{for(let t of(await n.queries.taskMessage.countTextMessagesByTaskIds(u,e,a.workspaceId)))M[t.taskId]=t.count}catch{}}return(0,l.writeJSON)({conversation:(0,d.conversationToResponse)(m),messages:k?null:S.map(d.messageToResponse),has_more_messages:A,has_more_conversations:R,has_more_artifacts:v.length>=50,artifacts:v.map(n.queries.artifact.artifactToResponse),buffered_messages:C.map(d.messageToResponse),flagged_message_ids:_,thinking_counts:M,active_task:E?(0,d.taskToResponse)(E):null,task_messages:x,cache_valid:k,message_count:I})});e.s(["GET",0,h]),a()}catch(e){a(e)}},!1),581142,e=>e.a(async(t,a)=>{try{var s=e.i(80774),n=e.i(404478),i=e.i(732985),r=e.i(481671),o=e.i(638081),l=e.i(204960),d=e.i(924918),c=e.i(363585),u=e.i(906846),h=e.i(359838),p=e.i(383303),g=e.i(234173),w=e.i(270215),m=e.i(830665),f=e.i(944002),I=e.i(193695);e.i(195928);var k=e.i(81543),T=e.i(213764),v=t([T]);[T]=v.then?(await v)():v;let b=new s.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/conversations/[id]/init/route",pathname:"/api/conversations/[id]/init",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/conversations/[id]/init/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:R,serverHooks:S}=b;async function y(e,t,a){a.requestMeta&&(0,r.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/conversations/[id]/init/route";s=s.replace(/\/index$/,"")||"/";let i=await b.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,deploymentId:v,params:y,nextConfig:_,parsedUrl:R,isDraftMode:S,prerenderManifest:A,routerServerContext:E,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,resolvedPathname:M,clientReferenceManifest:q,serverActionsManifest:P}=i,N=(0,d.normalizeAppPath)(s),K=!!(A.dynamicRoutes[N]||A.routes[M]),B=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,R,!1):t.end("This page could not be found"),null);if(K&&!S){let e=!!A.routes[M],t=A.dynamicRoutes[N];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await B();throw new I.NoFallbackError}}let O=null;!K||b.isDev||S||(O=M,O="/index"===O?"/":O);let U=!0===b.isDev||!K,D=K&&!U;P&&q&&(0,l.setManifestsSingleton)({page:s,clientReferenceManifest:q,serverActionsManifest:P});let $=e.method||"GET",L=(0,o.getTracer)(),H=L.getActiveScopeSpan(),j=!!(null==E?void 0:E.isWrappedByNextServer),F=!!(0,r.getRequestMeta)(e,"minimalMode"),W=(0,r.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,_,A,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let Y={params:y,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:_.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,n)=>b.onRequestError(e,t,s,n,E)},sharedContext:{buildId:T,deploymentId:v}},G=new c.NodeNextRequest(e),V=new c.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let i,r=async e=>b.handle(J,Y).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=L.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==h.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${$} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",n),i.updateName(t))}else e.updateName(`${$} ${s}`)}),l=async i=>{var o,l;let d=async({previousCacheEntry:n})=>{try{if(!F&&C&&x&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await r(i);e.fetchMetrics=Y.renderOpts.fetchMetrics;let o=Y.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=Y.renderOpts.collectedTags;if(!K)return await (0,g.sendResponse)(G,V,s,Y.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==Y.renderOpts.collectedRevalidate&&!(Y.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&Y.renderOpts.collectedRevalidate,n=void 0===Y.renderOpts.collectedExpire||Y.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:Y.renderOpts.collectedExpire;return{value:{kind:k.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:C})},!1,E),t}},c=await b.handleResponse({req:e,nextConfig:_,cacheKey:O,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:F});if(!K)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==k.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",C?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,w.fromNodeOutgoingHttpHeaders)(c.value.headers);return F&&K||u.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,m.getCacheControlHeader)(c.cacheControl)),await (0,g.sendResponse)(G,V,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};j&&H?await l(H):(i=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(h.BaseServerSpan.handleRequest,{spanName:`${$} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l),void 0,!j))}catch(t){if(t instanceof I.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:C})},!1,E),K)throw t;return await (0,g.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:R})},"routeModule",0,b,"serverHooks",0,S,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,R]),a()}catch(e){a(e)}},!1),56981,e=>{e.v(t=>Promise.all(["server/chunks/07mc_@better-auth_memory-adapter_dist_index_mjs_0736-hy._.js"].map(t=>e.l(t))).then(()=>t(665211)))},534759,e=>{e.v(t=>Promise.all(["server/chunks/0e94_better-auth_dist_adapters_kysely-adapter_index_mjs_0nf4_d_._.js"].map(t=>e.l(t))).then(()=>t(458714)))},394293,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0vd~ts1._.js"].map(t=>e.l(t))).then(()=>t(359283)))},724281,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0z45rqy._.js"].map(t=>e.l(t))).then(()=>t(631543)))},862941,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_11aa~n_._.js"].map(t=>e.l(t))).then(()=>t(893029)))}];
2
2
 
3
- //# sourceMappingURL=_0-gx7n5._.js.map
3
+ //# sourceMappingURL=_0iiaqss._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[364296,e=>e.a(async(t,a)=>{try{var r=e.i(170865);e.i(700598);var n=e.i(291109),i=e.i(704024),s=e.i(152327),o=e.i(47962),l=e.i(776227),d=e.i(740580),u=e.i(675139),p=t([s]);[s]=p.then?(await p)():p;let c=(0,s.withAuth)(async(e,t)=>{let a=await (0,o.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:s}=(0,r.getCloudflareContext)(),p=(0,u.getDb)(s.DB),c=t.params?.meetingId;if(!c)return(0,l.writeError)("meeting id is required",400);let h=await n.queries.meetingSession.getMeetingSession(p,c,a.workspaceId);if(!h)return(0,l.writeError)("meeting not found",404);if(h.status!==i.MeetingStatus.PENDING)return(0,l.writeError)("only pending meetings can be approved",400);let m=await n.queries.meetingSession.updateMeetingSession(p,c,a.workspaceId,{status:i.MeetingStatus.SCHEDULED});return m?(0,l.writeJSON)((0,d.meetingToResponse)(m)):(0,l.writeError)("meeting not found",404)});e.s(["POST",0,c]),a()}catch(e){a(e)}},!1),549627,e=>e.a(async(t,a)=>{try{var r=e.i(80774),n=e.i(404478),i=e.i(732985),s=e.i(481671),o=e.i(638081),l=e.i(204960),d=e.i(924918),u=e.i(363585),p=e.i(906846),c=e.i(359838),h=e.i(383303),m=e.i(234173),g=e.i(270215),v=e.i(830665),R=e.i(944002),_=e.i(193695);e.i(195928);var w=e.i(81543),f=e.i(364296),E=t([f]);[f]=E.then?(await E)():E;let C=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/agents/[id]/meetings/[meetingId]/approve/route",pathname:"/api/agents/[id]/meetings/[meetingId]/approve",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/agents/[id]/meetings/[meetingId]/approve/route.ts",nextConfigOutput:"standalone",userland:f,...{}}),{workAsyncStorage:x,workUnitAsyncStorage:b,serverHooks:A}=C;async function y(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),C.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/agents/[id]/meetings/[meetingId]/approve/route";r=r.replace(/\/index$/,"")||"/";let i=await C.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:f,deploymentId:E,params:y,nextConfig:x,parsedUrl:b,isDraftMode:A,prerenderManifest:P,routerServerContext:S,isOnDemandRevalidate:N,revalidateOnlyGenerated:T,resolvedPathname:k,clientReferenceManifest:q,serverActionsManifest:I}=i,O=(0,d.normalizeAppPath)(r),M=!!(P.dynamicRoutes[O]||P.routes[k]),D=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,b,!1):t.end("This page could not be found"),null);if(M&&!A){let e=!!P.routes[k],t=P.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(x.adapterPath)return await D();throw new _.NoFallbackError}}let H=null;!M||C.isDev||A||(H=k,H="/index"===H?"/":H);let j=!0===C.isDev||!M,U=M&&!j;I&&q&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:q,serverActionsManifest:I});let $=e.method||"GET",B=(0,o.getTracer)(),F=B.getActiveScopeSpan(),K=!!(null==S?void 0:S.isWrappedByNextServer),L=!!(0,s.getRequestMeta)(e,"minimalMode"),G=(0,s.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,x,P,L);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let W={params:y,previewProps:P.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:j,incrementalCache:G,cacheLifeProfiles:x.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>C.onRequestError(e,t,r,n,S)},sharedContext:{buildId:f,deploymentId:E}},V=new u.NodeNextRequest(e),X=new u.NodeNextResponse(t),z=p.NextRequestAdapter.fromNodeNextRequest(V,(0,p.signalFromNodeResponse)(t));try{let i,s=async e=>C.handle(z,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=B.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${$} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",n),i.updateName(t))}else e.updateName(`${$} ${r}`)}),l=async i=>{var o,l;let d=async({previousCacheEntry:n})=>{try{if(!L&&N&&T&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await s(i);e.fetchMetrics=W.renderOpts.fetchMetrics;let o=W.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=W.renderOpts.collectedTags;if(!M)return await (0,m.sendResponse)(V,X,r,W.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(r.headers);l&&(t[R.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,n=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,S),t}},u=await C.handleResponse({req:e,nextConfig:x,cacheKey:H,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:T,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:L});if(!M)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&M||p.delete(R.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,v.getCacheControlHeader)(u.cacheControl)),await (0,m.sendResponse)(V,X,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};K&&F?await l(F):(i=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(c.BaseServerSpan.handleRequest,{spanName:`${$} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l),void 0,!K))}catch(t){if(t instanceof _.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,S),M)throw t;return await (0,m.sendResponse)(V,X,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:b})},"routeModule",0,C,"serverHooks",0,A,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,b]),a()}catch(e){a(e)}},!1),56981,e=>{e.v(t=>Promise.all(["server/chunks/07mc_@better-auth_memory-adapter_dist_index_mjs_0736-hy._.js"].map(t=>e.l(t))).then(()=>t(665211)))},517780,e=>{e.v(t=>Promise.all(["server/chunks/04ac_better-auth_dist_adapters_kysely-adapter_index_mjs_0mwn_em._.js"].map(t=>e.l(t))).then(()=>t(369799)))},394293,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0vd~ts1._.js"].map(t=>e.l(t))).then(()=>t(359283)))},724281,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0z45rqy._.js"].map(t=>e.l(t))).then(()=>t(631543)))},862941,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_11aa~n_._.js"].map(t=>e.l(t))).then(()=>t(893029)))}];
1
+ module.exports=[364296,e=>e.a(async(t,a)=>{try{var r=e.i(170865);e.i(700598);var n=e.i(291109),i=e.i(704024),s=e.i(152327),o=e.i(47962),l=e.i(776227),d=e.i(740580),u=e.i(675139),p=t([s]);[s]=p.then?(await p)():p;let c=(0,s.withAuth)(async(e,t)=>{let a=await (0,o.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:s}=(0,r.getCloudflareContext)(),p=(0,u.getDb)(s.DB),c=t.params?.meetingId;if(!c)return(0,l.writeError)("meeting id is required",400);let h=await n.queries.meetingSession.getMeetingSession(p,c,a.workspaceId);if(!h)return(0,l.writeError)("meeting not found",404);if(h.status!==i.MeetingStatus.PENDING)return(0,l.writeError)("only pending meetings can be approved",400);let g=await n.queries.meetingSession.updateMeetingSession(p,c,a.workspaceId,{status:i.MeetingStatus.SCHEDULED});return g?(0,l.writeJSON)((0,d.meetingToResponse)(g)):(0,l.writeError)("meeting not found",404)});e.s(["POST",0,c]),a()}catch(e){a(e)}},!1),549627,e=>e.a(async(t,a)=>{try{var r=e.i(80774),n=e.i(404478),i=e.i(732985),s=e.i(481671),o=e.i(638081),l=e.i(204960),d=e.i(924918),u=e.i(363585),p=e.i(906846),c=e.i(359838),h=e.i(383303),g=e.i(234173),m=e.i(270215),v=e.i(830665),R=e.i(944002),_=e.i(193695);e.i(195928);var w=e.i(81543),f=e.i(364296),E=t([f]);[f]=E.then?(await E)():E;let C=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/agents/[id]/meetings/[meetingId]/approve/route",pathname:"/api/agents/[id]/meetings/[meetingId]/approve",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/agents/[id]/meetings/[meetingId]/approve/route.ts",nextConfigOutput:"standalone",userland:f,...{}}),{workAsyncStorage:x,workUnitAsyncStorage:b,serverHooks:A}=C;async function y(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),C.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/agents/[id]/meetings/[meetingId]/approve/route";r=r.replace(/\/index$/,"")||"/";let i=await C.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:f,deploymentId:E,params:y,nextConfig:x,parsedUrl:b,isDraftMode:A,prerenderManifest:P,routerServerContext:S,isOnDemandRevalidate:N,revalidateOnlyGenerated:T,resolvedPathname:k,clientReferenceManifest:q,serverActionsManifest:I}=i,O=(0,d.normalizeAppPath)(r),M=!!(P.dynamicRoutes[O]||P.routes[k]),D=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,b,!1):t.end("This page could not be found"),null);if(M&&!A){let e=!!P.routes[k],t=P.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(x.adapterPath)return await D();throw new _.NoFallbackError}}let H=null;!M||C.isDev||A||(H=k,H="/index"===H?"/":H);let j=!0===C.isDev||!M,U=M&&!j;I&&q&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:q,serverActionsManifest:I});let $=e.method||"GET",B=(0,o.getTracer)(),F=B.getActiveScopeSpan(),K=!!(null==S?void 0:S.isWrappedByNextServer),L=!!(0,s.getRequestMeta)(e,"minimalMode"),G=(0,s.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,x,P,L);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let W={params:y,previewProps:P.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:j,incrementalCache:G,cacheLifeProfiles:x.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>C.onRequestError(e,t,r,n,S)},sharedContext:{buildId:f,deploymentId:E}},V=new u.NodeNextRequest(e),X=new u.NodeNextResponse(t),z=p.NextRequestAdapter.fromNodeNextRequest(V,(0,p.signalFromNodeResponse)(t));try{let i,s=async e=>C.handle(z,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=B.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${$} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",n),i.updateName(t))}else e.updateName(`${$} ${r}`)}),l=async i=>{var o,l;let d=async({previousCacheEntry:n})=>{try{if(!L&&N&&T&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await s(i);e.fetchMetrics=W.renderOpts.fetchMetrics;let o=W.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=W.renderOpts.collectedTags;if(!M)return await (0,g.sendResponse)(V,X,r,W.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(r.headers);l&&(t[R.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,n=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,S),t}},u=await C.handleResponse({req:e,nextConfig:x,cacheKey:H,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:T,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:L});if(!M)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,m.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&M||p.delete(R.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,v.getCacheControlHeader)(u.cacheControl)),await (0,g.sendResponse)(V,X,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};K&&F?await l(F):(i=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(c.BaseServerSpan.handleRequest,{spanName:`${$} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l),void 0,!K))}catch(t){if(t instanceof _.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,S),M)throw t;return await (0,g.sendResponse)(V,X,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:b})},"routeModule",0,C,"serverHooks",0,A,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,b]),a()}catch(e){a(e)}},!1),56981,e=>{e.v(t=>Promise.all(["server/chunks/07mc_@better-auth_memory-adapter_dist_index_mjs_0736-hy._.js"].map(t=>e.l(t))).then(()=>t(665211)))},534759,e=>{e.v(t=>Promise.all(["server/chunks/0e94_better-auth_dist_adapters_kysely-adapter_index_mjs_0nf4_d_._.js"].map(t=>e.l(t))).then(()=>t(458714)))},394293,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0vd~ts1._.js"].map(t=>e.l(t))).then(()=>t(359283)))},724281,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0z45rqy._.js"].map(t=>e.l(t))).then(()=>t(631543)))},862941,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_11aa~n_._.js"].map(t=>e.l(t))).then(()=>t(893029)))}];
2
2
 
3
- //# sourceMappingURL=_0cbv1zs._.js.map
3
+ //# sourceMappingURL=_0iu2v25._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[726089,e=>{"use strict";var t=e.i(170865);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function n(e,n,i){let r;try{let{env:a}=(0,t.getCloudflareContext)();r=a.DEV_WS_DO_URL;let d=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:n});if(d.ok)try{return{sent:(await d.json()).sent??0}}catch{return{sent:0}}s.warn("broadcast service-binding non-ok",{...i,status:d.status})}catch{}let d=r||a.DEV_WS_DO_URL,o=await fetch(`${d}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:n});if(!o.ok)throw Error(`broadcast failed: ${o.status}`);try{return{sent:(await o.json()).sent??0}}catch{return{sent:0}}}e.s(["broadcastToDaemon",0,function(e,a){let s=n(`/broadcast/daemon/${e}`,JSON.stringify(a),{daemonId:e,type:a.type});try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(s.catch(()=>{}))}catch{}return s},"broadcastToUser",0,function(e,a){return function(e,a,s){let i=n(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(i.catch(()=>{}))}catch{}return i.then(()=>{})}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},555230,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(424166),n=e.i(740580),i=e.i(774078);e.s(["TaskPayloadBuilder",0,class{db;constructor(e){this.db=e}async buildFullPayloads(e,r){let d=e.filter(e=>e.type!==a.TASK_TYPES.KILL_TASK),o=[...new Set(d.map(e=>e.agentId))],[l,c,u]=o.length>0?await Promise.all([(0,i.cached)(i.cacheKeys.allAgents(r),300,()=>t.queries.agent.getAllAgentsForWorkspace(this.db,r)),(0,i.cached)(i.cacheKeys.allEmailAccounts(r),600,()=>t.queries.emailAccount.getAllEmailAccountsForWorkspace(this.db,r)),(0,i.cached)(i.cacheKeys.allColleagues(r),600,()=>t.queries.agentLink.getAllColleaguesForWorkspace(this.db,r)).catch(()=>[])]).then(([e,t,a])=>{let s=new Set(o);return[e.filter(e=>s.has(e.id)),t.filter(e=>s.has(e.agentId)),a.filter(e=>s.has(e.agentId))]}):[[],[],[]],h=new Map(l.map(e=>[e.id,e])),g=new Map;for(let e of c){let t=g.get(e.agentId)??[];t.push(e.emailAddress),g.set(e.agentId,t)}let w=new Map;for(let e of u){let t=w.get(e.agentId)??[];t.push(e),w.set(e.agentId,t)}let p=[...new Set(d.map(e=>e.conversationId).filter(Boolean))],m=new Map((p.length>0?await t.queries.conversation.getConversationsByIds(this.db,p,r):[]).map(e=>[e.id,e])),I=new Map,k=new Map,f=[];for(let d of e){if(d.type===a.TASK_TYPES.KILL_TASK){f.push({...(0,n.taskToResponse)(d),agent:null,sender:null});continue}let e=h.get(d.agentId)??null,o=[];if(e){e.emailHandle&&o.push(`${e.emailHandle}@alook.ai`);let t=g.get(e.id)??[];o.push(...t)}let l=e?.instructions??"";if(e?.ownerId){if(!I.has(e.ownerId)){let a=await (0,i.cached)(i.cacheKeys.member(r,e.ownerId),600,()=>t.queries.member.getMemberByUserAndWorkspace(this.db,e.ownerId,r));I.set(e.ownerId,a?{globalInstruction:a.globalInstruction}:null)}let a=I.get(e.ownerId);a?.globalInstruction&&(l=[a.globalInstruction,l].filter(Boolean).join("\n\n"))}let c=null;if(e?.ownerId){if(!k.has(e.ownerId)){let a=await (0,i.cached)(i.cacheKeys.user(e.ownerId),1800,()=>t.queries.user.getUser(this.db,e.ownerId));k.set(e.ownerId,a?{name:a.name,email:a.email}:null)}c=k.get(e.ownerId)?.name??null}let u=m.get(d.conversationId)??null,p=u?.channel??"default",T=null;if(d.type===a.TASK_TYPES.USER_DM_MESSAGE&&u?.userId){if(!k.has(u.userId)){let e=await (0,i.cached)(i.cacheKeys.user(u.userId),1800,()=>t.queries.user.getUser(this.db,u.userId));k.set(u.userId,e?{name:e.name,email:e.email}:null)}let a=k.get(u.userId);a&&(T={name:a.name,email:a.email,is_owner:u.userId===e?.ownerId})}let b=(w.get(d.agentId)??[]).map(e=>({name:e.name,email:e.emailHandle?(0,s.toAlookAddress)(e.emailHandle):"",description:e.description,instruction:e.instruction}));f.push({...(0,n.taskToResponse)(d),channel:p,sender:T,agent:e?{instructions:l,name:e.name,runtime_config:e.runtimeConfig||{},email_handle:e.emailHandle||null,email_addresses:o,user_email:null,user_name:c,colleagues:b}:null})}return f}}])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),n=e.i(726089),i=e.i(740580),r=e.i(774078),d=e.i(555230);let o=t.queries.task,l=t.queries.agent,c=t.queries.message,u=t.queries.conversation,h=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,n,i=a.TASK_TYPES.USER_DM_MESSAGE,d){let c=await l.getAgent(this.db,e,s);if(!c)throw Error("agent not found");if(!c.runtimeId)throw Error("agent has no runtime");if(d?.traceId&&d.parentTaskId&&await o.countTasksByTrace(this.db,d.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:c.runtimeId,workspaceId:s,conversationId:t,prompt:n,type:i,contextKey:d?.contextKey??null,priority:0,context:d?.context,traceId:d?.traceId??null,parentTaskId:d?.parentTaskId??null});return(0,r.invalidate)(r.cacheKeys.activeTaskCounts(s)).catch(()=>{}),await this.pushTaskToDaemon(u,s).catch(()=>{}),u}async claimTask(e,t){let a=await l.getAgent(this.db,e,t);return this.claimTaskWithAgent(e,t,a)}async claimTaskWithAgent(e,t,a){if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,e,t);if(!s||await o.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,e,t);return s?(await l.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await o.claimKillTasks(this.db,e,a,t),n=t-s.length,i=n>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],r=new Set(e),d=new Set,c=[...s],u=[];for(let e of i){if(u.length>=n)break;let t=`${e.agentId}:${e.workspaceId}`;d.has(t)||(d.add(t),u.push(e))}if(0===u.length)return c;let h=[...new Set(u.map(e=>e.agentId))],g=new Map((await l.getAgentsByIds(this.db,h,a)).map(e=>[e.id,e]));for(let e of(await Promise.all(u.map(e=>this.claimTaskWithAgent(e.agentId,e.workspaceId,g.get(e.agentId)??null)))))e&&r.has(e.runtimeId)&&c.push(e);return c}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let d;try{d=JSON.parse(a)}catch{d={raw:a}}let l=await o.completeTask(this.db,e,t,{result:d,sessionId:r||null});if(!l){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let h=d,g="string"==typeof h?.output?h.output:"";if(g){let a=await c.createMessage(this.db,{conversationId:l.conversationId,role:"assistant",content:g,taskId:e});try{let e=await u.getConversation(this.db,l.conversationId,t);e&&(0,n.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:l.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(l.agentId,l.workspaceId),await this.dispatchNextBufferedMessage(l.conversationId,l.workspaceId),l}async failTask(e,t,r){let d=await o.failTask(this.db,e,t,r);if(!d){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(d.type===a.TASK_TYPES.KILL_TASK)return d;if(r){let a=await c.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e});try{let e=await u.getConversation(this.db,d.conversationId,t);e&&(0,n.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.syncIssueStatusFromTask(d,"failed"),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await h.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await h.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let r=await c.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await u.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,n.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(r)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,i,r){let d=await o.getActiveTaskByConversation(this.db,e,i);if(!d)return null;let l=await o.cancelTask(this.db,d.id,i);if(!l)return null;if("dispatched"===d.status||"running"===d.status){let r=await o.createTask(this.db,{agentId:d.agentId,runtimeId:d.runtimeId,workspaceId:i,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:d.id}});await o.dispatchTaskById(this.db,r.id,i);let l=await t.queries.runtime.getAgentRuntime(this.db,d.runtimeId);l&&(0,n.broadcastToDaemon)(l.daemonId,{type:"daemon.kill",workspaceId:i,agentId:d.agentId,taskId:r.id,targetTaskId:d.id}).catch(e=>s.log.warn("daemon.kill broadcast failed, relying on poll fallback",e))}return await c.createMessage(this.db,{conversationId:e,role:"assistant",content:r?.reason??"Task cancelled by user",taskId:d.id}),await this.reconcileAgentStatus(d.agentId,i),r?.skipDispatch||await this.dispatchNextBufferedMessage(e,i),l}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await l.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,r.invalidate)(r.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let r=await c.activateNextBufferedMessage(this.db,e);if(!r)return null;let d=await u.getConversation(this.db,e,t);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await c.revertToBuffered(this.db,r.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:r.id,revertErr:e})}),null;let l=d.userId;try{let s=r.attachmentIds?JSON.parse(r.attachmentIds):[],u=await o.getLatestTaskForConversation(this.db,e),h=u?.traceId??null,g=await this.enqueueTask(d.agentId,e,t,r.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await c.updateMessageTaskId(this.db,r.id,g.id),(0,n.broadcastToUser)(l,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(r),task:(0,i.taskToResponse)(g)}).catch(()=>{}),g}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await c.revertToBuffered(this.db,r.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:r.id,revertErr:e})}),(0,n.broadcastToUser)(l,{type:"followup.dispatch_failed",conversationId:e,messageId:r.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let n of[...new Set((await o.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(n,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:n,err:t})}}async pushTaskToDaemon(e,a){let s=await t.queries.runtime.getAgentRuntime(this.db,e.runtimeId);if(!s)return;let i=await o.dispatchTaskById(this.db,e.id,a);if(!i)return;let r=new d.TaskPayloadBuilder(this.db),l=await r.buildFullPayloads([i],a);if(0===l.length)return void await o.revertDispatchedToQueued(this.db,e.id,a);try{let{sent:t}=await (0,n.broadcastToDaemon)(s.daemonId,{type:"daemon.tasks",tasks:l});0===t&&await o.revertDispatchedToQueued(this.db,e.id,a)}catch{await o.revertDispatchedToQueued(this.db,e.id,a)}}}])},56981,e=>{e.v(t=>Promise.all(["server/chunks/07mc_@better-auth_memory-adapter_dist_index_mjs_0736-hy._.js"].map(t=>e.l(t))).then(()=>t(665211)))},517780,e=>{e.v(t=>Promise.all(["server/chunks/04ac_better-auth_dist_adapters_kysely-adapter_index_mjs_0mwn_em._.js"].map(t=>e.l(t))).then(()=>t(369799)))},394293,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0vd~ts1._.js"].map(t=>e.l(t))).then(()=>t(359283)))},724281,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0z45rqy._.js"].map(t=>e.l(t))).then(()=>t(631543)))},862941,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_11aa~n_._.js"].map(t=>e.l(t))).then(()=>t(893029)))}];
1
+ module.exports=[726089,e=>{"use strict";var t=e.i(170865);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function n(e,n,i){let r;try{let{env:a}=(0,t.getCloudflareContext)();r=a.DEV_WS_DO_URL;let d=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:n});if(d.ok)try{return{sent:(await d.json()).sent??0}}catch{return{sent:0}}s.warn("broadcast service-binding non-ok",{...i,status:d.status})}catch{}let d=r||a.DEV_WS_DO_URL,o=await fetch(`${d}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:n});if(!o.ok)throw Error(`broadcast failed: ${o.status}`);try{return{sent:(await o.json()).sent??0}}catch{return{sent:0}}}e.s(["broadcastToDaemon",0,function(e,a){let s=n(`/broadcast/daemon/${e}`,JSON.stringify(a),{daemonId:e,type:a.type});try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(s.catch(()=>{}))}catch{}return s},"broadcastToUser",0,function(e,a){return function(e,a,s){let i=n(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(i.catch(()=>{}))}catch{}return i.then(()=>{})}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},555230,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(424166),n=e.i(740580),i=e.i(774078);e.s(["TaskPayloadBuilder",0,class{db;constructor(e){this.db=e}async buildFullPayloads(e,r){let d=e.filter(e=>e.type!==a.TASK_TYPES.KILL_TASK),o=[...new Set(d.map(e=>e.agentId))],[l,c,u]=o.length>0?await Promise.all([(0,i.cached)(i.cacheKeys.allAgents(r),300,()=>t.queries.agent.getAllAgentsForWorkspace(this.db,r)),(0,i.cached)(i.cacheKeys.allEmailAccounts(r),600,()=>t.queries.emailAccount.getAllEmailAccountsForWorkspace(this.db,r)),(0,i.cached)(i.cacheKeys.allColleagues(r),600,()=>t.queries.agentLink.getAllColleaguesForWorkspace(this.db,r)).catch(()=>[])]).then(([e,t,a])=>{let s=new Set(o);return[e.filter(e=>s.has(e.id)),t.filter(e=>s.has(e.agentId)),a.filter(e=>s.has(e.agentId))]}):[[],[],[]],h=new Map(l.map(e=>[e.id,e])),g=new Map;for(let e of c){let t=g.get(e.agentId)??[];t.push(e.emailAddress),g.set(e.agentId,t)}let w=new Map;for(let e of u){let t=w.get(e.agentId)??[];t.push(e),w.set(e.agentId,t)}let p=[...new Set(d.map(e=>e.conversationId).filter(Boolean))],m=new Map((p.length>0?await t.queries.conversation.getConversationsByIds(this.db,p,r):[]).map(e=>[e.id,e])),I=new Map,k=new Map,f=[];for(let d of e){if(d.type===a.TASK_TYPES.KILL_TASK){f.push({...(0,n.taskToResponse)(d),agent:null,sender:null});continue}let e=h.get(d.agentId)??null,o=[];if(e){e.emailHandle&&o.push(`${e.emailHandle}@alook.ai`);let t=g.get(e.id)??[];o.push(...t)}let l=e?.instructions??"";if(e?.ownerId){if(!I.has(e.ownerId)){let a=await (0,i.cached)(i.cacheKeys.member(r,e.ownerId),600,()=>t.queries.member.getMemberByUserAndWorkspace(this.db,e.ownerId,r));I.set(e.ownerId,a?{globalInstruction:a.globalInstruction}:null)}let a=I.get(e.ownerId);a?.globalInstruction&&(l=[a.globalInstruction,l].filter(Boolean).join("\n\n"))}let c=null;if(e?.ownerId){if(!k.has(e.ownerId)){let a=await (0,i.cached)(i.cacheKeys.user(e.ownerId),1800,()=>t.queries.user.getUser(this.db,e.ownerId));k.set(e.ownerId,a?{name:a.name,email:a.email}:null)}c=k.get(e.ownerId)?.name??null}let u=m.get(d.conversationId)??null,p=u?.channel??"default",T=null;if(d.type===a.TASK_TYPES.USER_DM_MESSAGE&&u?.userId){if(!k.has(u.userId)){let e=await (0,i.cached)(i.cacheKeys.user(u.userId),1800,()=>t.queries.user.getUser(this.db,u.userId));k.set(u.userId,e?{name:e.name,email:e.email}:null)}let a=k.get(u.userId);a&&(T={name:a.name,email:a.email,is_owner:u.userId===e?.ownerId})}let b=(w.get(d.agentId)??[]).map(e=>({name:e.name,email:e.emailHandle?(0,s.toAlookAddress)(e.emailHandle):"",description:e.description,instruction:e.instruction}));f.push({...(0,n.taskToResponse)(d),channel:p,sender:T,agent:e?{instructions:l,name:e.name,runtime_config:e.runtimeConfig||{},email_handle:e.emailHandle||null,email_addresses:o,user_email:null,user_name:c,colleagues:b}:null})}return f}}])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),n=e.i(726089),i=e.i(740580),r=e.i(774078),d=e.i(555230);let o=t.queries.task,l=t.queries.agent,c=t.queries.message,u=t.queries.conversation,h=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,n,i=a.TASK_TYPES.USER_DM_MESSAGE,d){let c=await l.getAgent(this.db,e,s);if(!c)throw Error("agent not found");if(!c.runtimeId)throw Error("agent has no runtime");if(d?.traceId&&d.parentTaskId&&await o.countTasksByTrace(this.db,d.traceId)>=a.MAX_TASKS_PER_TRACE)throw Error(`Trace limit reached (${a.MAX_TASKS_PER_TRACE} tasks). This may indicate an infinite loop between agents.`);let u=await o.createTask(this.db,{agentId:e,runtimeId:c.runtimeId,workspaceId:s,conversationId:t,prompt:n,type:i,contextKey:d?.contextKey??null,priority:0,context:d?.context,traceId:d?.traceId??null,parentTaskId:d?.parentTaskId??null});return(0,r.invalidate)(r.cacheKeys.activeTaskCounts(s)).catch(()=>{}),await this.pushTaskToDaemon(u,s).catch(()=>{}),u}async claimTask(e,t){let a=await l.getAgent(this.db,e,t);return this.claimTaskWithAgent(e,t,a)}async claimTaskWithAgent(e,t,a){if(!a)return null;if(await o.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await o.findSteerableReplacement(this.db,e,t);if(!s||await o.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await o.claimTask(this.db,e,t);return s?(await l.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await o.claimKillTasks(this.db,e,a,t),n=t-s.length,i=n>0?await o.listPendingTasksByRuntimes(this.db,e,a):[],r=new Set(e),d=new Set,c=[...s],u=[];for(let e of i){if(u.length>=n)break;let t=`${e.agentId}:${e.workspaceId}`;d.has(t)||(d.add(t),u.push(e))}if(0===u.length)return c;let h=[...new Set(u.map(e=>e.agentId))],g=new Map((await l.getAgentsByIds(this.db,h,a)).map(e=>[e.id,e]));for(let e of(await Promise.all(u.map(e=>this.claimTaskWithAgent(e.agentId,e.workspaceId,g.get(e.agentId)??null)))))e&&r.has(e.runtimeId)&&c.push(e);return c}async startTask(e,t){let a=await o.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let d;try{d=JSON.parse(a)}catch{d={raw:a}}let l=await o.completeTask(this.db,e,t,{result:d,sessionId:r||null});if(!l){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`completeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot complete task in '${a}' status`)}let h=d,g="string"==typeof h?.output?h.output:"";if(g){let a=await c.createMessage(this.db,{conversationId:l.conversationId,role:"assistant",content:g,taskId:e});try{let e=await u.getConversation(this.db,l.conversationId,t);e&&(0,n.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:l.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(l.agentId,l.workspaceId),await this.dispatchNextBufferedMessage(l.conversationId,l.workspaceId),l}async failTask(e,t,r){let d=await o.failTask(this.db,e,t,r);if(!d){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}if(d.type===a.TASK_TYPES.KILL_TASK)return d;if(r){let a=await c.createMessage(this.db,{conversationId:d.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e});try{let e=await u.getConversation(this.db,d.conversationId,t);e&&(0,n.broadcastToUser)(e.userId,{type:"conversation.message",conversationId:d.conversationId,message:(0,i.messageToResponse)(a)}).catch(()=>{})}catch{}}return await this.reconcileAgentStatus(d.agentId,d.workspaceId),await this.syncIssueStatusFromTask(d,"failed"),await this.dispatchNextBufferedMessage(d.conversationId,d.workspaceId),d}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await h.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await h.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let r=await c.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await u.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,n.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,i.messageToResponse)(r)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await o.supersedeTask(this.db,e,t);if(!a){let t=await o.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`supersedeTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot supersede task in '${a}' status`)}return await this.reconcileAgentStatus(a.agentId,a.workspaceId),await this.dispatchNextBufferedMessage(a.conversationId,a.workspaceId),a}async retryTask(e,t){let a=await o.getTask(this.db,e);if(!a||a.workspaceId!==t)throw Error("task not found");if("failed"!==a.status)throw Error("only failed tasks can be retried");let s=await o.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,i,r){let d=await o.getActiveTaskByConversation(this.db,e,i);if(!d)return null;let l=await o.cancelTask(this.db,d.id,i);if(!l)return null;if("dispatched"===d.status||"running"===d.status){let r=await o.createTask(this.db,{agentId:d.agentId,runtimeId:d.runtimeId,workspaceId:i,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:d.id}});await o.dispatchTaskById(this.db,r.id,i);let l=await t.queries.runtime.getAgentRuntime(this.db,d.runtimeId);l&&(0,n.broadcastToDaemon)(l.daemonId,{type:"daemon.kill",workspaceId:i,agentId:d.agentId,taskId:r.id,targetTaskId:d.id}).catch(e=>s.log.warn("daemon.kill broadcast failed, relying on poll fallback",e))}return await c.createMessage(this.db,{conversationId:e,role:"assistant",content:r?.reason??"Task cancelled by user",taskId:d.id}),await this.reconcileAgentStatus(d.agentId,i),r?.skipDispatch||await this.dispatchNextBufferedMessage(e,i),l}async reconcileAgentStatus(e,t){let a=await o.countRunningTasks(this.db,e,t);await l.updateAgentStatus(this.db,e,t,a>0?"working":"idle"),(0,r.invalidate)(r.cacheKeys.activeTaskCounts(t)).catch(()=>{})}async dispatchNextBufferedMessage(e,t){let r=await c.activateNextBufferedMessage(this.db,e);if(!r)return null;let d=await u.getConversation(this.db,e,t);if(!d)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await c.revertToBuffered(this.db,r.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:r.id,revertErr:e})}),null;let l=d.userId;try{let s=r.attachmentIds?JSON.parse(r.attachmentIds):[],u=await o.getLatestTaskForConversation(this.db,e),h=u?.traceId??null,g=await this.enqueueTask(d.agentId,e,t,r.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:h,parentTaskId:null});return await c.updateMessageTaskId(this.db,r.id,g.id),(0,n.broadcastToUser)(l,{type:"followup.dispatched",conversationId:e,message:(0,i.messageToResponse)(r),task:(0,i.taskToResponse)(g)}).catch(()=>{}),g}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await c.revertToBuffered(this.db,r.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:r.id,revertErr:e})}),(0,n.broadcastToUser)(l,{type:"followup.dispatch_failed",conversationId:e,messageId:r.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let n of[...new Set((await o.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(n,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:n,err:t})}}async pushTaskToDaemon(e,a){let s=await t.queries.runtime.getAgentRuntime(this.db,e.runtimeId);if(!s)return;let i=await o.dispatchTaskById(this.db,e.id,a);if(!i)return;let r=new d.TaskPayloadBuilder(this.db),l=await r.buildFullPayloads([i],a);if(0===l.length)return void await o.revertDispatchedToQueued(this.db,e.id,a);try{let{sent:t}=await (0,n.broadcastToDaemon)(s.daemonId,{type:"daemon.tasks",tasks:l});0===t&&await o.revertDispatchedToQueued(this.db,e.id,a)}catch{await o.revertDispatchedToQueued(this.db,e.id,a)}}}])},56981,e=>{e.v(t=>Promise.all(["server/chunks/07mc_@better-auth_memory-adapter_dist_index_mjs_0736-hy._.js"].map(t=>e.l(t))).then(()=>t(665211)))},534759,e=>{e.v(t=>Promise.all(["server/chunks/0e94_better-auth_dist_adapters_kysely-adapter_index_mjs_0nf4_d_._.js"].map(t=>e.l(t))).then(()=>t(458714)))},394293,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0vd~ts1._.js"].map(t=>e.l(t))).then(()=>t(359283)))},724281,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0z45rqy._.js"].map(t=>e.l(t))).then(()=>t(631543)))},862941,e=>{e.v(t=>Promise.all(["server/chunks/11ag_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_11aa~n_._.js"].map(t=>e.l(t))).then(()=>t(893029)))}];
2
2
 
3
- //# sourceMappingURL=_0j0w3cr._.js.map
3
+ //# sourceMappingURL=_0j22j5s._.js.map