@alook/app 0.0.68 → 0.0.69

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 (240) hide show
  1. package/bundled/email-worker/index.js +9 -1
  2. package/bundled/web/.open-next/.build/durable-objects/queue.js +5 -5
  3. package/bundled/web/.open-next/assets/BUILD_ID +1 -1
  4. package/bundled/web/.open-next/assets/_next/static/chunks/0.vi-1cgnne0e.css +1 -0
  5. package/bundled/web/.open-next/assets/_next/static/chunks/{0vob59t.w8yuf.js → 060hy1yx9.8u4.js} +2 -2
  6. package/bundled/web/.open-next/assets/_next/static/chunks/08u3p1v8e1gxg.js +63 -0
  7. package/bundled/web/.open-next/assets/_next/static/chunks/{13fkss9rmgdqw.js → 0fmcohc0raah~.js} +22 -22
  8. package/bundled/web/.open-next/assets/_next/static/chunks/0or01.vb5l38_.js +3 -0
  9. package/bundled/web/.open-next/assets/_next/static/chunks/0vb-n1ns9b-93.js +1 -0
  10. package/bundled/web/.open-next/assets/_next/static/chunks/0ymb~iviyjlb_.js +3 -0
  11. package/bundled/web/.open-next/assets/_next/static/chunks/13lom177x6744.js +1 -0
  12. package/bundled/web/.open-next/cache/{d6FEqIY-HdfUib-E9v9dt → -lo-xBQBmp_D6Nf6J9S7y}/_global-error.cache +1 -1
  13. package/bundled/web/.open-next/cache/{d6FEqIY-HdfUib-E9v9dt → -lo-xBQBmp_D6Nf6J9S7y}/_not-found.cache +1 -1
  14. package/bundled/web/.open-next/cache/{d6FEqIY-HdfUib-E9v9dt → -lo-xBQBmp_D6Nf6J9S7y}/sitemap.xml.cache +1 -1
  15. package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
  16. package/bundled/web/.open-next/cloudflare/init.js +1 -1
  17. package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
  18. package/bundled/web/.open-next/middleware/handler.mjs +3 -3
  19. package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
  20. package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
  21. package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
  22. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
  23. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
  24. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/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_client-reference-manifest.js +1 -1
  26. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/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]/email/page_client-reference-manifest.js +1 -1
  28. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/files/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]/meetings/page_client-reference-manifest.js +1 -1
  30. 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
  31. 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
  32. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
  33. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
  34. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
  35. 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
  36. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
  37. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
  38. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
  39. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
  40. 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
  41. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/page_client-reference-manifest.js +1 -1
  42. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
  43. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
  44. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
  45. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  46. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agent-links/[id]/route.js +2 -2
  47. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agent-links/route.js +1 -1
  48. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/access/[userId]/route.js +3 -3
  49. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/access/route.js +3 -3
  50. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/active-tasks/route.js +3 -3
  51. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/activity/route.js +2 -2
  52. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/chat-init/route.js +1 -1
  53. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/conversation/route.js +2 -2
  54. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/conversations/route.js +2 -2
  55. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/[accountId]/route.js +2 -2
  56. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/[accountId]/sync/route.js +3 -3
  57. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/[accountId]/test/route.js +3 -3
  58. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/email-accounts/route.js +2 -2
  59. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/[meetingId]/approve/route.js +2 -2
  60. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/[meetingId]/route.js +2 -2
  61. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/[meetingId]/stop/route.js +2 -2
  62. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/meetings/route.js +2 -2
  63. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/pin/route.js +3 -3
  64. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/route.js +2 -2
  65. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/whitelist/[whitelistId]/route.js +3 -3
  66. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/whitelist/route.js +4 -4
  67. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/workspace/browse/route.js +3 -3
  68. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/active-task-counts/route.js +3 -3
  69. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/active-tasks/route.js +6 -6
  70. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/pins/reorder/route.js +3 -3
  71. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/pins/route.js +3 -3
  72. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/route.js +6 -6
  73. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/sidebar/reorder/route.js +3 -3
  74. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/[id]/content/route.js +3 -3
  75. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/[id]/route.js +3 -3
  76. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/route.js +3 -3
  77. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/upload/route.js +3 -3
  78. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/[id]/route.js +4 -4
  79. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/route.js +3 -3
  80. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/[id]/route.js +1 -1
  81. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/reorder/route.js +3 -3
  82. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/route.js +1 -1
  83. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/config/min-version/route.js +3 -3
  84. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/config/model-options/route.js +3 -3
  85. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/active-task/route.js +1 -1
  86. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/[messageId]/route.js +3 -3
  87. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/route.js +4 -4
  88. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/messages/route.js +3 -3
  89. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/route.js +2 -2
  90. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/route.js +2 -2
  91. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/deregister/route.js +2 -2
  92. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/register/route.js +1 -1
  93. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/complete/route.js +1 -1
  94. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/fail/route.js +1 -1
  95. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/messages/route.js +3 -3
  96. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/progress/route.js +1 -1
  97. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/start/route.js +1 -1
  98. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/status/route.js +3 -3
  99. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/supersede/route.js +1 -1
  100. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/poll/route.js +3 -3
  101. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/workspace/report/route.js +1 -1
  102. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/attachment/[index]/route.js +4 -4
  103. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/body/route.js +4 -4
  104. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/raw/route.js +3 -3
  105. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/route.js +2 -2
  106. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/[id]/thread/route.js +2 -2
  107. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/notify/route.js +2 -2
  108. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/route.js +2 -2
  109. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/send/route.js +3 -3
  110. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/upload/route.js +4 -4
  111. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/flags/[messageId]/route.js +4 -4
  112. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/flags/count/route.js +3 -3
  113. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/flags/route.js +2 -2
  114. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/count/route.js +3 -3
  115. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/read/route.js +1 -1
  116. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/read-all/route.js +1 -1
  117. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/inbox/route.js +2 -2
  118. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/invite/[token]/route.js +3 -3
  119. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/comments/route.js +4 -4
  120. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/route.js +2 -2
  121. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/route.js +1 -1
  122. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/machine-tokens/[id]/route.js +3 -3
  123. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/machine-tokens/activate/route.js +1 -1
  124. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/machine-tokens/route.js +3 -3
  125. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/me/route.js +5 -5
  126. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/meeting/callback/route.js +3 -3
  127. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/members/me/route.js +3 -3
  128. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/[runtimeId]/rescan/route.js +3 -3
  129. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/[runtimeId]/update/route.js +1 -1
  130. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/machine/route.js +1 -1
  131. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/route.js +1 -1
  132. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/check-handles/route.js +1 -1
  133. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/check-name/route.js +3 -3
  134. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/route.js +4 -4
  135. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/messages/route.js +2 -2
  136. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/retry/route.js +1 -1
  137. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/route.js +2 -2
  138. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/step-counts/route.js +3 -3
  139. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/traces/[traceId]/route.js +6 -6
  140. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/traces/route.js +6 -6
  141. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/invites/[inviteId]/route.js +3 -3
  142. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/invites/route.js +2 -2
  143. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/members/[memberId]/route.js +3 -3
  144. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/members/route.js +2 -2
  145. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/overview/route.js +6 -6
  146. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/route.js +1 -1
  147. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/route.js +3 -3
  148. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
  149. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
  150. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
  151. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0.1vmoe._.js +85 -0
  152. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__009_wu3._.js +1 -1
  153. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__01crkpf._.js +1 -1
  154. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__01~--ue._.js +3 -0
  155. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/{[root-of-the-server]__0~4t--s._.js → [root-of-the-server]__027mioa._.js} +8 -8
  156. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__09cer93._.js +3 -0
  157. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0dy~25_._.js +3 -0
  158. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0faxj6t._.js +1 -1
  159. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0k4l9.h._.js +1 -1
  160. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0m5a1_f._.js +1 -1
  161. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0m_ya4f._.js +3 -0
  162. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0niqi98._.js +85 -0
  163. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ntc1ld._.js +1 -1
  164. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ud56v.._.js +1 -1
  165. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +16 -16
  166. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0266t8u._.js +2 -2
  167. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_02t7kem._.js +1 -1
  168. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_06imn.m._.js +1 -1
  169. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_07-798_._.js +1 -1
  170. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08xh_f8._.js +2 -2
  171. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_09j_99x._.js +2 -2
  172. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0c9~wb-._.js +1 -1
  173. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0exm5_w._.js +2 -2
  174. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0gqpz7w._.js +1 -1
  175. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j1t6f2._.js +1 -1
  176. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0k3wl-3._.js +1 -1
  177. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0l1m9wf._.js +2 -2
  178. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0lmedw9._.js +1 -1
  179. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ow_nxn._.js +1 -1
  180. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0piy2kq._.js +1 -1
  181. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0r0h9so._.js +3 -3
  182. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0s4qnoj._.js +1 -1
  183. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0sj8mn_._.js +3 -0
  184. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0s~hhx-._.js +1 -1
  185. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0tarogd._.js +1 -1
  186. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0tcd35h._.js +1 -1
  187. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0u3tu2x._.js +2 -2
  188. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0w6dw.t._.js +2 -2
  189. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0y3~9l1._.js +1 -1
  190. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0z.s70x._.js +1 -1
  191. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_122y7jv._.js +1 -1
  192. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0q3gvkd._.js +3 -0
  193. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0ppv-5d._.js → [root-of-the-server]__099etsu._.js} +1 -1
  194. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0r2s1aj._.js +3 -0
  195. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0xzp3_y._.js +3 -0
  196. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +16 -16
  197. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_063q-hj._.js +2 -2
  198. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0gm0lpi._.js → _091qk6t._.js} +1 -1
  199. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_09b8fgg._.js +1 -1
  200. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0e7_cpm._.js → _0xcw94t._.js} +1 -1
  201. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_11~t2ti._.js +3 -0
  202. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_12e18r-._.js +2 -2
  203. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_13__3im._.js +1 -1
  204. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_13cbsrm._.js +65 -0
  205. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0~23g-y._.js +2 -2
  206. 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
  207. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
  208. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
  209. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
  210. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
  211. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +68 -150
  212. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +302 -338
  213. package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +3 -3
  214. package/bundled/web/wrangler.toml +1 -1
  215. package/bundled/ws-do/index.js +9 -1
  216. package/dist/cli/index.js +2424 -426
  217. package/dist/cli/session-runner.js +183 -33
  218. package/package.json +1 -1
  219. package/bundled/web/.open-next/assets/_next/static/chunks/02xsv1h-9twmr.js +0 -3
  220. package/bundled/web/.open-next/assets/_next/static/chunks/085gv~jsjhgvo.js +0 -3
  221. package/bundled/web/.open-next/assets/_next/static/chunks/0csp6ncjhvojv.js +0 -63
  222. package/bundled/web/.open-next/assets/_next/static/chunks/0lf.3fdr8qzrz.css +0 -1
  223. package/bundled/web/.open-next/assets/_next/static/chunks/0u1.3sr-iag4j.js +0 -1
  224. package/bundled/web/.open-next/assets/_next/static/chunks/0v0kh80r40w4f.js +0 -1
  225. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0axs-gp._.js +0 -3
  226. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0kvsfuj._.js +0 -85
  227. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0l3u9pl._.js +0 -85
  228. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0lvfzvr._.js +0 -3
  229. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0n_hjiv._.js +0 -3
  230. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ug4a08._.js +0 -85
  231. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0~jiu74._.js +0 -3
  232. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0jx_8bw._.js +0 -3
  233. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0-jf-76._.js +0 -3
  234. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0-uhgif._.js +0 -3
  235. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0oe.0yf._.js +0 -3
  236. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0ohl~vp._.js +0 -65
  237. /package/bundled/web/.open-next/assets/_next/static/{d6FEqIY-HdfUib-E9v9dt → -lo-xBQBmp_D6Nf6J9S7y}/_buildManifest.js +0 -0
  238. /package/bundled/web/.open-next/assets/_next/static/{d6FEqIY-HdfUib-E9v9dt → -lo-xBQBmp_D6Nf6J9S7y}/_clientMiddlewareManifest.js +0 -0
  239. /package/bundled/web/.open-next/assets/_next/static/{d6FEqIY-HdfUib-E9v9dt → -lo-xBQBmp_D6Nf6J9S7y}/_ssgManifest.js +0 -0
  240. /package/bundled/web/.open-next/cache/{d6FEqIY-HdfUib-E9v9dt → -lo-xBQBmp_D6Nf6J9S7y}/robots.txt.cache +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function r(e,r,n){let i;try{let{env:a}=(0,t.getCloudflareContext)();i=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...n,status:o.status});return}catch{}let o=i||a.DEV_WS_DO_URL;try{let t=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});t.ok||s.warn("broadcast failed",{...n,status:t.status})}catch(e){s.warn("broadcast error",{...n,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,s){let n=r(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(n)}catch{}return n}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),n=e.i(740580);let i=t.queries.task,o=t.queries.agent,d=t.queries.message,l=t.queries.conversation,c=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,n=a.TASK_TYPES.USER_DM_MESSAGE,d){let l=await o.getAgent(this.db,e,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(d?.traceId&&d.parentTaskId&&await i.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.`);return i.createTask(this.db,{agentId:e,runtimeId:l.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:n,contextKey:d?.contextKey??null,priority:0,context:d?.context,traceId:d?.traceId??null,parentTaskId:d?.parentTaskId??null})}async claimTask(e,t){let a=await o.getAgent(this.db,e,t);if(!a)return null;if(await i.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await i.findSteerableReplacement(this.db,e,t);if(!s||await i.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await i.claimTask(this.db,e,t);return s?(await o.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await i.claimKillTasks(this.db,e,a,t),r=t-s.length,n=r>0?await i.listPendingTasksByRuntimes(this.db,e,a):[],o=new Set(e),d=new Set,l=[...s];for(let e of n){if(r<=0)break;let t=`${e.agentId}:${e.workspaceId}`;if(d.has(t))continue;d.add(t);let a=await this.claimTask(e.agentId,e.workspaceId);a&&o.has(a.runtimeId)&&(l.push(a),r--)}return l}async startTask(e,t){let a=await i.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let n;try{n=JSON.parse(a)}catch{n={raw:a}}let o=await i.completeTask(this.db,e,t,{result:n,sessionId:r||null});if(!o){let t=await i.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 l=n,c="string"==typeof l?.output?l.output:"";return c&&await d.createMessage(this.db,{conversationId:o.conversationId,role:"assistant",content:c,taskId:e}),await this.reconcileAgentStatus(o.agentId,o.workspaceId),await this.dispatchNextBufferedMessage(o.conversationId,o.workspaceId),o}async failTask(e,t,r){let n=await i.failTask(this.db,e,t,r);if(!n){let t=await i.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}return n.type===a.TASK_TYPES.KILL_TASK||(r&&await d.createMessage(this.db,{conversationId:n.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e}),await this.reconcileAgentStatus(n.agentId,n.workspaceId),await this.syncIssueStatusFromTask(n,"failed"),await this.dispatchNextBufferedMessage(n.conversationId,n.workspaceId)),n}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await c.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await c.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let i=await d.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await l.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,n.messageToResponse)(i)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await i.supersedeTask(this.db,e,t);if(!a){let t=await i.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 i.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 i.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await i.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let n=await i.cancelTask(this.db,r.id,t);return n?(("dispatched"===r.status||"running"===r.status)&&await i.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await d.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),n):null}async reconcileAgentStatus(e,t){let a=await i.countRunningTasks(this.db,e,t);await o.updateAgentStatus(this.db,e,t,a>0?"working":"idle")}async dispatchNextBufferedMessage(e,t){let o=await d.activateNextBufferedMessage(this.db,e);if(!o)return null;let c=await l.getConversation(this.db,e,t);if(!c)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await d.revertToBuffered(this.db,o.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),null;let u=c.userId;try{let s=o.attachmentIds?JSON.parse(o.attachmentIds):[],l=await i.getLatestTaskForConversation(this.db,e),p=l?.traceId??null,h=await this.enqueueTask(c.agentId,e,t,o.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:p,parentTaskId:null});return await d.updateMessageTaskId(this.db,o.id,h.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,n.messageToResponse)(o),task:(0,n.taskToResponse)(h)}).catch(()=>{}),h}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await d.revertToBuffered(this.db,o.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:o.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await i.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},825526,e=>e.a(async(t,a)=>{try{var s=e.i(291484),r=e.i(675139),n=e.i(152327),i=e.i(47962),o=e.i(776227),d=e.i(740580),l=e.i(205054),c=e.i(726089),u=t([n]);[n]=u.then?(await u)():u;let p=(0,n.withAuth)(async(e,t)=>{let a=await (0,i.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:n}=(0,s.getCloudflareContext)(),u=(0,r.getDb)(n.DB),p=t.params?.id;if(!p)return(0,o.writeError)("task id is required",400);let h=new l.TaskService(u);try{let{oldTask:e,newTask:s}=await h.retryTask(p,a.workspaceId);return(0,c.broadcastToUser)(t.userId,{type:"task.updated",taskId:e.id,agentId:e.agentId,status:"superseded"}).catch(()=>{}),(0,c.broadcastToUser)(t.userId,{type:"task.updated",taskId:s.id,agentId:s.agentId,status:"queued"}).catch(()=>{}),(0,o.writeJSON)((0,d.taskToResponse)(s))}catch(e){return(0,o.writeError)(e instanceof Error?e.message:"Unknown error",400)}});e.s(["POST",0,p]),a()}catch(e){a(e)}},!1),867955,e=>e.a(async(t,a)=>{try{var s=e.i(80774),r=e.i(404478),n=e.i(732985),i=e.i(481671),o=e.i(638081),d=e.i(204960),l=e.i(924918),c=e.i(363585),u=e.i(906846),p=e.i(359838),h=e.i(383303),w=e.i(234173),g=e.i(270215),k=e.i(830665),f=e.i(944002),T=e.i(193695);e.i(195928);var y=e.i(81543),v=e.i(825526),m=t([v]);[v]=m.then?(await m)():m;let b=new s.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tasks/[id]/retry/route",pathname:"/api/tasks/[id]/retry",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/tasks/[id]/retry/route.ts",nextConfigOutput:"standalone",userland:v,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:R,serverHooks:E}=b;async function I(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/tasks/[id]/retry/route";s=s.replace(/\/index$/,"")||"/";let n=await b.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,deploymentId:m,params:I,nextConfig:_,parsedUrl:R,isDraftMode:E,prerenderManifest:S,routerServerContext:A,isOnDemandRevalidate:x,revalidateOnlyGenerated:C,resolvedPathname:N,clientReferenceManifest:P,serverActionsManifest:M}=n,O=(0,l.normalizeAppPath)(s),q=!!(S.dynamicRoutes[O]||S.routes[N]),U=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,R,!1):t.end("This page could not be found"),null);if(q&&!E){let e=!!S.routes[N],t=S.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await U();throw new T.NoFallbackError}}let K=null;!q||b.isDev||E||(K=N,K="/index"===K?"/":K);let $=!0===b.isDev||!q,B=q&&!$;M&&P&&(0,d.setManifestsSingleton)({page:s,clientReferenceManifest:P,serverActionsManifest:M});let D=e.method||"GET",j=(0,o.getTracer)(),L=j.getActiveScopeSpan(),H=!!(null==A?void 0:A.isWrappedByNextServer),F=!!(0,i.getRequestMeta)(e,"minimalMode"),W=(0,i.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,_,S,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let V={params:I,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:$,incrementalCache:W,cacheLifeProfiles:_.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,r)=>b.onRequestError(e,t,s,r,A)},sharedContext:{buildId:v,deploymentId:m}},Y=new c.NodeNextRequest(e),G=new c.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(Y,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>b.handle(J,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=j.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${D} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${D} ${s}`)}),d=async n=>{var o,d;let l=async({previousCacheEntry:r})=>{try{if(!F&&x&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=V.renderOpts.fetchMetrics;let o=V.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=V.renderOpts.collectedTags;if(!q)return await (0,w.sendResponse)(Y,G,s,V.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,r=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:x})},!1,A),t}},c=await b.handleResponse({req:e,nextConfig:_,cacheKey:K,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:C,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:F});if(!q)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",x?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,g.fromNodeOutgoingHttpHeaders)(c.value.headers);return F&&q||u.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,k.getCacheControlHeader)(c.cacheControl)),await (0,w.sendResponse)(Y,G,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};H&&L?await d(L):(n=j.getActiveScopeSpan(),await j.withPropagatedContext(e.headers,()=>j.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},d),void 0,!H))}catch(t){if(t instanceof T.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:x})},!1,A),q)throw t;return await (0,w.sendResponse)(Y,G,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:R})},"routeModule",0,b,"serverHooks",0,E,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,R]),a()}catch(e){a(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
