botmancers 0.4.2 → 0.5.0

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 (360) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +22 -17
  3. package/app/.next/BUILD_ID +1 -1
  4. package/app/.next/app-path-routes-manifest.json +7 -0
  5. package/app/.next/build-manifest.json +3 -3
  6. package/app/.next/prerender-manifest.json +5 -5
  7. package/app/.next/required-server-files.json +2 -2
  8. package/app/.next/routes-manifest.json +55 -0
  9. package/app/.next/server/app/_global-error.html +1 -1
  10. package/app/.next/server/app/_global-error.rsc +1 -1
  11. package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  15. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/_not-found.html +1 -1
  17. package/app/.next/server/app/_not-found.rsc +2 -2
  18. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  19. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  20. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/app/.next/server/app/api/agent-deck/decks/route.js +2 -2
  22. package/app/.next/server/app/api/agent-deck/decks/route.js.nft.json +1 -1
  23. package/app/.next/server/app/api/agent-deck/settings/route.js +2 -2
  24. package/app/.next/server/app/api/agent-deck/settings/route.js.nft.json +1 -1
  25. package/app/.next/server/app/api/bots/[id]/config/route.js +2 -2
  26. package/app/.next/server/app/api/bots/[id]/config/route.js.nft.json +1 -1
  27. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route/app-paths-manifest.json +3 -0
  28. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route/build-manifest.json +12 -0
  29. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route/server-reference-manifest.json +4 -0
  30. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route.js +12 -0
  31. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route.js.nft.json +1 -0
  32. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route_client-reference-manifest.js +3 -0
  33. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/route.js +2 -2
  34. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/route.js.nft.json +1 -1
  35. package/app/.next/server/app/api/bots/[id]/sessions/route.js +6 -3
  36. package/app/.next/server/app/api/bots/[id]/sessions/route.js.nft.json +1 -1
  37. package/app/.next/server/app/api/bots/[id]/skill/route.js +2 -2
  38. package/app/.next/server/app/api/bots/[id]/skill/route.js.nft.json +1 -1
  39. package/app/.next/server/app/api/bots/availability/route.js +2 -2
  40. package/app/.next/server/app/api/bots/availability/route.js.nft.json +1 -1
  41. package/app/.next/server/app/api/bots/delete-preview/route.js +2 -2
  42. package/app/.next/server/app/api/bots/delete-preview/route.js.nft.json +1 -1
  43. package/app/.next/server/app/api/bots/import/route.js +2 -2
  44. package/app/.next/server/app/api/bots/import/route.js.nft.json +1 -1
  45. package/app/.next/server/app/api/bots/manage/route.js +2 -2
  46. package/app/.next/server/app/api/bots/manage/route.js.nft.json +1 -1
  47. package/app/.next/server/app/api/bots/name-migrations/route.js +2 -2
  48. package/app/.next/server/app/api/bots/name-migrations/route.js.nft.json +1 -1
  49. package/app/.next/server/app/api/bots/route.js +3 -3
  50. package/app/.next/server/app/api/bots/route.js.nft.json +1 -1
  51. package/app/.next/server/app/api/conversations/[id]/approve/route.js +4 -4
  52. package/app/.next/server/app/api/conversations/[id]/approve/route.js.nft.json +1 -1
  53. package/app/.next/server/app/api/conversations/[id]/deny/route.js +4 -4
  54. package/app/.next/server/app/api/conversations/[id]/deny/route.js.nft.json +1 -1
  55. package/app/.next/server/app/api/conversations/[id]/draft/route.js +4 -4
  56. package/app/.next/server/app/api/conversations/[id]/draft/route.js.nft.json +1 -1
  57. package/app/.next/server/app/api/conversations/[id]/messages/[messageId]/stop/route.js +2 -2
  58. package/app/.next/server/app/api/conversations/[id]/messages/[messageId]/stop/route.js.nft.json +1 -1
  59. package/app/.next/server/app/api/conversations/[id]/messages/route.js +5 -5
  60. package/app/.next/server/app/api/conversations/[id]/messages/route.js.nft.json +1 -1
  61. package/app/.next/server/app/api/conversations/[id]/route.js +2 -2
  62. package/app/.next/server/app/api/conversations/[id]/route.js.nft.json +1 -1
  63. package/app/.next/server/app/api/conversations/[id]/stop/route.js +3 -3
  64. package/app/.next/server/app/api/conversations/[id]/stop/route.js.nft.json +1 -1
  65. package/app/.next/server/app/api/conversations/route.js +2 -2
  66. package/app/.next/server/app/api/conversations/route.js.nft.json +1 -1
  67. package/app/.next/server/app/api/exchanges/[id]/cancel/route.js +4 -4
  68. package/app/.next/server/app/api/exchanges/[id]/cancel/route.js.nft.json +1 -1
  69. package/app/.next/server/app/api/exchanges/[id]/route.js +3 -3
  70. package/app/.next/server/app/api/exchanges/[id]/route.js.nft.json +1 -1
  71. package/app/.next/server/app/api/exchanges/route.js +3 -3
  72. package/app/.next/server/app/api/exchanges/route.js.nft.json +1 -1
  73. package/app/.next/server/app/api/files/[name]/route.js +3 -2
  74. package/app/.next/server/app/api/files/[name]/route.js.nft.json +1 -1
  75. package/app/.next/server/app/api/groups/route.js +2 -2
  76. package/app/.next/server/app/api/groups/route.js.nft.json +1 -1
  77. package/app/.next/server/app/api/health/route.js +3 -2
  78. package/app/.next/server/app/api/health/route.js.nft.json +1 -1
  79. package/app/.next/server/app/api/mcp/route.js +2 -2
  80. package/app/.next/server/app/api/mcp/route.js.nft.json +1 -1
  81. package/app/.next/server/app/api/messages/[id]/between/route.js +2 -2
  82. package/app/.next/server/app/api/messages/[id]/between/route.js.nft.json +1 -1
  83. package/app/.next/server/app/api/runtime-connections/route/app-paths-manifest.json +3 -0
  84. package/app/.next/server/app/api/runtime-connections/route/build-manifest.json +12 -0
  85. package/app/.next/server/app/api/runtime-connections/route/server-reference-manifest.json +4 -0
  86. package/app/.next/server/app/api/runtime-connections/route.js +9 -0
  87. package/app/.next/server/app/api/runtime-connections/route.js.nft.json +1 -0
  88. package/app/.next/server/app/api/runtime-connections/route_client-reference-manifest.js +3 -0
  89. package/app/.next/server/app/api/service-grants/route.js +2 -2
  90. package/app/.next/server/app/api/service-grants/route.js.nft.json +1 -1
  91. package/app/.next/server/app/api/v0/agents/[agentId]/conversations/[conversationId]/route.js +7 -6
  92. package/app/.next/server/app/api/v0/agents/[agentId]/conversations/[conversationId]/route.js.nft.json +1 -1
  93. package/app/.next/server/app/api/v0/agents/[agentId]/conversations/route.js +7 -6
  94. package/app/.next/server/app/api/v0/agents/[agentId]/conversations/route.js.nft.json +1 -1
  95. package/app/.next/server/app/api/v0/agents/[agentId]/messages/route.js +4 -4
  96. package/app/.next/server/app/api/v0/agents/[agentId]/messages/route.js.nft.json +1 -1
  97. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route/app-paths-manifest.json +3 -0
  98. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route/build-manifest.json +12 -0
  99. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route/server-reference-manifest.json +4 -0
  100. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route.js +12 -0
  101. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route.js.nft.json +1 -0
  102. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route_client-reference-manifest.js +3 -0
  103. package/app/.next/server/app/api/v0/agents/[agentId]/route.js +7 -6
  104. package/app/.next/server/app/api/v0/agents/[agentId]/route.js.nft.json +1 -1
  105. package/app/.next/server/app/api/v0/agents/[agentId]/sessions/[ref]/route.js +7 -6
  106. package/app/.next/server/app/api/v0/agents/[agentId]/sessions/[ref]/route.js.nft.json +1 -1
  107. package/app/.next/server/app/api/v0/agents/[agentId]/sessions/route.js +7 -6
  108. package/app/.next/server/app/api/v0/agents/[agentId]/sessions/route.js.nft.json +1 -1
  109. package/app/.next/server/app/api/v0/agents/route.js +7 -6
  110. package/app/.next/server/app/api/v0/agents/route.js.nft.json +1 -1
  111. package/app/.next/server/app/api/v0/capabilities/route.js +7 -6
  112. package/app/.next/server/app/api/v0/capabilities/route.js.nft.json +1 -1
  113. package/app/.next/server/app/api/v0/conversations/[id]/route.js +4 -4
  114. package/app/.next/server/app/api/v0/conversations/[id]/route.js.nft.json +1 -1
  115. package/app/.next/server/app/api/v0/exchanges/[id]/cancel/route.js +7 -6
  116. package/app/.next/server/app/api/v0/exchanges/[id]/cancel/route.js.nft.json +1 -1
  117. package/app/.next/server/app/api/v0/exchanges/[id]/route.js +7 -6
  118. package/app/.next/server/app/api/v0/exchanges/[id]/route.js.nft.json +1 -1
  119. package/app/.next/server/app/api/v0/exchanges/route.js +7 -6
  120. package/app/.next/server/app/api/v0/exchanges/route.js.nft.json +1 -1
  121. package/app/.next/server/app/api/v0/mcp/route.js +8 -7
  122. package/app/.next/server/app/api/v0/mcp/route.js.nft.json +1 -1
  123. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route/app-paths-manifest.json +3 -0
  124. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route/build-manifest.json +12 -0
  125. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route/server-reference-manifest.json +4 -0
  126. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route.js +12 -0
  127. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route.js.nft.json +1 -0
  128. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route_client-reference-manifest.js +3 -0
  129. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route/app-paths-manifest.json +3 -0
  130. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route/build-manifest.json +12 -0
  131. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route/server-reference-manifest.json +4 -0
  132. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route.js +12 -0
  133. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route.js.nft.json +1 -0
  134. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route_client-reference-manifest.js +3 -0
  135. package/app/.next/server/app/api/v0/pins/[pinRef]/route/app-paths-manifest.json +3 -0
  136. package/app/.next/server/app/api/v0/pins/[pinRef]/route/build-manifest.json +12 -0
  137. package/app/.next/server/app/api/v0/pins/[pinRef]/route/server-reference-manifest.json +4 -0
  138. package/app/.next/server/app/api/v0/pins/[pinRef]/route.js +12 -0
  139. package/app/.next/server/app/api/v0/pins/[pinRef]/route.js.nft.json +1 -0
  140. package/app/.next/server/app/api/v0/pins/[pinRef]/route_client-reference-manifest.js +3 -0
  141. package/app/.next/server/app/api/v0/requests/[id]/route.js +4 -4
  142. package/app/.next/server/app/api/v0/requests/[id]/route.js.nft.json +1 -1
  143. package/app/.next/server/app/api/v0/sessions/[ref]/messages/route.js +7 -6
  144. package/app/.next/server/app/api/v0/sessions/[ref]/messages/route.js.nft.json +1 -1
  145. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route/app-paths-manifest.json +3 -0
  146. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route/build-manifest.json +12 -0
  147. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route/server-reference-manifest.json +4 -0
  148. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route.js +12 -0
  149. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route.js.nft.json +1 -0
  150. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route_client-reference-manifest.js +3 -0
  151. package/app/.next/server/app/api/wake-grants/[id]/revoke/route.js +4 -4
  152. package/app/.next/server/app/api/wake-grants/[id]/revoke/route.js.nft.json +1 -1
  153. package/app/.next/server/app/api/wakes/[id]/decision/route.js +4 -4
  154. package/app/.next/server/app/api/wakes/[id]/decision/route.js.nft.json +1 -1
  155. package/app/.next/server/app/api/wakes/[id]/retry/route.js +4 -4
  156. package/app/.next/server/app/api/wakes/[id]/retry/route.js.nft.json +1 -1
  157. package/app/.next/server/app/bots/[id]/config/page.js.nft.json +1 -1
  158. package/app/.next/server/app/bots/[id]/config/page_client-reference-manifest.js +1 -1
  159. package/app/.next/server/app/exchanges/page.js.nft.json +1 -1
  160. package/app/.next/server/app/exchanges/page_client-reference-manifest.js +1 -1
  161. package/app/.next/server/app/exchanges.html +1 -1
  162. package/app/.next/server/app/exchanges.rsc +3 -3
  163. package/app/.next/server/app/exchanges.segments/_full.segment.rsc +3 -3
  164. package/app/.next/server/app/exchanges.segments/_tree.segment.rsc +2 -2
  165. package/app/.next/server/app/exchanges.segments/exchanges/__PAGE__.segment.rsc +3 -3
  166. package/app/.next/server/app/index.html +1 -1
  167. package/app/.next/server/app/index.rsc +3 -3
  168. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  169. package/app/.next/server/app/index.segments/_full.segment.rsc +3 -3
  170. package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  171. package/app/.next/server/app/page.js.nft.json +1 -1
  172. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  173. package/app/.next/server/app/settings/page.js.nft.json +1 -1
  174. package/app/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/settings.html +1 -1
  176. package/app/.next/server/app/settings.rsc +3 -3
  177. package/app/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  178. package/app/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  179. package/app/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +3 -3
  180. package/app/.next/server/app/threads/[id]/page.js.nft.json +1 -1
  181. package/app/.next/server/app/threads/[id]/page_client-reference-manifest.js +1 -1
  182. package/app/.next/server/app-paths-manifest.json +7 -0
  183. package/app/.next/server/chunks/1oeh_server_app_api_bots_[id]_sessions_[ref]_pins_route_actions_0e1st6o.js +3 -0
  184. package/app/.next/server/chunks/[root-of-the-server]__02kssr-._.js +3 -0
  185. package/app/.next/server/chunks/[root-of-the-server]__06qkt0f._.js +3 -0
  186. package/app/.next/server/chunks/[root-of-the-server]__08qhrch._.js +3 -0
  187. package/app/.next/server/chunks/[root-of-the-server]__097ptn_._.js +3 -0
  188. package/app/.next/server/chunks/[root-of-the-server]__09m9-pe._.js +3 -0
  189. package/app/.next/server/chunks/[root-of-the-server]__0b7w1z3._.js +3 -0
  190. package/app/.next/server/chunks/[root-of-the-server]__0f5yqjs._.js +3 -0
  191. package/app/.next/server/chunks/[root-of-the-server]__0g4um3-._.js +44 -0
  192. package/app/.next/server/chunks/[root-of-the-server]__0hro5ey._.js +3 -0
  193. package/app/.next/server/chunks/[root-of-the-server]__0hwpgxq._.js +3 -0
  194. package/app/.next/server/chunks/[root-of-the-server]__0izjfmr._.js +355 -60
  195. package/app/.next/server/chunks/[root-of-the-server]__0lwsto-._.js +5 -0
  196. package/app/.next/server/chunks/[root-of-the-server]__0s1enbp._.js +3 -0
  197. package/app/.next/server/chunks/[root-of-the-server]__0uq7sci._.js +3 -0
  198. package/app/.next/server/chunks/[root-of-the-server]__0wg992i._.js +3 -0
  199. package/app/.next/server/chunks/[root-of-the-server]__13cd2fb._.js +44 -0
  200. package/app/.next/server/chunks/[root-of-the-server]__17mum5-._.js +3 -0
  201. package/app/.next/server/chunks/[root-of-the-server]__1879cge._.js +3 -0
  202. package/app/.next/server/chunks/{[root-of-the-server]__17oz13o._.js → [root-of-the-server]__1_01-13._.js} +3 -3
  203. package/app/.next/server/chunks/[root-of-the-server]__1a2dh11._.js +3 -0
  204. package/app/.next/server/chunks/[root-of-the-server]__1bhzfu_._.js +7 -0
  205. package/app/.next/server/chunks/[root-of-the-server]__1co3sok._.js +44 -0
  206. package/app/.next/server/chunks/[root-of-the-server]__1eh30sp._.js +3 -0
  207. package/app/.next/server/chunks/[root-of-the-server]__1fmsid0._.js +44 -0
  208. package/app/.next/server/chunks/[root-of-the-server]__1i388e2._.js +3 -0
  209. package/app/.next/server/chunks/[root-of-the-server]__1kvvs4u._.js +3 -0
  210. package/app/.next/server/chunks/[root-of-the-server]__1qbgs3m._.js +3 -0
  211. package/app/.next/server/chunks/[root-of-the-server]__1s6h1sj._.js +3 -0
  212. package/app/.next/server/chunks/[root-of-the-server]__1slu7d7._.js +2 -2
  213. package/app/.next/server/chunks/[root-of-the-server]__1tuqc5v._.js +3 -0
  214. package/app/.next/server/chunks/[root-of-the-server]__1v609eq._.js +44 -0
  215. package/app/.next/server/chunks/[root-of-the-server]__1y_j43n._.js +3 -0
  216. package/app/.next/server/chunks/[root-of-the-server]__1zdv-vb._.js +3 -0
  217. package/app/.next/server/chunks/[root-of-the-server]__1zjs2tr._.js +3 -0
  218. package/app/.next/server/chunks/_0061c2q._.js +3 -0
  219. package/app/.next/server/chunks/_023se5j._.js +44 -0
  220. package/app/.next/server/chunks/_02pb_qv._.js +44 -0
  221. package/app/.next/server/chunks/_05ro-21._.js +44 -0
  222. package/app/.next/server/chunks/_07on0dc._.js +44 -0
  223. package/app/.next/server/chunks/_08208nz._.js +44 -0
  224. package/app/.next/server/chunks/_0a2do3x._.js +1 -1
  225. package/app/.next/server/chunks/_0fe5qz5._.js +44 -0
  226. package/app/.next/server/chunks/_0i8_xso._.js +3 -0
  227. package/app/.next/server/chunks/_0qoji5a._.js +44 -0
  228. package/app/.next/server/chunks/_0uv2pi5._.js +44 -0
  229. package/app/.next/server/chunks/_0wdl90-._.js +44 -0
  230. package/app/.next/server/chunks/_1-5mthb._.js +1 -1
  231. package/app/.next/server/chunks/_11-q8k1._.js +3 -0
  232. package/app/.next/server/chunks/_11ijk9k._.js +44 -0
  233. package/app/.next/server/chunks/_198sn69._.js +44 -0
  234. package/app/.next/server/chunks/_1ba_5hd._.js +44 -0
  235. package/app/.next/server/chunks/_1ess5if._.js +3 -0
  236. package/app/.next/server/chunks/_1i0zod4._.js +3 -0
  237. package/app/.next/server/chunks/_1m89jq5._.js +44 -0
  238. package/app/.next/server/chunks/_1n39wr_._.js +44 -0
  239. package/app/.next/server/chunks/_1ryxqo1._.js +44 -0
  240. package/app/.next/server/chunks/_1vemgly._.js +44 -0
  241. package/app/.next/server/chunks/_next-internal_server_app_api_runtime-connections_route_actions_06rulng.js +3 -0
  242. package/app/.next/server/chunks/_next-internal_server_app_api_v0_agents_[agentId]_pins_route_actions_08uftk9.js +3 -0
  243. package/app/.next/server/chunks/_next-internal_server_app_api_v0_pins_[pinRef]_detach_route_actions_0nk3268.js +3 -0
  244. package/app/.next/server/chunks/_next-internal_server_app_api_v0_pins_[pinRef]_messages_route_actions_1wenu96.js +3 -0
  245. package/app/.next/server/chunks/_next-internal_server_app_api_v0_pins_[pinRef]_route_actions_0z7fu_c.js +3 -0
  246. package/app/.next/server/chunks/_next-internal_server_app_api_v0_sessions_[ref]_pins_route_actions_0y3ere3.js +3 -0
  247. package/app/.next/server/chunks/lib_0kik6bx._.js +1 -1
  248. package/app/.next/server/chunks/lib_0lqoyb4._.js +217 -0
  249. package/app/.next/server/chunks/lib_0pe3tiv._.js +1 -1
  250. package/app/.next/server/chunks/lib_0riiofz._.js +44 -0
  251. package/app/.next/server/chunks/lib_16j2293._.js +217 -0
  252. package/app/.next/server/chunks/lib_1nb_61e._.js +217 -0
  253. package/app/.next/server/chunks/lib_service-api-http_ts_0xzqhny._.js +5 -5
  254. package/app/.next/server/chunks/lib_session-pins_ts_0lmxnwj._.js +20 -0
  255. package/app/.next/server/chunks/ssr/_0epgorw._.js +3 -0
  256. package/app/.next/server/chunks/ssr/_1cvuhjt._.js +3 -0
  257. package/app/.next/server/chunks/ssr/_1n5mvo5._.js +3 -0
  258. package/app/.next/server/chunks/ssr/_1o94bnv._.js +1 -1
  259. package/app/.next/server/chunks/ssr/app_bots_[id]_config_page_tsx_1e0uue9._.js +1 -1
  260. package/app/.next/server/chunks/ssr/app_components_AgentDeckRuntime_tsx_024janf._.js +1 -1
  261. package/app/.next/server/chunks/ssr/app_components_ExchangeCard_tsx_1shfcgn._.js +3 -0
  262. package/app/.next/server/chunks/ssr/app_exchanges_page_tsx_0j-n2a1._.js +3 -0
  263. package/app/.next/server/chunks/ssr/node_modules_@swc_helpers_cjs__interop_require_default_cjs_1ztp13a._.js +3 -0
  264. package/app/.next/server/middleware-build-manifest.js +3 -3
  265. package/app/.next/server/pages/404.html +1 -1
  266. package/app/.next/server/pages/500.html +1 -1
  267. package/app/.next/server/server-reference-manifest.js +1 -1
  268. package/app/.next/server/server-reference-manifest.json +1 -1
  269. package/app/.next/static/chunks/0bhd8eso48g27.js +1 -0
  270. package/app/.next/static/chunks/1ku9himlsx-hn.js +1 -0
  271. package/app/.next/static/chunks/21aqekm5z0j47.js +1 -0
  272. package/app/.next/static/chunks/2a8bomryx66oj.css +3 -0
  273. package/app/.next/static/chunks/3230ywnpii0s6.js +3 -0
  274. package/app/.next/static/chunks/35l2c95bd-jud.js +1 -0
  275. package/app/.next/static/chunks/3cijpn6vx3yzv.js +1 -0
  276. package/app/.next/static/chunks/3ue9194j59kem.js +1 -0
  277. package/app/.next/static/chunks/44ese2s4gzze_.js +1 -0
  278. package/app/BUILD_INFO.json +2 -2
  279. package/app/package.json +1 -1
  280. package/app/server.js +1 -1
  281. package/dist/cli.d.ts +1 -1
  282. package/dist/cli.js +2 -2
  283. package/dist/clients.js +7 -3
  284. package/dist/config.d.ts +2 -1
  285. package/dist/config.js +5 -4
  286. package/dist/contract.d.ts +1 -0
  287. package/dist/contract.js +5 -0
  288. package/dist/home.d.ts +1 -1
  289. package/dist/home.js +1 -1
  290. package/dist/index.d.ts +1 -1
  291. package/dist/index.js +1 -1
  292. package/dist/product.js +1 -1
  293. package/dist/upstream.js +2 -2
  294. package/package.json +1 -1
  295. package/schemas/botmancers.mcp.v2.tools.json +1588 -4
  296. package/skills/botmancers-collaboration/SKILL.md +21 -6
  297. package/skills/botmancers-collaboration/references/workflows.md +72 -0
  298. package/app/.next/server/chunks/[root-of-the-server]__0ab4e_k._.js +0 -3
  299. package/app/.next/server/chunks/[root-of-the-server]__0qozubc._.js +0 -3
  300. package/app/.next/server/chunks/[root-of-the-server]__0wtzcge._.js +0 -3
  301. package/app/.next/server/chunks/[root-of-the-server]__10m3szc._.js +0 -3
  302. package/app/.next/server/chunks/[root-of-the-server]__15hknun._.js +0 -3
  303. package/app/.next/server/chunks/[root-of-the-server]__16ikszu._.js +0 -3
  304. package/app/.next/server/chunks/[root-of-the-server]__1afl75n._.js +0 -3
  305. package/app/.next/server/chunks/[root-of-the-server]__1kvvdpx._.js +0 -7
  306. package/app/.next/server/chunks/[root-of-the-server]__1qoa704._.js +0 -7
  307. package/app/.next/server/chunks/_06rti77._.js +0 -30
  308. package/app/.next/server/chunks/_09k38l1._.js +0 -3
  309. package/app/.next/server/chunks/_0dlg5kj._.js +0 -30
  310. package/app/.next/server/chunks/_0dyculb._.js +0 -30
  311. package/app/.next/server/chunks/_0eig2jc._.js +0 -30
  312. package/app/.next/server/chunks/_0ggf7vy._.js +0 -3
  313. package/app/.next/server/chunks/_0gtqbub._.js +0 -3
  314. package/app/.next/server/chunks/_0i7ga8c._.js +0 -3
  315. package/app/.next/server/chunks/_0kghtb6._.js +0 -3
  316. package/app/.next/server/chunks/_0orubev._.js +0 -3
  317. package/app/.next/server/chunks/_0sfpe9z._.js +0 -3
  318. package/app/.next/server/chunks/_0th2j4w._.js +0 -3
  319. package/app/.next/server/chunks/_0uz7r06._.js +0 -30
  320. package/app/.next/server/chunks/_0x05ts4._.js +0 -3
  321. package/app/.next/server/chunks/_0y3geoj._.js +0 -30
  322. package/app/.next/server/chunks/_12tq5uv._.js +0 -30
  323. package/app/.next/server/chunks/_147-4gl._.js +0 -3
  324. package/app/.next/server/chunks/_14ky6a2._.js +0 -30
  325. package/app/.next/server/chunks/_16kbxdt._.js +0 -30
  326. package/app/.next/server/chunks/_1963m2f._.js +0 -30
  327. package/app/.next/server/chunks/_1_34_h3._.js +0 -30
  328. package/app/.next/server/chunks/_1cc-2mx._.js +0 -3
  329. package/app/.next/server/chunks/_1ee4ej2._.js +0 -3
  330. package/app/.next/server/chunks/_1esxu1s._.js +0 -3
  331. package/app/.next/server/chunks/_1gn7eh7._.js +0 -3
  332. package/app/.next/server/chunks/_1gw7qwf._.js +0 -3
  333. package/app/.next/server/chunks/_1inyx08._.js +0 -3
  334. package/app/.next/server/chunks/_1kjsnlr._.js +0 -3
  335. package/app/.next/server/chunks/_1nurj3f._.js +0 -30
  336. package/app/.next/server/chunks/_1p2rf_n._.js +0 -30
  337. package/app/.next/server/chunks/_1p8rola._.js +0 -3
  338. package/app/.next/server/chunks/_1u6tw78._.js +0 -30
  339. package/app/.next/server/chunks/app_api_import-capabilities_route_ts_013w1kt._.js +0 -3
  340. package/app/.next/server/chunks/lib_0t3s3rj._.js +0 -30
  341. package/app/.next/server/chunks/lib_0zxi6rx._.js +0 -148
  342. package/app/.next/server/chunks/lib_12udr7g._.js +0 -148
  343. package/app/.next/server/chunks/lib_draft_ts_1atoius._.js +0 -3
  344. package/app/.next/server/chunks/lib_session-catalog_ts_1i7f38f._.js +0 -30
  345. package/app/.next/server/chunks/ssr/_00ysoah._.js +0 -3
  346. package/app/.next/server/chunks/ssr/_157wnb_._.js +0 -3
  347. package/app/.next/server/chunks/ssr/app_1-nwnha._.js +0 -3
  348. package/app/.next/server/chunks/ssr/app_components_0bhuhd-._.js +0 -3
  349. package/app/.next/server/chunks/ssr/app_components_0w2_b3t._.js +0 -3
  350. package/app/.next/static/chunks/0774d7ob6aze_.js +0 -1
  351. package/app/.next/static/chunks/0d3ein53nlgja.js +0 -1
  352. package/app/.next/static/chunks/1i5xroz391zkb.js +0 -1
  353. package/app/.next/static/chunks/1vz50l951sr9e.css +0 -3
  354. package/app/.next/static/chunks/24ggj819yt3y6.js +0 -1
  355. package/app/.next/static/chunks/2_8lcalraul5s.js +0 -3
  356. package/app/.next/static/chunks/30i0-l04mmdvk.js +0 -1
  357. package/app/.next/static/chunks/3wdlh25l1vww9.js +0 -1
  358. /package/app/.next/static/{ewp56HqU5-d9bpFog3bli → gh3shm8hnVqXLr75rmvsL}/_buildManifest.js +0 -0
  359. /package/app/.next/static/{ewp56HqU5-d9bpFog3bli → gh3shm8hnVqXLr75rmvsL}/_clientMiddlewareManifest.js +0 -0
  360. /package/app/.next/static/{ewp56HqU5-d9bpFog3bli → gh3shm8hnVqXLr75rmvsL}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[20635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},44216,e=>{"use strict";var t=e.i(89171),r=e.i(62294),n=e.i(62349),a=e.i(18966);function o(e){return{id:e.id,provider:e.provider,label:e.label,host:e.host,agent_count:r.runtimeConnections.agentCount(e.id)}}async function s(){try{let e=r.runtimeConnections.getAll().filter(e=>n.AGENTS.includes(e.provider));return t.NextResponse.json({connections:e.map(o)})}catch(e){return console.error("Error listing runtime connections:",e),t.NextResponse.json({error:"Failed to list runtime connections"},{status:500})}}async function i(e){let n;try{n=await e.json()}catch{return t.NextResponse.json({error:"Expected a JSON object."},{status:400})}if("object"!=typeof n||null===n||Array.isArray(n))return t.NextResponse.json({error:"Expected a JSON object."},{status:400});let s=(0,a.validateConnectionInput)(n);if(!s.fields)return t.NextResponse.json({error:s.errors[0],errors:s.errors},{status:400});try{return t.NextResponse.json(o(r.runtimeConnections.create(s.fields)))}catch(e){return console.error("Error creating runtime connection:",e),t.NextResponse.json({error:"Failed to create runtime connection"},{status:500})}}e.s(["GET",0,s,"POST",0,i])},16922,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),o=e.i(61916),s=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),c=e.i(95169),d=e.i(47587),p=e.i(66012),h=e.i(70101),R=e.i(26937),v=e.i(10372),m=e.i(93695),x=e.i(9580);e.i(52474);var f=e.i(220);let g=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/runtime-connections/route",pathname:"/api/runtime-connections",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/runtime-connections/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(44216),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:C,serverHooks:w}=g;async function y(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),g.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/runtime-connections/route";E=E.replace(/\/index$/,"")||"/";let C=await g.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!C)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:w,deploymentId:y,params:A,nextConfig:N,parsedUrl:T,isDraftMode:S,prerenderManifest:b,routerServerContext:P,isOnDemandRevalidate:O,revalidateOnlyGenerated:_,resolvedPathname:j,clientReferenceManifest:q,serverActionsManifest:H}=C,I=(0,i.normalizeAppPath)(E),M=!!b.routes[j]&&(g.isDev||(0,x.isRouteCacheOwner)(j,g.cacheOwner,b.routes[j])),k=!!(b.dynamicRoutes[I]||M),U=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,T,!1):t.end("This page could not be found"),null);if(k&&!S){let e=b.dynamicRoutes[I];if(e&&!1===e.fallback&&!M){if(N.adapterPath)return await U();throw new m.NoFallbackError}}let D=null;!k||g.isDev||S||(D="/index"===(D=j)?"/":D);let F=!0===g.isDev||!k,K=k&&!F;H&&q&&(0,s.setManifestsSingleton)({page:E,clientReferenceManifest:q,serverActionsManifest:H});let G=e.method||"GET",L=(0,o.getTracer)(),$=L.getActiveScopeSpan(),B=!!(null==P?void 0:P.isWrappedByNextServer),V=!!(0,a.getRequestMeta)(e,"minimalMode"),X=(0,a.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,N,b,V);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let J={params:A,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!N.experimental.authInterrupts,useCacheTimeout:N.experimental.useCacheTimeout},cacheComponents:!!N.cacheComponents,validationLevel:N.experimental.instantInsights.validationLevel,isDraftMode:S,supportsDynamicResponse:F,incrementalCache:X,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:N.cacheLife,staticPageGenerationTimeout:N.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>g.onRequestError(e,t,n,a,P)},sharedContext:{buildId:w,deploymentId:y}},W=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),Z=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t)),Q=async({previousCacheEntry:r})=>{try{if(!V&&O&&_&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await g.handle(Z,J);e.fetchMetrics=J.renderOpts.fetchMetrics;let o=J.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let s=J.renderOpts.collectedTags;if(!k)return await (0,p.sendResponse)(W,z,a,o),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);s&&(t[v.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,n=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==r&&r>0?N.expireTime:void 0:J.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await g.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:O})},!1,P),t}},Y=async(a,s)=>{try{var i,l;let a=await g.handleResponse({req:e,nextConfig:N,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:_,responseGenerator:Q,waitUntil:n.waitUntil,isMinimalMode:V});if(!k)return;if((null==a||null==(i=a.value)?void 0:i.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",O?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let o=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);V&&k||o.delete(v.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||o.get("Cache-Control")||o.set("Cache-Control",(0,R.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(W,z,new Response(a.value.body,{headers:o,status:a.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:O})},!1,P),k)throw t;await (0,p.sendResponse)(W,z,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:o.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return 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")||I,i=`${G} ${n}`;a.setAttributes({"next.route":n,"http.route":n,"next.span_name":i}),a.updateName(i),s&&s!==a&&(s.setAttribute("http.route",n),s.updateName(i))})()}};if(B&&$)await Y($,void 0);else{let t=L.getActiveScopeSpan();await L.withPropagatedContext(e.headers,()=>L.trace(c.BaseServerSpan.handleRequest,{spanName:`${G} ${E}`,kind:o.SpanKind.SERVER,attributes:{"http.method":G,"http.target":e.url}},e=>Y(e,t)),void 0,!B)}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:C})},"routeModule",0,g,"serverHooks",0,w,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,C])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1zjs2tr._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[57007,e=>{"use strict";var t=e.i(62294),a=e.i(52036);async function r(){let e="ok";try{t.default.prepare("SELECT 1").get()}catch{e="error"}return Response.json({status:"ok"===e?"ok":"degraded",service:"botmancers-core",version:"0.5.0",commit:"47984e52c3b4b718ad944d03532e9b80efc95529",engine:e,home:(0,a.botmancersHome)()},{status:"ok"===e?200:503,headers:{"cache-control":"no-store"}})}e.s(["GET",0,r,"dynamic",0,"force-dynamic"])},61370,e=>{"use strict";var t=e.i(47909),a=e.i(74017),r=e.i(96250),n=e.i(59756),o=e.i(61916),i=e.i(74677),s=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),R=e.i(26937),v=e.i(10372),m=e.i(93695),f=e.i(9580);e.i(52474);var g=e.i(220);let E=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/health/route",pathname:"/api/health",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/health/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(57007),...{}}),{workAsyncStorage:C,workUnitAsyncStorage:w,serverHooks:x}=E;async function A(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),E.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let C="/api/health/route";C=C.replace(/\/index$/,"")||"/";let w=await E.prepare(e,t,{srcPage:C,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:x,deploymentId:A,params:T,nextConfig:y,parsedUrl:b,isDraftMode:S,prerenderManifest:P,routerServerContext:N,isOnDemandRevalidate:O,revalidateOnlyGenerated:_,resolvedPathname:H,clientReferenceManifest:q,serverActionsManifest:k}=w,I=(0,s.normalizeAppPath)(C),M=!!P.routes[H]&&(E.isDev||(0,f.isRouteCacheOwner)(H,E.cacheOwner,P.routes[H])),U=!!(P.dynamicRoutes[I]||M),D=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,b,!1):t.end("This page could not be found"),null);if(U&&!S){let e=P.dynamicRoutes[I];if(e&&!1===e.fallback&&!M){if(y.adapterPath)return await D();throw new m.NoFallbackError}}let j=null;!U||E.isDev||S||(j="/index"===(j=H)?"/":j);let F=!0===E.isDev||!U,K=U&&!F;k&&q&&(0,i.setManifestsSingleton)({page:C,clientReferenceManifest:q,serverActionsManifest:k});let L=e.method||"GET",$=(0,o.getTracer)(),B=$.getActiveScopeSpan(),G=!!(null==N?void 0:N.isWrappedByNextServer),V=!!(0,n.getRequestMeta)(e,"minimalMode"),X=(0,n.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,y,P,V);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let W={params:T,previewProps:P.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,isDraftMode:S,supportsDynamicResponse:F,incrementalCache:X,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>E.onRequestError(e,t,r,n,N)},sharedContext:{buildId:x,deploymentId:A}},z=new l.NodeNextRequest(e),Z=new l.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t)),Q=async({previousCacheEntry:a})=>{try{if(!V&&O&&_&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await E.handle(J,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let o=W.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let i=W.renderOpts.collectedTags;if(!U)return await (0,p.sendResponse)(z,Z,n,o),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[v.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,r=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==a&&a>0?y.expireTime:void 0:W.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 E.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:O})},!1,N),t}},Y=async(n,i)=>{try{var s,l;let n=await E.handleResponse({req:e,nextConfig:y,cacheKey:j,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:_,responseGenerator:Q,waitUntil:r.waitUntil,isMinimalMode:V});if(!U)return;if((null==n||null==(s=n.value)?void 0:s.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",O?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let o=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);V&&U||o.delete(v.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||o.get("Cache-Control")||o.set("Cache-Control",(0,R.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(z,Z,new Response(n.value.body,{headers:o,status:n.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:O})},!1,N),U)throw t;await (0,p.sendResponse)(z,Z,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:o.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let a=$.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==d.BaseServerSpan.handleRequest)return 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")||I,s=`${L} ${r}`;n.setAttributes({"next.route":r,"http.route":r,"next.span_name":s}),n.updateName(s),i&&i!==n&&(i.setAttribute("http.route",r),i.updateName(s))})()}};if(G&&B)await Y(B,void 0);else{let t=$.getActiveScopeSpan();await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${L} ${C}`,kind:o.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},e=>Y(e,t)),void 0,!G)}}e.s(["handler",0,A,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:w})},"routeModule",0,E,"serverHooks",0,x,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,w])}];
2
+
3
+ //# sourceMappingURL=_0061c2q._.js.map
@@ -0,0 +1,44 @@
1
+ module.exports=[7098,e=>{"use strict";var t=e.i(69936);async function n(e,{params:a}){let{agentId:r}=await a;return(0,t.handleListConversations)(e,r)}e.s(["GET",0,n])},6573,e=>{"use strict";var t=e.i(47909),n=e.i(74017),a=e.i(96250),r=e.i(59756),i=e.i(61916),s=e.i(74677),o=e.i(69741),d=e.i(16795),l=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),_=e.i(70101),g=e.i(26937),v=e.i(10372),h=e.i(93695),m=e.i(9580);e.i(52474);var f=e.i(220);let E=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/v0/agents/[agentId]/conversations/route",pathname:"/api/v0/agents/[agentId]/conversations",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v0/agents/[agentId]/conversations/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(7098),...{}}),{workAsyncStorage:A,workUnitAsyncStorage:b,serverHooks:y}=E;async function R(e,t,a){a.requestMeta&&(0,r.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let A="/api/v0/agents/[agentId]/conversations/route";A=A.replace(/\/index$/,"")||"/";let b=await E.prepare(e,t,{srcPage:A,multiZoneDraftMode:!1});if(!b)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:R,params:S,nextConfig:w,parsedUrl:C,isDraftMode:N,prerenderManifest:O,routerServerContext:T,isOnDemandRevalidate:k,revalidateOnlyGenerated:q,resolvedPathname:I,clientReferenceManifest:x,serverActionsManifest:L}=b,P=(0,o.normalizeAppPath)(A),M=!!O.routes[I]&&(E.isDev||(0,m.isRouteCacheOwner)(I,E.cacheOwner,O.routes[I])),H=!!(O.dynamicRoutes[P]||M),D=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,C,!1):t.end("This page could not be found"),null);if(H&&!N){let e=O.dynamicRoutes[P];if(e&&!1===e.fallback&&!M){if(w.adapterPath)return await D();throw new h.NoFallbackError}}let F=null;!H||E.isDev||N||(F="/index"===(F=I)?"/":F);let U=!0===E.isDev||!H,$=H&&!U;L&&x&&(0,s.setManifestsSingleton)({page:A,clientReferenceManifest:x,serverActionsManifest:L});let K=e.method||"GET",j=(0,i.getTracer)(),W=j.getActiveScopeSpan(),J=!!(null==T?void 0:T.isWrappedByNextServer),G=!!(0,r.getRequestMeta)(e,"minimalMode"),X=(0,r.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,w,O,G);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let B={params:S,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts,useCacheTimeout:w.experimental.useCacheTimeout},cacheComponents:!!w.cacheComponents,validationLevel:w.experimental.instantInsights.validationLevel,isDraftMode:N,supportsDynamicResponse:U,incrementalCache:X,hmrRefreshHash:(0,r.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:w.cacheLife,staticPageGenerationTimeout:w.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,a,r)=>E.onRequestError(e,t,a,r,T)},sharedContext:{buildId:y,deploymentId:R}},V=new d.NodeNextRequest(e),Y=new d.NodeNextResponse(t),z=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:n})=>{try{if(!G&&k&&q&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await E.handle(z,B);e.fetchMetrics=B.renderOpts.fetchMetrics;let i=B.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let s=B.renderOpts.collectedTags;if(!H)return await (0,p.sendResponse)(V,Y,r,i),null;{let e=await r.blob(),t=(0,_.toNodeOutgoingHttpHeaders)(r.headers);s&&(t[v.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==n&&n>0?w.expireTime:void 0:B.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:a}}}}catch(t){throw(null==n?void 0:n.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:A,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:k})},!1,T),t}},Q=async(r,s)=>{try{var o,d;let r=await E.handleResponse({req:e,nextConfig:w,cacheKey:F,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:q,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:G});if(!H)return;if((null==r||null==(o=r.value)?void 0:o.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==r||null==(d=r.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",k?"REVALIDATED":r.isMiss?"MISS":r.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,_.fromNodeOutgoingHttpHeaders)(r.value.headers);G&&H||i.delete(v.NEXT_CACHE_TAGS_HEADER),!r.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,g.getCacheControlHeader)(r.cacheControl)),await (0,p.sendResponse)(V,Y,new Response(r.value.body,{headers:i,status:r.value.status||200}));return}catch(t){if(t instanceof h.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:k})},!1,T),H)throw t;await (0,p.sendResponse)(V,Y,new Response(null,{status:500}));return}finally{(()=>{if(!r)return;let e=t.statusCode;r.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(r.setStatus({code:i.SpanStatusCode.ERROR}),r.setAttribute("error.type",e.toString()));let n=j.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=n.get("next.route")||P,o=`${K} ${a}`;r.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),r.updateName(o),s&&s!==r&&(s.setAttribute("http.route",a),s.updateName(o))})()}};if(J&&W)await Q(W,void 0);else{let t=j.getActiveScopeSpan();await j.withPropagatedContext(e.headers,()=>j.trace(u.BaseServerSpan.handleRequest,{spanName:`${K} ${A}`,kind:i.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},e=>Q(e,t)),void 0,!J)}}e.s(["handler",0,R,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:b})},"routeModule",0,E,"serverHooks",0,y,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,b])},43345,e=>{"use strict";var t=e.i(62294),n=e.i(26571),a=e.i(45383);let r=["authentication_unavailable","unauthenticated","principal_mismatch","agent_not_found","conversation_not_found","request_not_found"];async function i(e,n){let i,s=null,o=!1,d=null;try{i=await e(e=>{s=e},()=>{let e=s;n&&e&&"service"===e.kind&&t.serviceAudit.append({principal:e,operation:n.operation,capability:"participant",targetKind:n.targetKind,targetRef:n.targetRef,outcome:"allowed",code:null}),o=!0})}catch(e){if(e instanceof a.AgentApiError)d=e.code,i=Response.json({error:{code:e.code,message:e.message}},{status:e.status});else console.error("Agent conversation API error:",e),d="internal_error",i=Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}let l=s;if(o&&null===d)return i;if(n&&l&&"service"===l.kind)try{t.serviceAudit.append({principal:l,operation:n.operation,capability:"participant",targetKind:n.targetKind,targetRef:n.targetRef,outcome:null===d?"allowed":"internal_error"===d?"error":r.includes(d)?"denied":"rejected",code:d})}catch(e){return console.error("Service audit append failed:",e instanceof Error?e.message:"unknown error"),Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}return i}async function s(e){let t,r=function(){try{return(0,n.serviceTokenAuthenticatorFromEnv)()}catch(e){if(e instanceof n.ServiceTokenConfigError)return console.error(`Agent API authentication disabled: ${e.message}`),null;throw e}}();if(!r)throw new a.AgentApiError("authentication_unavailable","No authenticator is configured for the agent conversation API.");try{t=await r(e)}catch{t=null}if(!t||!(0,a.isPrincipalKind)(t.kind)||"string"!=typeof t.id||!t.id.trim())throw new a.AgentApiError("unauthenticated","Authentication failed.");return{kind:t.kind,id:t.id}}async function o(e,t){return i(async(n,r)=>{var i;let o,d=await s(e);n(d);try{let t=await e.json();if(!t||"object"!=typeof t||Array.isArray(t))throw Error("not an object");o=t}catch{throw new a.AgentApiError("invalid_request","The request body must be a JSON object.")}let l=null==(i=o.principal)?null:{kind:i.kind,id:String(i.id??"")};if(l&&!(0,a.samePrincipal)(l,d))throw new a.AgentApiError("principal_mismatch","The declared principal does not match the authenticated principal.");let u=e.headers.get("idempotency-key"),c="string"==typeof o.idempotencyKey?o.idempotencyKey:null;if(u&&c&&u!==c)throw new a.AgentApiError("invalid_request","Idempotency-Key header and body idempotencyKey differ.");let p=u??c??"";if(p.toLowerCase().startsWith(a.MCP_IDEMPOTENCY_PREFIX))throw new a.AgentApiError("invalid_request",`Idempotency keys starting with "${a.MCP_IDEMPOTENCY_PREFIX}" are reserved for the MCP bridge.`);let{accepted:_,dispatched:g}=(0,a.acceptAgentMessage)(d,{agentId:t,content:"string"==typeof o.content?o.content:"",idempotencyKey:p,conversationId:"string"==typeof o.conversationId?o.conversationId:null==o.conversationId?null:""},r);return!0===o.wait?(await g,Response.json({...(0,a.getAgentRequest)(d,_.requestId),replayed:_.replayed})):Response.json(_,{status:_.replayed?200:202})},{operation:"agents.message",targetKind:"agent",targetRef:t})}async function d(e,t){return i(async n=>{let r=await s(e);return n(r),Response.json((0,a.getConversation)(r,t))},{operation:"conversations.read",targetKind:"conversation",targetRef:t})}async function l(e,t){return i(async n=>{let r=await s(e);return n(r),Response.json((0,a.getAgentRequest)(r,t))},{operation:"requests.read",targetKind:"request",targetRef:t})}e.s(["authenticate",0,s,"handleGetAgentRequest",0,l,"handleGetConversation",0,d,"handleSendAgentMessage",0,o])},90027,e=>{"use strict";var t=e.i(62349),n=e.i(28420);let a=["active","ended","all"],r=["implementation","revision"],i=`
2
+ SELECT b.*, bot.name AS agent_name, bot.agent AS agent_runtime, r.id AS origin_request_id, c.id AS origin_conversation_id,
3
+ c.type AS conversation_type, c.bot_id AS conversation_bot_id, tb.name AS thread_agent_name, g.name AS group_name,
4
+ r.intent AS request_intent, r.execution_kind AS request_kind, r.state AS request_state,
5
+ r.source_conversation_id AS request_conversation_id, r.target_agent_id AS request_target_agent_id,
6
+ sa.launch_snapshot AS source_snapshot, sa.finished_at AS source_finished_at,
7
+ (SELECT MAX(COALESCE(ra.finished_at, ra.started_at)) FROM work_attempts ra WHERE ra.resumed_session_binding_id = b.id) AS resumed_last_at,
8
+ EXISTS (SELECT 1 FROM work_attempts oa WHERE oa.resumed_session_binding_id = b.id AND oa.finished_at IS NULL) AS attempt_running,
9
+ ps.availability AS ps_availability, ps.lifecycle AS ps_lifecycle, ps.resumable AS ps_resumable, ps.busy AS ps_busy,
10
+ ps.workspace AS ps_workspace, ps.last_synced_at AS ps_synced_at,
11
+ EXISTS (SELECT 1 FROM provider_session_turns pt WHERE pt.session_ref = ps.id AND pt.state = 'running') AS ps_running
12
+ FROM session_bindings b
13
+ JOIN bots bot ON bot.id = b.agent_id
14
+ LEFT JOIN provider_sessions ps ON ps.binding_id = b.id
15
+ LEFT JOIN work_attempts sa ON sa.id = b.source_attempt_id
16
+ LEFT JOIN work_requests r ON r.id = COALESCE(b.request_id, sa.request_id)
17
+ LEFT JOIN conversations c ON c.id = COALESCE(b.conversation_id, r.source_conversation_id)
18
+ LEFT JOIN bots tb ON tb.id = c.bot_id
19
+ LEFT JOIN groups g ON g.id = c.group_id
20
+ `,s=`
21
+ SELECT ps.id, ps.agent_id, bot.name AS agent_name, ps.provider_kind, ps.title, ps.workspace,
22
+ ps.provider_created_at, ps.provider_updated_at, ps.availability, ps.lifecycle, ps.resumable, ps.busy,
23
+ ps.last_synced_at, ps.created_at, ps.updated_at,
24
+ (SELECT MAX(COALESCE(t.finished_at, t.created_at)) FROM provider_session_turns t WHERE t.session_ref = ps.id) AS turn_last_at,
25
+ EXISTS (SELECT 1 FROM provider_session_turns t WHERE t.session_ref = ps.id AND t.state = 'running') AS running
26
+ FROM provider_sessions ps
27
+ JOIN bots bot ON bot.id = ps.agent_id
28
+ WHERE ps.binding_id IS NULL
29
+ `;function o(e){return`${new Date(e).toISOString().slice(0,16).replace("T"," ")} UTC`}function d(e,t){let n=e?.[t];return"string"==typeof n&&n.trim().length>0?n:null}function l(e){let t=e.origin_conversation_id;return t?"group"===e.conversation_type?{id:t,kind:"group",label:e.group_name?`Group ${e.group_name}`:"Group thread",thread_agent_id:null}:"bot"===e.conversation_type&&e.conversation_bot_id?{id:t,kind:"direct",label:e.thread_agent_name?`${e.thread_agent_name} thread`:"Agent thread",thread_agent_id:e.thread_agent_name?e.conversation_bot_id:null}:{id:t,kind:"agent_api",label:"Agent API conversation",thread_agent_id:null}:null}function u(e,a=(0,n.emptyUsage)()){let i,s=null;try{s=e.source_snapshot?JSON.parse(e.source_snapshot):null}catch{}let c=l(e),p=null===e.released_at?"active":"ended",_=((i=(e.request_intent??"").split("\n").map(e=>e.trim()).find(e=>e.length>0))?i.length>80?`${i.slice(0,79).trimEnd()}…`:i:null)??(c?.kind==="group"?c.label:null)??`${e.agent_name} \xb7 ${o(e.created_at)}`;return{ref:e.id,source:"botmancers",agent:{id:e.agent_id,name:e.agent_name,adapter:e.adapter,transport:d(s,"transport")},title:_,status:p,resumable:null===e.released_at&&null!==e.request_id&&null!==e.request_kind&&r.includes(e.request_kind)&&e.request_target_agent_id===e.agent_id&&(e.conversation_id??"")===(e.request_conversation_id??"")&&e.adapter===(0,t.resolveAgent)({agent:e.agent_runtime}).agent,state:{availability:e.ps_availability??"available",lifecycle:e.ps_lifecycle??"open",resumable:null===e.ps_resumable||void 0===e.ps_resumable?null:1===e.ps_resumable,busy:1===e.ps_busy||!!e.attempt_running||!!e.ps_running,synced_at:e.ps_synced_at??null},created_at:e.created_at,ended_at:e.released_at,last_activity_at:Math.max(e.created_at,e.released_at??0,e.source_finished_at??0,e.resumed_last_at??0),origin:{conversation:c,work_request:e.origin_request_id&&e.request_kind&&e.request_state?{id:e.origin_request_id,execution_kind:e.request_kind,state:e.request_state}:null},context:{workspace:d(s,"cwd")??e.ps_workspace??null,deck:d(s,"deck")},usage:a}}function c(e,t=(0,n.emptyUsage)()){let a=e.provider_created_at??e.created_at,r=null===e.resumable?null:1===e.resumable,i="archived"===e.lifecycle?e.provider_updated_at??e.updated_at:null;return{ref:e.id,source:"native",agent:{id:e.agent_id,name:e.agent_name,adapter:e.provider_kind,transport:null},title:e.title??`${e.agent_name} \xb7 ${o(a)}`,status:"open"===e.lifecycle?"active":"ended",resumable:!1,state:{availability:e.availability,lifecycle:e.lifecycle,resumable:r,busy:1===e.busy||!!e.running,synced_at:e.last_synced_at},created_at:a,ended_at:i,last_activity_at:Math.max(a,e.provider_updated_at??0,e.turn_last_at??0),origin:{conversation:null,work_request:null},context:{workspace:e.workspace,deck:null},usage:t}}function p(e,t){return t.last_activity_at-e.last_activity_at||t.created_at-e.created_at||(e.ref<t.ref?-1:+(e.ref>t.ref))}function _(e,t,n){return e.prepare(`${s} AND ps.id = ? AND ps.agent_id = ?`).get(n,t)}function g(e,t,n){return e.prepare(`${i} WHERE b.id = ? AND b.agent_id = ?`).get(n,t)}e.s(["agentExists",0,function(e,t){return!!e.prepare("SELECT 1 FROM bots WHERE id = ?").get(t)},"conversationRef",0,function(e,t){let n=e.prepare(`
30
+ SELECT c.id AS origin_conversation_id, c.type AS conversation_type, c.bot_id AS conversation_bot_id,
31
+ tb.name AS thread_agent_name, g.name AS group_name
32
+ FROM conversations c
33
+ LEFT JOIN bots tb ON tb.id = c.bot_id
34
+ LEFT JOIN groups g ON g.id = c.group_id
35
+ WHERE c.id = ?
36
+ `).get(t);return n?l(n):null},"getAgentSession",0,function(e,t,a){let r=g(e,t,a);if(!r){let r=_(e,t,a);if(!r)return;let{usage:i,samples:s}=(0,n.sessionUsageSamples)(e,t,a);return{...c(r,i),attempts:[],usage_samples:s}}let i=e.prepare(`
37
+ SELECT a.attempt_number, a.kind, a.request_id, a.outcome, a.started_at, a.finished_at,
38
+ CASE WHEN a.id = ? THEN 'source' ELSE 'resume' END AS role
39
+ FROM work_attempts a
40
+ WHERE a.id = ? OR a.resumed_session_binding_id = ?
41
+ ORDER BY a.started_at ASC, a.id ASC
42
+ `).all(r.source_attempt_id,r.source_attempt_id,r.id),{usage:s,samples:o}=(0,n.sessionUsageSamples)(e,t,a);return{...u(r,s),attempts:i,usage_samples:o}},"isSessionFilter",0,function(e){return"string"==typeof e&&a.includes(e)},"listAgentSessions",0,function(e,t,a="all"){let r=e.prepare(`${i} WHERE b.agent_id = ? ${"active"===a?"AND b.released_at IS NULL":"ended"===a?"AND b.released_at IS NOT NULL":""}`).all(t),o=e.prepare(`${s} AND ps.agent_id = ? ${"active"===a?"AND ps.lifecycle = 'open'":"ended"===a?"AND ps.lifecycle = 'archived'":""}`).all(t),d=(0,n.agentSessionUsage)(e,t);return[...r.map(e=>u(e,d.get(e.id))),...o.map(e=>c(e,d.get(e.id)))].sort(p)},"sessionDebugExternalId",0,function(e,t,n){let a=g(e,t,n)?.external_session_id;if(void 0!==a)return a;if(!_(e,t,n))return;let r=e.prepare("SELECT provider_session_id FROM provider_sessions WHERE id = ? AND agent_id = ?").get(n,t);return r?.provider_session_id},"sessionTitle",0,function(e,t,n){let a=g(e,t,n);if(a)return u(a).title;let r=_(e,t,n);return r?c(r).title:null}])}];
43
+
44
+ //# sourceMappingURL=_023se5j._.js.map
@@ -0,0 +1,44 @@
1
+ module.exports=[30323,e=>{"use strict";var t=e.i(69936);async function n(e,{params:a}){let{id:r}=await a;return(0,t.handleGetExchange)(e,r)}e.s(["GET",0,n])},80033,e=>{"use strict";var t=e.i(47909),n=e.i(74017),a=e.i(96250),r=e.i(59756),i=e.i(61916),s=e.i(74677),o=e.i(69741),d=e.i(16795),l=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),_=e.i(70101),g=e.i(26937),h=e.i(10372),v=e.i(93695),m=e.i(9580);e.i(52474);var f=e.i(220);let E=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/v0/exchanges/[id]/route",pathname:"/api/v0/exchanges/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v0/exchanges/[id]/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(30323),...{}}),{workAsyncStorage:A,workUnitAsyncStorage:b,serverHooks:y}=E;async function R(e,t,a){a.requestMeta&&(0,r.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let A="/api/v0/exchanges/[id]/route";A=A.replace(/\/index$/,"")||"/";let b=await E.prepare(e,t,{srcPage:A,multiZoneDraftMode:!1});if(!b)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:R,params:S,nextConfig:w,parsedUrl:C,isDraftMode:N,prerenderManifest:O,routerServerContext:T,isOnDemandRevalidate:k,revalidateOnlyGenerated:q,resolvedPathname:I,clientReferenceManifest:x,serverActionsManifest:L}=b,P=(0,o.normalizeAppPath)(A),M=!!O.routes[I]&&(E.isDev||(0,m.isRouteCacheOwner)(I,E.cacheOwner,O.routes[I])),H=!!(O.dynamicRoutes[P]||M),D=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,C,!1):t.end("This page could not be found"),null);if(H&&!N){let e=O.dynamicRoutes[P];if(e&&!1===e.fallback&&!M){if(w.adapterPath)return await D();throw new v.NoFallbackError}}let F=null;!H||E.isDev||N||(F="/index"===(F=I)?"/":F);let U=!0===E.isDev||!H,$=H&&!U;L&&x&&(0,s.setManifestsSingleton)({page:A,clientReferenceManifest:x,serverActionsManifest:L});let K=e.method||"GET",j=(0,i.getTracer)(),W=j.getActiveScopeSpan(),J=!!(null==T?void 0:T.isWrappedByNextServer),G=!!(0,r.getRequestMeta)(e,"minimalMode"),X=(0,r.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,w,O,G);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let B={params:S,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts,useCacheTimeout:w.experimental.useCacheTimeout},cacheComponents:!!w.cacheComponents,validationLevel:w.experimental.instantInsights.validationLevel,isDraftMode:N,supportsDynamicResponse:U,incrementalCache:X,hmrRefreshHash:(0,r.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:w.cacheLife,staticPageGenerationTimeout:w.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,a,r)=>E.onRequestError(e,t,a,r,T)},sharedContext:{buildId:y,deploymentId:R}},V=new d.NodeNextRequest(e),Y=new d.NodeNextResponse(t),z=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:n})=>{try{if(!G&&k&&q&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await E.handle(z,B);e.fetchMetrics=B.renderOpts.fetchMetrics;let i=B.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let s=B.renderOpts.collectedTags;if(!H)return await (0,p.sendResponse)(V,Y,r,i),null;{let e=await r.blob(),t=(0,_.toNodeOutgoingHttpHeaders)(r.headers);s&&(t[h.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=h.INFINITE_CACHE?!1!==n&&n>0?w.expireTime:void 0:B.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:a}}}}catch(t){throw(null==n?void 0:n.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:A,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:k})},!1,T),t}},Q=async(r,s)=>{try{var o,d;let r=await E.handleResponse({req:e,nextConfig:w,cacheKey:F,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:q,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:G});if(!H)return;if((null==r||null==(o=r.value)?void 0:o.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==r||null==(d=r.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",k?"REVALIDATED":r.isMiss?"MISS":r.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,_.fromNodeOutgoingHttpHeaders)(r.value.headers);G&&H||i.delete(h.NEXT_CACHE_TAGS_HEADER),!r.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,g.getCacheControlHeader)(r.cacheControl)),await (0,p.sendResponse)(V,Y,new Response(r.value.body,{headers:i,status:r.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:k})},!1,T),H)throw t;await (0,p.sendResponse)(V,Y,new Response(null,{status:500}));return}finally{(()=>{if(!r)return;let e=t.statusCode;r.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(r.setStatus({code:i.SpanStatusCode.ERROR}),r.setAttribute("error.type",e.toString()));let n=j.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=n.get("next.route")||P,o=`${K} ${a}`;r.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),r.updateName(o),s&&s!==r&&(s.setAttribute("http.route",a),s.updateName(o))})()}};if(J&&W)await Q(W,void 0);else{let t=j.getActiveScopeSpan();await j.withPropagatedContext(e.headers,()=>j.trace(u.BaseServerSpan.handleRequest,{spanName:`${K} ${A}`,kind:i.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},e=>Q(e,t)),void 0,!J)}}e.s(["handler",0,R,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:b})},"routeModule",0,E,"serverHooks",0,y,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,b])},43345,e=>{"use strict";var t=e.i(62294),n=e.i(26571),a=e.i(45383);let r=["authentication_unavailable","unauthenticated","principal_mismatch","agent_not_found","conversation_not_found","request_not_found"];async function i(e,n){let i,s=null,o=!1,d=null;try{i=await e(e=>{s=e},()=>{let e=s;n&&e&&"service"===e.kind&&t.serviceAudit.append({principal:e,operation:n.operation,capability:"participant",targetKind:n.targetKind,targetRef:n.targetRef,outcome:"allowed",code:null}),o=!0})}catch(e){if(e instanceof a.AgentApiError)d=e.code,i=Response.json({error:{code:e.code,message:e.message}},{status:e.status});else console.error("Agent conversation API error:",e),d="internal_error",i=Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}let l=s;if(o&&null===d)return i;if(n&&l&&"service"===l.kind)try{t.serviceAudit.append({principal:l,operation:n.operation,capability:"participant",targetKind:n.targetKind,targetRef:n.targetRef,outcome:null===d?"allowed":"internal_error"===d?"error":r.includes(d)?"denied":"rejected",code:d})}catch(e){return console.error("Service audit append failed:",e instanceof Error?e.message:"unknown error"),Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}return i}async function s(e){let t,r=function(){try{return(0,n.serviceTokenAuthenticatorFromEnv)()}catch(e){if(e instanceof n.ServiceTokenConfigError)return console.error(`Agent API authentication disabled: ${e.message}`),null;throw e}}();if(!r)throw new a.AgentApiError("authentication_unavailable","No authenticator is configured for the agent conversation API.");try{t=await r(e)}catch{t=null}if(!t||!(0,a.isPrincipalKind)(t.kind)||"string"!=typeof t.id||!t.id.trim())throw new a.AgentApiError("unauthenticated","Authentication failed.");return{kind:t.kind,id:t.id}}async function o(e,t){return i(async(n,r)=>{var i;let o,d=await s(e);n(d);try{let t=await e.json();if(!t||"object"!=typeof t||Array.isArray(t))throw Error("not an object");o=t}catch{throw new a.AgentApiError("invalid_request","The request body must be a JSON object.")}let l=null==(i=o.principal)?null:{kind:i.kind,id:String(i.id??"")};if(l&&!(0,a.samePrincipal)(l,d))throw new a.AgentApiError("principal_mismatch","The declared principal does not match the authenticated principal.");let u=e.headers.get("idempotency-key"),c="string"==typeof o.idempotencyKey?o.idempotencyKey:null;if(u&&c&&u!==c)throw new a.AgentApiError("invalid_request","Idempotency-Key header and body idempotencyKey differ.");let p=u??c??"";if(p.toLowerCase().startsWith(a.MCP_IDEMPOTENCY_PREFIX))throw new a.AgentApiError("invalid_request",`Idempotency keys starting with "${a.MCP_IDEMPOTENCY_PREFIX}" are reserved for the MCP bridge.`);let{accepted:_,dispatched:g}=(0,a.acceptAgentMessage)(d,{agentId:t,content:"string"==typeof o.content?o.content:"",idempotencyKey:p,conversationId:"string"==typeof o.conversationId?o.conversationId:null==o.conversationId?null:""},r);return!0===o.wait?(await g,Response.json({...(0,a.getAgentRequest)(d,_.requestId),replayed:_.replayed})):Response.json(_,{status:_.replayed?200:202})},{operation:"agents.message",targetKind:"agent",targetRef:t})}async function d(e,t){return i(async n=>{let r=await s(e);return n(r),Response.json((0,a.getConversation)(r,t))},{operation:"conversations.read",targetKind:"conversation",targetRef:t})}async function l(e,t){return i(async n=>{let r=await s(e);return n(r),Response.json((0,a.getAgentRequest)(r,t))},{operation:"requests.read",targetKind:"request",targetRef:t})}e.s(["authenticate",0,s,"handleGetAgentRequest",0,l,"handleGetConversation",0,d,"handleSendAgentMessage",0,o])},90027,e=>{"use strict";var t=e.i(62349),n=e.i(28420);let a=["active","ended","all"],r=["implementation","revision"],i=`
2
+ SELECT b.*, bot.name AS agent_name, bot.agent AS agent_runtime, r.id AS origin_request_id, c.id AS origin_conversation_id,
3
+ c.type AS conversation_type, c.bot_id AS conversation_bot_id, tb.name AS thread_agent_name, g.name AS group_name,
4
+ r.intent AS request_intent, r.execution_kind AS request_kind, r.state AS request_state,
5
+ r.source_conversation_id AS request_conversation_id, r.target_agent_id AS request_target_agent_id,
6
+ sa.launch_snapshot AS source_snapshot, sa.finished_at AS source_finished_at,
7
+ (SELECT MAX(COALESCE(ra.finished_at, ra.started_at)) FROM work_attempts ra WHERE ra.resumed_session_binding_id = b.id) AS resumed_last_at,
8
+ EXISTS (SELECT 1 FROM work_attempts oa WHERE oa.resumed_session_binding_id = b.id AND oa.finished_at IS NULL) AS attempt_running,
9
+ ps.availability AS ps_availability, ps.lifecycle AS ps_lifecycle, ps.resumable AS ps_resumable, ps.busy AS ps_busy,
10
+ ps.workspace AS ps_workspace, ps.last_synced_at AS ps_synced_at,
11
+ EXISTS (SELECT 1 FROM provider_session_turns pt WHERE pt.session_ref = ps.id AND pt.state = 'running') AS ps_running
12
+ FROM session_bindings b
13
+ JOIN bots bot ON bot.id = b.agent_id
14
+ LEFT JOIN provider_sessions ps ON ps.binding_id = b.id
15
+ LEFT JOIN work_attempts sa ON sa.id = b.source_attempt_id
16
+ LEFT JOIN work_requests r ON r.id = COALESCE(b.request_id, sa.request_id)
17
+ LEFT JOIN conversations c ON c.id = COALESCE(b.conversation_id, r.source_conversation_id)
18
+ LEFT JOIN bots tb ON tb.id = c.bot_id
19
+ LEFT JOIN groups g ON g.id = c.group_id
20
+ `,s=`
21
+ SELECT ps.id, ps.agent_id, bot.name AS agent_name, ps.provider_kind, ps.title, ps.workspace,
22
+ ps.provider_created_at, ps.provider_updated_at, ps.availability, ps.lifecycle, ps.resumable, ps.busy,
23
+ ps.last_synced_at, ps.created_at, ps.updated_at,
24
+ (SELECT MAX(COALESCE(t.finished_at, t.created_at)) FROM provider_session_turns t WHERE t.session_ref = ps.id) AS turn_last_at,
25
+ EXISTS (SELECT 1 FROM provider_session_turns t WHERE t.session_ref = ps.id AND t.state = 'running') AS running
26
+ FROM provider_sessions ps
27
+ JOIN bots bot ON bot.id = ps.agent_id
28
+ WHERE ps.binding_id IS NULL
29
+ `;function o(e){return`${new Date(e).toISOString().slice(0,16).replace("T"," ")} UTC`}function d(e,t){let n=e?.[t];return"string"==typeof n&&n.trim().length>0?n:null}function l(e){let t=e.origin_conversation_id;return t?"group"===e.conversation_type?{id:t,kind:"group",label:e.group_name?`Group ${e.group_name}`:"Group thread",thread_agent_id:null}:"bot"===e.conversation_type&&e.conversation_bot_id?{id:t,kind:"direct",label:e.thread_agent_name?`${e.thread_agent_name} thread`:"Agent thread",thread_agent_id:e.thread_agent_name?e.conversation_bot_id:null}:{id:t,kind:"agent_api",label:"Agent API conversation",thread_agent_id:null}:null}function u(e,a=(0,n.emptyUsage)()){let i,s=null;try{s=e.source_snapshot?JSON.parse(e.source_snapshot):null}catch{}let c=l(e),p=null===e.released_at?"active":"ended",_=((i=(e.request_intent??"").split("\n").map(e=>e.trim()).find(e=>e.length>0))?i.length>80?`${i.slice(0,79).trimEnd()}…`:i:null)??(c?.kind==="group"?c.label:null)??`${e.agent_name} \xb7 ${o(e.created_at)}`;return{ref:e.id,source:"botmancers",agent:{id:e.agent_id,name:e.agent_name,adapter:e.adapter,transport:d(s,"transport")},title:_,status:p,resumable:null===e.released_at&&null!==e.request_id&&null!==e.request_kind&&r.includes(e.request_kind)&&e.request_target_agent_id===e.agent_id&&(e.conversation_id??"")===(e.request_conversation_id??"")&&e.adapter===(0,t.resolveAgent)({agent:e.agent_runtime}).agent,state:{availability:e.ps_availability??"available",lifecycle:e.ps_lifecycle??"open",resumable:null===e.ps_resumable||void 0===e.ps_resumable?null:1===e.ps_resumable,busy:1===e.ps_busy||!!e.attempt_running||!!e.ps_running,synced_at:e.ps_synced_at??null},created_at:e.created_at,ended_at:e.released_at,last_activity_at:Math.max(e.created_at,e.released_at??0,e.source_finished_at??0,e.resumed_last_at??0),origin:{conversation:c,work_request:e.origin_request_id&&e.request_kind&&e.request_state?{id:e.origin_request_id,execution_kind:e.request_kind,state:e.request_state}:null},context:{workspace:d(s,"cwd")??e.ps_workspace??null,deck:d(s,"deck")},usage:a}}function c(e,t=(0,n.emptyUsage)()){let a=e.provider_created_at??e.created_at,r=null===e.resumable?null:1===e.resumable,i="archived"===e.lifecycle?e.provider_updated_at??e.updated_at:null;return{ref:e.id,source:"native",agent:{id:e.agent_id,name:e.agent_name,adapter:e.provider_kind,transport:null},title:e.title??`${e.agent_name} \xb7 ${o(a)}`,status:"open"===e.lifecycle?"active":"ended",resumable:!1,state:{availability:e.availability,lifecycle:e.lifecycle,resumable:r,busy:1===e.busy||!!e.running,synced_at:e.last_synced_at},created_at:a,ended_at:i,last_activity_at:Math.max(a,e.provider_updated_at??0,e.turn_last_at??0),origin:{conversation:null,work_request:null},context:{workspace:e.workspace,deck:null},usage:t}}function p(e,t){return t.last_activity_at-e.last_activity_at||t.created_at-e.created_at||(e.ref<t.ref?-1:+(e.ref>t.ref))}function _(e,t,n){return e.prepare(`${s} AND ps.id = ? AND ps.agent_id = ?`).get(n,t)}function g(e,t,n){return e.prepare(`${i} WHERE b.id = ? AND b.agent_id = ?`).get(n,t)}e.s(["agentExists",0,function(e,t){return!!e.prepare("SELECT 1 FROM bots WHERE id = ?").get(t)},"conversationRef",0,function(e,t){let n=e.prepare(`
30
+ SELECT c.id AS origin_conversation_id, c.type AS conversation_type, c.bot_id AS conversation_bot_id,
31
+ tb.name AS thread_agent_name, g.name AS group_name
32
+ FROM conversations c
33
+ LEFT JOIN bots tb ON tb.id = c.bot_id
34
+ LEFT JOIN groups g ON g.id = c.group_id
35
+ WHERE c.id = ?
36
+ `).get(t);return n?l(n):null},"getAgentSession",0,function(e,t,a){let r=g(e,t,a);if(!r){let r=_(e,t,a);if(!r)return;let{usage:i,samples:s}=(0,n.sessionUsageSamples)(e,t,a);return{...c(r,i),attempts:[],usage_samples:s}}let i=e.prepare(`
37
+ SELECT a.attempt_number, a.kind, a.request_id, a.outcome, a.started_at, a.finished_at,
38
+ CASE WHEN a.id = ? THEN 'source' ELSE 'resume' END AS role
39
+ FROM work_attempts a
40
+ WHERE a.id = ? OR a.resumed_session_binding_id = ?
41
+ ORDER BY a.started_at ASC, a.id ASC
42
+ `).all(r.source_attempt_id,r.source_attempt_id,r.id),{usage:s,samples:o}=(0,n.sessionUsageSamples)(e,t,a);return{...u(r,s),attempts:i,usage_samples:o}},"isSessionFilter",0,function(e){return"string"==typeof e&&a.includes(e)},"listAgentSessions",0,function(e,t,a="all"){let r=e.prepare(`${i} WHERE b.agent_id = ? ${"active"===a?"AND b.released_at IS NULL":"ended"===a?"AND b.released_at IS NOT NULL":""}`).all(t),o=e.prepare(`${s} AND ps.agent_id = ? ${"active"===a?"AND ps.lifecycle = 'open'":"ended"===a?"AND ps.lifecycle = 'archived'":""}`).all(t),d=(0,n.agentSessionUsage)(e,t);return[...r.map(e=>u(e,d.get(e.id))),...o.map(e=>c(e,d.get(e.id)))].sort(p)},"sessionDebugExternalId",0,function(e,t,n){let a=g(e,t,n)?.external_session_id;if(void 0!==a)return a;if(!_(e,t,n))return;let r=e.prepare("SELECT provider_session_id FROM provider_sessions WHERE id = ? AND agent_id = ?").get(n,t);return r?.provider_session_id},"sessionTitle",0,function(e,t,n){let a=g(e,t,n);if(a)return u(a).title;let r=_(e,t,n);return r?c(r).title:null}])}];
43
+
44
+ //# sourceMappingURL=_02pb_qv._.js.map
@@ -0,0 +1,44 @@
1
+ module.exports=[56989,e=>{"use strict";var t=e.i(69936);async function n(e,{params:a}){let{pinRef:r}=await a;return(0,t.handleDetachPin)(e,r)}e.s(["POST",0,n])},24761,e=>{"use strict";var t=e.i(47909),n=e.i(74017),a=e.i(96250),r=e.i(59756),i=e.i(61916),s=e.i(74677),o=e.i(69741),d=e.i(16795),l=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),_=e.i(70101),g=e.i(26937),h=e.i(10372),v=e.i(93695),f=e.i(9580);e.i(52474);var m=e.i(220);let E=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/v0/pins/[pinRef]/detach/route",pathname:"/api/v0/pins/[pinRef]/detach",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v0/pins/[pinRef]/detach/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(56989),...{}}),{workAsyncStorage:A,workUnitAsyncStorage:b,serverHooks:R}=E;async function y(e,t,a){a.requestMeta&&(0,r.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let A="/api/v0/pins/[pinRef]/detach/route";A=A.replace(/\/index$/,"")||"/";let b=await E.prepare(e,t,{srcPage:A,multiZoneDraftMode:!1});if(!b)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,deploymentId:y,params:S,nextConfig:w,parsedUrl:C,isDraftMode:N,prerenderManifest:O,routerServerContext:T,isOnDemandRevalidate:k,revalidateOnlyGenerated:q,resolvedPathname:I,clientReferenceManifest:x,serverActionsManifest:P}=b,L=(0,o.normalizeAppPath)(A),M=!!O.routes[I]&&(E.isDev||(0,f.isRouteCacheOwner)(I,E.cacheOwner,O.routes[I])),D=!!(O.dynamicRoutes[L]||M),H=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,C,!1):t.end("This page could not be found"),null);if(D&&!N){let e=O.dynamicRoutes[L];if(e&&!1===e.fallback&&!M){if(w.adapterPath)return await H();throw new v.NoFallbackError}}let F=null;!D||E.isDev||N||(F="/index"===(F=I)?"/":F);let U=!0===E.isDev||!D,$=D&&!U;P&&x&&(0,s.setManifestsSingleton)({page:A,clientReferenceManifest:x,serverActionsManifest:P});let K=e.method||"GET",j=(0,i.getTracer)(),W=j.getActiveScopeSpan(),J=!!(null==T?void 0:T.isWrappedByNextServer),X=!!(0,r.getRequestMeta)(e,"minimalMode"),G=(0,r.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,w,O,X);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let B={params:S,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts,useCacheTimeout:w.experimental.useCacheTimeout},cacheComponents:!!w.cacheComponents,validationLevel:w.experimental.instantInsights.validationLevel,isDraftMode:N,supportsDynamicResponse:U,incrementalCache:G,hmrRefreshHash:(0,r.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:w.cacheLife,staticPageGenerationTimeout:w.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,a,r)=>E.onRequestError(e,t,a,r,T)},sharedContext:{buildId:R,deploymentId:y}},V=new d.NodeNextRequest(e),Y=new d.NodeNextResponse(t),z=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:n})=>{try{if(!X&&k&&q&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await E.handle(z,B);e.fetchMetrics=B.renderOpts.fetchMetrics;let i=B.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let s=B.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(V,Y,r,i),null;{let e=await r.blob(),t=(0,_.toNodeOutgoingHttpHeaders)(r.headers);s&&(t[h.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=h.INFINITE_CACHE?!1!==n&&n>0?w.expireTime:void 0:B.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:a}}}}catch(t){throw(null==n?void 0:n.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:A,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:k})},!1,T),t}},Q=async(r,s)=>{try{var o,d;let r=await E.handleResponse({req:e,nextConfig:w,cacheKey:F,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:q,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:X});if(!D)return;if((null==r||null==(o=r.value)?void 0:o.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==r||null==(d=r.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});X||t.setHeader("x-nextjs-cache",k?"REVALIDATED":r.isMiss?"MISS":r.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,_.fromNodeOutgoingHttpHeaders)(r.value.headers);X&&D||i.delete(h.NEXT_CACHE_TAGS_HEADER),!r.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,g.getCacheControlHeader)(r.cacheControl)),await (0,p.sendResponse)(V,Y,new Response(r.value.body,{headers:i,status:r.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:L,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:k})},!1,T),D)throw t;await (0,p.sendResponse)(V,Y,new Response(null,{status:500}));return}finally{(()=>{if(!r)return;let e=t.statusCode;r.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(r.setStatus({code:i.SpanStatusCode.ERROR}),r.setAttribute("error.type",e.toString()));let n=j.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=n.get("next.route")||L,o=`${K} ${a}`;r.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),r.updateName(o),s&&s!==r&&(s.setAttribute("http.route",a),s.updateName(o))})()}};if(J&&W)await Q(W,void 0);else{let t=j.getActiveScopeSpan();await j.withPropagatedContext(e.headers,()=>j.trace(u.BaseServerSpan.handleRequest,{spanName:`${K} ${A}`,kind:i.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},e=>Q(e,t)),void 0,!J)}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:b})},"routeModule",0,E,"serverHooks",0,R,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,b])},43345,e=>{"use strict";var t=e.i(62294),n=e.i(26571),a=e.i(45383);let r=["authentication_unavailable","unauthenticated","principal_mismatch","agent_not_found","conversation_not_found","request_not_found"];async function i(e,n){let i,s=null,o=!1,d=null;try{i=await e(e=>{s=e},()=>{let e=s;n&&e&&"service"===e.kind&&t.serviceAudit.append({principal:e,operation:n.operation,capability:"participant",targetKind:n.targetKind,targetRef:n.targetRef,outcome:"allowed",code:null}),o=!0})}catch(e){if(e instanceof a.AgentApiError)d=e.code,i=Response.json({error:{code:e.code,message:e.message}},{status:e.status});else console.error("Agent conversation API error:",e),d="internal_error",i=Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}let l=s;if(o&&null===d)return i;if(n&&l&&"service"===l.kind)try{t.serviceAudit.append({principal:l,operation:n.operation,capability:"participant",targetKind:n.targetKind,targetRef:n.targetRef,outcome:null===d?"allowed":"internal_error"===d?"error":r.includes(d)?"denied":"rejected",code:d})}catch(e){return console.error("Service audit append failed:",e instanceof Error?e.message:"unknown error"),Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}return i}async function s(e){let t,r=function(){try{return(0,n.serviceTokenAuthenticatorFromEnv)()}catch(e){if(e instanceof n.ServiceTokenConfigError)return console.error(`Agent API authentication disabled: ${e.message}`),null;throw e}}();if(!r)throw new a.AgentApiError("authentication_unavailable","No authenticator is configured for the agent conversation API.");try{t=await r(e)}catch{t=null}if(!t||!(0,a.isPrincipalKind)(t.kind)||"string"!=typeof t.id||!t.id.trim())throw new a.AgentApiError("unauthenticated","Authentication failed.");return{kind:t.kind,id:t.id}}async function o(e,t){return i(async(n,r)=>{var i;let o,d=await s(e);n(d);try{let t=await e.json();if(!t||"object"!=typeof t||Array.isArray(t))throw Error("not an object");o=t}catch{throw new a.AgentApiError("invalid_request","The request body must be a JSON object.")}let l=null==(i=o.principal)?null:{kind:i.kind,id:String(i.id??"")};if(l&&!(0,a.samePrincipal)(l,d))throw new a.AgentApiError("principal_mismatch","The declared principal does not match the authenticated principal.");let u=e.headers.get("idempotency-key"),c="string"==typeof o.idempotencyKey?o.idempotencyKey:null;if(u&&c&&u!==c)throw new a.AgentApiError("invalid_request","Idempotency-Key header and body idempotencyKey differ.");let p=u??c??"";if(p.toLowerCase().startsWith(a.MCP_IDEMPOTENCY_PREFIX))throw new a.AgentApiError("invalid_request",`Idempotency keys starting with "${a.MCP_IDEMPOTENCY_PREFIX}" are reserved for the MCP bridge.`);let{accepted:_,dispatched:g}=(0,a.acceptAgentMessage)(d,{agentId:t,content:"string"==typeof o.content?o.content:"",idempotencyKey:p,conversationId:"string"==typeof o.conversationId?o.conversationId:null==o.conversationId?null:""},r);return!0===o.wait?(await g,Response.json({...(0,a.getAgentRequest)(d,_.requestId),replayed:_.replayed})):Response.json(_,{status:_.replayed?200:202})},{operation:"agents.message",targetKind:"agent",targetRef:t})}async function d(e,t){return i(async n=>{let r=await s(e);return n(r),Response.json((0,a.getConversation)(r,t))},{operation:"conversations.read",targetKind:"conversation",targetRef:t})}async function l(e,t){return i(async n=>{let r=await s(e);return n(r),Response.json((0,a.getAgentRequest)(r,t))},{operation:"requests.read",targetKind:"request",targetRef:t})}e.s(["authenticate",0,s,"handleGetAgentRequest",0,l,"handleGetConversation",0,d,"handleSendAgentMessage",0,o])},90027,e=>{"use strict";var t=e.i(62349),n=e.i(28420);let a=["active","ended","all"],r=["implementation","revision"],i=`
2
+ SELECT b.*, bot.name AS agent_name, bot.agent AS agent_runtime, r.id AS origin_request_id, c.id AS origin_conversation_id,
3
+ c.type AS conversation_type, c.bot_id AS conversation_bot_id, tb.name AS thread_agent_name, g.name AS group_name,
4
+ r.intent AS request_intent, r.execution_kind AS request_kind, r.state AS request_state,
5
+ r.source_conversation_id AS request_conversation_id, r.target_agent_id AS request_target_agent_id,
6
+ sa.launch_snapshot AS source_snapshot, sa.finished_at AS source_finished_at,
7
+ (SELECT MAX(COALESCE(ra.finished_at, ra.started_at)) FROM work_attempts ra WHERE ra.resumed_session_binding_id = b.id) AS resumed_last_at,
8
+ EXISTS (SELECT 1 FROM work_attempts oa WHERE oa.resumed_session_binding_id = b.id AND oa.finished_at IS NULL) AS attempt_running,
9
+ ps.availability AS ps_availability, ps.lifecycle AS ps_lifecycle, ps.resumable AS ps_resumable, ps.busy AS ps_busy,
10
+ ps.workspace AS ps_workspace, ps.last_synced_at AS ps_synced_at,
11
+ EXISTS (SELECT 1 FROM provider_session_turns pt WHERE pt.session_ref = ps.id AND pt.state = 'running') AS ps_running
12
+ FROM session_bindings b
13
+ JOIN bots bot ON bot.id = b.agent_id
14
+ LEFT JOIN provider_sessions ps ON ps.binding_id = b.id
15
+ LEFT JOIN work_attempts sa ON sa.id = b.source_attempt_id
16
+ LEFT JOIN work_requests r ON r.id = COALESCE(b.request_id, sa.request_id)
17
+ LEFT JOIN conversations c ON c.id = COALESCE(b.conversation_id, r.source_conversation_id)
18
+ LEFT JOIN bots tb ON tb.id = c.bot_id
19
+ LEFT JOIN groups g ON g.id = c.group_id
20
+ `,s=`
21
+ SELECT ps.id, ps.agent_id, bot.name AS agent_name, ps.provider_kind, ps.title, ps.workspace,
22
+ ps.provider_created_at, ps.provider_updated_at, ps.availability, ps.lifecycle, ps.resumable, ps.busy,
23
+ ps.last_synced_at, ps.created_at, ps.updated_at,
24
+ (SELECT MAX(COALESCE(t.finished_at, t.created_at)) FROM provider_session_turns t WHERE t.session_ref = ps.id) AS turn_last_at,
25
+ EXISTS (SELECT 1 FROM provider_session_turns t WHERE t.session_ref = ps.id AND t.state = 'running') AS running
26
+ FROM provider_sessions ps
27
+ JOIN bots bot ON bot.id = ps.agent_id
28
+ WHERE ps.binding_id IS NULL
29
+ `;function o(e){return`${new Date(e).toISOString().slice(0,16).replace("T"," ")} UTC`}function d(e,t){let n=e?.[t];return"string"==typeof n&&n.trim().length>0?n:null}function l(e){let t=e.origin_conversation_id;return t?"group"===e.conversation_type?{id:t,kind:"group",label:e.group_name?`Group ${e.group_name}`:"Group thread",thread_agent_id:null}:"bot"===e.conversation_type&&e.conversation_bot_id?{id:t,kind:"direct",label:e.thread_agent_name?`${e.thread_agent_name} thread`:"Agent thread",thread_agent_id:e.thread_agent_name?e.conversation_bot_id:null}:{id:t,kind:"agent_api",label:"Agent API conversation",thread_agent_id:null}:null}function u(e,a=(0,n.emptyUsage)()){let i,s=null;try{s=e.source_snapshot?JSON.parse(e.source_snapshot):null}catch{}let c=l(e),p=null===e.released_at?"active":"ended",_=((i=(e.request_intent??"").split("\n").map(e=>e.trim()).find(e=>e.length>0))?i.length>80?`${i.slice(0,79).trimEnd()}…`:i:null)??(c?.kind==="group"?c.label:null)??`${e.agent_name} \xb7 ${o(e.created_at)}`;return{ref:e.id,source:"botmancers",agent:{id:e.agent_id,name:e.agent_name,adapter:e.adapter,transport:d(s,"transport")},title:_,status:p,resumable:null===e.released_at&&null!==e.request_id&&null!==e.request_kind&&r.includes(e.request_kind)&&e.request_target_agent_id===e.agent_id&&(e.conversation_id??"")===(e.request_conversation_id??"")&&e.adapter===(0,t.resolveAgent)({agent:e.agent_runtime}).agent,state:{availability:e.ps_availability??"available",lifecycle:e.ps_lifecycle??"open",resumable:null===e.ps_resumable||void 0===e.ps_resumable?null:1===e.ps_resumable,busy:1===e.ps_busy||!!e.attempt_running||!!e.ps_running,synced_at:e.ps_synced_at??null},created_at:e.created_at,ended_at:e.released_at,last_activity_at:Math.max(e.created_at,e.released_at??0,e.source_finished_at??0,e.resumed_last_at??0),origin:{conversation:c,work_request:e.origin_request_id&&e.request_kind&&e.request_state?{id:e.origin_request_id,execution_kind:e.request_kind,state:e.request_state}:null},context:{workspace:d(s,"cwd")??e.ps_workspace??null,deck:d(s,"deck")},usage:a}}function c(e,t=(0,n.emptyUsage)()){let a=e.provider_created_at??e.created_at,r=null===e.resumable?null:1===e.resumable,i="archived"===e.lifecycle?e.provider_updated_at??e.updated_at:null;return{ref:e.id,source:"native",agent:{id:e.agent_id,name:e.agent_name,adapter:e.provider_kind,transport:null},title:e.title??`${e.agent_name} \xb7 ${o(a)}`,status:"open"===e.lifecycle?"active":"ended",resumable:!1,state:{availability:e.availability,lifecycle:e.lifecycle,resumable:r,busy:1===e.busy||!!e.running,synced_at:e.last_synced_at},created_at:a,ended_at:i,last_activity_at:Math.max(a,e.provider_updated_at??0,e.turn_last_at??0),origin:{conversation:null,work_request:null},context:{workspace:e.workspace,deck:null},usage:t}}function p(e,t){return t.last_activity_at-e.last_activity_at||t.created_at-e.created_at||(e.ref<t.ref?-1:+(e.ref>t.ref))}function _(e,t,n){return e.prepare(`${s} AND ps.id = ? AND ps.agent_id = ?`).get(n,t)}function g(e,t,n){return e.prepare(`${i} WHERE b.id = ? AND b.agent_id = ?`).get(n,t)}e.s(["agentExists",0,function(e,t){return!!e.prepare("SELECT 1 FROM bots WHERE id = ?").get(t)},"conversationRef",0,function(e,t){let n=e.prepare(`
30
+ SELECT c.id AS origin_conversation_id, c.type AS conversation_type, c.bot_id AS conversation_bot_id,
31
+ tb.name AS thread_agent_name, g.name AS group_name
32
+ FROM conversations c
33
+ LEFT JOIN bots tb ON tb.id = c.bot_id
34
+ LEFT JOIN groups g ON g.id = c.group_id
35
+ WHERE c.id = ?
36
+ `).get(t);return n?l(n):null},"getAgentSession",0,function(e,t,a){let r=g(e,t,a);if(!r){let r=_(e,t,a);if(!r)return;let{usage:i,samples:s}=(0,n.sessionUsageSamples)(e,t,a);return{...c(r,i),attempts:[],usage_samples:s}}let i=e.prepare(`
37
+ SELECT a.attempt_number, a.kind, a.request_id, a.outcome, a.started_at, a.finished_at,
38
+ CASE WHEN a.id = ? THEN 'source' ELSE 'resume' END AS role
39
+ FROM work_attempts a
40
+ WHERE a.id = ? OR a.resumed_session_binding_id = ?
41
+ ORDER BY a.started_at ASC, a.id ASC
42
+ `).all(r.source_attempt_id,r.source_attempt_id,r.id),{usage:s,samples:o}=(0,n.sessionUsageSamples)(e,t,a);return{...u(r,s),attempts:i,usage_samples:o}},"isSessionFilter",0,function(e){return"string"==typeof e&&a.includes(e)},"listAgentSessions",0,function(e,t,a="all"){let r=e.prepare(`${i} WHERE b.agent_id = ? ${"active"===a?"AND b.released_at IS NULL":"ended"===a?"AND b.released_at IS NOT NULL":""}`).all(t),o=e.prepare(`${s} AND ps.agent_id = ? ${"active"===a?"AND ps.lifecycle = 'open'":"ended"===a?"AND ps.lifecycle = 'archived'":""}`).all(t),d=(0,n.agentSessionUsage)(e,t);return[...r.map(e=>u(e,d.get(e.id))),...o.map(e=>c(e,d.get(e.id)))].sort(p)},"sessionDebugExternalId",0,function(e,t,n){let a=g(e,t,n)?.external_session_id;if(void 0!==a)return a;if(!_(e,t,n))return;let r=e.prepare("SELECT provider_session_id FROM provider_sessions WHERE id = ? AND agent_id = ?").get(n,t);return r?.provider_session_id},"sessionTitle",0,function(e,t,n){let a=g(e,t,n);if(a)return u(a).title;let r=_(e,t,n);return r?c(r).title:null}])}];
43
+
44
+ //# sourceMappingURL=_05ro-21._.js.map
@@ -0,0 +1,44 @@
1
+ module.exports=[67794,e=>{"use strict";var t=e.i(69936);async function n(e,{params:a}){let{agentId:r,ref:i}=await a;return(0,t.handleGetSession)(e,r,i)}e.s(["GET",0,n])},25932,e=>{"use strict";var t=e.i(47909),n=e.i(74017),a=e.i(96250),r=e.i(59756),i=e.i(61916),s=e.i(74677),o=e.i(69741),d=e.i(16795),l=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),_=e.i(70101),g=e.i(26937),h=e.i(10372),v=e.i(93695),f=e.i(9580);e.i(52474);var m=e.i(220);let E=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/v0/agents/[agentId]/sessions/[ref]/route",pathname:"/api/v0/agents/[agentId]/sessions/[ref]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v0/agents/[agentId]/sessions/[ref]/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(67794),...{}}),{workAsyncStorage:A,workUnitAsyncStorage:b,serverHooks:y}=E;async function R(e,t,a){a.requestMeta&&(0,r.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let A="/api/v0/agents/[agentId]/sessions/[ref]/route";A=A.replace(/\/index$/,"")||"/";let b=await E.prepare(e,t,{srcPage:A,multiZoneDraftMode:!1});if(!b)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:R,params:S,nextConfig:w,parsedUrl:C,isDraftMode:N,prerenderManifest:O,routerServerContext:T,isOnDemandRevalidate:k,revalidateOnlyGenerated:q,resolvedPathname:I,clientReferenceManifest:x,serverActionsManifest:L}=b,P=(0,o.normalizeAppPath)(A),M=!!O.routes[I]&&(E.isDev||(0,f.isRouteCacheOwner)(I,E.cacheOwner,O.routes[I])),H=!!(O.dynamicRoutes[P]||M),D=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,C,!1):t.end("This page could not be found"),null);if(H&&!N){let e=O.dynamicRoutes[P];if(e&&!1===e.fallback&&!M){if(w.adapterPath)return await D();throw new v.NoFallbackError}}let F=null;!H||E.isDev||N||(F="/index"===(F=I)?"/":F);let U=!0===E.isDev||!H,$=H&&!U;L&&x&&(0,s.setManifestsSingleton)({page:A,clientReferenceManifest:x,serverActionsManifest:L});let K=e.method||"GET",j=(0,i.getTracer)(),W=j.getActiveScopeSpan(),J=!!(null==T?void 0:T.isWrappedByNextServer),G=!!(0,r.getRequestMeta)(e,"minimalMode"),X=(0,r.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,w,O,G);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let B={params:S,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts,useCacheTimeout:w.experimental.useCacheTimeout},cacheComponents:!!w.cacheComponents,validationLevel:w.experimental.instantInsights.validationLevel,isDraftMode:N,supportsDynamicResponse:U,incrementalCache:X,hmrRefreshHash:(0,r.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:w.cacheLife,staticPageGenerationTimeout:w.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,a,r)=>E.onRequestError(e,t,a,r,T)},sharedContext:{buildId:y,deploymentId:R}},V=new d.NodeNextRequest(e),Y=new d.NodeNextResponse(t),z=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:n})=>{try{if(!G&&k&&q&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await E.handle(z,B);e.fetchMetrics=B.renderOpts.fetchMetrics;let i=B.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let s=B.renderOpts.collectedTags;if(!H)return await (0,p.sendResponse)(V,Y,r,i),null;{let e=await r.blob(),t=(0,_.toNodeOutgoingHttpHeaders)(r.headers);s&&(t[h.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=h.INFINITE_CACHE?!1!==n&&n>0?w.expireTime:void 0:B.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:a}}}}catch(t){throw(null==n?void 0:n.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:A,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:k})},!1,T),t}},Q=async(r,s)=>{try{var o,d;let r=await E.handleResponse({req:e,nextConfig:w,cacheKey:F,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:q,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:G});if(!H)return;if((null==r||null==(o=r.value)?void 0:o.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==r||null==(d=r.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",k?"REVALIDATED":r.isMiss?"MISS":r.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,_.fromNodeOutgoingHttpHeaders)(r.value.headers);G&&H||i.delete(h.NEXT_CACHE_TAGS_HEADER),!r.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,g.getCacheControlHeader)(r.cacheControl)),await (0,p.sendResponse)(V,Y,new Response(r.value.body,{headers:i,status:r.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:k})},!1,T),H)throw t;await (0,p.sendResponse)(V,Y,new Response(null,{status:500}));return}finally{(()=>{if(!r)return;let e=t.statusCode;r.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(r.setStatus({code:i.SpanStatusCode.ERROR}),r.setAttribute("error.type",e.toString()));let n=j.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=n.get("next.route")||P,o=`${K} ${a}`;r.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),r.updateName(o),s&&s!==r&&(s.setAttribute("http.route",a),s.updateName(o))})()}};if(J&&W)await Q(W,void 0);else{let t=j.getActiveScopeSpan();await j.withPropagatedContext(e.headers,()=>j.trace(u.BaseServerSpan.handleRequest,{spanName:`${K} ${A}`,kind:i.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},e=>Q(e,t)),void 0,!J)}}e.s(["handler",0,R,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:b})},"routeModule",0,E,"serverHooks",0,y,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,b])},43345,e=>{"use strict";var t=e.i(62294),n=e.i(26571),a=e.i(45383);let r=["authentication_unavailable","unauthenticated","principal_mismatch","agent_not_found","conversation_not_found","request_not_found"];async function i(e,n){let i,s=null,o=!1,d=null;try{i=await e(e=>{s=e},()=>{let e=s;n&&e&&"service"===e.kind&&t.serviceAudit.append({principal:e,operation:n.operation,capability:"participant",targetKind:n.targetKind,targetRef:n.targetRef,outcome:"allowed",code:null}),o=!0})}catch(e){if(e instanceof a.AgentApiError)d=e.code,i=Response.json({error:{code:e.code,message:e.message}},{status:e.status});else console.error("Agent conversation API error:",e),d="internal_error",i=Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}let l=s;if(o&&null===d)return i;if(n&&l&&"service"===l.kind)try{t.serviceAudit.append({principal:l,operation:n.operation,capability:"participant",targetKind:n.targetKind,targetRef:n.targetRef,outcome:null===d?"allowed":"internal_error"===d?"error":r.includes(d)?"denied":"rejected",code:d})}catch(e){return console.error("Service audit append failed:",e instanceof Error?e.message:"unknown error"),Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}return i}async function s(e){let t,r=function(){try{return(0,n.serviceTokenAuthenticatorFromEnv)()}catch(e){if(e instanceof n.ServiceTokenConfigError)return console.error(`Agent API authentication disabled: ${e.message}`),null;throw e}}();if(!r)throw new a.AgentApiError("authentication_unavailable","No authenticator is configured for the agent conversation API.");try{t=await r(e)}catch{t=null}if(!t||!(0,a.isPrincipalKind)(t.kind)||"string"!=typeof t.id||!t.id.trim())throw new a.AgentApiError("unauthenticated","Authentication failed.");return{kind:t.kind,id:t.id}}async function o(e,t){return i(async(n,r)=>{var i;let o,d=await s(e);n(d);try{let t=await e.json();if(!t||"object"!=typeof t||Array.isArray(t))throw Error("not an object");o=t}catch{throw new a.AgentApiError("invalid_request","The request body must be a JSON object.")}let l=null==(i=o.principal)?null:{kind:i.kind,id:String(i.id??"")};if(l&&!(0,a.samePrincipal)(l,d))throw new a.AgentApiError("principal_mismatch","The declared principal does not match the authenticated principal.");let u=e.headers.get("idempotency-key"),c="string"==typeof o.idempotencyKey?o.idempotencyKey:null;if(u&&c&&u!==c)throw new a.AgentApiError("invalid_request","Idempotency-Key header and body idempotencyKey differ.");let p=u??c??"";if(p.toLowerCase().startsWith(a.MCP_IDEMPOTENCY_PREFIX))throw new a.AgentApiError("invalid_request",`Idempotency keys starting with "${a.MCP_IDEMPOTENCY_PREFIX}" are reserved for the MCP bridge.`);let{accepted:_,dispatched:g}=(0,a.acceptAgentMessage)(d,{agentId:t,content:"string"==typeof o.content?o.content:"",idempotencyKey:p,conversationId:"string"==typeof o.conversationId?o.conversationId:null==o.conversationId?null:""},r);return!0===o.wait?(await g,Response.json({...(0,a.getAgentRequest)(d,_.requestId),replayed:_.replayed})):Response.json(_,{status:_.replayed?200:202})},{operation:"agents.message",targetKind:"agent",targetRef:t})}async function d(e,t){return i(async n=>{let r=await s(e);return n(r),Response.json((0,a.getConversation)(r,t))},{operation:"conversations.read",targetKind:"conversation",targetRef:t})}async function l(e,t){return i(async n=>{let r=await s(e);return n(r),Response.json((0,a.getAgentRequest)(r,t))},{operation:"requests.read",targetKind:"request",targetRef:t})}e.s(["authenticate",0,s,"handleGetAgentRequest",0,l,"handleGetConversation",0,d,"handleSendAgentMessage",0,o])},90027,e=>{"use strict";var t=e.i(62349),n=e.i(28420);let a=["active","ended","all"],r=["implementation","revision"],i=`
2
+ SELECT b.*, bot.name AS agent_name, bot.agent AS agent_runtime, r.id AS origin_request_id, c.id AS origin_conversation_id,
3
+ c.type AS conversation_type, c.bot_id AS conversation_bot_id, tb.name AS thread_agent_name, g.name AS group_name,
4
+ r.intent AS request_intent, r.execution_kind AS request_kind, r.state AS request_state,
5
+ r.source_conversation_id AS request_conversation_id, r.target_agent_id AS request_target_agent_id,
6
+ sa.launch_snapshot AS source_snapshot, sa.finished_at AS source_finished_at,
7
+ (SELECT MAX(COALESCE(ra.finished_at, ra.started_at)) FROM work_attempts ra WHERE ra.resumed_session_binding_id = b.id) AS resumed_last_at,
8
+ EXISTS (SELECT 1 FROM work_attempts oa WHERE oa.resumed_session_binding_id = b.id AND oa.finished_at IS NULL) AS attempt_running,
9
+ ps.availability AS ps_availability, ps.lifecycle AS ps_lifecycle, ps.resumable AS ps_resumable, ps.busy AS ps_busy,
10
+ ps.workspace AS ps_workspace, ps.last_synced_at AS ps_synced_at,
11
+ EXISTS (SELECT 1 FROM provider_session_turns pt WHERE pt.session_ref = ps.id AND pt.state = 'running') AS ps_running
12
+ FROM session_bindings b
13
+ JOIN bots bot ON bot.id = b.agent_id
14
+ LEFT JOIN provider_sessions ps ON ps.binding_id = b.id
15
+ LEFT JOIN work_attempts sa ON sa.id = b.source_attempt_id
16
+ LEFT JOIN work_requests r ON r.id = COALESCE(b.request_id, sa.request_id)
17
+ LEFT JOIN conversations c ON c.id = COALESCE(b.conversation_id, r.source_conversation_id)
18
+ LEFT JOIN bots tb ON tb.id = c.bot_id
19
+ LEFT JOIN groups g ON g.id = c.group_id
20
+ `,s=`
21
+ SELECT ps.id, ps.agent_id, bot.name AS agent_name, ps.provider_kind, ps.title, ps.workspace,
22
+ ps.provider_created_at, ps.provider_updated_at, ps.availability, ps.lifecycle, ps.resumable, ps.busy,
23
+ ps.last_synced_at, ps.created_at, ps.updated_at,
24
+ (SELECT MAX(COALESCE(t.finished_at, t.created_at)) FROM provider_session_turns t WHERE t.session_ref = ps.id) AS turn_last_at,
25
+ EXISTS (SELECT 1 FROM provider_session_turns t WHERE t.session_ref = ps.id AND t.state = 'running') AS running
26
+ FROM provider_sessions ps
27
+ JOIN bots bot ON bot.id = ps.agent_id
28
+ WHERE ps.binding_id IS NULL
29
+ `;function o(e){return`${new Date(e).toISOString().slice(0,16).replace("T"," ")} UTC`}function d(e,t){let n=e?.[t];return"string"==typeof n&&n.trim().length>0?n:null}function l(e){let t=e.origin_conversation_id;return t?"group"===e.conversation_type?{id:t,kind:"group",label:e.group_name?`Group ${e.group_name}`:"Group thread",thread_agent_id:null}:"bot"===e.conversation_type&&e.conversation_bot_id?{id:t,kind:"direct",label:e.thread_agent_name?`${e.thread_agent_name} thread`:"Agent thread",thread_agent_id:e.thread_agent_name?e.conversation_bot_id:null}:{id:t,kind:"agent_api",label:"Agent API conversation",thread_agent_id:null}:null}function u(e,a=(0,n.emptyUsage)()){let i,s=null;try{s=e.source_snapshot?JSON.parse(e.source_snapshot):null}catch{}let c=l(e),p=null===e.released_at?"active":"ended",_=((i=(e.request_intent??"").split("\n").map(e=>e.trim()).find(e=>e.length>0))?i.length>80?`${i.slice(0,79).trimEnd()}…`:i:null)??(c?.kind==="group"?c.label:null)??`${e.agent_name} \xb7 ${o(e.created_at)}`;return{ref:e.id,source:"botmancers",agent:{id:e.agent_id,name:e.agent_name,adapter:e.adapter,transport:d(s,"transport")},title:_,status:p,resumable:null===e.released_at&&null!==e.request_id&&null!==e.request_kind&&r.includes(e.request_kind)&&e.request_target_agent_id===e.agent_id&&(e.conversation_id??"")===(e.request_conversation_id??"")&&e.adapter===(0,t.resolveAgent)({agent:e.agent_runtime}).agent,state:{availability:e.ps_availability??"available",lifecycle:e.ps_lifecycle??"open",resumable:null===e.ps_resumable||void 0===e.ps_resumable?null:1===e.ps_resumable,busy:1===e.ps_busy||!!e.attempt_running||!!e.ps_running,synced_at:e.ps_synced_at??null},created_at:e.created_at,ended_at:e.released_at,last_activity_at:Math.max(e.created_at,e.released_at??0,e.source_finished_at??0,e.resumed_last_at??0),origin:{conversation:c,work_request:e.origin_request_id&&e.request_kind&&e.request_state?{id:e.origin_request_id,execution_kind:e.request_kind,state:e.request_state}:null},context:{workspace:d(s,"cwd")??e.ps_workspace??null,deck:d(s,"deck")},usage:a}}function c(e,t=(0,n.emptyUsage)()){let a=e.provider_created_at??e.created_at,r=null===e.resumable?null:1===e.resumable,i="archived"===e.lifecycle?e.provider_updated_at??e.updated_at:null;return{ref:e.id,source:"native",agent:{id:e.agent_id,name:e.agent_name,adapter:e.provider_kind,transport:null},title:e.title??`${e.agent_name} \xb7 ${o(a)}`,status:"open"===e.lifecycle?"active":"ended",resumable:!1,state:{availability:e.availability,lifecycle:e.lifecycle,resumable:r,busy:1===e.busy||!!e.running,synced_at:e.last_synced_at},created_at:a,ended_at:i,last_activity_at:Math.max(a,e.provider_updated_at??0,e.turn_last_at??0),origin:{conversation:null,work_request:null},context:{workspace:e.workspace,deck:null},usage:t}}function p(e,t){return t.last_activity_at-e.last_activity_at||t.created_at-e.created_at||(e.ref<t.ref?-1:+(e.ref>t.ref))}function _(e,t,n){return e.prepare(`${s} AND ps.id = ? AND ps.agent_id = ?`).get(n,t)}function g(e,t,n){return e.prepare(`${i} WHERE b.id = ? AND b.agent_id = ?`).get(n,t)}e.s(["agentExists",0,function(e,t){return!!e.prepare("SELECT 1 FROM bots WHERE id = ?").get(t)},"conversationRef",0,function(e,t){let n=e.prepare(`
30
+ SELECT c.id AS origin_conversation_id, c.type AS conversation_type, c.bot_id AS conversation_bot_id,
31
+ tb.name AS thread_agent_name, g.name AS group_name
32
+ FROM conversations c
33
+ LEFT JOIN bots tb ON tb.id = c.bot_id
34
+ LEFT JOIN groups g ON g.id = c.group_id
35
+ WHERE c.id = ?
36
+ `).get(t);return n?l(n):null},"getAgentSession",0,function(e,t,a){let r=g(e,t,a);if(!r){let r=_(e,t,a);if(!r)return;let{usage:i,samples:s}=(0,n.sessionUsageSamples)(e,t,a);return{...c(r,i),attempts:[],usage_samples:s}}let i=e.prepare(`
37
+ SELECT a.attempt_number, a.kind, a.request_id, a.outcome, a.started_at, a.finished_at,
38
+ CASE WHEN a.id = ? THEN 'source' ELSE 'resume' END AS role
39
+ FROM work_attempts a
40
+ WHERE a.id = ? OR a.resumed_session_binding_id = ?
41
+ ORDER BY a.started_at ASC, a.id ASC
42
+ `).all(r.source_attempt_id,r.source_attempt_id,r.id),{usage:s,samples:o}=(0,n.sessionUsageSamples)(e,t,a);return{...u(r,s),attempts:i,usage_samples:o}},"isSessionFilter",0,function(e){return"string"==typeof e&&a.includes(e)},"listAgentSessions",0,function(e,t,a="all"){let r=e.prepare(`${i} WHERE b.agent_id = ? ${"active"===a?"AND b.released_at IS NULL":"ended"===a?"AND b.released_at IS NOT NULL":""}`).all(t),o=e.prepare(`${s} AND ps.agent_id = ? ${"active"===a?"AND ps.lifecycle = 'open'":"ended"===a?"AND ps.lifecycle = 'archived'":""}`).all(t),d=(0,n.agentSessionUsage)(e,t);return[...r.map(e=>u(e,d.get(e.id))),...o.map(e=>c(e,d.get(e.id)))].sort(p)},"sessionDebugExternalId",0,function(e,t,n){let a=g(e,t,n)?.external_session_id;if(void 0!==a)return a;if(!_(e,t,n))return;let r=e.prepare("SELECT provider_session_id FROM provider_sessions WHERE id = ? AND agent_id = ?").get(n,t);return r?.provider_session_id},"sessionTitle",0,function(e,t,n){let a=g(e,t,n);if(a)return u(a).title;let r=_(e,t,n);return r?c(r).title:null}])}];
43
+
44
+ //# sourceMappingURL=_07on0dc._.js.map
@@ -0,0 +1,44 @@
1
+ module.exports=[61276,e=>{"use strict";var t=e.i(69936);async function n(e,{params:a}){let{pinRef:r}=await a;return(0,t.handleSendToPin)(e,r)}e.s(["POST",0,n])},13874,e=>{"use strict";var t=e.i(47909),n=e.i(74017),a=e.i(96250),r=e.i(59756),i=e.i(61916),s=e.i(74677),o=e.i(69741),d=e.i(16795),l=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),_=e.i(70101),g=e.i(26937),h=e.i(10372),v=e.i(93695),m=e.i(9580);e.i(52474);var f=e.i(220);let E=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/v0/pins/[pinRef]/messages/route",pathname:"/api/v0/pins/[pinRef]/messages",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v0/pins/[pinRef]/messages/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(61276),...{}}),{workAsyncStorage:A,workUnitAsyncStorage:b,serverHooks:R}=E;async function y(e,t,a){a.requestMeta&&(0,r.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let A="/api/v0/pins/[pinRef]/messages/route";A=A.replace(/\/index$/,"")||"/";let b=await E.prepare(e,t,{srcPage:A,multiZoneDraftMode:!1});if(!b)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,deploymentId:y,params:S,nextConfig:w,parsedUrl:C,isDraftMode:N,prerenderManifest:O,routerServerContext:T,isOnDemandRevalidate:k,revalidateOnlyGenerated:q,resolvedPathname:I,clientReferenceManifest:x,serverActionsManifest:P}=b,L=(0,o.normalizeAppPath)(A),M=!!O.routes[I]&&(E.isDev||(0,m.isRouteCacheOwner)(I,E.cacheOwner,O.routes[I])),H=!!(O.dynamicRoutes[L]||M),D=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,C,!1):t.end("This page could not be found"),null);if(H&&!N){let e=O.dynamicRoutes[L];if(e&&!1===e.fallback&&!M){if(w.adapterPath)return await D();throw new v.NoFallbackError}}let F=null;!H||E.isDev||N||(F="/index"===(F=I)?"/":F);let U=!0===E.isDev||!H,$=H&&!U;P&&x&&(0,s.setManifestsSingleton)({page:A,clientReferenceManifest:x,serverActionsManifest:P});let K=e.method||"GET",j=(0,i.getTracer)(),W=j.getActiveScopeSpan(),J=!!(null==T?void 0:T.isWrappedByNextServer),X=!!(0,r.getRequestMeta)(e,"minimalMode"),G=(0,r.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,w,O,X);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let B={params:S,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts,useCacheTimeout:w.experimental.useCacheTimeout},cacheComponents:!!w.cacheComponents,validationLevel:w.experimental.instantInsights.validationLevel,isDraftMode:N,supportsDynamicResponse:U,incrementalCache:G,hmrRefreshHash:(0,r.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:w.cacheLife,staticPageGenerationTimeout:w.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,a,r)=>E.onRequestError(e,t,a,r,T)},sharedContext:{buildId:R,deploymentId:y}},V=new d.NodeNextRequest(e),Y=new d.NodeNextResponse(t),z=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:n})=>{try{if(!X&&k&&q&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await E.handle(z,B);e.fetchMetrics=B.renderOpts.fetchMetrics;let i=B.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let s=B.renderOpts.collectedTags;if(!H)return await (0,p.sendResponse)(V,Y,r,i),null;{let e=await r.blob(),t=(0,_.toNodeOutgoingHttpHeaders)(r.headers);s&&(t[h.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=h.INFINITE_CACHE?!1!==n&&n>0?w.expireTime:void 0:B.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:a}}}}catch(t){throw(null==n?void 0:n.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:A,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:k})},!1,T),t}},Q=async(r,s)=>{try{var o,d;let r=await E.handleResponse({req:e,nextConfig:w,cacheKey:F,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:q,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:X});if(!H)return;if((null==r||null==(o=r.value)?void 0:o.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==r||null==(d=r.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});X||t.setHeader("x-nextjs-cache",k?"REVALIDATED":r.isMiss?"MISS":r.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,_.fromNodeOutgoingHttpHeaders)(r.value.headers);X&&H||i.delete(h.NEXT_CACHE_TAGS_HEADER),!r.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,g.getCacheControlHeader)(r.cacheControl)),await (0,p.sendResponse)(V,Y,new Response(r.value.body,{headers:i,status:r.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:L,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:k})},!1,T),H)throw t;await (0,p.sendResponse)(V,Y,new Response(null,{status:500}));return}finally{(()=>{if(!r)return;let e=t.statusCode;r.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(r.setStatus({code:i.SpanStatusCode.ERROR}),r.setAttribute("error.type",e.toString()));let n=j.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=n.get("next.route")||L,o=`${K} ${a}`;r.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),r.updateName(o),s&&s!==r&&(s.setAttribute("http.route",a),s.updateName(o))})()}};if(J&&W)await Q(W,void 0);else{let t=j.getActiveScopeSpan();await j.withPropagatedContext(e.headers,()=>j.trace(u.BaseServerSpan.handleRequest,{spanName:`${K} ${A}`,kind:i.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},e=>Q(e,t)),void 0,!J)}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:b})},"routeModule",0,E,"serverHooks",0,R,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,b])},43345,e=>{"use strict";var t=e.i(62294),n=e.i(26571),a=e.i(45383);let r=["authentication_unavailable","unauthenticated","principal_mismatch","agent_not_found","conversation_not_found","request_not_found"];async function i(e,n){let i,s=null,o=!1,d=null;try{i=await e(e=>{s=e},()=>{let e=s;n&&e&&"service"===e.kind&&t.serviceAudit.append({principal:e,operation:n.operation,capability:"participant",targetKind:n.targetKind,targetRef:n.targetRef,outcome:"allowed",code:null}),o=!0})}catch(e){if(e instanceof a.AgentApiError)d=e.code,i=Response.json({error:{code:e.code,message:e.message}},{status:e.status});else console.error("Agent conversation API error:",e),d="internal_error",i=Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}let l=s;if(o&&null===d)return i;if(n&&l&&"service"===l.kind)try{t.serviceAudit.append({principal:l,operation:n.operation,capability:"participant",targetKind:n.targetKind,targetRef:n.targetRef,outcome:null===d?"allowed":"internal_error"===d?"error":r.includes(d)?"denied":"rejected",code:d})}catch(e){return console.error("Service audit append failed:",e instanceof Error?e.message:"unknown error"),Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}return i}async function s(e){let t,r=function(){try{return(0,n.serviceTokenAuthenticatorFromEnv)()}catch(e){if(e instanceof n.ServiceTokenConfigError)return console.error(`Agent API authentication disabled: ${e.message}`),null;throw e}}();if(!r)throw new a.AgentApiError("authentication_unavailable","No authenticator is configured for the agent conversation API.");try{t=await r(e)}catch{t=null}if(!t||!(0,a.isPrincipalKind)(t.kind)||"string"!=typeof t.id||!t.id.trim())throw new a.AgentApiError("unauthenticated","Authentication failed.");return{kind:t.kind,id:t.id}}async function o(e,t){return i(async(n,r)=>{var i;let o,d=await s(e);n(d);try{let t=await e.json();if(!t||"object"!=typeof t||Array.isArray(t))throw Error("not an object");o=t}catch{throw new a.AgentApiError("invalid_request","The request body must be a JSON object.")}let l=null==(i=o.principal)?null:{kind:i.kind,id:String(i.id??"")};if(l&&!(0,a.samePrincipal)(l,d))throw new a.AgentApiError("principal_mismatch","The declared principal does not match the authenticated principal.");let u=e.headers.get("idempotency-key"),c="string"==typeof o.idempotencyKey?o.idempotencyKey:null;if(u&&c&&u!==c)throw new a.AgentApiError("invalid_request","Idempotency-Key header and body idempotencyKey differ.");let p=u??c??"";if(p.toLowerCase().startsWith(a.MCP_IDEMPOTENCY_PREFIX))throw new a.AgentApiError("invalid_request",`Idempotency keys starting with "${a.MCP_IDEMPOTENCY_PREFIX}" are reserved for the MCP bridge.`);let{accepted:_,dispatched:g}=(0,a.acceptAgentMessage)(d,{agentId:t,content:"string"==typeof o.content?o.content:"",idempotencyKey:p,conversationId:"string"==typeof o.conversationId?o.conversationId:null==o.conversationId?null:""},r);return!0===o.wait?(await g,Response.json({...(0,a.getAgentRequest)(d,_.requestId),replayed:_.replayed})):Response.json(_,{status:_.replayed?200:202})},{operation:"agents.message",targetKind:"agent",targetRef:t})}async function d(e,t){return i(async n=>{let r=await s(e);return n(r),Response.json((0,a.getConversation)(r,t))},{operation:"conversations.read",targetKind:"conversation",targetRef:t})}async function l(e,t){return i(async n=>{let r=await s(e);return n(r),Response.json((0,a.getAgentRequest)(r,t))},{operation:"requests.read",targetKind:"request",targetRef:t})}e.s(["authenticate",0,s,"handleGetAgentRequest",0,l,"handleGetConversation",0,d,"handleSendAgentMessage",0,o])},90027,e=>{"use strict";var t=e.i(62349),n=e.i(28420);let a=["active","ended","all"],r=["implementation","revision"],i=`
2
+ SELECT b.*, bot.name AS agent_name, bot.agent AS agent_runtime, r.id AS origin_request_id, c.id AS origin_conversation_id,
3
+ c.type AS conversation_type, c.bot_id AS conversation_bot_id, tb.name AS thread_agent_name, g.name AS group_name,
4
+ r.intent AS request_intent, r.execution_kind AS request_kind, r.state AS request_state,
5
+ r.source_conversation_id AS request_conversation_id, r.target_agent_id AS request_target_agent_id,
6
+ sa.launch_snapshot AS source_snapshot, sa.finished_at AS source_finished_at,
7
+ (SELECT MAX(COALESCE(ra.finished_at, ra.started_at)) FROM work_attempts ra WHERE ra.resumed_session_binding_id = b.id) AS resumed_last_at,
8
+ EXISTS (SELECT 1 FROM work_attempts oa WHERE oa.resumed_session_binding_id = b.id AND oa.finished_at IS NULL) AS attempt_running,
9
+ ps.availability AS ps_availability, ps.lifecycle AS ps_lifecycle, ps.resumable AS ps_resumable, ps.busy AS ps_busy,
10
+ ps.workspace AS ps_workspace, ps.last_synced_at AS ps_synced_at,
11
+ EXISTS (SELECT 1 FROM provider_session_turns pt WHERE pt.session_ref = ps.id AND pt.state = 'running') AS ps_running
12
+ FROM session_bindings b
13
+ JOIN bots bot ON bot.id = b.agent_id
14
+ LEFT JOIN provider_sessions ps ON ps.binding_id = b.id
15
+ LEFT JOIN work_attempts sa ON sa.id = b.source_attempt_id
16
+ LEFT JOIN work_requests r ON r.id = COALESCE(b.request_id, sa.request_id)
17
+ LEFT JOIN conversations c ON c.id = COALESCE(b.conversation_id, r.source_conversation_id)
18
+ LEFT JOIN bots tb ON tb.id = c.bot_id
19
+ LEFT JOIN groups g ON g.id = c.group_id
20
+ `,s=`
21
+ SELECT ps.id, ps.agent_id, bot.name AS agent_name, ps.provider_kind, ps.title, ps.workspace,
22
+ ps.provider_created_at, ps.provider_updated_at, ps.availability, ps.lifecycle, ps.resumable, ps.busy,
23
+ ps.last_synced_at, ps.created_at, ps.updated_at,
24
+ (SELECT MAX(COALESCE(t.finished_at, t.created_at)) FROM provider_session_turns t WHERE t.session_ref = ps.id) AS turn_last_at,
25
+ EXISTS (SELECT 1 FROM provider_session_turns t WHERE t.session_ref = ps.id AND t.state = 'running') AS running
26
+ FROM provider_sessions ps
27
+ JOIN bots bot ON bot.id = ps.agent_id
28
+ WHERE ps.binding_id IS NULL
29
+ `;function o(e){return`${new Date(e).toISOString().slice(0,16).replace("T"," ")} UTC`}function d(e,t){let n=e?.[t];return"string"==typeof n&&n.trim().length>0?n:null}function l(e){let t=e.origin_conversation_id;return t?"group"===e.conversation_type?{id:t,kind:"group",label:e.group_name?`Group ${e.group_name}`:"Group thread",thread_agent_id:null}:"bot"===e.conversation_type&&e.conversation_bot_id?{id:t,kind:"direct",label:e.thread_agent_name?`${e.thread_agent_name} thread`:"Agent thread",thread_agent_id:e.thread_agent_name?e.conversation_bot_id:null}:{id:t,kind:"agent_api",label:"Agent API conversation",thread_agent_id:null}:null}function u(e,a=(0,n.emptyUsage)()){let i,s=null;try{s=e.source_snapshot?JSON.parse(e.source_snapshot):null}catch{}let c=l(e),p=null===e.released_at?"active":"ended",_=((i=(e.request_intent??"").split("\n").map(e=>e.trim()).find(e=>e.length>0))?i.length>80?`${i.slice(0,79).trimEnd()}…`:i:null)??(c?.kind==="group"?c.label:null)??`${e.agent_name} \xb7 ${o(e.created_at)}`;return{ref:e.id,source:"botmancers",agent:{id:e.agent_id,name:e.agent_name,adapter:e.adapter,transport:d(s,"transport")},title:_,status:p,resumable:null===e.released_at&&null!==e.request_id&&null!==e.request_kind&&r.includes(e.request_kind)&&e.request_target_agent_id===e.agent_id&&(e.conversation_id??"")===(e.request_conversation_id??"")&&e.adapter===(0,t.resolveAgent)({agent:e.agent_runtime}).agent,state:{availability:e.ps_availability??"available",lifecycle:e.ps_lifecycle??"open",resumable:null===e.ps_resumable||void 0===e.ps_resumable?null:1===e.ps_resumable,busy:1===e.ps_busy||!!e.attempt_running||!!e.ps_running,synced_at:e.ps_synced_at??null},created_at:e.created_at,ended_at:e.released_at,last_activity_at:Math.max(e.created_at,e.released_at??0,e.source_finished_at??0,e.resumed_last_at??0),origin:{conversation:c,work_request:e.origin_request_id&&e.request_kind&&e.request_state?{id:e.origin_request_id,execution_kind:e.request_kind,state:e.request_state}:null},context:{workspace:d(s,"cwd")??e.ps_workspace??null,deck:d(s,"deck")},usage:a}}function c(e,t=(0,n.emptyUsage)()){let a=e.provider_created_at??e.created_at,r=null===e.resumable?null:1===e.resumable,i="archived"===e.lifecycle?e.provider_updated_at??e.updated_at:null;return{ref:e.id,source:"native",agent:{id:e.agent_id,name:e.agent_name,adapter:e.provider_kind,transport:null},title:e.title??`${e.agent_name} \xb7 ${o(a)}`,status:"open"===e.lifecycle?"active":"ended",resumable:!1,state:{availability:e.availability,lifecycle:e.lifecycle,resumable:r,busy:1===e.busy||!!e.running,synced_at:e.last_synced_at},created_at:a,ended_at:i,last_activity_at:Math.max(a,e.provider_updated_at??0,e.turn_last_at??0),origin:{conversation:null,work_request:null},context:{workspace:e.workspace,deck:null},usage:t}}function p(e,t){return t.last_activity_at-e.last_activity_at||t.created_at-e.created_at||(e.ref<t.ref?-1:+(e.ref>t.ref))}function _(e,t,n){return e.prepare(`${s} AND ps.id = ? AND ps.agent_id = ?`).get(n,t)}function g(e,t,n){return e.prepare(`${i} WHERE b.id = ? AND b.agent_id = ?`).get(n,t)}e.s(["agentExists",0,function(e,t){return!!e.prepare("SELECT 1 FROM bots WHERE id = ?").get(t)},"conversationRef",0,function(e,t){let n=e.prepare(`
30
+ SELECT c.id AS origin_conversation_id, c.type AS conversation_type, c.bot_id AS conversation_bot_id,
31
+ tb.name AS thread_agent_name, g.name AS group_name
32
+ FROM conversations c
33
+ LEFT JOIN bots tb ON tb.id = c.bot_id
34
+ LEFT JOIN groups g ON g.id = c.group_id
35
+ WHERE c.id = ?
36
+ `).get(t);return n?l(n):null},"getAgentSession",0,function(e,t,a){let r=g(e,t,a);if(!r){let r=_(e,t,a);if(!r)return;let{usage:i,samples:s}=(0,n.sessionUsageSamples)(e,t,a);return{...c(r,i),attempts:[],usage_samples:s}}let i=e.prepare(`
37
+ SELECT a.attempt_number, a.kind, a.request_id, a.outcome, a.started_at, a.finished_at,
38
+ CASE WHEN a.id = ? THEN 'source' ELSE 'resume' END AS role
39
+ FROM work_attempts a
40
+ WHERE a.id = ? OR a.resumed_session_binding_id = ?
41
+ ORDER BY a.started_at ASC, a.id ASC
42
+ `).all(r.source_attempt_id,r.source_attempt_id,r.id),{usage:s,samples:o}=(0,n.sessionUsageSamples)(e,t,a);return{...u(r,s),attempts:i,usage_samples:o}},"isSessionFilter",0,function(e){return"string"==typeof e&&a.includes(e)},"listAgentSessions",0,function(e,t,a="all"){let r=e.prepare(`${i} WHERE b.agent_id = ? ${"active"===a?"AND b.released_at IS NULL":"ended"===a?"AND b.released_at IS NOT NULL":""}`).all(t),o=e.prepare(`${s} AND ps.agent_id = ? ${"active"===a?"AND ps.lifecycle = 'open'":"ended"===a?"AND ps.lifecycle = 'archived'":""}`).all(t),d=(0,n.agentSessionUsage)(e,t);return[...r.map(e=>u(e,d.get(e.id))),...o.map(e=>c(e,d.get(e.id)))].sort(p)},"sessionDebugExternalId",0,function(e,t,n){let a=g(e,t,n)?.external_session_id;if(void 0!==a)return a;if(!_(e,t,n))return;let r=e.prepare("SELECT provider_session_id FROM provider_sessions WHERE id = ? AND agent_id = ?").get(n,t);return r?.provider_session_id},"sessionTitle",0,function(e,t,n){let a=g(e,t,n);if(a)return u(a).title;let r=_(e,t,n);return r?c(r).title:null}])}];
43
+
44
+ //# sourceMappingURL=_08208nz._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[64347,e=>{"use strict";var t=e.i(89171),r=e.i(62294),a=e.i(57147),n=e.i(27754),o=e.i(52694),s=e.i(62349),i=e.i(16979),l=e.i(30098);async function d(){try{let e=r.bots.getAll().map(e=>({...(0,s.serializeBot)(e),unread:+!!e.unread,hidden:+!!e.hidden,latest:r.messages.latestFromBot(e.id)}));return t.NextResponse.json(e)}catch(e){return console.error("Error fetching bots:",e),t.NextResponse.json({error:"Failed to fetch bots"},{status:500})}}async function u(e){try{let n=await e.json(),{name:l,title:d,description:u,avatar:c}=n;if(!l||!String(l).trim())return t.NextResponse.json({error:"Name is required"},{status:400});let p=(0,s.validateCreateAgent)(n);if(p.errors.length>0)return t.NextResponse.json({error:p.errors[0],errors:p.errors},{status:400});let v=null!==n.avatar&&void 0!==n.avatar&&"object"==typeof n.avatar&&!Array.isArray(n.avatar);if(void 0!==n.avatar&&null!==n.avatar&&"string"!=typeof n.avatar&&!v)return t.NextResponse.json({error:"Invalid avatar: expected an image string or an avatar config object"},{status:400});let h=(0,i.validateAvatarInput)(v?n.avatar:void 0);if(h.errors.length>0)return t.NextResponse.json({error:h.errors[0],errors:h.errors},{status:400});let g=r.bots.create({name:String(l).trim(),title:d?String(d):"",description:u?String(u):"",avatar:"string"==typeof c?c:void 0,agent:p.normalized.agent,deck_id:p.normalized.deck_id,deck_name:null,working_directory:p.normalized.working_directory,needs_deck_selection:0,avatar_color:h.fields.avatar_color??null,avatar_eyes:h.fields.avatar_eyes??null,avatar_hands:h.fields.avatar_hands??null,avatar_accessory:h.fields.avatar_accessory??null}),R=r.conversations.getByBotId(g.id);return R&&(a.uiTurns.enqueue(R.id,g.id,{reason:"greeting"}),(0,o.processUiTurns)().catch(console.error)),t.NextResponse.json((0,s.serializeBot)(g))}catch(e){if(e instanceof l.AgentNameConflictError)return t.NextResponse.json((0,l.agentNameConflictBody)(e),{status:409});return console.error("Error creating bot:",e),t.NextResponse.json({error:"Failed to create bot"},{status:500})}}async function c(e){try{let a,n=await e.json(),o=n.id?String(n.id):"";if(!o)return t.NextResponse.json({error:"Bot id is required"},{status:400});let l=r.bots.getById(o);if(!l)return t.NextResponse.json({error:"Bot not found"},{status:404});let d=e=>t.NextResponse.json({error:e[0],errors:e},{status:400}),u=null;if(void 0!==n.avatar){if(null===n.avatar||""===n.avatar)a=null;else if("object"!=typeof n.avatar||Array.isArray(n.avatar)){let e=String(n.avatar);if(!e.startsWith("data:image/"))return t.NextResponse.json({error:"Image is required"},{status:400});a=e}else if((u=(0,i.validateAvatarInput)(n.avatar)).errors.length>0)return d(u.errors)}let c=null;if(void 0!==n.name||void 0!==n.title||void 0!==n.description){let e=void 0!==n.name?String(n.name).trim():l.name;if(!e)return t.NextResponse.json({error:"Name is required"},{status:400});let r=void 0!==n.title?String(n.title):l.title,a=void 0!==n.description?String(n.description):l.description;c={name:e,title:r,description:a}}let p=(0,s.hasAgentUpdate)(n)?(0,s.validateUpdateAgent)(n):null;if(p&&p.errors.length>0)return d(p.errors);r.default.transaction(()=>{void 0!==a&&r.bots.setAvatar(o,a),u&&r.bots.updateAvatarConfig(o,u.fields),void 0!==n.pinned&&r.bots.setPinned(o,!!n.pinned),void 0!==n.hidden&&r.bots.setHidden(o,!!n.hidden),void 0!==n.unread&&(n.unread?r.bots.markUnread(o):r.bots.markRead(o)),c&&r.bots.updateIdentity(o,c.name,c.title,c.description),p&&r.bots.updateAgentSelection(o,p.fields)})();let v=r.bots.getById(o);return t.NextResponse.json(v?(0,s.serializeBot)(v):v)}catch(e){if(e instanceof l.AgentNameConflictError)return t.NextResponse.json((0,l.agentNameConflictBody)(e),{status:409});return console.error("Error setting avatar:",e),t.NextResponse.json({error:"Failed to set avatar"},{status:500})}}async function p(e){let a;try{a=await e.json()}catch{return t.NextResponse.json({error:"Expected a JSON object with id or ids."},{status:400})}let o=(0,n.parseDeleteIds)(a);if(!o.ok)return t.NextResponse.json({error:o.error},{status:400});try{let e=r.bots.removeMany(o.ids);return t.NextResponse.json({ok:!0,deleted:e.agents,groups:e.groups})}catch(e){if(e instanceof r.BotDeletionError){var s=e.preview;if(s.missing.length>0)return t.NextResponse.json({error:"Bot not found",missing:s.missing},{status:404});let r=s.blocked.map(e=>`${e.name} — ${(0,n.blockedReasonCopy)(e.reason)}`).join(" ");return t.NextResponse.json({error:`Nothing was deleted. ${r}`,blocked:s.blocked.map(e=>({...e,message:(0,n.blockedReasonCopy)(e.reason)}))},{status:409})}return console.error("Error deleting bot:",e),t.NextResponse.json({error:"Failed to delete bot"},{status:500})}}e.s(["DELETE",0,p,"GET",0,d,"PATCH",0,c,"POST",0,u])},88016,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),o=e.i(61916),s=e.i(74677),i=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),v=e.i(70101),h=e.i(26937),g=e.i(10372),R=e.i(93695),f=e.i(9580);e.i(52474);var m=e.i(220);let x=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/bots/route",pathname:"/api/bots",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/bots/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(64347),...{}}),{workAsyncStorage:y,workUnitAsyncStorage:b,serverHooks:N}=x;async function E(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),x.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/bots/route";y=y.replace(/\/index$/,"")||"/";let b=await x.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!b)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:N,deploymentId:E,params:C,nextConfig:w,parsedUrl:A,isDraftMode:j,prerenderManifest:S,routerServerContext:_,isOnDemandRevalidate:T,revalidateOnlyGenerated:P,resolvedPathname:k,clientReferenceManifest:I,serverActionsManifest:O}=b,q=(0,i.normalizeAppPath)(y),H=!!S.routes[k]&&(x.isDev||(0,f.isRouteCacheOwner)(k,x.cacheOwner,S.routes[k])),B=!!(S.dynamicRoutes[q]||H),U=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,A,!1):t.end("This page could not be found"),null);if(B&&!j){let e=S.dynamicRoutes[q];if(e&&!1===e.fallback&&!H){if(w.adapterPath)return await U();throw new R.NoFallbackError}}let D=null;!B||x.isDev||j||(D="/index"===(D=k)?"/":D);let M=!0===x.isDev||!B,F=B&&!M;O&&I&&(0,s.setManifestsSingleton)({page:y,clientReferenceManifest:I,serverActionsManifest:O});let $=e.method||"GET",K=(0,o.getTracer)(),L=K.getActiveScopeSpan(),z=!!(null==_?void 0:_.isWrappedByNextServer),G=!!(0,n.getRequestMeta)(e,"minimalMode"),V=(0,n.getRequestMeta)(e,"incrementalCache")||await x.getIncrementalCache(e,w,S,G);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:C,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts,useCacheTimeout:w.experimental.useCacheTimeout},cacheComponents:!!w.cacheComponents,validationLevel:w.experimental.instantInsights.validationLevel,isDraftMode:j,supportsDynamicResponse:M,incrementalCache:V,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:w.cacheLife,staticPageGenerationTimeout:w.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>x.onRequestError(e,t,a,n,_)},sharedContext:{buildId:N,deploymentId:E}},X=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),Z=d.NextRequestAdapter.fromNodeNextRequest(X,(0,d.signalFromNodeResponse)(t)),Q=async({previousCacheEntry:r})=>{try{if(!G&&T&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await x.handle(Z,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let o=W.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let s=W.renderOpts.collectedTags;if(!B)return await (0,p.sendResponse)(X,J,n,o),null;{let e=await n.blob(),t=(0,v.toNodeOutgoingHttpHeaders)(n.headers);s&&(t[g.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=g.INFINITE_CACHE?!1!==r&&r>0?w.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:T})},!1,_),t}},Y=async(n,s)=>{try{var i,l;let n=await x.handleResponse({req:e,nextConfig:w,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:P,responseGenerator:Q,waitUntil:a.waitUntil,isMinimalMode:G});if(!B)return;if((null==n||null==(i=n.value)?void 0:i.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",T?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),j&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let o=(0,v.fromNodeOutgoingHttpHeaders)(n.value.headers);G&&B||o.delete(g.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||o.get("Cache-Control")||o.set("Cache-Control",(0,h.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(X,J,new Response(n.value.body,{headers:o,status:n.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:T})},!1,_),B)throw t;await (0,p.sendResponse)(X,J,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:o.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||q,i=`${$} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":i}),n.updateName(i),s&&s!==n&&(s.setAttribute("http.route",a),s.updateName(i))})()}};if(z&&L)await Y(L,void 0);else{let t=K.getActiveScopeSpan();await K.withPropagatedContext(e.headers,()=>K.trace(u.BaseServerSpan.handleRequest,{spanName:`${$} ${y}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},e=>Y(e,t)),void 0,!z)}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:y,workUnitAsyncStorage:b})},"routeModule",0,x,"serverHooks",0,N,"workAsyncStorage",0,y,"workUnitAsyncStorage",0,b])}];
1
+ module.exports=[64347,e=>{"use strict";var t=e.i(89171),r=e.i(54799),a=e.i(62294),n=e.i(57147),s=e.i(27754),o=e.i(52694),i=e.i(62349),l=e.i(18966),d=e.i(16979),u=e.i(30098);async function c(){try{let e=a.bots.getAll().map(e=>({...(0,a.serializeAgent)(e),unread:+!!e.unread,hidden:+!!e.hidden,latest:a.messages.latestFromBot(e.id)}));return t.NextResponse.json(e)}catch(e){return console.error("Error fetching bots:",e),t.NextResponse.json({error:"Failed to fetch bots"},{status:500})}}async function p(e){try{let s=await e.json(),{name:u,title:c,description:p,avatar:v}=s;if(!u||!String(u).trim())return t.NextResponse.json({error:"Name is required"},{status:400});let g=[];if((void 0!==s.runtime||void 0!==s.agent_client)&&g.push(i.LEGACY_RUNTIME_FIELD_ERROR),void 0!==s.deck_name&&g.push(i.LEGACY_DECK_NAME_FIELD_ERROR),g.length>0)return t.NextResponse.json({error:g[0],errors:g},{status:400});let h=(0,l.validateCreateRegistration)(s,a.registrationContext);if(h.errors.length>0||!h.registration||!h.provider)return t.NextResponse.json({error:h.errors[0],errors:h.errors},{status:400});let R=h.registration,f=(0,r.randomUUID)();(0,l.isLegacyCreate)(s)&&0===R.session_scope.workspaces.length&&(R.session_scope.workspaces=[`~/.botmancers/${f}`]);let _=null!==s.avatar&&void 0!==s.avatar&&"object"==typeof s.avatar&&!Array.isArray(s.avatar);if(void 0!==s.avatar&&null!==s.avatar&&"string"!=typeof s.avatar&&!_)return t.NextResponse.json({error:"Invalid avatar: expected an image string or an avatar config object"},{status:400});let m=(0,d.validateAvatarInput)(_?s.avatar:void 0);if(m.errors.length>0)return t.NextResponse.json({error:m.errors[0],errors:m.errors},{status:400});let E=a.bots.create({name:String(u).trim(),title:c?String(c):"",description:p?String(p):"",avatar:"string"==typeof v?v:void 0,agent:h.provider,deck_id:"agent_deck"===R.launch_profile?R.deck_id:null,deck_name:null,working_directory:"agent_deck"===R.launch_profile?R.working_directory:null,needs_deck_selection:0,runtime_connection_id:R.runtime_connection_id,launch_profile:R.launch_profile,session_scope_kind:R.session_scope.kind,session_scope_items:JSON.stringify("workspaces"===R.session_scope.kind?R.session_scope.workspaces:R.session_scope.sessions),default_workspace:R.default_workspace,policy_mode:R.policy.mode,allow_new_sessions:+!!R.policy.allow_new_sessions,allow_resume_with_edits:+!!R.policy.allow_resume_with_edits,avatar_color:m.fields.avatar_color??null,avatar_eyes:m.fields.avatar_eyes??null,avatar_hands:m.fields.avatar_hands??null,avatar_accessory:m.fields.avatar_accessory??null},{id:f}),y=a.conversations.getByBotId(E.id);y&&(n.uiTurns.enqueue(y.id,E.id,{reason:"greeting"}),(0,o.processUiTurns)().catch(console.error));let w=a.bots.getById(E.id);return t.NextResponse.json(w?(0,a.serializeAgent)(w):null)}catch(e){if(e instanceof u.AgentNameConflictError)return t.NextResponse.json((0,u.agentNameConflictBody)(e),{status:409});return console.error("Error creating bot:",e),t.NextResponse.json({error:"Failed to create bot"},{status:500})}}async function v(e){try{let r,n=await e.json(),s=n.id?String(n.id):"";if(!s)return t.NextResponse.json({error:"Bot id is required"},{status:400});let o=a.bots.getById(s);if(!o)return t.NextResponse.json({error:"Bot not found"},{status:404});let u=e=>t.NextResponse.json({error:e[0],errors:e},{status:400}),c=null;if(void 0!==n.avatar){if(null===n.avatar||""===n.avatar)r=null;else if("object"!=typeof n.avatar||Array.isArray(n.avatar)){let e=String(n.avatar);if(!e.startsWith("data:image/"))return t.NextResponse.json({error:"Image is required"},{status:400});r=e}else if((c=(0,d.validateAvatarInput)(n.avatar)).errors.length>0)return u(c.errors)}let p=null;if(void 0!==n.name||void 0!==n.title||void 0!==n.description){let e=void 0!==n.name?String(n.name).trim():o.name;if(!e)return t.NextResponse.json({error:"Name is required"},{status:400});let r=void 0!==n.title?String(n.title):o.title,a=void 0!==n.description?String(n.description):o.description;p={name:e,title:r,description:a}}let v=[];if((void 0!==n.runtime||void 0!==n.agent_client)&&v.push(i.LEGACY_RUNTIME_FIELD_ERROR),void 0!==n.deck_name&&v.push(i.LEGACY_DECK_NAME_FIELD_ERROR),v.length>0)return u(v);let g=!o.launch_profile&&!(0,l.hasRegistrationUpdate)(n)&&void 0===n.deck_id&&(0,i.hasAgentUpdate)(n),h=g?(0,i.validateUpdateAgent)(n):null;if(h&&h.errors.length>0)return u(h.errors);let R=!g&&((0,i.hasAgentUpdate)(n)||(0,l.hasRegistrationUpdate)(n))?(0,l.validateUpdateRegistration)(s,o,n,a.registrationContext):null;if(R&&(R.errors.length>0||!R.registration||!R.provider))return u(R.errors);a.default.transaction(()=>{void 0!==r&&a.bots.setAvatar(s,r),c&&a.bots.updateAvatarConfig(s,c.fields),void 0!==n.pinned&&a.bots.setPinned(s,!!n.pinned),void 0!==n.hidden&&a.bots.setHidden(s,!!n.hidden),void 0!==n.unread&&(n.unread?a.bots.markUnread(s):a.bots.markRead(s)),p&&a.bots.updateIdentity(s,p.name,p.title,p.description),h&&a.bots.updateAgentSelection(s,h.fields),R?.registration&&R.provider&&a.bots.updateRegistration(s,R.provider,R.registration)})();let f=a.bots.getById(s);return t.NextResponse.json(f?(0,a.serializeAgent)(f):f)}catch(e){if(e instanceof u.AgentNameConflictError)return t.NextResponse.json((0,u.agentNameConflictBody)(e),{status:409});return console.error("Error setting avatar:",e),t.NextResponse.json({error:"Failed to set avatar"},{status:500})}}async function g(e){let r;try{r=await e.json()}catch{return t.NextResponse.json({error:"Expected a JSON object with id or ids."},{status:400})}let n=(0,s.parseDeleteIds)(r);if(!n.ok)return t.NextResponse.json({error:n.error},{status:400});try{let e=a.bots.removeMany(n.ids);return t.NextResponse.json({ok:!0,deleted:e.agents,groups:e.groups})}catch(e){if(e instanceof a.BotDeletionError){var o=e.preview;if(o.missing.length>0)return t.NextResponse.json({error:"Bot not found",missing:o.missing},{status:404});let r=o.blocked.map(e=>`${e.name} — ${(0,s.blockedReasonCopy)(e.reason)}`).join(" ");return t.NextResponse.json({error:`Nothing was deleted. ${r}`,blocked:o.blocked.map(e=>({...e,message:(0,s.blockedReasonCopy)(e.reason)}))},{status:409})}return console.error("Error deleting bot:",e),t.NextResponse.json({error:"Failed to delete bot"},{status:500})}}e.s(["DELETE",0,g,"GET",0,c,"PATCH",0,v,"POST",0,p])},88016,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),v=e.i(70101),g=e.i(26937),h=e.i(10372),R=e.i(93695),f=e.i(9580);e.i(52474);var _=e.i(220);let m=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/bots/route",pathname:"/api/bots",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/bots/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(64347),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:y,serverHooks:w}=m;async function x(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),m.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/bots/route";E=E.replace(/\/index$/,"")||"/";let y=await m.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:N,nextConfig:b,parsedUrl:C,isDraftMode:A,prerenderManifest:k,routerServerContext:j,isOnDemandRevalidate:S,revalidateOnlyGenerated:T,resolvedPathname:I,clientReferenceManifest:O,serverActionsManifest:P}=y,U=(0,i.normalizeAppPath)(E),q=!!k.routes[I]&&(m.isDev||(0,f.isRouteCacheOwner)(I,m.cacheOwner,k.routes[I])),D=!!(k.dynamicRoutes[U]||q),H=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,C,!1):t.end("This page could not be found"),null);if(D&&!A){let e=k.dynamicRoutes[U];if(e&&!1===e.fallback&&!q){if(b.adapterPath)return await H();throw new R.NoFallbackError}}let M=null;!D||m.isDev||A||(M="/index"===(M=I)?"/":M);let B=!0===m.isDev||!D,F=D&&!B;P&&O&&(0,o.setManifestsSingleton)({page:E,clientReferenceManifest:O,serverActionsManifest:P});let L=e.method||"GET",$=(0,s.getTracer)(),G=$.getActiveScopeSpan(),K=!!(null==j?void 0:j.isWrappedByNextServer),z=!!(0,n.getRequestMeta)(e,"minimalMode"),Y=(0,n.getRequestMeta)(e,"incrementalCache")||await m.getIncrementalCache(e,b,k,z);null==Y||Y.resetRequestCache(),globalThis.__incrementalCache=Y;let V={params:N,previewProps:k.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts,useCacheTimeout:b.experimental.useCacheTimeout},cacheComponents:!!b.cacheComponents,validationLevel:b.experimental.instantInsights.validationLevel,isDraftMode:A,supportsDynamicResponse:B,incrementalCache:Y,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:b.cacheLife,staticPageGenerationTimeout:b.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>m.onRequestError(e,t,a,n,j)},sharedContext:{buildId:w,deploymentId:x}},W=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),J=d.NextRequestAdapter.fromNodeNextRequest(W,(0,d.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:r})=>{try{if(!z&&S&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await m.handle(J,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let s=V.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let o=V.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(W,X,n,s),null;{let e=await n.blob(),t=(0,v.toNodeOutgoingHttpHeaders)(n.headers);o&&(t[h.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=h.INFINITE_CACHE?!1!==r&&r>0?b.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await m.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:S})},!1,j),t}},Q=async(n,o)=>{try{var i,l;let n=await m.handleResponse({req:e,nextConfig:b,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:T,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:z});if(!D)return;if((null==n||null==(i=n.value)?void 0:i.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});z||t.setHeader("x-nextjs-cache",S?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,v.fromNodeOutgoingHttpHeaders)(n.value.headers);z&&D||s.delete(h.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,g.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(W,X,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await m.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:S})},!1,j),D)throw t;await (0,p.sendResponse)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||U,i=`${L} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":i}),n.updateName(i),o&&o!==n&&(o.setAttribute("http.route",a),o.updateName(i))})()}};if(K&&G)await Q(G,void 0);else{let t=$.getActiveScopeSpan();await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${L} ${E}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},e=>Q(e,t)),void 0,!K)}}e.s(["handler",0,x,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:y})},"routeModule",0,m,"serverHooks",0,w,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,y])}];
2
2
 
3
3
  //# sourceMappingURL=_0a2do3x._.js.map