1
+ module.exports=[726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function r(e,r,n){let i;try{let{env:a}=(0,t.getCloudflareContext)();i=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...n,status:o.status});return}catch{}let o=i||a.DEV_WS_DO_URL;try{let t=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});t.ok||s.warn("broadcast failed",{...n,status:t.status})}catch(e){s.warn("broadcast error",{...n,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,s){let n=r(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(n)}catch{}return n}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),n=e.i(740580);let i=t.queries.task,o=t.queries.agent,d=t.queries.message,l=t.queries.conversation,c=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,n=a.TASK_TYPES.USER_DM_MESSAGE,d){let l=await o.getAgent(this.db,e,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(d?.traceId&&d.parentTaskId&&await i.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.`);return i.createTask(this.db,{agentId:e,runtimeId:l.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:n,contextKey:d?.contextKey??null,priority:0,context:d?.context,traceId:d?.traceId??null,parentTaskId:d?.parentTaskId??null})}async claimTask(e,t){let a=await o.getAgent(this.db,e,t);if(!a)return null;if(await i.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await i.findSteerableReplacement(this.db,e,t);if(!s||await i.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await i.claimTask(this.db,e,t);return s?(await o.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await i.claimKillTasks(this.db,e,a,t),r=t-s.length,n=r>0?await i.listPendingTasksByRuntimes(this.db,e,a):[],o=new Set(e),d=new Set,l=[...s];for(let e of n){if(r<=0)break;let t=`${e.agentId}:${e.workspaceId}`;if(d.has(t))continue;d.add(t);let a=await this.claimTask(e.agentId,e.workspaceId);a&&o.has(a.runtimeId)&&(l.push(a),r--)}return l}async startTask(e,t){let a=await i.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let n;try{n=JSON.parse(a)}catch{n={raw:a}}let o=await i.completeTask(this.db,e,t,{result:n,sessionId:r||null});if(!o){let t=await i.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 l=n,c="string"==typeof l?.output?l.output:"";return c&&await d.createMessage(this.db,{conversationId:o.conversationId,role:"assistant",content:c,taskId:e}),await this.reconcileAgentStatus(o.agentId,o.workspaceId),await this.dispatchNextBufferedMessage(o.conversationId,o.workspaceId),o}async failTask(e,t,r){let n=await i.failTask(this.db,e,t,r);if(!n){let t=await i.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}return n.type===a.TASK_TYPES.KILL_TASK||(r&&await d.createMessage(this.db,{conversationId:n.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e}),await this.reconcileAgentStatus(n.agentId,n.workspaceId),await this.syncIssueStatusFromTask(n,"failed"),await this.dispatchNextBufferedMessage(n.conversationId,n.workspaceId)),n}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await c.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await c.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let i=await d.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await l.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,n.messageToResponse)(i)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await i.supersedeTask(this.db,e,t);if(!a){let t=await i.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 i.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 i.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await i.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let n=await i.cancelTask(this.db,r.id,t);return n?(("dispatched"===r.status||"running"===r.status)&&await i.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await d.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),n):null}async reconcileAgentStatus(e,t){let a=await i.countRunningTasks(this.db,e,t);await o.updateAgentStatus(this.db,e,t,a>0?"working":"idle")}async dispatchNextBufferedMessage(e,t){let o=await d.activateNextBufferedMessage(this.db,e);if(!o)return null;let c=await l.getConversation(this.db,e,t);if(!c)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await d.revertToBuffered(this.db,o.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),null;let u=c.userId;try{let s=o.attachmentIds?JSON.parse(o.attachmentIds):[],l=await i.getLatestTaskForConversation(this.db,e),p=l?.traceId??null,h=await this.enqueueTask(c.agentId,e,t,o.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:p,parentTaskId:null});return await d.updateMessageTaskId(this.db,o.id,h.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,n.messageToResponse)(o),task:(0,n.taskToResponse)(h)}).catch(()=>{}),h}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await d.revertToBuffered(this.db,o.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:o.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await i.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},825526,e=>e.a(async(t,a)=>{try{var s=e.i(291484),r=e.i(675139),n=e.i(152327),i=e.i(47962),o=e.i(776227),d=e.i(740580),l=e.i(205054),c=e.i(726089),u=e.i(774078),p=t([n]);[n]=p.then?(await p)():p;let h=(0,n.withAuth)(async(e,t)=>{let a=await (0,i.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:n}=(0,s.getCloudflareContext)(),p=(0,r.getDb)(n.DB),h=t.params?.id;if(!h)return(0,o.writeError)("task id is required",400);let w=new l.TaskService(p);try{let{oldTask:e,newTask:s}=await w.retryTask(h,a.workspaceId),r=new Date().toISOString().slice(0,10);return(0,u.invalidate)(u.cacheKeys.overviewTaskStats(a.workspaceId,r)).catch(()=>{}),(0,c.broadcastToUser)(t.userId,{type:"task.updated",taskId:e.id,agentId:e.agentId,status:"superseded"}).catch(()=>{}),(0,c.broadcastToUser)(t.userId,{type:"task.updated",taskId:s.id,agentId:s.agentId,status:"queued"}).catch(()=>{}),(0,o.writeJSON)((0,d.taskToResponse)(s))}catch(e){return(0,o.writeError)(e instanceof Error?e.message:"Unknown error",400)}});e.s(["POST",0,h]),a()}catch(e){a(e)}},!1),867955,e=>e.a(async(t,a)=>{try{var s=e.i(80774),r=e.i(404478),n=e.i(732985),i=e.i(481671),o=e.i(638081),d=e.i(204960),l=e.i(924918),c=e.i(363585),u=e.i(906846),p=e.i(359838),h=e.i(383303),w=e.i(234173),g=e.i(270215),k=e.i(830665),f=e.i(944002),T=e.i(193695);e.i(195928);var y=e.i(81543),v=e.i(825526),I=t([v]);[v]=I.then?(await I)():I;let b=new s.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tasks/[id]/retry/route",pathname:"/api/tasks/[id]/retry",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/tasks/[id]/retry/route.ts",nextConfigOutput:"standalone",userland:v,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:R,serverHooks:E}=b;async function m(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/tasks/[id]/retry/route";s=s.replace(/\/index$/,"")||"/";let n=await b.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,deploymentId:I,params:m,nextConfig:_,parsedUrl:R,isDraftMode:E,prerenderManifest:S,routerServerContext:A,isOnDemandRevalidate:x,revalidateOnlyGenerated:C,resolvedPathname:N,clientReferenceManifest:P,serverActionsManifest:M}=n,O=(0,l.normalizeAppPath)(s),q=!!(S.dynamicRoutes[O]||S.routes[N]),U=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,R,!1):t.end("This page could not be found"),null);if(q&&!E){let e=!!S.routes[N],t=S.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await U();throw new T.NoFallbackError}}let K=null;!q||b.isDev||E||(K=N,K="/index"===K?"/":K);let D=!0===b.isDev||!q,$=q&&!D;M&&P&&(0,d.setManifestsSingleton)({page:s,clientReferenceManifest:P,serverActionsManifest:M});let B=e.method||"GET",j=(0,o.getTracer)(),L=j.getActiveScopeSpan(),H=!!(null==A?void 0:A.isWrappedByNextServer),F=!!(0,i.getRequestMeta)(e,"minimalMode"),W=(0,i.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,_,S,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let V={params:m,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:D,incrementalCache:W,cacheLifeProfiles:_.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,r)=>b.onRequestError(e,t,s,r,A)},sharedContext:{buildId:v,deploymentId:I}},Y=new c.NodeNextRequest(e),G=new c.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(Y,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>b.handle(J,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=j.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${B} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${B} ${s}`)}),d=async n=>{var o,d;let l=async({previousCacheEntry:r})=>{try{if(!F&&x&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=V.renderOpts.fetchMetrics;let o=V.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=V.renderOpts.collectedTags;if(!q)return await (0,w.sendResponse)(Y,G,s,V.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,r=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:x})},!1,A),t}},c=await b.handleResponse({req:e,nextConfig:_,cacheKey:K,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:C,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:F});if(!q)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",x?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,g.fromNodeOutgoingHttpHeaders)(c.value.headers);return F&&q||u.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,k.getCacheControlHeader)(c.cacheControl)),await (0,w.sendResponse)(Y,G,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};H&&L?await d(L):(n=j.getActiveScopeSpan(),await j.withPropagatedContext(e.headers,()=>j.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},d),void 0,!H))}catch(t){if(t instanceof T.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:x})},!1,A),q)throw t;return await (0,w.sendResponse)(Y,G,new Response(null,{status:500})),null}}e.s(["handler",0,m,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:R})},"routeModule",0,b,"serverHooks",0,E,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,R]),a()}catch(e){a(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
2
2
 
3
3
  //# sourceMappingURL=_0j1t6f2._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[482699,e=>e.a(async(t,r)=>{try{var a=e.i(291484);e.i(700598);var n=e.i(291109),i=e.i(888247),s=e.i(675139),o=e.i(152327),l=e.i(47962),d=e.i(776227),u=e.i(740580),c=e.i(774078),p=t([o]);[o]=p.then?(await p)():p;let h=(0,o.withAuth)(async(e,t)=>{let r=await (0,l.withWorkspaceMember)(e,t);if(r instanceof Response)return r;let{env:i}=(0,a.getCloudflareContext)(),o=(0,s.getDb)(i.DB),c=t.params?.id;if(!c)return(0,d.writeError)("agent id is required",400);let p=await n.queries.agent.getAgent(o,c,r.workspaceId,t.userId);return p?(0,d.writeJSON)((0,u.agentToResponse)(p)):(0,d.writeError)("agent not found",404)}),w=(0,o.withAuth)(async(e,t)=>{let r=await (0,l.withWorkspaceMember)(e,t);if(r instanceof Response)return r;let{env:o}=(0,a.getCloudflareContext)(),p=(0,s.getDb)(o.DB),h=t.params?.id;if(!h)return(0,d.writeError)("agent id is required",400);let[w,g]=await (0,d.parseBody)(e,i.UpdateAgentRequestSchema);if(g)return g;let v={};if(void 0!==w.name&&(v.name=w.name),void 0!==w.description&&(v.description=w.description),void 0!==w.instructions&&(v.instructions=w.instructions),void 0!==w.runtime_id){if(!await n.queries.runtime.getAgentRuntimeForWorkspace(p,w.runtime_id,r.workspaceId))return(0,d.writeError)("runtime not found in workspace",400);v.runtimeId=w.runtime_id}if(void 0!==w.runtime_config){let e=w.runtime_config,t={};"string"==typeof e.model&&(t.model=e.model),v.runtimeConfig=t}void 0!==w.visibility&&(v.visibility=w.visibility),void 0!==w.avatar_url&&(v.avatarUrl=w.avatar_url);let m=await n.queries.agent.getAgent(p,h,r.workspaceId,t.userId);if(!m)return(0,d.writeError)("agent not found",404);if(m.ownerId!==t.userId)return(0,d.writeError)("agent owner access required",403);let f=await n.queries.agent.updateAgent(p,h,r.workspaceId,v,t.userId);return f?(await Promise.all([(0,c.invalidate)(c.cacheKeys.agent(r.workspaceId,h)),(0,c.invalidate)(c.cacheKeys.allAgents(r.workspaceId)),(0,c.invalidate)(c.cacheKeys.allHandles(r.workspaceId))]),(0,d.writeJSON)((0,u.agentToResponse)(f))):(0,d.writeError)("agent not found",404)}),g=(0,o.withAuth)(async(e,t)=>{let r=await (0,l.withWorkspaceMember)(e,t);if(r instanceof Response)return r;let{env:i}=(0,a.getCloudflareContext)(),o=(0,s.getDb)(i.DB),u=t.params?.id;if(!u)return(0,d.writeError)("agent id is required",400);let p=await n.queries.agent.getAgent(o,u,r.workspaceId,t.userId);return p?p.ownerId!==t.userId?(0,d.writeError)("agent owner access required",403):await n.queries.agent.deleteAgent(o,u,r.workspaceId,t.userId)?(await Promise.all([(0,c.invalidate)(c.cacheKeys.agent(r.workspaceId,u)),(0,c.invalidate)(c.cacheKeys.allAgents(r.workspaceId)),(0,c.invalidate)(c.cacheKeys.allHandles(r.workspaceId))]),new Response(null,{status:204})):(0,d.writeError)("agent not found",404):(0,d.writeError)("agent not found",404)});e.s(["DELETE",0,g,"GET",0,h,"PATCH",0,w]),r()}catch(e){r(e)}},!1),892965,e=>e.a(async(t,r)=>{try{var a=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),w=e.i(234173),g=e.i(270215),v=e.i(830665),m=e.i(944002),f=e.i(193695);e.i(195928);var _=e.i(81543),R=e.i(482699),y=t([R]);[R]=y.then?(await y)():y;let C=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/agents/[id]/route",pathname:"/api/agents/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/agents/[id]/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:b,serverHooks:k}=C;async function E(e,t,r){r.requestMeta&&(0,s.setRequestMeta)(e,r.requestMeta),C.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/agents/[id]/route";a=a.replace(/\/index$/,"")||"/";let i=await C.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,deploymentId:y,params:E,nextConfig:A,parsedUrl:b,isDraftMode:k,prerenderManifest:I,routerServerContext:x,isOnDemandRevalidate:q,revalidateOnlyGenerated:P,resolvedPathname:T,clientReferenceManifest:N,serverActionsManifest:S}=i,O=(0,d.normalizeAppPath)(a),D=!!(I.dynamicRoutes[O]||I.routes[T]),H=async()=>((null==x?void 0:x.render404)?await x.render404(e,t,b,!1):t.end("This page could not be found"),null);if(D&&!k){let e=!!I.routes[T],t=I.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await H();throw new f.NoFallbackError}}let j=null;!D||C.isDev||k||(j=T,j="/index"===j?"/":j);let M=!0===C.isDev||!D,U=D&&!M;S&&N&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:N,serverActionsManifest:S});let K=e.method||"GET",B=(0,o.getTracer)(),F=B.getActiveScopeSpan(),$=!!(null==x?void 0:x.isWrappedByNextServer),W=!!(0,s.getRequestMeta)(e,"minimalMode"),L=(0,s.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,A,I,W);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let G={params:E,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:M,incrementalCache:L,cacheLifeProfiles:A.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,x)},sharedContext:{buildId:R,deploymentId:y}},z=new u.NodeNextRequest(e),V=new u.NodeNextResponse(t),X=c.NextRequestAdapter.fromNodeNextRequest(z,(0,c.signalFromNodeResponse)(t));try{let i,s=async e=>C.handle(X,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=B.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=`${K} ${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(`${K} ${a}`)}),l=async i=>{var o,l;let d=async({previousCacheEntry:n})=>{try{if(!W&&q&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(i);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(!D)return await (0,w.sendResponse)(z,V,a,G.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,g.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:_.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 C.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:q})},!1,x),t}},u=await C.handleResponse({req:e,nextConfig:A,cacheKey:j,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:P,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:W});if(!D)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==_.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});W||t.setHeader("x-nextjs-cache",q?"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,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&D||c.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,v.getCacheControlHeader)(u.cacheControl)),await (0,w.sendResponse)(z,V,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};$&&F?await l(F):(i=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(p.BaseServerSpan.handleRequest,{spanName:`${K} ${a}`,kind:o.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},l),void 0,!$))}catch(t){if(t instanceof f.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:q})},!1,x),D)throw t;return await (0,w.sendResponse)(z,V,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:b})},"routeModule",0,C,"serverHooks",0,k,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,b]),r()}catch(e){r(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
1
+ module.exports=[482699,e=>e.a(async(t,a)=>{try{var r=e.i(291484);e.i(700598);var n=e.i(291109),i=e.i(888247),s=e.i(675139),o=e.i(152327),l=e.i(47962),d=e.i(776227),u=e.i(740580),c=e.i(774078),p=t([o]);[o]=p.then?(await p)():p;let h=(0,o.withAuth)(async(e,t)=>{let a=await (0,l.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:i}=(0,r.getCloudflareContext)(),o=(0,s.getDb)(i.DB),c=t.params?.id;if(!c)return(0,d.writeError)("agent id is required",400);let p=await n.queries.agent.getAgent(o,c,a.workspaceId,t.userId);return p?(0,d.writeJSON)((0,u.agentToResponse)(p)):(0,d.writeError)("agent not found",404)}),w=(0,o.withAuth)(async(e,t)=>{let a=await (0,l.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:o}=(0,r.getCloudflareContext)(),p=(0,s.getDb)(o.DB),h=t.params?.id;if(!h)return(0,d.writeError)("agent id is required",400);let[w,g]=await (0,d.parseBody)(e,i.UpdateAgentRequestSchema);if(g)return g;let v={};if(void 0!==w.name&&(v.name=w.name),void 0!==w.description&&(v.description=w.description),void 0!==w.instructions&&(v.instructions=w.instructions),void 0!==w.runtime_id){if(!await n.queries.runtime.getAgentRuntimeForWorkspace(p,w.runtime_id,a.workspaceId))return(0,d.writeError)("runtime not found in workspace",400);v.runtimeId=w.runtime_id}if(void 0!==w.runtime_config){let e=w.runtime_config,t={};"string"==typeof e.model&&(t.model=e.model),v.runtimeConfig=t}void 0!==w.visibility&&(v.visibility=w.visibility),void 0!==w.avatar_url&&(v.avatarUrl=w.avatar_url);let m=await n.queries.agent.getAgent(p,h,a.workspaceId,t.userId);if(!m)return(0,d.writeError)("agent not found",404);if(m.ownerId!==t.userId)return(0,d.writeError)("agent owner access required",403);let f=await n.queries.agent.updateAgent(p,h,a.workspaceId,v,t.userId);return f?(await Promise.all([(0,c.invalidate)(c.cacheKeys.agent(a.workspaceId,h)),(0,c.invalidate)(c.cacheKeys.allAgents(a.workspaceId)),(0,c.invalidate)(c.cacheKeys.allHandles(a.workspaceId))]),(0,d.writeJSON)((0,u.agentToResponse)(f))):(0,d.writeError)("agent not found",404)}),g=(0,o.withAuth)(async(e,t)=>{let a=await (0,l.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:i}=(0,r.getCloudflareContext)(),o=(0,s.getDb)(i.DB),u=t.params?.id;if(!u)return(0,d.writeError)("agent id is required",400);let p=await n.queries.agent.getAgent(o,u,a.workspaceId,t.userId);return p?p.ownerId!==t.userId?(0,d.writeError)("agent owner access required",403):await n.queries.agent.deleteAgent(o,u,a.workspaceId,t.userId)?(await Promise.all([(0,c.invalidate)(c.cacheKeys.agent(a.workspaceId,u)),(0,c.invalidate)(c.cacheKeys.allAgents(a.workspaceId)),(0,c.invalidate)(c.cacheKeys.allHandles(a.workspaceId)),(0,c.invalidate)(c.cacheKeys.allAgentAccess(a.workspaceId))]),new Response(null,{status:204})):(0,d.writeError)("agent not found",404):(0,d.writeError)("agent not found",404)});e.s(["DELETE",0,g,"GET",0,h,"PATCH",0,w]),a()}catch(e){a(e)}},!1),892965,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),w=e.i(234173),g=e.i(270215),v=e.i(830665),m=e.i(944002),f=e.i(193695);e.i(195928);var _=e.i(81543),R=e.i(482699),y=t([R]);[R]=y.then?(await y)():y;let A=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/agents/[id]/route",pathname:"/api/agents/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/agents/[id]/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:b,serverHooks:k}=A;async function E(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),A.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/agents/[id]/route";r=r.replace(/\/index$/,"")||"/";let i=await A.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:R,deploymentId:y,params:E,nextConfig:C,parsedUrl:b,isDraftMode:k,prerenderManifest:I,routerServerContext:x,isOnDemandRevalidate:q,revalidateOnlyGenerated:P,resolvedPathname:T,clientReferenceManifest:N,serverActionsManifest:S}=i,O=(0,d.normalizeAppPath)(r),D=!!(I.dynamicRoutes[O]||I.routes[T]),H=async()=>((null==x?void 0:x.render404)?await x.render404(e,t,b,!1):t.end("This page could not be found"),null);if(D&&!k){let e=!!I.routes[T],t=I.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(C.adapterPath)return await H();throw new f.NoFallbackError}}let j=null;!D||A.isDev||k||(j=T,j="/index"===j?"/":j);let M=!0===A.isDev||!D,U=D&&!M;S&&N&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:N,serverActionsManifest:S});let K=e.method||"GET",B=(0,o.getTracer)(),F=B.getActiveScopeSpan(),$=!!(null==x?void 0:x.isWrappedByNextServer),W=!!(0,s.getRequestMeta)(e,"minimalMode"),L=(0,s.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,C,I,W);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let G={params:E,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:M,incrementalCache:L,cacheLifeProfiles:C.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>A.onRequestError(e,t,r,n,x)},sharedContext:{buildId:R,deploymentId:y}},z=new u.NodeNextRequest(e),V=new u.NodeNextResponse(t),X=c.NextRequestAdapter.fromNodeNextRequest(z,(0,c.signalFromNodeResponse)(t));try{let i,s=async e=>A.handle(X,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=B.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${K} ${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(`${K} ${r}`)}),l=async i=>{var o,l;let d=async({previousCacheEntry:n})=>{try{if(!W&&q&&P&&!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,w.sendResponse)(z,V,r,G.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(r.headers);l&&(t[m.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>=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:_.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 A.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:q})},!1,x),t}},u=await A.handleResponse({req:e,nextConfig:C,cacheKey:j,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:P,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:W});if(!D)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==_.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});W||t.setHeader("x-nextjs-cache",q?"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,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&D||c.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,v.getCacheControlHeader)(u.cacheControl)),await (0,w.sendResponse)(z,V,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};$&&F?await l(F):(i=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(p.BaseServerSpan.handleRequest,{spanName:`${K} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},l),void 0,!$))}catch(t){if(t instanceof f.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:q})},!1,x),D)throw t;return await (0,w.sendResponse)(z,V,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:b})},"routeModule",0,A,"serverHooks",0,k,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,b]),a()}catch(e){a(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
2
2
 
3
3
  //# sourceMappingURL=_0k3wl-3._.js.map
@@ -1,5 +1,5 @@
1
- module.exports=[24077,e=>e.a(async(t,a)=>{try{var r=e.i(291484);e.i(700598);var s=e.i(888247),i=e.i(291109),n=e.i(704024),o=e.i(719436),d=e.i(675139),l=e.i(152327),u=e.i(47962),c=e.i(776227),p=e.i(740580),h=e.i(205054),g=e.i(726089),w=t([l]);[l]=w.then?(await w)():w;let f=(0,l.withAuth)(async(e,t)=>{let a,n=await (0,u.withWorkspaceMember)(e,t);if(n instanceof Response)return n;let{env:o}=(0,r.getCloudflareContext)(),l=(0,d.getDb)(o.DB),h=e.nextUrl.searchParams.get("agentId")??void 0,g=e.nextUrl.searchParams.get("status")??void 0,w=e.nextUrl.searchParams.get("terminal");if(g){let e=s.IssueStatusSchema.safeParse(g);if(!e.success)return(0,c.writeError)("invalid issue status",400);a=e.data}if(h&&!await i.queries.agent.getAgent(l,h,n.workspaceId,t.userId))return(0,c.writeError)("agent not found in workspace",404);let f=await i.queries.issue.listIssues(l,n.workspaceId,{agentId:h,status:a,terminal:null===w?void 0:"true"===w}),I=f.map(e=>e.latestTaskId).filter(e=>!!e),m=I.length>0?await i.queries.task.getTraceAgentsByTaskIds(l,I,n.workspaceId):new Map;return(0,c.writeJSON)(f.map(e=>({...(0,p.issueToResponse)(e),thread_agent_ids:m.get(e.latestTaskId??"")??[]})))}),I=(0,l.withAuth)(async(e,t)=>{var a;let l,w,f=await (0,u.withWorkspaceMember)(e,t);if(f instanceof Response)return f;let{env:I}=(0,r.getCloudflareContext)(),m=(0,d.getDb)(I.DB),v=I.EMAIL_BUCKET,R=(e.headers.get("content-type")??"").includes("multipart/form-data"),E=[];if(R){let t;try{t=await e.formData()}catch{return(0,c.writeError)("invalid form data",400)}let a=s.CreateIssueRequestSchema.safeParse({agent_id:t.get("agent_id")||void 0,title:t.get("title"),description:t.get("description")??""});if(!a.success)return(0,c.writeError)("validation error",400);for(let[e,r]of(l=a.data,t.entries()))"file"===e&&r instanceof File&&E.push(r)}else{let[t,a]=await (0,c.parseBody)(e,s.CreateIssueRequestSchema);if(a)return a;l=t}if(E.length>10)return(0,c.writeError)("too many files (max 10)",400);for(let e of E)if(e.size>0xa00000)return(0,c.writeError)(`file "${e.name}" exceeds 10 MB limit`,413);if(!l.agent_id){let e=await i.queries.issue.createIssue(m,{workspaceId:f.workspaceId,agentId:null,creatorUserId:t.userId,conversationId:null,title:l.title,description:l.description,status:"todo"});return(0,c.writeJSON)({issue:(0,p.issueToResponse)(e)},201)}let T=await i.queries.agent.getAgent(m,l.agent_id,f.workspaceId,t.userId);if(!T)return(0,c.writeError)("agent not found in workspace",404);if(!T.ownerId)return(0,c.writeError)("agent has no owner",400);let y=await i.queries.conversation.createConversation(m,{workspaceId:f.workspaceId,agentId:l.agent_id,userId:t.userId,title:`[Issue] ${l.title}`.slice(0,120),type:n.TASK_TYPES.ISSUE_EVENT}),k=await i.queries.issue.createIssue(m,{workspaceId:f.workspaceId,agentId:l.agent_id,creatorUserId:t.userId,conversationId:y.id,title:l.title,description:l.description,status:"in_progress"}),C=[];for(let e of E){let t=e.name.replace(/[/\\]/g,"_").replace(/\.\./g,"_").slice(0,255)||"file",a=e.type||"application/octet-stream",r="art_"+(0,o.nanoid)(),s=`artifacts/${f.workspaceId}/${l.agent_id}/${y.id}/${r}/${t}`;await v.put(s,await e.arrayBuffer(),{httpMetadata:{contentType:a}}),await i.queries.artifact.createArtifact(m,{id:r,conversationId:y.id,agentId:l.agent_id,workspaceId:f.workspaceId,filename:t,contentType:a,size:e.size,r2Key:s,source:"attachment"}),C.push(r)}let _=await i.queries.message.createMessage(m,{conversationId:y.id,role:"event",content:`Issue created: ${k.title}`,attachmentIds:C.length>0?JSON.stringify(C):null,metadata:JSON.stringify({issueId:k.id})}),S=(w=(a={title:k.title,description:k.description}).description.trim())?`${a.title}
1
+ module.exports=[24077,e=>e.a(async(t,a)=>{try{var r=e.i(291484);e.i(700598);var s=e.i(888247),i=e.i(291109),n=e.i(704024),o=e.i(719436),d=e.i(675139),l=e.i(152327),u=e.i(47962),c=e.i(776227),p=e.i(740580),h=e.i(205054),g=e.i(726089),w=e.i(774078),f=t([l]);[l]=f.then?(await f)():f;let I=(0,l.withAuth)(async(e,t)=>{let a,n=await (0,u.withWorkspaceMember)(e,t);if(n instanceof Response)return n;let{env:o}=(0,r.getCloudflareContext)(),l=(0,d.getDb)(o.DB),h=e.nextUrl.searchParams.get("agentId")??void 0,g=e.nextUrl.searchParams.get("status")??void 0,w=e.nextUrl.searchParams.get("terminal");if(g){let e=s.IssueStatusSchema.safeParse(g);if(!e.success)return(0,c.writeError)("invalid issue status",400);a=e.data}if(h&&!await i.queries.agent.getAgent(l,h,n.workspaceId,t.userId))return(0,c.writeError)("agent not found in workspace",404);let f=await i.queries.issue.listIssues(l,n.workspaceId,{agentId:h,status:a,terminal:null===w?void 0:"true"===w}),I=f.map(e=>e.latestTaskId).filter(e=>!!e),v=I.length>0?await i.queries.task.getTraceAgentsByTaskIds(l,I,n.workspaceId):new Map;return(0,c.writeJSON)(f.map(e=>({...(0,p.issueToResponse)(e),thread_agent_ids:v.get(e.latestTaskId??"")??[]})))}),v=(0,l.withAuth)(async(e,t)=>{var a;let l,f,I=await (0,u.withWorkspaceMember)(e,t);if(I instanceof Response)return I;let{env:v}=(0,r.getCloudflareContext)(),m=(0,d.getDb)(v.DB),R=v.EMAIL_BUCKET,E=(e.headers.get("content-type")??"").includes("multipart/form-data"),T=[];if(E){let t;try{t=await e.formData()}catch{return(0,c.writeError)("invalid form data",400)}let a=s.CreateIssueRequestSchema.safeParse({agent_id:t.get("agent_id")||void 0,title:t.get("title"),description:t.get("description")??""});if(!a.success)return(0,c.writeError)("validation error",400);for(let[e,r]of(l=a.data,t.entries()))"file"===e&&r instanceof File&&T.push(r)}else{let[t,a]=await (0,c.parseBody)(e,s.CreateIssueRequestSchema);if(a)return a;l=t}if(T.length>10)return(0,c.writeError)("too many files (max 10)",400);for(let e of T)if(e.size>0xa00000)return(0,c.writeError)(`file "${e.name}" exceeds 10 MB limit`,413);if(!l.agent_id){let e=await i.queries.issue.createIssue(m,{workspaceId:I.workspaceId,agentId:null,creatorUserId:t.userId,conversationId:null,title:l.title,description:l.description,status:"todo"});return(0,c.writeJSON)({issue:(0,p.issueToResponse)(e)},201)}let y=await i.queries.agent.getAgent(m,l.agent_id,I.workspaceId,t.userId);if(!y)return(0,c.writeError)("agent not found in workspace",404);if(!y.ownerId)return(0,c.writeError)("agent has no owner",400);let k=await i.queries.conversation.createConversation(m,{workspaceId:I.workspaceId,agentId:l.agent_id,userId:t.userId,title:`[Issue] ${l.title}`.slice(0,120),type:n.TASK_TYPES.ISSUE_EVENT}),C=await i.queries.issue.createIssue(m,{workspaceId:I.workspaceId,agentId:l.agent_id,creatorUserId:t.userId,conversationId:k.id,title:l.title,description:l.description,status:"in_progress"}),S=[];for(let e of T){let t=e.name.replace(/[/\\]/g,"_").replace(/\.\./g,"_").slice(0,255)||"file",a=e.type||"application/octet-stream",r="art_"+(0,o.nanoid)(),s=`artifacts/${I.workspaceId}/${l.agent_id}/${k.id}/${r}/${t}`;await R.put(s,await e.arrayBuffer(),{httpMetadata:{contentType:a}}),await i.queries.artifact.createArtifact(m,{id:r,conversationId:k.id,agentId:l.agent_id,workspaceId:I.workspaceId,filename:t,contentType:a,size:e.size,r2Key:s,source:"attachment"}),S.push(r)}let _=await i.queries.message.createMessage(m,{conversationId:k.id,role:"event",content:`Issue created: ${C.title}`,attachmentIds:S.length>0?JSON.stringify(S):null,metadata:JSON.stringify({issueId:C.id})}),x=(f=(a={title:C.title,description:C.description}).description.trim())?`${a.title}
2
2
 
3
- ${w}`:a.title,x=new h.TaskService(m);try{let e=await x.enqueueTask(l.agent_id,y.id,f.workspaceId,S,n.TASK_TYPES.ISSUE_EVENT,{contextKey:y.id,context:{issue_id:k.id,...C.length>0?{attachment_ids:C}:{}},traceId:"tr_"+(0,o.nanoid)(),parentTaskId:null});i.queries.message.updateMessageTaskId(m,_.id,e.id).catch(()=>{});let a=await i.queries.issue.setLatestTask(m,k.id,f.workspaceId,e.id)??k;return(0,g.broadcastToUser)(t.userId,{type:"task.updated",taskId:e.id,agentId:e.agentId,status:"queued"}).catch(()=>{}),(0,c.writeJSON)({issue:(0,p.issueToResponse)(a),message:(0,p.messageToResponse)(_),task:(0,p.taskToResponse)(e)},201)}catch(e){return await i.queries.message.createMessage(m,{conversationId:y.id,role:"event",content:`Issue dispatch failed: ${e instanceof Error?e.message:"unknown error"}`,metadata:JSON.stringify({issueId:k.id})}),(0,c.writeError)(e instanceof Error?e.message:"failed to dispatch issue",500)}});e.s(["GET",0,f,"POST",0,I]),a()}catch(e){a(e)}},!1),934590,e=>e.a(async(t,a)=>{try{var r=e.i(80774),s=e.i(404478),i=e.i(732985),n=e.i(481671),o=e.i(638081),d=e.i(204960),l=e.i(924918),u=e.i(363585),c=e.i(906846),p=e.i(359838),h=e.i(383303),g=e.i(234173),w=e.i(270215),f=e.i(830665),I=e.i(944002),m=e.i(193695);e.i(195928);var v=e.i(81543),R=e.i(24077),E=t([R]);[R]=E.then?(await E)():E;let y=new r.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/issues/route",pathname:"/api/issues",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/issues/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:k,workUnitAsyncStorage:C,serverHooks:_}=y;async function T(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),y.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/issues/route";r=r.replace(/\/index$/,"")||"/";let i=await y.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:R,deploymentId:E,params:T,nextConfig:k,parsedUrl:C,isDraftMode:_,prerenderManifest:S,routerServerContext:x,isOnDemandRevalidate:A,revalidateOnlyGenerated:q,resolvedPathname:N,clientReferenceManifest:P,serverActionsManifest:b}=i,O=(0,l.normalizeAppPath)(r),U=!!(S.dynamicRoutes[O]||S.routes[N]),M=async()=>((null==x?void 0:x.render404)?await x.render404(e,t,C,!1):t.end("This page could not be found"),null);if(U&&!_){let e=!!S.routes[N],t=S.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(k.adapterPath)return await M();throw new m.NoFallbackError}}let $=null;!U||y.isDev||_||($=N,$="/index"===$?"/":$);let D=!0===y.isDev||!U,H=U&&!D;b&&P&&(0,d.setManifestsSingleton)({page:r,clientReferenceManifest:P,serverActionsManifest:b});let B=e.method||"GET",K=(0,o.getTracer)(),F=K.getActiveScopeSpan(),j=!!(null==x?void 0:x.isWrappedByNextServer),L=!!(0,n.getRequestMeta)(e,"minimalMode"),J=(0,n.getRequestMeta)(e,"incrementalCache")||await y.getIncrementalCache(e,k,S,L);null==J||J.resetRequestCache(),globalThis.__incrementalCache=J;let V={params:T,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:D,incrementalCache:J,cacheLifeProfiles:k.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,s)=>y.onRequestError(e,t,r,s,x)},sharedContext:{buildId:R,deploymentId:E}},W=new u.NodeNextRequest(e),z=new u.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest(W,(0,c.signalFromNodeResponse)(t));try{let i,n=async e=>y.handle(G,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=K.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=a.get("next.route");if(s){let t=`${B} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",s),i.updateName(t))}else e.updateName(`${B} ${r}`)}),d=async i=>{var o,d;let l=async({previousCacheEntry:s})=>{try{if(!L&&A&&q&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await n(i);e.fetchMetrics=V.renderOpts.fetchMetrics;let o=V.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=V.renderOpts.collectedTags;if(!U)return await (0,g.sendResponse)(W,z,r,V.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[I.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=I.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,s=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=I.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:s}}}}catch(t){throw(null==s?void 0:s.isStale)&&await y.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,x),t}},u=await y.handleResponse({req:e,nextConfig:k,cacheKey:$,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:q,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!U)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(d=u.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",A?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,w.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&U||c.delete(I.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,g.sendResponse)(W,z,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};j&&F?await d(F):(i=K.getActiveScopeSpan(),await K.withPropagatedContext(e.headers,()=>K.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},d),void 0,!j))}catch(t){if(t instanceof m.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,x),U)throw t;return await (0,g.sendResponse)(W,z,new Response(null,{status:500})),null}}e.s(["handler",0,T,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:C})},"routeModule",0,y,"serverHooks",0,_,"workAsyncStorage",0,k,"workUnitAsyncStorage",0,C]),a()}catch(e){a(e)}},!1)];
3
+ ${f}`:a.title,A=new h.TaskService(m);try{let e=await A.enqueueTask(l.agent_id,k.id,I.workspaceId,x,n.TASK_TYPES.ISSUE_EVENT,{contextKey:k.id,context:{issue_id:C.id,...S.length>0?{attachment_ids:S}:{}},traceId:"tr_"+(0,o.nanoid)(),parentTaskId:null});i.queries.message.updateMessageTaskId(m,_.id,e.id).catch(()=>{});let a=await i.queries.issue.setLatestTask(m,C.id,I.workspaceId,e.id)??C,r=new Date().toISOString().slice(0,10);return(0,w.invalidate)(w.cacheKeys.overviewTaskStats(I.workspaceId,r)).catch(()=>{}),(0,g.broadcastToUser)(t.userId,{type:"task.updated",taskId:e.id,agentId:e.agentId,status:"queued"}).catch(()=>{}),(0,c.writeJSON)({issue:(0,p.issueToResponse)(a),message:(0,p.messageToResponse)(_),task:(0,p.taskToResponse)(e)},201)}catch(e){return await i.queries.message.createMessage(m,{conversationId:k.id,role:"event",content:`Issue dispatch failed: ${e instanceof Error?e.message:"unknown error"}`,metadata:JSON.stringify({issueId:C.id})}),(0,c.writeError)(e instanceof Error?e.message:"failed to dispatch issue",500)}});e.s(["GET",0,I,"POST",0,v]),a()}catch(e){a(e)}},!1),934590,e=>e.a(async(t,a)=>{try{var r=e.i(80774),s=e.i(404478),i=e.i(732985),n=e.i(481671),o=e.i(638081),d=e.i(204960),l=e.i(924918),u=e.i(363585),c=e.i(906846),p=e.i(359838),h=e.i(383303),g=e.i(234173),w=e.i(270215),f=e.i(830665),I=e.i(944002),v=e.i(193695);e.i(195928);var m=e.i(81543),R=e.i(24077),E=t([R]);[R]=E.then?(await E)():E;let y=new r.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/issues/route",pathname:"/api/issues",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/issues/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:k,workUnitAsyncStorage:C,serverHooks:S}=y;async function T(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),y.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/issues/route";r=r.replace(/\/index$/,"")||"/";let i=await y.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:R,deploymentId:E,params:T,nextConfig:k,parsedUrl:C,isDraftMode:S,prerenderManifest:_,routerServerContext:x,isOnDemandRevalidate:A,revalidateOnlyGenerated:q,resolvedPathname:N,clientReferenceManifest:P,serverActionsManifest:b}=i,O=(0,l.normalizeAppPath)(r),U=!!(_.dynamicRoutes[O]||_.routes[N]),M=async()=>((null==x?void 0:x.render404)?await x.render404(e,t,C,!1):t.end("This page could not be found"),null);if(U&&!S){let e=!!_.routes[N],t=_.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(k.adapterPath)return await M();throw new v.NoFallbackError}}let $=null;!U||y.isDev||S||($=N,$="/index"===$?"/":$);let D=!0===y.isDev||!U,H=U&&!D;b&&P&&(0,d.setManifestsSingleton)({page:r,clientReferenceManifest:P,serverActionsManifest:b});let B=e.method||"GET",K=(0,o.getTracer)(),F=K.getActiveScopeSpan(),j=!!(null==x?void 0:x.isWrappedByNextServer),L=!!(0,n.getRequestMeta)(e,"minimalMode"),J=(0,n.getRequestMeta)(e,"incrementalCache")||await y.getIncrementalCache(e,k,_,L);null==J||J.resetRequestCache(),globalThis.__incrementalCache=J;let V={params:T,previewProps:_.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:D,incrementalCache:J,cacheLifeProfiles:k.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,s)=>y.onRequestError(e,t,r,s,x)},sharedContext:{buildId:R,deploymentId:E}},W=new u.NodeNextRequest(e),z=new u.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest(W,(0,c.signalFromNodeResponse)(t));try{let i,n=async e=>y.handle(G,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=K.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=a.get("next.route");if(s){let t=`${B} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",s),i.updateName(t))}else e.updateName(`${B} ${r}`)}),d=async i=>{var o,d;let l=async({previousCacheEntry:s})=>{try{if(!L&&A&&q&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await n(i);e.fetchMetrics=V.renderOpts.fetchMetrics;let o=V.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=V.renderOpts.collectedTags;if(!U)return await (0,g.sendResponse)(W,z,r,V.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(r.headers);d&&(t[I.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=I.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,s=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=I.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:s}}}}catch(t){throw(null==s?void 0:s.isStale)&&await y.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,x),t}},u=await y.handleResponse({req:e,nextConfig:k,cacheKey:$,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:q,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!U)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(d=u.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",A?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,w.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&U||c.delete(I.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,g.sendResponse)(W,z,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};j&&F?await d(F):(i=K.getActiveScopeSpan(),await K.withPropagatedContext(e.headers,()=>K.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},d),void 0,!j))}catch(t){if(t instanceof v.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,x),U)throw t;return await (0,g.sendResponse)(W,z,new Response(null,{status:500})),null}}e.s(["handler",0,T,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:C})},"routeModule",0,y,"serverHooks",0,S,"workAsyncStorage",0,k,"workUnitAsyncStorage",0,C]),a()}catch(e){a(e)}},!1)];
4
4
 
5
5
  //# sourceMappingURL=_0l1m9wf._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function r(e,r,n){let i;try{let{env:a}=(0,t.getCloudflareContext)();i=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...n,status:o.status});return}catch{}let o=i||a.DEV_WS_DO_URL;try{let t=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});t.ok||s.warn("broadcast failed",{...n,status:t.status})}catch(e){s.warn("broadcast error",{...n,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,s){let n=r(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(n)}catch{}return n}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),n=e.i(740580);let i=t.queries.task,o=t.queries.agent,d=t.queries.message,c=t.queries.conversation,l=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,n=a.TASK_TYPES.USER_DM_MESSAGE,d){let c=await o.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 i.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.`);return i.createTask(this.db,{agentId:e,runtimeId:c.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:n,contextKey:d?.contextKey??null,priority:0,context:d?.context,traceId:d?.traceId??null,parentTaskId:d?.parentTaskId??null})}async claimTask(e,t){let a=await o.getAgent(this.db,e,t);if(!a)return null;if(await i.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await i.findSteerableReplacement(this.db,e,t);if(!s||await i.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await i.claimTask(this.db,e,t);return s?(await o.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await i.claimKillTasks(this.db,e,a,t),r=t-s.length,n=r>0?await i.listPendingTasksByRuntimes(this.db,e,a):[],o=new Set(e),d=new Set,c=[...s];for(let e of n){if(r<=0)break;let t=`${e.agentId}:${e.workspaceId}`;if(d.has(t))continue;d.add(t);let a=await this.claimTask(e.agentId,e.workspaceId);a&&o.has(a.runtimeId)&&(c.push(a),r--)}return c}async startTask(e,t){let a=await i.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let n;try{n=JSON.parse(a)}catch{n={raw:a}}let o=await i.completeTask(this.db,e,t,{result:n,sessionId:r||null});if(!o){let t=await i.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 c=n,l="string"==typeof c?.output?c.output:"";return l&&await d.createMessage(this.db,{conversationId:o.conversationId,role:"assistant",content:l,taskId:e}),await this.reconcileAgentStatus(o.agentId,o.workspaceId),await this.dispatchNextBufferedMessage(o.conversationId,o.workspaceId),o}async failTask(e,t,r){let n=await i.failTask(this.db,e,t,r);if(!n){let t=await i.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}return n.type===a.TASK_TYPES.KILL_TASK||(r&&await d.createMessage(this.db,{conversationId:n.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e}),await this.reconcileAgentStatus(n.agentId,n.workspaceId),await this.syncIssueStatusFromTask(n,"failed"),await this.dispatchNextBufferedMessage(n.conversationId,n.workspaceId)),n}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await l.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await l.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let i=await d.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await c.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,n.messageToResponse)(i)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await i.supersedeTask(this.db,e,t);if(!a){let t=await i.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 i.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 i.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await i.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let n=await i.cancelTask(this.db,r.id,t);return n?(("dispatched"===r.status||"running"===r.status)&&await i.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await d.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),n):null}async reconcileAgentStatus(e,t){let a=await i.countRunningTasks(this.db,e,t);await o.updateAgentStatus(this.db,e,t,a>0?"working":"idle")}async dispatchNextBufferedMessage(e,t){let o=await d.activateNextBufferedMessage(this.db,e);if(!o)return null;let l=await c.getConversation(this.db,e,t);if(!l)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await d.revertToBuffered(this.db,o.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),null;let u=l.userId;try{let s=o.attachmentIds?JSON.parse(o.attachmentIds):[],c=await i.getLatestTaskForConversation(this.db,e),p=c?.traceId??null,h=await this.enqueueTask(l.agentId,e,t,o.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:p,parentTaskId:null});return await d.updateMessageTaskId(this.db,o.id,h.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,n.messageToResponse)(o),task:(0,n.taskToResponse)(h)}).catch(()=>{}),h}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await d.revertToBuffered(this.db,o.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:o.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await i.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},258704,e=>e.a(async(t,a)=>{try{var s=e.i(291484);e.i(700598);var r=e.i(291109),n=e.i(675139),i=e.i(152327),o=e.i(47962),d=e.i(776227),c=e.i(740580),l=e.i(205054),u=e.i(726089),p=t([i]);[i]=p.then?(await p)():p;let h=(0,i.withAuth)(async(e,t)=>{let a=await (0,o.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:i}=(0,s.getCloudflareContext)(),l=(0,n.getDb)(i.DB),u=t.params?.id;if(!u)return(0,d.writeError)("conversation id is required",400);if(!await r.queries.conversation.getConversation(l,u,a.workspaceId))return(0,d.writeError)("conversation not found",404);let p=await r.queries.task.getActiveTaskByConversation(l,u,a.workspaceId);return p?(0,d.writeJSON)((0,c.taskToResponse)(p)):new Response(null,{status:204})}),w=(0,i.withAuth)(async(e,t)=>{let a=await (0,o.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:i}=(0,s.getCloudflareContext)(),p=(0,n.getDb)(i.DB),h=t.params?.id;if(!h)return(0,d.writeError)("conversation id is required",400);if(!await r.queries.conversation.getConversation(p,h,a.workspaceId))return(0,d.writeError)("conversation not found",404);let w=new l.TaskService(p),g=await w.cancelActiveTask(h,a.workspaceId);return g?((0,u.broadcastToUser)(t.userId,{type:"task.updated",taskId:g.id,agentId:g.agentId,status:"cancelled"}).catch(()=>{}),(0,d.writeJSON)((0,c.taskToResponse)(g))):(0,d.writeError)("no active task to cancel",404)});e.s(["DELETE",0,w,"GET",0,h]),a()}catch(e){a(e)}},!1),993823,e=>e.a(async(t,a)=>{try{var s=e.i(80774),r=e.i(404478),n=e.i(732985),i=e.i(481671),o=e.i(638081),d=e.i(204960),c=e.i(924918),l=e.i(363585),u=e.i(906846),p=e.i(359838),h=e.i(383303),w=e.i(234173),g=e.i(270215),f=e.i(830665),k=e.i(944002),v=e.i(193695);e.i(195928);var T=e.i(81543),m=e.i(258704),y=t([m]);[m]=y.then?(await y)():y;let b=new s.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/conversations/[id]/active-task/route",pathname:"/api/conversations/[id]/active-task",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/conversations/[id]/active-task/route.ts",nextConfigOutput:"standalone",userland:m,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:E,serverHooks:R}=b;async function I(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/conversations/[id]/active-task/route";s=s.replace(/\/index$/,"")||"/";let n=await b.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:m,deploymentId:y,params:I,nextConfig:_,parsedUrl:E,isDraftMode:R,prerenderManifest:S,routerServerContext:A,isOnDemandRevalidate:x,revalidateOnlyGenerated:C,resolvedPathname:N,clientReferenceManifest:P,serverActionsManifest:M}=n,q=(0,c.normalizeAppPath)(s),O=!!(S.dynamicRoutes[q]||S.routes[N]),D=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,E,!1):t.end("This page could not be found"),null);if(O&&!R){let e=!!S.routes[N],t=S.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await D();throw new v.NoFallbackError}}let K=null;!O||b.isDev||R||(K=N,K="/index"===K?"/":K);let U=!0===b.isDev||!O,B=O&&!U;M&&P&&(0,d.setManifestsSingleton)({page:s,clientReferenceManifest:P,serverActionsManifest:M});let $=e.method||"GET",j=(0,o.getTracer)(),L=j.getActiveScopeSpan(),H=!!(null==A?void 0:A.isWrappedByNextServer),F=!!(0,i.getRequestMeta)(e,"minimalMode"),W=(0,i.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,_,S,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let G={params:I,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:_.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,r)=>b.onRequestError(e,t,s,r,A)},sharedContext:{buildId:m,deploymentId:y}},V=new l.NodeNextRequest(e),Y=new l.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>b.handle(J,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=j.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${$} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${$} ${s}`)}),d=async n=>{var o,d;let c=async({previousCacheEntry:r})=>{try{if(!F&&x&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=G.renderOpts.collectedTags;if(!O)return await (0,w.sendResponse)(V,Y,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[k.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=k.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=k.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:T.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:x})},!1,A),t}},l=await b.handleResponse({req:e,nextConfig:_,cacheKey:K,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:C,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:F});if(!O)return null;if((null==l||null==(o=l.value)?void 0:o.kind)!==T.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(d=l.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",x?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,g.fromNodeOutgoingHttpHeaders)(l.value.headers);return F&&O||u.delete(k.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(l.cacheControl)),await (0,w.sendResponse)(V,Y,new Response(l.value.body,{headers:u,status:l.value.status||200})),null};H&&L?await d(L):(n=j.getActiveScopeSpan(),await j.withPropagatedContext(e.headers,()=>j.trace(p.BaseServerSpan.handleRequest,{spanName:`${$} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},d),void 0,!H))}catch(t){if(t instanceof v.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:x})},!1,A),O)throw t;return await (0,w.sendResponse)(V,Y,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:E})},"routeModule",0,b,"serverHooks",0,R,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,E]),a()}catch(e){a(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
1
+ module.exports=[726089,e=>{"use strict";var t=e.i(291484);e.i(700598);var a=e.i(704024);let s=(0,e.i(726527).createLogger)({service:"broadcast"});async function r(e,r,n){let i;try{let{env:a}=(0,t.getCloudflareContext)();i=a.DEV_WS_DO_URL;let o=await a.WS_DO_WORKER.fetch(`http://internal${e}`,{method:"POST",body:r});if(o.ok)return;s.warn("broadcast service-binding non-ok",{...n,status:o.status});return}catch{}let o=i||a.DEV_WS_DO_URL;try{let t=await fetch(`${o}${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r});t.ok||s.warn("broadcast failed",{...n,status:t.status})}catch(e){s.warn("broadcast error",{...n,err:String(e)})}}e.s(["broadcastToUser",0,function(e,a){return function(e,a,s){let n=r(e,a,s);try{let{ctx:e}=(0,t.getCloudflareContext)();e.waitUntil(n)}catch{}return n}(`/broadcast/user/${e}`,JSON.stringify(a),{userId:e,type:a.type})}])},799579,e=>{"use strict";e.i(700598);let t=(0,e.i(726527).createLogger)({service:"web",level:process.env.ALOOK_LOG_LEVEL||"info",pretty:!1});e.s(["log",0,t])},205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),n=e.i(740580);let i=t.queries.task,o=t.queries.agent,d=t.queries.message,c=t.queries.conversation,l=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,n=a.TASK_TYPES.USER_DM_MESSAGE,d){let c=await o.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 i.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.`);return i.createTask(this.db,{agentId:e,runtimeId:c.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:n,contextKey:d?.contextKey??null,priority:0,context:d?.context,traceId:d?.traceId??null,parentTaskId:d?.parentTaskId??null})}async claimTask(e,t){let a=await o.getAgent(this.db,e,t);if(!a)return null;if(await i.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await i.findSteerableReplacement(this.db,e,t);if(!s||await i.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await i.claimTask(this.db,e,t);return s?(await o.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await i.claimKillTasks(this.db,e,a,t),r=t-s.length,n=r>0?await i.listPendingTasksByRuntimes(this.db,e,a):[],o=new Set(e),d=new Set,c=[...s];for(let e of n){if(r<=0)break;let t=`${e.agentId}:${e.workspaceId}`;if(d.has(t))continue;d.add(t);let a=await this.claimTask(e.agentId,e.workspaceId);a&&o.has(a.runtimeId)&&(c.push(a),r--)}return c}async startTask(e,t){let a=await i.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let n;try{n=JSON.parse(a)}catch{n={raw:a}}let o=await i.completeTask(this.db,e,t,{result:n,sessionId:r||null});if(!o){let t=await i.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 c=n,l="string"==typeof c?.output?c.output:"";return l&&await d.createMessage(this.db,{conversationId:o.conversationId,role:"assistant",content:l,taskId:e}),await this.reconcileAgentStatus(o.agentId,o.workspaceId),await this.dispatchNextBufferedMessage(o.conversationId,o.workspaceId),o}async failTask(e,t,r){let n=await i.failTask(this.db,e,t,r);if(!n){let t=await i.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}return n.type===a.TASK_TYPES.KILL_TASK||(r&&await d.createMessage(this.db,{conversationId:n.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e}),await this.reconcileAgentStatus(n.agentId,n.workspaceId),await this.syncIssueStatusFromTask(n,"failed"),await this.dispatchNextBufferedMessage(n.conversationId,n.workspaceId)),n}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await l.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await l.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let i=await d.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await c.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,n.messageToResponse)(i)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await i.supersedeTask(this.db,e,t);if(!a){let t=await i.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 i.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 i.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await i.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let n=await i.cancelTask(this.db,r.id,t);return n?(("dispatched"===r.status||"running"===r.status)&&await i.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await d.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),n):null}async reconcileAgentStatus(e,t){let a=await i.countRunningTasks(this.db,e,t);await o.updateAgentStatus(this.db,e,t,a>0?"working":"idle")}async dispatchNextBufferedMessage(e,t){let o=await d.activateNextBufferedMessage(this.db,e);if(!o)return null;let l=await c.getConversation(this.db,e,t);if(!l)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await d.revertToBuffered(this.db,o.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),null;let u=l.userId;try{let s=o.attachmentIds?JSON.parse(o.attachmentIds):[],c=await i.getLatestTaskForConversation(this.db,e),p=c?.traceId??null,h=await this.enqueueTask(l.agentId,e,t,o.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:p,parentTaskId:null});return await d.updateMessageTaskId(this.db,o.id,h.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,n.messageToResponse)(o),task:(0,n.taskToResponse)(h)}).catch(()=>{}),h}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await d.revertToBuffered(this.db,o.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:o.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await i.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},258704,e=>e.a(async(t,a)=>{try{var s=e.i(291484);e.i(700598);var r=e.i(291109),n=e.i(675139),i=e.i(152327),o=e.i(47962),d=e.i(776227),c=e.i(740580),l=e.i(205054),u=e.i(726089),p=e.i(774078),h=t([i]);[i]=h.then?(await h)():h;let w=(0,i.withAuth)(async(e,t)=>{let a=await (0,o.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:i}=(0,s.getCloudflareContext)(),l=(0,n.getDb)(i.DB),u=t.params?.id;if(!u)return(0,d.writeError)("conversation id is required",400);if(!await r.queries.conversation.getConversation(l,u,a.workspaceId))return(0,d.writeError)("conversation not found",404);let p=await r.queries.task.getActiveTaskByConversation(l,u,a.workspaceId);return p?(0,d.writeJSON)((0,c.taskToResponse)(p)):new Response(null,{status:204})}),g=(0,i.withAuth)(async(e,t)=>{let a=await (0,o.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:i}=(0,s.getCloudflareContext)(),h=(0,n.getDb)(i.DB),w=t.params?.id;if(!w)return(0,d.writeError)("conversation id is required",400);if(!await r.queries.conversation.getConversation(h,w,a.workspaceId))return(0,d.writeError)("conversation not found",404);let g=new l.TaskService(h),f=await g.cancelActiveTask(w,a.workspaceId);if(!f)return(0,d.writeError)("no active task to cancel",404);let k=new Date().toISOString().slice(0,10);return(0,p.invalidate)(p.cacheKeys.overviewTaskStats(a.workspaceId,k)).catch(()=>{}),(0,u.broadcastToUser)(t.userId,{type:"task.updated",taskId:f.id,agentId:f.agentId,status:"cancelled"}).catch(()=>{}),(0,d.writeJSON)((0,c.taskToResponse)(f))});e.s(["DELETE",0,g,"GET",0,w]),a()}catch(e){a(e)}},!1),993823,e=>e.a(async(t,a)=>{try{var s=e.i(80774),r=e.i(404478),n=e.i(732985),i=e.i(481671),o=e.i(638081),d=e.i(204960),c=e.i(924918),l=e.i(363585),u=e.i(906846),p=e.i(359838),h=e.i(383303),w=e.i(234173),g=e.i(270215),f=e.i(830665),k=e.i(944002),v=e.i(193695);e.i(195928);var T=e.i(81543),m=e.i(258704),y=t([m]);[m]=y.then?(await y)():y;let b=new s.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/conversations/[id]/active-task/route",pathname:"/api/conversations/[id]/active-task",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/conversations/[id]/active-task/route.ts",nextConfigOutput:"standalone",userland:m,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:E,serverHooks:R}=b;async function I(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/conversations/[id]/active-task/route";s=s.replace(/\/index$/,"")||"/";let n=await b.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:m,deploymentId:y,params:I,nextConfig:_,parsedUrl:E,isDraftMode:R,prerenderManifest:S,routerServerContext:A,isOnDemandRevalidate:x,revalidateOnlyGenerated:C,resolvedPathname:N,clientReferenceManifest:P,serverActionsManifest:M}=n,O=(0,c.normalizeAppPath)(s),q=!!(S.dynamicRoutes[O]||S.routes[N]),D=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,E,!1):t.end("This page could not be found"),null);if(q&&!R){let e=!!S.routes[N],t=S.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await D();throw new v.NoFallbackError}}let K=null;!q||b.isDev||R||(K=N,K="/index"===K?"/":K);let U=!0===b.isDev||!q,B=q&&!U;M&&P&&(0,d.setManifestsSingleton)({page:s,clientReferenceManifest:P,serverActionsManifest:M});let $=e.method||"GET",j=(0,o.getTracer)(),L=j.getActiveScopeSpan(),H=!!(null==A?void 0:A.isWrappedByNextServer),F=!!(0,i.getRequestMeta)(e,"minimalMode"),W=(0,i.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,_,S,F);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let G={params:I,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:U,incrementalCache:W,cacheLifeProfiles:_.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,r)=>b.onRequestError(e,t,s,r,A)},sharedContext:{buildId:m,deploymentId:y}},V=new l.NodeNextRequest(e),Y=new l.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>b.handle(J,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=j.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${$} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${$} ${s}`)}),d=async n=>{var o,d;let c=async({previousCacheEntry:r})=>{try{if(!F&&x&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=G.renderOpts.collectedTags;if(!q)return await (0,w.sendResponse)(V,Y,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[k.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=k.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=k.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:T.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:x})},!1,A),t}},l=await b.handleResponse({req:e,nextConfig:_,cacheKey:K,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:C,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:F});if(!q)return null;if((null==l||null==(o=l.value)?void 0:o.kind)!==T.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(d=l.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",x?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,g.fromNodeOutgoingHttpHeaders)(l.value.headers);return F&&q||u.delete(k.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(l.cacheControl)),await (0,w.sendResponse)(V,Y,new Response(l.value.body,{headers:u,status:l.value.status||200})),null};H&&L?await d(L):(n=j.getActiveScopeSpan(),await j.withPropagatedContext(e.headers,()=>j.trace(p.BaseServerSpan.handleRequest,{spanName:`${$} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},d),void 0,!H))}catch(t){if(t instanceof v.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:x})},!1,A),q)throw t;return await (0,w.sendResponse)(V,Y,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:E})},"routeModule",0,b,"serverHooks",0,R,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,E]),a()}catch(e){a(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
2
2
 
3
3
  //# sourceMappingURL=_0lmedw9._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[332432,e=>{"use strict";e.s(["buildEmailMapKey",0,function(e,t){return`email:${e}:${t}`},"extractThreadId",0,function(e,t,a){if(e){let t=e.trim().split(/\s+/)[0];if(t)return t}return t?t.trim():a?a.trim():null}])},531941,e=>{"use strict";var t=e.i(80774),a=e.i(404478),r=e.i(732985),i=e.i(481671),n=e.i(638081),s=e.i(204960),o=e.i(924918),l=e.i(363585),d=e.i(906846),u=e.i(359838),c=e.i(383303),p=e.i(234173),m=e.i(270215),h=e.i(830665),I=e.i(944002),w=e.i(193695);e.i(195928);var g=e.i(81543),f=e.i(291484);e.i(700598);var E=e.i(291109),v=e.i(704024),R=e.i(332432),T=e.i(888247),S=e.i(719436),y=e.i(675139),A=e.i(776227),C=e.i(205054),k=e.i(726089),_=e.i(740580);async function N(e){let{env:t}=(0,f.getCloudflareContext)(),a=(0,y.getDb)(t.DB),[r,i]=await (0,A.parseBody)(e,T.EmailNotifyRequestSchema);if(i)return i;let n=await E.queries.agent.getAgent(a,r.agentId,r.workspaceId),s=await E.queries.email.createEmail(a,{agentId:r.agentId,workspaceId:r.workspaceId,fromEmail:r.from,toEmail:r.to??"",subject:r.subject,r2Key:r.r2Key,isWhitelisted:r.isWhitelisted,forwarded:r.forwarded,messageId:r.messageId,inReplyTo:r.inReplyTo,references:r.references,direction:"inbound",attachments:r.attachments});if(r.meetingInfo&&n){let e=r.meetingInfo;await E.queries.meetingSession.createMeetingSession(a,{agentId:r.agentId,workspaceId:r.workspaceId,title:e.title||r.subject,meetingUrl:e.meetingUrl,status:r.isWhitelisted?v.MeetingStatus.SCHEDULED:v.MeetingStatus.PENDING,fromEmail:r.from,isWhitelisted:r.isWhitelisted,participants:e.attendees.map(e=>e.email),scheduledAt:e.startTime})}if(r.isWhitelisted&&n&&n.runtimeId&&n.ownerId){let e,t=(0,R.extractThreadId)(r.references,r.inReplyTo,r.messageId),i=t?(0,R.buildEmailMapKey)(n.id,t):null,o=null,l=v.TASK_TYPES.EMAIL_NOTIFICATION;if(i&&(o=await E.queries.conversationMap.findByKey(a,i,r.workspaceId)),o){let t=await E.queries.conversation.getConversation(a,o,r.workspaceId);if(t&&(l=t.type,t.type===v.TASK_TYPES.USER_DM_MESSAGE&&t.userId)){let r=await E.queries.user.getUser(a,t.userId);r&&(e={name:r.name,email:r.email})}}else{let e;if(r.sourceTaskId){let t=await E.queries.task.getTask(a,r.sourceTaskId,r.workspaceId);if(t){let i=await E.queries.conversation.getConversation(a,t.conversationId,r.workspaceId);i&&(e=i.channel)}}o=(await E.queries.conversation.createConversation(a,{workspaceId:n.workspaceId,agentId:n.id,userId:n.ownerId,title:`Email: ${r.subject}`.slice(0,50),type:v.TASK_TYPES.EMAIL_NOTIFICATION,...e&&"default"!==e?{channel:e}:{}})).id,i&&await E.queries.conversationMap.createMapping(a,{key:i,workspaceId:r.workspaceId,conversationId:o})}let d=`New email from ${r.from}: ${r.subject}`,u=JSON.stringify({emailId:s.id}),c=await E.queries.message.createMessage(a,{conversationId:o,role:"event",content:d,metadata:u});l===v.TASK_TYPES.USER_DM_MESSAGE&&(0,k.broadcastToUser)(n.ownerId,{type:"conversation.message",conversationId:o,message:{id:c.id,conversation_id:c.conversationId,role:c.role,content:c.content,task_id:c.taskId,attachment_ids:null,metadata:{emailId:s.id},created_at:c.createdAt}}).catch(()=>{});let p=new C.TaskService(a),m={conversationType:l};e&&(m.dmUser=e),r.isInternal&&(m.isInternal=!0);let h=r.traceId||"tr_"+(0,S.nanoid)(),I=r.traceId&&r.sourceTaskId||null,w=await p.enqueueTask(n.id,o,n.workspaceId,d,v.TASK_TYPES.EMAIL_NOTIFICATION,{contextKey:o,context:m,traceId:h,parentTaskId:I});E.queries.message.updateMessageTaskId(a,c.id,w.id).catch(()=>{}),l===v.TASK_TYPES.USER_DM_MESSAGE&&(0,k.broadcastToUser)(n.ownerId,{type:"task.created",conversationId:o,task:(0,_.taskToResponse)(w)}).catch(()=>{})}return n?.ownerId&&(0,k.broadcastToUser)(n.ownerId,{type:"email.received",agentId:r.agentId}).catch(()=>{}),(0,A.writeJSON)({ok:!0})}e.s(["POST",0,N],930700);var b=e.i(930700);let x=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/email/notify/route",pathname:"/api/email/notify",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/email/notify/route.ts",nextConfigOutput:"standalone",userland:b,...{}}),{workAsyncStorage:M,workUnitAsyncStorage:q,serverHooks:P}=x;async function O(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),x.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/email/notify/route";f=f.replace(/\/index$/,"")||"/";let E=await x.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:v,deploymentId:R,params:T,nextConfig:S,parsedUrl:y,isDraftMode:A,prerenderManifest:C,routerServerContext:k,isOnDemandRevalidate:_,revalidateOnlyGenerated:N,resolvedPathname:b,clientReferenceManifest:M,serverActionsManifest:q}=E,P=(0,o.normalizeAppPath)(f),O=!!(C.dynamicRoutes[P]||C.routes[b]),U=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,y,!1):t.end("This page could not be found"),null);if(O&&!A){let e=!!C.routes[b],t=C.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await U();throw new w.NoFallbackError}}let D=null;!O||x.isDev||A||(D="/index"===(D=b)?"/":D);let K=!0===x.isDev||!O,H=O&&!K;q&&M&&(0,s.setManifestsSingleton)({page:f,clientReferenceManifest:M,serverActionsManifest:q});let $=e.method||"GET",j=(0,n.getTracer)(),F=j.getActiveScopeSpan(),B=!!(null==k?void 0:k.isWrappedByNextServer),L=!!(0,i.getRequestMeta)(e,"minimalMode"),W=(0,i.getRequestMeta)(e,"incrementalCache")||await x.getIncrementalCache(e,S,C,L);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let G={params:T,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:K,incrementalCache:W,cacheLifeProfiles:S.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,i)=>x.onRequestError(e,t,r,i,k)},sharedContext:{buildId:v,deploymentId:R}},Y=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(Y,(0,d.signalFromNodeResponse)(t));try{let i,s=async e=>x.handle(X,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=j.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${$} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",r),i.updateName(t))}else e.updateName(`${$} ${f}`)}),o=async i=>{var n,o;let l=async({previousCacheEntry:a})=>{try{if(!L&&_&&N&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await s(i);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!O)return await (0,p.sendResponse)(Y,V,n,G.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[I.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=I.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=I.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:_})},!1,k),t}},d=await x.handleResponse({req:e,nextConfig:S,cacheKey:D,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:N,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:L});if(!O)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",_?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&O||u.delete(I.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(Y,V,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};B&&F?await o(F):(i=j.getActiveScopeSpan(),await j.withPropagatedContext(e.headers,()=>j.trace(u.BaseServerSpan.handleRequest,{spanName:`${$} ${f}`,kind:n.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},o),void 0,!B))}catch(t){if(t instanceof w.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:_})},!1,k),O)throw t;return await (0,p.sendResponse)(Y,V,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:M,workUnitAsyncStorage:q})},"routeModule",0,x,"serverHooks",0,P,"workAsyncStorage",0,M,"workUnitAsyncStorage",0,q],531941)}];
1
+ module.exports=[332432,e=>{"use strict";e.s(["buildEmailMapKey",0,function(e,t){return`email:${e}:${t}`},"extractThreadId",0,function(e,t,a){if(e){let t=e.trim().split(/\s+/)[0];if(t)return t}return t?t.trim():a?a.trim():null}])},531941,e=>{"use strict";var t=e.i(80774),a=e.i(404478),r=e.i(732985),i=e.i(481671),n=e.i(638081),s=e.i(204960),o=e.i(924918),l=e.i(363585),d=e.i(906846),c=e.i(359838),u=e.i(383303),p=e.i(234173),m=e.i(270215),h=e.i(830665),w=e.i(944002),I=e.i(193695);e.i(195928);var g=e.i(81543),f=e.i(291484);e.i(700598);var v=e.i(291109),E=e.i(704024),R=e.i(332432),T=e.i(888247),S=e.i(719436),y=e.i(675139),A=e.i(776227),C=e.i(205054),k=e.i(726089),_=e.i(740580),N=e.i(774078);async function b(e){let{env:t}=(0,f.getCloudflareContext)(),a=(0,y.getDb)(t.DB),[r,i]=await (0,A.parseBody)(e,T.EmailNotifyRequestSchema);if(i)return i;let n=await v.queries.agent.getAgent(a,r.agentId,r.workspaceId),s=await v.queries.email.createEmail(a,{agentId:r.agentId,workspaceId:r.workspaceId,fromEmail:r.from,toEmail:r.to??"",subject:r.subject,r2Key:r.r2Key,isWhitelisted:r.isWhitelisted,forwarded:r.forwarded,messageId:r.messageId,inReplyTo:r.inReplyTo,references:r.references,direction:"inbound",attachments:r.attachments});if(r.meetingInfo&&n){let e=r.meetingInfo;await v.queries.meetingSession.createMeetingSession(a,{agentId:r.agentId,workspaceId:r.workspaceId,title:e.title||r.subject,meetingUrl:e.meetingUrl,status:r.isWhitelisted?E.MeetingStatus.SCHEDULED:E.MeetingStatus.PENDING,fromEmail:r.from,isWhitelisted:r.isWhitelisted,participants:e.attendees.map(e=>e.email),scheduledAt:e.startTime})}if(r.isWhitelisted&&n&&n.runtimeId&&n.ownerId){let e,t=(0,R.extractThreadId)(r.references,r.inReplyTo,r.messageId),i=t?(0,R.buildEmailMapKey)(n.id,t):null,o=null,l=E.TASK_TYPES.EMAIL_NOTIFICATION;if(i&&(o=await v.queries.conversationMap.findByKey(a,i,r.workspaceId)),o){let t=await v.queries.conversation.getConversation(a,o,r.workspaceId);if(t&&(l=t.type,t.type===E.TASK_TYPES.USER_DM_MESSAGE&&t.userId)){let r=await v.queries.user.getUser(a,t.userId);r&&(e={name:r.name,email:r.email})}}else{let e;if(r.sourceTaskId){let t=await v.queries.task.getTask(a,r.sourceTaskId,r.workspaceId);if(t){let i=await v.queries.conversation.getConversation(a,t.conversationId,r.workspaceId);i&&(e=i.channel)}}o=(await v.queries.conversation.createConversation(a,{workspaceId:n.workspaceId,agentId:n.id,userId:n.ownerId,title:`Email: ${r.subject}`.slice(0,50),type:E.TASK_TYPES.EMAIL_NOTIFICATION,...e&&"default"!==e?{channel:e}:{}})).id,i&&await v.queries.conversationMap.createMapping(a,{key:i,workspaceId:r.workspaceId,conversationId:o})}let d=`New email from ${r.from}: ${r.subject}`,c=JSON.stringify({emailId:s.id}),u=await v.queries.message.createMessage(a,{conversationId:o,role:"event",content:d,metadata:c});l===E.TASK_TYPES.USER_DM_MESSAGE&&(0,k.broadcastToUser)(n.ownerId,{type:"conversation.message",conversationId:o,message:{id:u.id,conversation_id:u.conversationId,role:u.role,content:u.content,task_id:u.taskId,attachment_ids:null,metadata:{emailId:s.id},created_at:u.createdAt}}).catch(()=>{});let p=new C.TaskService(a),m={conversationType:l};e&&(m.dmUser=e),r.isInternal&&(m.isInternal=!0);let h=r.traceId||"tr_"+(0,S.nanoid)(),w=r.traceId&&r.sourceTaskId||null,I=await p.enqueueTask(n.id,o,n.workspaceId,d,E.TASK_TYPES.EMAIL_NOTIFICATION,{contextKey:o,context:m,traceId:h,parentTaskId:w});v.queries.message.updateMessageTaskId(a,u.id,I.id).catch(()=>{}),l===E.TASK_TYPES.USER_DM_MESSAGE&&(0,k.broadcastToUser)(n.ownerId,{type:"task.created",conversationId:o,task:(0,_.taskToResponse)(I)}).catch(()=>{})}let o=new Date().toISOString().slice(0,10);return await Promise.all([(0,N.invalidate)(N.cacheKeys.overviewEmailStats(r.workspaceId)),(0,N.invalidate)(N.cacheKeys.overviewTaskStats(r.workspaceId,o))]),n?.ownerId&&(0,k.broadcastToUser)(n.ownerId,{type:"email.received",agentId:r.agentId}).catch(()=>{}),(0,A.writeJSON)({ok:!0})}e.s(["POST",0,b],930700);var x=e.i(930700);let M=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/email/notify/route",pathname:"/api/email/notify",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/email/notify/route.ts",nextConfigOutput:"standalone",userland:x,...{}}),{workAsyncStorage:P,workUnitAsyncStorage:q,serverHooks:O}=M;async function U(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),M.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/email/notify/route";f=f.replace(/\/index$/,"")||"/";let v=await M.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:E,deploymentId:R,params:T,nextConfig:S,parsedUrl:y,isDraftMode:A,prerenderManifest:C,routerServerContext:k,isOnDemandRevalidate:_,revalidateOnlyGenerated:N,resolvedPathname:b,clientReferenceManifest:x,serverActionsManifest:P}=v,q=(0,o.normalizeAppPath)(f),O=!!(C.dynamicRoutes[q]||C.routes[b]),U=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,y,!1):t.end("This page could not be found"),null);if(O&&!A){let e=!!C.routes[b],t=C.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await U();throw new I.NoFallbackError}}let D=null;!O||M.isDev||A||(D="/index"===(D=b)?"/":D);let K=!0===M.isDev||!O,H=O&&!K;P&&x&&(0,s.setManifestsSingleton)({page:f,clientReferenceManifest:x,serverActionsManifest:P});let $=e.method||"GET",j=(0,n.getTracer)(),F=j.getActiveScopeSpan(),B=!!(null==k?void 0:k.isWrappedByNextServer),L=!!(0,i.getRequestMeta)(e,"minimalMode"),W=(0,i.getRequestMeta)(e,"incrementalCache")||await M.getIncrementalCache(e,S,C,L);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let G={params:T,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:K,incrementalCache:W,cacheLifeProfiles:S.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,i)=>M.onRequestError(e,t,r,i,k)},sharedContext:{buildId:E,deploymentId:R}},Y=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(Y,(0,d.signalFromNodeResponse)(t));try{let i,s=async e=>M.handle(X,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=j.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==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 r=a.get("next.route");if(r){let t=`${$} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",r),i.updateName(t))}else e.updateName(`${$} ${f}`)}),o=async i=>{var n,o;let l=async({previousCacheEntry:a})=>{try{if(!L&&_&&N&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await s(i);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!O)return await (0,p.sendResponse)(Y,V,n,G.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[w.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>=w.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await M.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:_})},!1,k),t}},d=await M.handleResponse({req:e,nextConfig:S,cacheKey:D,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:N,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:L});if(!O)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",_?"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,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&O||c.delete(w.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(Y,V,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};B&&F?await o(F):(i=j.getActiveScopeSpan(),await j.withPropagatedContext(e.headers,()=>j.trace(c.BaseServerSpan.handleRequest,{spanName:`${$} ${f}`,kind:n.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},o),void 0,!B))}catch(t){if(t instanceof I.NoFallbackError||await M.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:_})},!1,k),O)throw t;return await (0,p.sendResponse)(Y,V,new Response(null,{status:500})),null}}e.s(["handler",0,U,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:P,workUnitAsyncStorage:q})},"routeModule",0,M,"serverHooks",0,O,"workAsyncStorage",0,P,"workUnitAsyncStorage",0,q],531941)}];
2
2
 
3
3
  //# sourceMappingURL=_0ow_nxn._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),n=e.i(740580);let i=t.queries.task,o=t.queries.agent,d=t.queries.message,l=t.queries.conversation,c=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,n=a.TASK_TYPES.USER_DM_MESSAGE,d){let l=await o.getAgent(this.db,e,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(d?.traceId&&d.parentTaskId&&await i.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.`);return i.createTask(this.db,{agentId:e,runtimeId:l.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:n,contextKey:d?.contextKey??null,priority:0,context:d?.context,traceId:d?.traceId??null,parentTaskId:d?.parentTaskId??null})}async claimTask(e,t){let a=await o.getAgent(this.db,e,t);if(!a)return null;if(await i.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await i.findSteerableReplacement(this.db,e,t);if(!s||await i.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await i.claimTask(this.db,e,t);return s?(await o.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await i.claimKillTasks(this.db,e,a,t),r=t-s.length,n=r>0?await i.listPendingTasksByRuntimes(this.db,e,a):[],o=new Set(e),d=new Set,l=[...s];for(let e of n){if(r<=0)break;let t=`${e.agentId}:${e.workspaceId}`;if(d.has(t))continue;d.add(t);let a=await this.claimTask(e.agentId,e.workspaceId);a&&o.has(a.runtimeId)&&(l.push(a),r--)}return l}async startTask(e,t){let a=await i.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let n;try{n=JSON.parse(a)}catch{n={raw:a}}let o=await i.completeTask(this.db,e,t,{result:n,sessionId:r||null});if(!o){let t=await i.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 l=n,c="string"==typeof l?.output?l.output:"";return c&&await d.createMessage(this.db,{conversationId:o.conversationId,role:"assistant",content:c,taskId:e}),await this.reconcileAgentStatus(o.agentId,o.workspaceId),await this.dispatchNextBufferedMessage(o.conversationId,o.workspaceId),o}async failTask(e,t,r){let n=await i.failTask(this.db,e,t,r);if(!n){let t=await i.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}return n.type===a.TASK_TYPES.KILL_TASK||(r&&await d.createMessage(this.db,{conversationId:n.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e}),await this.reconcileAgentStatus(n.agentId,n.workspaceId),await this.syncIssueStatusFromTask(n,"failed"),await this.dispatchNextBufferedMessage(n.conversationId,n.workspaceId)),n}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await c.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await c.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let i=await d.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await l.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,n.messageToResponse)(i)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await i.supersedeTask(this.db,e,t);if(!a){let t=await i.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 i.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 i.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await i.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let n=await i.cancelTask(this.db,r.id,t);return n?(("dispatched"===r.status||"running"===r.status)&&await i.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await d.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),n):null}async reconcileAgentStatus(e,t){let a=await i.countRunningTasks(this.db,e,t);await o.updateAgentStatus(this.db,e,t,a>0?"working":"idle")}async dispatchNextBufferedMessage(e,t){let o=await d.activateNextBufferedMessage(this.db,e);if(!o)return null;let c=await l.getConversation(this.db,e,t);if(!c)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await d.revertToBuffered(this.db,o.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),null;let u=c.userId;try{let s=o.attachmentIds?JSON.parse(o.attachmentIds):[],l=await i.getLatestTaskForConversation(this.db,e),p=l?.traceId??null,h=await this.enqueueTask(c.agentId,e,t,o.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:p,parentTaskId:null});return await d.updateMessageTaskId(this.db,o.id,h.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,n.messageToResponse)(o),task:(0,n.taskToResponse)(h)}).catch(()=>{}),h}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await d.revertToBuffered(this.db,o.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:o.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await i.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},436454,e=>e.a(async(t,a)=>{try{var s=e.i(291484),r=e.i(675139),n=e.i(152327),i=e.i(776227),o=e.i(740580),d=e.i(205054);e.i(700598);var l=e.i(888247),c=e.i(726089),u=t([n]);[n]=u.then?(await u)():u;let p=(0,n.withAuth)(async(e,t)=>{if(!t.workspaceId)return(0,i.writeError)("Forbidden: machine token required",403);let{env:a}=(0,s.getCloudflareContext)(),n=(0,r.getDb)(a.DB),u=t.params?.taskId;if(!u)return(0,i.writeError)("task_id is required",400);let[p,h]=await (0,i.parseBody)(e,l.CompleteTaskRequestSchema);if(h)return h;let w=JSON.stringify(p),k=p.session_id||"",g=new d.TaskService(n);try{let e=await g.completeTask(u,t.workspaceId,w,k);return(0,c.broadcastToUser)(t.userId,{type:"task.updated",taskId:u,agentId:e.agentId,status:"completed"}).catch(()=>{}),(0,i.writeJSON)((0,o.taskToResponse)(e))}catch(e){return(0,i.writeError)(e instanceof Error?e.message:"Unknown error",400)}});e.s(["POST",0,p]),a()}catch(e){a(e)}},!1),591459,e=>e.a(async(t,a)=>{try{var s=e.i(80774),r=e.i(404478),n=e.i(732985),i=e.i(481671),o=e.i(638081),d=e.i(204960),l=e.i(924918),c=e.i(363585),u=e.i(906846),p=e.i(359838),h=e.i(383303),w=e.i(234173),k=e.i(270215),g=e.i(830665),f=e.i(944002),T=e.i(193695);e.i(195928);var m=e.i(81543),I=e.i(436454),v=t([I]);[I]=v.then?(await v)():v;let _=new s.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/daemon/tasks/[taskId]/complete/route",pathname:"/api/daemon/tasks/[taskId]/complete",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/daemon/tasks/[taskId]/complete/route.ts",nextConfigOutput:"standalone",userland:I,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:R,serverHooks:E}=_;async function y(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),_.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/daemon/tasks/[taskId]/complete/route";s=s.replace(/\/index$/,"")||"/";let n=await _.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:I,deploymentId:v,params:y,nextConfig:b,parsedUrl:R,isDraftMode:E,prerenderManifest:S,routerServerContext:A,isOnDemandRevalidate:x,revalidateOnlyGenerated:C,resolvedPathname:N,clientReferenceManifest:P,serverActionsManifest:M}=n,q=(0,l.normalizeAppPath)(s),O=!!(S.dynamicRoutes[q]||S.routes[N]),B=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,R,!1):t.end("This page could not be found"),null);if(O&&!E){let e=!!S.routes[N],t=S.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await B();throw new T.NoFallbackError}}let K=null;!O||_.isDev||E||(K=N,K="/index"===K?"/":K);let U=!0===_.isDev||!O,$=O&&!U;M&&P&&(0,d.setManifestsSingleton)({page:s,clientReferenceManifest:P,serverActionsManifest:M});let D=e.method||"GET",j=(0,o.getTracer)(),H=j.getActiveScopeSpan(),F=!!(null==A?void 0:A.isWrappedByNextServer),L=!!(0,i.getRequestMeta)(e,"minimalMode"),Y=(0,i.getRequestMeta)(e,"incrementalCache")||await _.getIncrementalCache(e,b,S,L);null==Y||Y.resetRequestCache(),globalThis.__incrementalCache=Y;let G={params:y,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:U,incrementalCache:Y,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,r)=>_.onRequestError(e,t,s,r,A)},sharedContext:{buildId:I,deploymentId:v}},J=new c.NodeNextRequest(e),X=new c.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(J,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>_.handle(V,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=j.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${D} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${D} ${s}`)}),d=async n=>{var o,d;let l=async({previousCacheEntry:r})=>{try{if(!L&&x&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=G.renderOpts.collectedTags;if(!O)return await (0,w.sendResponse)(J,X,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,k.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:x})},!1,A),t}},c=await _.handleResponse({req:e,nextConfig:b,cacheKey:K,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:C,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!O)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",x?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,k.fromNodeOutgoingHttpHeaders)(c.value.headers);return L&&O||u.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,w.sendResponse)(J,X,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};F&&H?await d(H):(n=j.getActiveScopeSpan(),await j.withPropagatedContext(e.headers,()=>j.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},d),void 0,!F))}catch(t){if(t instanceof T.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:x})},!1,A),O)throw t;return await (0,w.sendResponse)(J,X,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:R})},"routeModule",0,_,"serverHooks",0,E,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,R]),a()}catch(e){a(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
1
+ module.exports=[205054,e=>{"use strict";e.i(700598);var t=e.i(291109),a=e.i(704024),s=e.i(799579),r=e.i(726089),n=e.i(740580);let i=t.queries.task,o=t.queries.agent,d=t.queries.message,l=t.queries.conversation,c=t.queries.issue;e.s(["TaskService",0,class{db;constructor(e){this.db=e}async enqueueTask(e,t,s,r,n=a.TASK_TYPES.USER_DM_MESSAGE,d){let l=await o.getAgent(this.db,e,s);if(!l)throw Error("agent not found");if(!l.runtimeId)throw Error("agent has no runtime");if(d?.traceId&&d.parentTaskId&&await i.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.`);return i.createTask(this.db,{agentId:e,runtimeId:l.runtimeId,workspaceId:s,conversationId:t,prompt:r,type:n,contextKey:d?.contextKey??null,priority:0,context:d?.context,traceId:d?.traceId??null,parentTaskId:d?.parentTaskId??null})}async claimTask(e,t){let a=await o.getAgent(this.db,e,t);if(!a)return null;if(await i.countRunningTasks(this.db,e,t)>=a.maxConcurrentTasks){let s=await i.findSteerableReplacement(this.db,e,t);if(!s||await i.countRunningTasks(this.db,e,t,s.predecessorId)>=a.maxConcurrentTasks)return null}let s=await i.claimTask(this.db,e,t);return s?(await o.updateAgentStatus(this.db,e,t,"working"),s):null}async claimTasksForRuntimes(e,t,a){let s=await i.claimKillTasks(this.db,e,a,t),r=t-s.length,n=r>0?await i.listPendingTasksByRuntimes(this.db,e,a):[],o=new Set(e),d=new Set,l=[...s];for(let e of n){if(r<=0)break;let t=`${e.agentId}:${e.workspaceId}`;if(d.has(t))continue;d.add(t);let a=await this.claimTask(e.agentId,e.workspaceId);a&&o.has(a.runtimeId)&&(l.push(a),r--)}return l}async startTask(e,t){let a=await i.startTask(this.db,e,t);if(!a)throw Error("task not in dispatched status");return a}async completeTask(e,t,a,r){let n;try{n=JSON.parse(a)}catch{n={raw:a}}let o=await i.completeTask(this.db,e,t,{result:n,sessionId:r||null});if(!o){let t=await i.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 l=n,c="string"==typeof l?.output?l.output:"";return c&&await d.createMessage(this.db,{conversationId:o.conversationId,role:"assistant",content:c,taskId:e}),await this.reconcileAgentStatus(o.agentId,o.workspaceId),await this.dispatchNextBufferedMessage(o.conversationId,o.workspaceId),o}async failTask(e,t,r){let n=await i.failTask(this.db,e,t,r);if(!n){let t=await i.getTask(this.db,e),a=t?.status??"unknown";throw s.log.warn(`failTask failed: task is in '${a}' status`,{taskId:e}),Error(`cannot fail task in '${a}' status`)}return n.type===a.TASK_TYPES.KILL_TASK||(r&&await d.createMessage(this.db,{conversationId:n.conversationId,role:"assistant",content:`Error: ${r}`,taskId:e}),await this.reconcileAgentStatus(n.agentId,n.workspaceId),await this.syncIssueStatusFromTask(n,"failed"),await this.dispatchNextBufferedMessage(n.conversationId,n.workspaceId)),n}async syncIssueStatusFromTask(e,t){if(e.type!==a.TASK_TYPES.ISSUE_EVENT)return;let s=await c.getIssueByConversation(this.db,e.conversationId,e.workspaceId);if(!s||s.status===t||!await c.updateIssue(this.db,s.id,e.workspaceId,{status:t}))return;let i=await d.createMessage(this.db,{conversationId:e.conversationId,role:"event",content:`Issue status changed: ${s.status} -> ${t}`,taskId:e.id,metadata:JSON.stringify({issueId:s.id})});try{let t=await l.getConversation(this.db,e.conversationId,e.workspaceId);t&&(0,r.broadcastToUser)(t.userId,{type:"conversation.message",conversationId:e.conversationId,message:(0,n.messageToResponse)(i)}).catch(()=>{})}catch{}}async supersedeTask(e,t){let a=await i.supersedeTask(this.db,e,t);if(!a){let t=await i.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 i.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 i.markFailedAsSuperseded(this.db,e,t);if(!s)throw Error("failed to mark task as superseded");return{oldTask:s,newTask:await this.enqueueTask(a.agentId,a.conversationId,t,a.prompt,a.type,{contextKey:a.contextKey??null,context:a.context,traceId:a.traceId??null,parentTaskId:a.parentTaskId??null})}}async cancelActiveTask(e,t,s){let r=await i.getActiveTaskByConversation(this.db,e,t);if(!r)return null;let n=await i.cancelTask(this.db,r.id,t);return n?(("dispatched"===r.status||"running"===r.status)&&await i.createTask(this.db,{agentId:r.agentId,runtimeId:r.runtimeId,workspaceId:t,conversationId:e,prompt:"",type:a.TASK_TYPES.KILL_TASK,context:{target_task_id:r.id}}),await d.createMessage(this.db,{conversationId:e,role:"assistant",content:s?.reason??"Task cancelled by user",taskId:r.id}),await this.reconcileAgentStatus(r.agentId,t),s?.skipDispatch||await this.dispatchNextBufferedMessage(e,t),n):null}async reconcileAgentStatus(e,t){let a=await i.countRunningTasks(this.db,e,t);await o.updateAgentStatus(this.db,e,t,a>0?"working":"idle")}async dispatchNextBufferedMessage(e,t){let o=await d.activateNextBufferedMessage(this.db,e);if(!o)return null;let c=await l.getConversation(this.db,e,t);if(!c)return s.log.warn("dispatchNextBufferedMessage: conversation not found",{conversationId:e}),await d.revertToBuffered(this.db,o.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),null;let u=c.userId;try{let s=o.attachmentIds?JSON.parse(o.attachmentIds):[],l=await i.getLatestTaskForConversation(this.db,e),p=l?.traceId??null,h=await this.enqueueTask(c.agentId,e,t,o.content,a.TASK_TYPES.USER_DM_MESSAGE,{contextKey:e,context:s.length>0?{attachment_ids:s}:void 0,traceId:p,parentTaskId:null});return await d.updateMessageTaskId(this.db,o.id,h.id),(0,r.broadcastToUser)(u,{type:"followup.dispatched",conversationId:e,message:(0,n.messageToResponse)(o),task:(0,n.taskToResponse)(h)}).catch(()=>{}),h}catch(t){return s.log.warn("dispatchNextBufferedMessage: enqueueTask failed",{conversationId:e,err:t}),await d.revertToBuffered(this.db,o.id).catch(e=>{s.log.error("dispatchNextBufferedMessage: failed to revert message status",{messageId:o.id,revertErr:e})}),(0,r.broadcastToUser)(u,{type:"followup.dispatch_failed",conversationId:e,messageId:o.id,error:t instanceof Error?t.message:"Failed to dispatch follow-up"}).catch(()=>{}),null}}async cancelTrace(e,t,a){for(let r of[...new Set((await i.getTraceTree(this.db,e,t)).filter(e=>["queued","dispatched","running"].includes(e.status)).map(e=>e.conversationId))])try{await this.cancelActiveTask(r,t,{skipDispatch:!0,reason:a?.reason})}catch(t){s.log.warn("cancelTrace: failed to cancel task",{traceId:e,convId:r,err:t})}}}])},436454,e=>e.a(async(t,a)=>{try{var s=e.i(291484),r=e.i(675139),n=e.i(152327),i=e.i(776227),o=e.i(740580),d=e.i(205054);e.i(700598);var l=e.i(888247),c=e.i(726089),u=e.i(774078),p=t([n]);[n]=p.then?(await p)():p;let h=(0,n.withAuth)(async(e,t)=>{if(!t.workspaceId)return(0,i.writeError)("Forbidden: machine token required",403);let{env:a}=(0,s.getCloudflareContext)(),n=(0,r.getDb)(a.DB),p=t.params?.taskId;if(!p)return(0,i.writeError)("task_id is required",400);let[h,w]=await (0,i.parseBody)(e,l.CompleteTaskRequestSchema);if(w)return w;let k=JSON.stringify(h),g=h.session_id||"",f=new d.TaskService(n);try{let e=await f.completeTask(p,t.workspaceId,k,g),a=new Date().toISOString().slice(0,10);return(0,u.invalidate)(u.cacheKeys.overviewTaskStats(t.workspaceId,a)).catch(()=>{}),(0,c.broadcastToUser)(t.userId,{type:"task.updated",taskId:p,agentId:e.agentId,status:"completed"}).catch(()=>{}),(0,i.writeJSON)((0,o.taskToResponse)(e))}catch(e){return(0,i.writeError)(e instanceof Error?e.message:"Unknown error",400)}});e.s(["POST",0,h]),a()}catch(e){a(e)}},!1),591459,e=>e.a(async(t,a)=>{try{var s=e.i(80774),r=e.i(404478),n=e.i(732985),i=e.i(481671),o=e.i(638081),d=e.i(204960),l=e.i(924918),c=e.i(363585),u=e.i(906846),p=e.i(359838),h=e.i(383303),w=e.i(234173),k=e.i(270215),g=e.i(830665),f=e.i(944002),T=e.i(193695);e.i(195928);var m=e.i(81543),I=e.i(436454),v=t([I]);[I]=v.then?(await v)():v;let _=new s.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/daemon/tasks/[taskId]/complete/route",pathname:"/api/daemon/tasks/[taskId]/complete",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/daemon/tasks/[taskId]/complete/route.ts",nextConfigOutput:"standalone",userland:I,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:R,serverHooks:E}=_;async function y(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),_.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/daemon/tasks/[taskId]/complete/route";s=s.replace(/\/index$/,"")||"/";let n=await _.prepare(e,t,{srcPage:s,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:I,deploymentId:v,params:y,nextConfig:b,parsedUrl:R,isDraftMode:E,prerenderManifest:S,routerServerContext:A,isOnDemandRevalidate:x,revalidateOnlyGenerated:C,resolvedPathname:N,clientReferenceManifest:P,serverActionsManifest:M}=n,q=(0,l.normalizeAppPath)(s),O=!!(S.dynamicRoutes[q]||S.routes[N]),K=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,R,!1):t.end("This page could not be found"),null);if(O&&!E){let e=!!S.routes[N],t=S.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await K();throw new T.NoFallbackError}}let B=null;!O||_.isDev||E||(B=N,B="/index"===B?"/":B);let U=!0===_.isDev||!O,$=O&&!U;M&&P&&(0,d.setManifestsSingleton)({page:s,clientReferenceManifest:P,serverActionsManifest:M});let D=e.method||"GET",j=(0,o.getTracer)(),H=j.getActiveScopeSpan(),F=!!(null==A?void 0:A.isWrappedByNextServer),L=!!(0,i.getRequestMeta)(e,"minimalMode"),Y=(0,i.getRequestMeta)(e,"incrementalCache")||await _.getIncrementalCache(e,b,S,L);null==Y||Y.resetRequestCache(),globalThis.__incrementalCache=Y;let G={params:y,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:U,incrementalCache:Y,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s,r)=>_.onRequestError(e,t,s,r,A)},sharedContext:{buildId:I,deploymentId:v}},J=new c.NodeNextRequest(e),X=new c.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(J,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>_.handle(V,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=j.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${D} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${D} ${s}`)}),d=async n=>{var o,d;let l=async({previousCacheEntry:r})=>{try{if(!L&&x&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=G.renderOpts.collectedTags;if(!O)return await (0,w.sendResponse)(J,X,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,k.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:s,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:x})},!1,A),t}},c=await _.handleResponse({req:e,nextConfig:b,cacheKey:B,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:C,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!O)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",x?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,k.fromNodeOutgoingHttpHeaders)(c.value.headers);return L&&O||u.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,w.sendResponse)(J,X,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};F&&H?await d(H):(n=j.getActiveScopeSpan(),await j.withPropagatedContext(e.headers,()=>j.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${s}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},d),void 0,!F))}catch(t){if(t instanceof T.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:x})},!1,A),O)throw t;return await (0,w.sendResponse)(J,X,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:R})},"routeModule",0,_,"serverHooks",0,E,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,R]),a()}catch(e){a(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
2
2
 
3
3
  //# sourceMappingURL=_0piy2kq._.js.map
@@ -1,10 +1,10 @@
1
1
  module.exports=[192142,e=>e.a(async(t,a)=>{try{var r=e.i(291484);e.i(700598);var n=e.i(291109),i=e.i(888247),s=e.i(424166),o=e.i(469187),l=e.i(704024),d=e.i(719436),c=e.i(386581),u=e.i(675139),p=e.i(152327),m=e.i(47962),h=e.i(776227),w=e.i(740580),g=e.i(205054),f=e.i(774078),y=t([p]);[p]=y.then?(await y)():y;let k={"software-dev":{researcher:{fromLeader:"Delegate technical research: what to investigate (API, library, architecture pattern), what decision it informs, and what format/depth you need back. Include relevant file paths or code pointers.",toLeader:"Report with: Status, technical summary, evidence (file paths, doc URLs, code snippets), recommendation for implementation, and confidence level. Flag anything you couldn't verify from source."},engineer:{fromLeader:"Delegate coding tasks with: clear requirement, relevant file paths, existing patterns to follow, expected behavior, and test expectations. Include context from researcher findings if relevant.",toLeader:"Report with: Status, files changed with descriptions, test results (pass/fail), self-review findings, and concerns about correctness or edge cases."}},"content-research":{researcher:{fromLeader:"Delegate content research: topic/claim to investigate, target content format (article, report, social), depth needed (quick check vs. deep dive), and any specific sources to check.",toLeader:"Report with: Status, key facts for the writer, organized source list (URL, date, reliability), verification gaps, angle suggestion, and per-claim confidence levels."},assistant:{fromLeader:"Delegate content operations: what content to format/publish, which platform, deadline, and any style/formatting requirements.",toLeader:"Report with: Status, what was done (formatted, published, submitted), next step (awaiting review, scheduled for X), and any blockers (platform issues, access problems)."}},"sales-outreach":{researcher:{fromLeader:"Delegate prospect research: target criteria, market/industry focus, what intelligence is needed, and how it will be used (outreach, pitch, proposal).",toLeader:"Report with: Status, prospect list with context and suggested angles, market signals, source reliability, and confidence levels."},assistant:{fromLeader:"Delegate outreach tasks: who to contact, messaging angle, follow-up cadence, and desired outcome.",toLeader:"Report with: Status, emails sent/scheduled, responses received, pipeline updates, and deals needing attention."}},"customer-support":{assistant:{fromLeader:"Delegate support tasks: customer issue summary, urgency level, prior interaction context, and resolution approach.",toLeader:"Report with: Status, response drafted/sent, issue resolution status, follow-up schedule, and recurring patterns flagged."}}},v={researcher:{fromLeader:"Delegate research tasks with: clear question, decision context, scope boundary, and expected output format.",toLeader:"Report findings with: Status (DONE/BLOCKED/NEEDS_CONTEXT), summary, evidence with sources, recommendation, and confidence level."},engineer:{fromLeader:"Delegate coding tasks with: clear requirement, relevant context, and expected behavior.",toLeader:"Report results with: Status (DONE/BLOCKED/NEEDS_CONTEXT), files changed, tests run + results, self-review findings, and concerns."},assistant:{fromLeader:"Delegate operational tasks with: action needed, target person/system, deadline, and tone guidance.",toLeader:"Report results with: Status (DONE/BLOCKED/NEEDS_CONTEXT), action taken, next step, and escalation flags."}},I=(0,p.withAuth)(async(e,t)=>{let a=await (0,m.withWorkspaceMember)(e,t);if(a instanceof Response)return a;let{env:p}=(0,r.getCloudflareContext)(),y=(0,u.getDb)(p.DB),[I,R]=await (0,h.parseBody)(e,i.CreateStudioRequestSchema);if(R)return R;let E=[...new Set(I.members.map(e=>e.runtime_id))],S=new Map;for(let e of E){let t=await n.queries.runtime.getAgentRuntimeForWorkspace(y,e,a.workspaceId);if(!t)return(0,h.writeError)(`runtime ${e} not found in workspace`,404);S.set(e,t)}let A=await n.queries.workspace.getWorkspace(y,a.workspaceId,t.userId);if(!A)return(0,h.writeError)("workspace not found",404);if(I.name){let e=await n.queries.agent.listAgents(y,a.workspaceId,t.userId),r=I.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,60);if(0===e.length&&r){let e=r,t=await n.queries.workspace.getWorkspaceBySlug(y,r);if(t&&t.id!==a.workspaceId){let t=!1;for(let i=0;i<5;i++){let i=(0,c.uniqueNamesGenerator)({dictionaries:[c.names],length:1,style:"lowerCase"}),s=`${r}-${i}`.slice(0,60),o=await n.queries.workspace.getWorkspaceBySlug(y,s);if(!o||o.id===a.workspaceId){e=s,t=!0;break}}t||(e=`${r}-${(0,d.nanoid)(6)}`)}let i=await n.queries.workspace.updateWorkspace(y,a.workspaceId,{name:I.name.trim(),slug:e});i&&(A=i)}else await n.queries.workspace.updateWorkspace(y,a.workspaceId,{name:I.name.trim()}),A=await n.queries.workspace.getWorkspace(y,a.workspaceId,t.userId)}let C=[],b=await (0,f.cached)(f.cacheKeys.allHandles(a.workspaceId),120,()=>n.queries.agent.getAllHandlesForWorkspace(y,a.workspaceId)),T=new Set(b.map(e=>e.emailHandle).filter(Boolean));for(let e of I.members){let r=e.name||`Agent-${(0,d.nanoid)(4)}`,i=e.email_handle&&(0,s.isValidHandle)(e.email_handle)&&!T.has(e.email_handle)?(T.add(e.email_handle),e.email_handle):function(e,t){let a=t.toLowerCase().replace(/[^a-z0-9-]/g,"").slice(0,30);if((0,s.isValidHandle)(a)&&!e.has(a))return e.add(a),a;for(let t=0;t<5;t++){let t=(0,c.uniqueNamesGenerator)({dictionaries:[c.names],length:1,style:"lowerCase"}),r=`${a}-${t}`.slice(0,30);if((0,s.isValidHandle)(r)&&!e.has(r))return e.add(r),r}let r=`${a}-${(0,d.nanoid)(6)}`;return e.add(r),r}(T,r),o=e.runtime_config,l=o?{..."string"==typeof o.model?{model:o.model}:{}}:null,u=S.get(e.runtime_id),p=await n.queries.agent.createAgent(y,{workspaceId:a.workspaceId,name:r,description:e.description||"",instructions:e.instructions||"",runtimeId:e.runtime_id,runtimeMode:u?.runtimeMode??"local",runtimeConfig:l,visibility:"private",maxConcurrentTasks:6,ownerId:t.userId,emailHandle:i,avatarUrl:e.avatar_url??null});t.email&&await n.queries.whitelist.addWhitelist(y,p.id,a.workspaceId,t.email.toLowerCase()),C.push({id:p.id,role:e.role,name:r,emailHandle:p.emailHandle,runtimeId:p.runtimeId})}let _=C.find(e=>"leader"===e.role),L=C.filter(e=>"leader"!==e.role),q=[];for(let e of L){var x,N;let t=(x=I.scenario,N=e.role,x&&k[x]?.[N]?k[x][N]:v[N]||{fromLeader:"Collaborate with this team member.",toLeader:"Report results back to the leader."});try{let r=await n.queries.agentLink.create(y,{workspaceId:a.workspaceId,sourceAgentId:_.id,targetAgentId:e.id,instruction:`${t.fromLeader}
2
- ${t.toLeader}`});q.push(r)}catch{}}await Promise.all([(0,f.invalidate)(f.cacheKeys.allAgents(a.workspaceId)),(0,f.invalidate)(f.cacheKeys.allHandles(a.workspaceId)),(0,f.invalidate)(f.cacheKeys.allColleagues(a.workspaceId))]);try{await n.queries.agentPin.pinAgent(y,{agentId:_.id,workspaceId:a.workspaceId,userId:t.userId})}catch{}let O=S.get(I.members.find(e=>"leader"===e.role).runtime_id);if(_.emailHandle&&t.email&&O&&(0,o.isOnline)(O.machineLastSeenAt))try{let e=C.filter(e=>e.id!==_.id).map(e=>`- ${e.name} (${e.emailHandle}@alook.ai), role: ${e.role}`).join("\n"),r=1===C.length?`You have just been created by your owner (${t.email}). Please send them a welcome email introducing yourself as "${_.name}". In the email: 1) Introduce yourself warmly — your name, your email address, and what you can help with. 2) Briefly introduce the Alook platform. 3) Let them know they can chat with you directly or email you anytime. Be warm, professional, and concise.`:`You have just been created as the lead of a new AI studio by your owner (${t.email}). Your teammates are:
2
+ ${t.toLeader}`});q.push(r)}catch{}}let O=new Date().toISOString().slice(0,10);await Promise.all([(0,f.invalidate)(f.cacheKeys.allAgents(a.workspaceId)),(0,f.invalidate)(f.cacheKeys.allHandles(a.workspaceId)),(0,f.invalidate)(f.cacheKeys.allColleagues(a.workspaceId)),(0,f.invalidate)(f.cacheKeys.allAgentAccess(a.workspaceId)),(0,f.invalidate)(f.cacheKeys.allMembers(a.workspaceId)),(0,f.invalidate)(f.cacheKeys.overviewTaskStats(a.workspaceId,O))]);try{await n.queries.agentPin.pinAgent(y,{agentId:_.id,workspaceId:a.workspaceId,userId:t.userId})}catch{}let D=S.get(I.members.find(e=>"leader"===e.role).runtime_id);if(_.emailHandle&&t.email&&D&&(0,o.isOnline)(D.machineLastSeenAt))try{let e=C.filter(e=>e.id!==_.id).map(e=>`- ${e.name} (${e.emailHandle}@alook.ai), role: ${e.role}`).join("\n"),r=1===C.length?`You have just been created by your owner (${t.email}). Please send them a welcome email introducing yourself as "${_.name}". In the email: 1) Introduce yourself warmly — your name, your email address, and what you can help with. 2) Briefly introduce the Alook platform. 3) Let them know they can chat with you directly or email you anytime. Be warm, professional, and concise.`:`You have just been created as the lead of a new AI studio by your owner (${t.email}). Your teammates are:
3
3
  ${e}
4
4
 
5
- Please send a welcome email to your owner introducing yourself and all your teammates. Include: 1) Your name and email address. 2) Each teammate's name, email, and what they handle. 3) How the team works together — you coordinate and delegate to specialists. 4) Let them know they can email you directly to assign work. Be warm, professional, and concise.`,i=await n.queries.conversation.createConversation(y,{workspaceId:a.workspaceId,agentId:_.id,userId:t.userId,title:`Welcome: ${t.email}`.slice(0,50),type:l.TASK_TYPES.EMAIL_NOTIFICATION}),s=new g.TaskService(y);await s.enqueueTask(_.id,i.id,a.workspaceId,r,l.TASK_TYPES.EMAIL_NOTIFICATION)}catch{}if(_&&O&&(0,o.isOnline)(O.machineLastSeenAt))try{let e=C.filter(e=>e.id!==_.id).map(e=>`- ${e.name} (${e.emailHandle}@alook.ai), role: ${e.role}`).join("\n"),r=1===C.length?`You have just been created by your owner (${t.email}). Please introduce yourself as "${_.name}" in this chat. 1) Introduce yourself warmly — your name and what you can help with. 2) Briefly introduce the Alook platform. 3) Let them know they can chat with you directly or email you anytime. Be warm, professional, and concise. Reply in the same language as your owner's name or email suggests.`:`You have just been created as the lead of a new AI studio by your owner (${t.email}). Your teammates are:
5
+ Please send a welcome email to your owner introducing yourself and all your teammates. Include: 1) Your name and email address. 2) Each teammate's name, email, and what they handle. 3) How the team works together — you coordinate and delegate to specialists. 4) Let them know they can email you directly to assign work. Be warm, professional, and concise.`,i=await n.queries.conversation.createConversation(y,{workspaceId:a.workspaceId,agentId:_.id,userId:t.userId,title:`Welcome: ${t.email}`.slice(0,50),type:l.TASK_TYPES.EMAIL_NOTIFICATION}),s=new g.TaskService(y);await s.enqueueTask(_.id,i.id,a.workspaceId,r,l.TASK_TYPES.EMAIL_NOTIFICATION)}catch{}if(_&&D&&(0,o.isOnline)(D.machineLastSeenAt))try{let e=C.filter(e=>e.id!==_.id).map(e=>`- ${e.name} (${e.emailHandle}@alook.ai), role: ${e.role}`).join("\n"),r=1===C.length?`You have just been created by your owner (${t.email}). Please introduce yourself as "${_.name}" in this chat. 1) Introduce yourself warmly — your name and what you can help with. 2) Briefly introduce the Alook platform. 3) Let them know they can chat with you directly or email you anytime. Be warm, professional, and concise. Reply in the same language as your owner's name or email suggests.`:`You have just been created as the lead of a new AI studio by your owner (${t.email}). Your teammates are:
6
6
  ${e}
7
7
 
8
- Please introduce yourself and all your teammates in this chat. Include: 1) Your name. 2) Each teammate's name and what they handle. 3) How the team works together — you coordinate and delegate to specialists. 4) Let them know they can chat with you directly to assign work. Be warm, professional, and concise. Reply in the same language as your owner's name or email suggests.`,i=await n.queries.conversation.createConversation(y,{workspaceId:a.workspaceId,agentId:_.id,userId:t.userId,title:"Welcome",type:l.TASK_TYPES.USER_DM_MESSAGE}),s=new g.TaskService(y);await s.enqueueTask(_.id,i.id,a.workspaceId,r,l.TASK_TYPES.USER_DM_MESSAGE)}catch{}let $=(await n.queries.agent.listAgents(y,a.workspaceId,t.userId)).filter(e=>C.some(t=>t.id===e.id)),D=await n.queries.workspace.getWorkspace(y,a.workspaceId,t.userId);return(0,h.writeJSON)({studio:{name:D?.name||I.name||""},workspace:(0,w.workspaceToResponse)(D||A),leader_agent_id:_.id,agents:$.map(w.agentToResponse),links:q.map(w.agentLinkToResponse)},201)});e.s(["POST",0,I]),a()}catch(e){a(e)}},!1),227843,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),c=e.i(363585),u=e.i(906846),p=e.i(359838),m=e.i(383303),h=e.i(234173),w=e.i(270215),g=e.i(830665),f=e.i(944002),y=e.i(193695);e.i(195928);var k=e.i(81543),v=e.i(192142),I=t([v]);[v]=I.then?(await I)():I;let E=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/studios/route",pathname:"/api/studios",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/studios/route.ts",nextConfigOutput:"standalone",userland:v,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:A,serverHooks:C}=E;async function R(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/studios/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:v,deploymentId:I,params:R,nextConfig:S,parsedUrl:A,isDraftMode:C,prerenderManifest:b,routerServerContext:T,isOnDemandRevalidate:_,revalidateOnlyGenerated:L,resolvedPathname:q,clientReferenceManifest:x,serverActionsManifest:N}=i,O=(0,d.normalizeAppPath)(r),$=!!(b.dynamicRoutes[O]||b.routes[q]),D=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,A,!1):t.end("This page could not be found"),null);if($&&!C){let e=!!b.routes[q],t=b.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await D();throw new y.NoFallbackError}}let P=null;!$||E.isDev||C||(P=q,P="/index"===P?"/":P);let H=!0===E.isDev||!$,M=$&&!H;N&&x&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:x,serverActionsManifest:N});let U=e.method||"GET",B=(0,o.getTracer)(),K=B.getActiveScopeSpan(),W=!!(null==T?void 0:T.isWrappedByNextServer),j=!!(0,s.getRequestMeta)(e,"minimalMode"),F=(0,s.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,S,b,j);null==F||F.resetRequestCache(),globalThis.__incrementalCache=F;let Y={params:R,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:H,incrementalCache:F,cacheLifeProfiles:S.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>E.onRequestError(e,t,r,n,T)},sharedContext:{buildId:v,deploymentId:I}},G=new c.NodeNextRequest(e),X=new c.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let i,s=async e=>E.handle(V,Y).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=B.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${U} ${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(`${U} ${r}`)}),l=async i=>{var o,l;let d=async({previousCacheEntry:n})=>{try{if(!j&&_&&L&&!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=Y.renderOpts.fetchMetrics;let o=Y.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=Y.renderOpts.collectedTags;if(!$)return await (0,h.sendResponse)(G,X,r,Y.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(r.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: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,m.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:_})},!1,T),t}},c=await E.handleResponse({req:e,nextConfig:S,cacheKey:P,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:L,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:j});if(!$)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});j||t.setHeader("x-nextjs-cache",_?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,w.fromNodeOutgoingHttpHeaders)(c.value.headers);return j&&$||u.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(G,X,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};W&&K?await l(K):(i=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l),void 0,!W))}catch(t){if(t instanceof y.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:_})},!1,T),$)throw t;return await (0,h.sendResponse)(G,X,new Response(null,{status:500})),null}}e.s(["handler",0,R,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:A})},"routeModule",0,E,"serverHooks",0,C,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,A]),a()}catch(e){a(e)}},!1)];
8
+ Please introduce yourself and all your teammates in this chat. Include: 1) Your name. 2) Each teammate's name and what they handle. 3) How the team works together — you coordinate and delegate to specialists. 4) Let them know they can chat with you directly to assign work. Be warm, professional, and concise. Reply in the same language as your owner's name or email suggests.`,i=await n.queries.conversation.createConversation(y,{workspaceId:a.workspaceId,agentId:_.id,userId:t.userId,title:"Welcome",type:l.TASK_TYPES.USER_DM_MESSAGE}),s=new g.TaskService(y);await s.enqueueTask(_.id,i.id,a.workspaceId,r,l.TASK_TYPES.USER_DM_MESSAGE)}catch{}let $=(await n.queries.agent.listAgents(y,a.workspaceId,t.userId)).filter(e=>C.some(t=>t.id===e.id)),P=await n.queries.workspace.getWorkspace(y,a.workspaceId,t.userId);return(0,h.writeJSON)({studio:{name:P?.name||I.name||""},workspace:(0,w.workspaceToResponse)(P||A),leader_agent_id:_.id,agents:$.map(w.agentToResponse),links:q.map(w.agentLinkToResponse)},201)});e.s(["POST",0,I]),a()}catch(e){a(e)}},!1),227843,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),c=e.i(363585),u=e.i(906846),p=e.i(359838),m=e.i(383303),h=e.i(234173),w=e.i(270215),g=e.i(830665),f=e.i(944002),y=e.i(193695);e.i(195928);var k=e.i(81543),v=e.i(192142),I=t([v]);[v]=I.then?(await I)():I;let E=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/studios/route",pathname:"/api/studios",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/studios/route.ts",nextConfigOutput:"standalone",userland:v,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:A,serverHooks:C}=E;async function R(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/studios/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:v,deploymentId:I,params:R,nextConfig:S,parsedUrl:A,isDraftMode:C,prerenderManifest:b,routerServerContext:T,isOnDemandRevalidate:_,revalidateOnlyGenerated:L,resolvedPathname:q,clientReferenceManifest:x,serverActionsManifest:N}=i,O=(0,d.normalizeAppPath)(r),D=!!(b.dynamicRoutes[O]||b.routes[q]),$=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,A,!1):t.end("This page could not be found"),null);if(D&&!C){let e=!!b.routes[q],t=b.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await $();throw new y.NoFallbackError}}let P=null;!D||E.isDev||C||(P=q,P="/index"===P?"/":P);let H=!0===E.isDev||!D,M=D&&!H;N&&x&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:x,serverActionsManifest:N});let K=e.method||"GET",U=(0,o.getTracer)(),B=U.getActiveScopeSpan(),W=!!(null==T?void 0:T.isWrappedByNextServer),j=!!(0,s.getRequestMeta)(e,"minimalMode"),F=(0,s.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,S,b,j);null==F||F.resetRequestCache(),globalThis.__incrementalCache=F;let Y={params:R,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:H,incrementalCache:F,cacheLifeProfiles:S.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>E.onRequestError(e,t,r,n,T)},sharedContext:{buildId:v,deploymentId:I}},G=new c.NodeNextRequest(e),X=new c.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let i,s=async e=>E.handle(V,Y).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=U.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=`${K} ${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(`${K} ${r}`)}),l=async i=>{var o,l;let d=async({previousCacheEntry:n})=>{try{if(!j&&_&&L&&!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=Y.renderOpts.fetchMetrics;let o=Y.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=Y.renderOpts.collectedTags;if(!D)return await (0,h.sendResponse)(G,X,r,Y.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(r.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: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,m.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:_})},!1,T),t}},c=await E.handleResponse({req:e,nextConfig:S,cacheKey:P,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:L,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:j});if(!D)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});j||t.setHeader("x-nextjs-cache",_?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,w.fromNodeOutgoingHttpHeaders)(c.value.headers);return j&&D||u.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(G,X,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};W&&B?await l(B):(i=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(p.BaseServerSpan.handleRequest,{spanName:`${K} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},l),void 0,!W))}catch(t){if(t instanceof y.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:_})},!1,T),D)throw t;return await (0,h.sendResponse)(G,X,new Response(null,{status:500})),null}}e.s(["handler",0,R,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:A})},"routeModule",0,E,"serverHooks",0,C,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,A]),a()}catch(e){a(e)}},!1)];
9
9
 
10
10
  //# sourceMappingURL=_0r0h9so._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[584514,e=>{"use strict";var t=e.i(719436);e.s(["generateWorkspaceSlug",0,function(){return`studio-${(0,t.nanoid)(8)}`}])},838742,e=>e.a(async(t,r)=>{try{var a=e.i(291484);e.i(700598);var n=e.i(291109),i=e.i(675139),s=e.i(152327),o=e.i(776227),l=e.i(740580),d=e.i(888247),u=e.i(584514),c=e.i(726089),p=e.i(774078),h=e.i(799579),m=t([s]);[s]=m.then?(await m)():m;let w=(0,s.withAuth)(async(e,t)=>{let{env:r}=(0,a.getCloudflareContext)(),s=(0,i.getDb)(r.DB),[m,w]=await (0,o.parseBody)(e,d.RegisterDaemonRequestSchema);if(w)return w;let{daemon_id:v,device_name:_,cli_version:R,workspaces_root:g,runtimes:y}=m,f=m.workspace_id;if(!f&&t.workspaceId&&(f=t.workspaceId),!f){let e=await (0,i.withD1Retry)(()=>n.queries.workspace.listWorkspaces(s,t.userId));if(e.length>0)f=e[0].id;else{let e=await (0,i.withD1Retry)(()=>n.queries.workspace.createWorkspace(s,{name:"Personal",slug:(0,u.generateWorkspaceSlug)()}));await (0,i.withD1Retry)(()=>n.queries.member.createMember(s,{workspaceId:e.id,userId:t.userId,role:"owner"})),f=e.id}}if(t.workspaceId&&t.workspaceId!==f)return(0,o.writeJSON)({error:"workspace_id does not match token"},403);if(!await (0,i.withD1Retry)(()=>n.queries.member.getMemberByUserAndWorkspace(s,t.userId,f)))return(0,o.writeJSON)({error:"workspace not found"},404);try{await n.queries.machine.upsertMachine(s,{daemonId:v,workspaceId:f,deviceInfo:_.trim()})}catch(e){h.log.warn("register: machine upsert failed",{daemonId:v,err:String(e)})}let k=[];for(let e of y){let t=(e.type||e.provider||"unknown").trim(),r=e.runtime_mode||"local",a=_.trim(),o={version:e.version||"",...R?{cli_version:R}:{},...g?{workspaces_root:g}:{}},l=await (0,i.withD1Retry)(()=>n.queries.runtime.upsertAgentRuntime(s,{workspaceId:f,daemonId:v,runtimeMode:r,provider:t,deviceInfo:a,metadata:o}));k.push({...l,machineLastSeenAt:new Date().toISOString()})}return await (0,p.invalidate)(p.cacheKeys.runtimeIds(f,v)),(0,c.broadcastToUser)(t.userId,{type:"runtime.registered",daemonId:v,hostname:_.trim(),workspaceId:f}).catch(()=>{}),(0,o.writeJSON)({runtimes:k.map(l.runtimeToResponse),workspaceId:f})});e.s(["POST",0,w]),r()}catch(e){r(e)}},!1),853961,e=>e.a(async(t,r)=>{try{var a=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),m=e.i(234173),w=e.i(270215),v=e.i(830665),_=e.i(944002),R=e.i(193695);e.i(195928);var g=e.i(81543),y=e.i(838742),f=t([y]);[y]=f.then?(await f)():f;let E=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/daemon/register/route",pathname:"/api/daemon/register",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/daemon/register/route.ts",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:b,serverHooks:A}=E;async function k(e,t,r){r.requestMeta&&(0,s.setRequestMeta)(e,r.requestMeta),E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/daemon/register/route";a=a.replace(/\/index$/,"")||"/";let i=await E.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:y,deploymentId:f,params:k,nextConfig:C,parsedUrl:b,isDraftMode:A,prerenderManifest:x,routerServerContext:S,isOnDemandRevalidate:P,revalidateOnlyGenerated:I,resolvedPathname:N,clientReferenceManifest:T,serverActionsManifest:q}=i,O=(0,d.normalizeAppPath)(a),D=!!(x.dynamicRoutes[O]||x.routes[N]),j=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,b,!1):t.end("This page could not be found"),null);if(D&&!A){let e=!!x.routes[N],t=x.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(C.adapterPath)return await j();throw new R.NoFallbackError}}let M=null;!D||E.isDev||A||(M=N,M="/index"===M?"/":M);let U=!0===E.isDev||!D,H=D&&!U;q&&T&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:T,serverActionsManifest:q});let B=e.method||"GET",$=(0,o.getTracer)(),K=$.getActiveScopeSpan(),F=!!(null==S?void 0:S.isWrappedByNextServer),W=!!(0,s.getRequestMeta)(e,"minimalMode"),L=(0,s.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,C,x,W);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let z={params:k,previewProps:x.preview,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:U,incrementalCache:L,cacheLifeProfiles:C.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>E.onRequestError(e,t,a,n,S)},sharedContext:{buildId:y,deploymentId:f}},G=new u.NodeNextRequest(e),J=new u.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(G,(0,c.signalFromNodeResponse)(t));try{let i,s=async e=>E.handle(V,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.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),i&&i!==e&&(i.setAttribute("http.route",n),i.updateName(t))}else e.updateName(`${B} ${a}`)}),l=async i=>{var o,l;let d=async({previousCacheEntry:n})=>{try{if(!W&&P&&I&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(i);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!D)return await (0,m.sendResponse)(G,J,a,z.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[_.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=_.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,n=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=_.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:g.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 E.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:P})},!1,S),t}},u=await E.handleResponse({req:e,nextConfig:C,cacheKey:M,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:I,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:W});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});W||t.setHeader("x-nextjs-cache",P?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,w.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&D||c.delete(_.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,v.getCacheControlHeader)(u.cacheControl)),await (0,m.sendResponse)(G,J,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};F&&K?await l(K):(i=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.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 R.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:P})},!1,S),D)throw t;return await (0,m.sendResponse)(G,J,new Response(null,{status:500})),null}}e.s(["handler",0,k,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:b})},"routeModule",0,E,"serverHooks",0,A,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,b]),r()}catch(e){r(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
1
+ module.exports=[584514,e=>{"use strict";var t=e.i(719436);e.s(["generateWorkspaceSlug",0,function(){return`studio-${(0,t.nanoid)(8)}`}])},838742,e=>e.a(async(t,r)=>{try{var a=e.i(291484);e.i(700598);var i=e.i(291109),n=e.i(675139),s=e.i(152327),o=e.i(776227),l=e.i(740580),d=e.i(888247),u=e.i(584514),c=e.i(726089),p=e.i(774078),h=e.i(799579),m=t([s]);[s]=m.then?(await m)():m;let w=(0,s.withAuth)(async(e,t)=>{let{env:r}=(0,a.getCloudflareContext)(),s=(0,n.getDb)(r.DB),[m,w]=await (0,o.parseBody)(e,d.RegisterDaemonRequestSchema);if(w)return w;let{daemon_id:v,device_name:_,cli_version:R,workspaces_root:g,runtimes:y}=m,f=m.workspace_id;if(!f&&t.workspaceId&&(f=t.workspaceId),!f){let e=await (0,n.withD1Retry)(()=>i.queries.workspace.listWorkspaces(s,t.userId));if(e.length>0)f=e[0].id;else{let e=await (0,n.withD1Retry)(()=>i.queries.workspace.createWorkspace(s,{name:"Personal",slug:(0,u.generateWorkspaceSlug)()}));await (0,n.withD1Retry)(()=>i.queries.member.createMember(s,{workspaceId:e.id,userId:t.userId,role:"owner"})),f=e.id}}if(t.workspaceId&&t.workspaceId!==f)return(0,o.writeJSON)({error:"workspace_id does not match token"},403);if(!await (0,n.withD1Retry)(()=>i.queries.member.getMemberByUserAndWorkspace(s,t.userId,f)))return(0,o.writeJSON)({error:"workspace not found"},404);try{await i.queries.machine.upsertMachine(s,{daemonId:v,workspaceId:f,deviceInfo:_.trim()})}catch(e){h.log.warn("register: machine upsert failed",{daemonId:v,err:String(e)})}let k=[];for(let e of y){let t=(e.type||e.provider||"unknown").trim(),r=e.runtime_mode||"local",a=_.trim(),o={version:e.version||"",...R?{cli_version:R}:{},...g?{workspaces_root:g}:{}},l=await (0,n.withD1Retry)(()=>i.queries.runtime.upsertAgentRuntime(s,{workspaceId:f,daemonId:v,runtimeMode:r,provider:t,deviceInfo:a,metadata:o}));k.push({...l,machineLastSeenAt:new Date().toISOString()})}return await Promise.all([(0,p.invalidate)(p.cacheKeys.runtimeIds(f,v)),(0,p.invalidate)(p.cacheKeys.allRuntimes(f))]),(0,c.broadcastToUser)(t.userId,{type:"runtime.registered",daemonId:v,hostname:_.trim(),workspaceId:f}).catch(()=>{}),(0,o.writeJSON)({runtimes:k.map(l.runtimeToResponse),workspaceId:f})});e.s(["POST",0,w]),r()}catch(e){r(e)}},!1),853961,e=>e.a(async(t,r)=>{try{var a=e.i(80774),i=e.i(404478),n=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),m=e.i(234173),w=e.i(270215),v=e.i(830665),_=e.i(944002),R=e.i(193695);e.i(195928);var g=e.i(81543),y=e.i(838742),f=t([y]);[y]=f.then?(await f)():f;let E=new a.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/daemon/register/route",pathname:"/api/daemon/register",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/web/src/app/api/daemon/register/route.ts",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:b,serverHooks:A}=E;async function k(e,t,r){r.requestMeta&&(0,s.setRequestMeta)(e,r.requestMeta),E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/daemon/register/route";a=a.replace(/\/index$/,"")||"/";let n=await E.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:y,deploymentId:f,params:k,nextConfig:C,parsedUrl:b,isDraftMode:A,prerenderManifest:x,routerServerContext:S,isOnDemandRevalidate:P,revalidateOnlyGenerated:I,resolvedPathname:N,clientReferenceManifest:T,serverActionsManifest:q}=n,O=(0,d.normalizeAppPath)(a),D=!!(x.dynamicRoutes[O]||x.routes[N]),j=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,b,!1):t.end("This page could not be found"),null);if(D&&!A){let e=!!x.routes[N],t=x.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(C.adapterPath)return await j();throw new R.NoFallbackError}}let M=null;!D||E.isDev||A||(M=N,M="/index"===M?"/":M);let U=!0===E.isDev||!D,H=D&&!U;q&&T&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:T,serverActionsManifest:q});let B=e.method||"GET",K=(0,o.getTracer)(),$=K.getActiveScopeSpan(),F=!!(null==S?void 0:S.isWrappedByNextServer),W=!!(0,s.getRequestMeta)(e,"minimalMode"),L=(0,s.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,C,x,W);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let z={params:k,previewProps:x.preview,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:U,incrementalCache:L,cacheLifeProfiles:C.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,i)=>E.onRequestError(e,t,a,i,S)},sharedContext:{buildId:y,deploymentId:f}},G=new u.NodeNextRequest(e),J=new u.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(G,(0,c.signalFromNodeResponse)(t));try{let n,s=async e=>E.handle(V,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=r.get("next.route");if(i){let t=`${B} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",i),n.updateName(t))}else e.updateName(`${B} ${a}`)}),l=async n=>{var o,l;let d=async({previousCacheEntry:i})=>{try{if(!W&&P&&I&&!i)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(n);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!D)return await (0,m.sendResponse)(G,J,a,z.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[_.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=_.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,i=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=_.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:i}}}}catch(t){throw(null==i?void 0:i.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:P})},!1,S),t}},u=await E.handleResponse({req:e,nextConfig:C,cacheKey:M,routeKind:i.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:I,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:W});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});W||t.setHeader("x-nextjs-cache",P?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,w.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&D||c.delete(_.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,v.getCacheControlHeader)(u.cacheControl)),await (0,m.sendResponse)(G,J,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};F&&$?await l($):(n=K.getActiveScopeSpan(),await K.withPropagatedContext(e.headers,()=>K.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${a}`,kind:o.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},l),void 0,!F))}catch(t){if(t instanceof R.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:P})},!1,S),D)throw t;return await (0,m.sendResponse)(G,J,new Response(null,{status:500})),null}}e.s(["handler",0,k,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:b})},"routeModule",0,E,"serverHooks",0,A,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,b]),r()}catch(e){r(e)}},!1),572758,e=>{e.v(t=>Promise.all(["server/chunks/0yh8_@better-auth_memory-adapter_dist_index_mjs_0u9gr83._.js"].map(t=>e.l(t))).then(()=>t(501816)))},409008,e=>{e.v(t=>Promise.all(["server/chunks/0cae_better-auth_dist_adapters_kysely-adapter_index_mjs_0c-9lzd._.js"].map(t=>e.l(t))).then(()=>t(770021)))},96318,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-na--YwnN_mjs_0ua5mwj._.js"].map(t=>e.l(t))).then(()=>t(158195)))},11379,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0evb.r9._.js"].map(t=>e.l(t))).then(()=>t(302822)))},946743,e=>{e.v(t=>Promise.all(["server/chunks/0_yy_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0bihzky._.js"].map(t=>e.l(t))).then(()=>t(898679)))}];
2
2
 
3
3
  //# sourceMappingURL=_0s4qnoj._.js.map