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,44 @@
1
+ module.exports=[20635,(e,t,n)=>{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,n)=>{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"))},30056,e=>{"use strict";var t=e.i(89171),n=e.i(62294),a=e.i(45383),r=e.i(63020),i=e.i(92628);async function s(e,{params:o}){try{let{id:e}=await o,s=(0,a.getExchangeView)(e);if(s.requester.kind!==n.UI_OWNER_PRINCIPAL.kind||s.requester.id!==n.UI_OWNER_PRINCIPAL.id)throw new r.ExchangeError("exchange_not_found",`No exchange ${e}.`);return t.NextResponse.json({exchange:s,detail:(0,i.exchangeDetail)(n.default,s)})}catch(e){if(e instanceof r.ExchangeError)return t.NextResponse.json((0,r.exchangeErrorBody)(e),{status:e.status});return console.error("Error reading exchange:",e instanceof Error?e.message:"unknown error"),t.NextResponse.json({error:{code:"internal_error",message:"The exchange could not be read."}},{status:500})}}e.s(["GET",0,s])},48601,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),_=e.i(66012),p=e.i(70101),g=e.i(26937),E=e.i(10372),v=e.i(93695),m=e.i(9580);e.i(52474);var h=e.i(220);let f=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/exchanges/[id]/route",pathname:"/api/exchanges/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/exchanges/[id]/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(30056),...{}}),{workAsyncStorage:R,workUnitAsyncStorage:b,serverHooks:S}=f;async function A(e,t,a){a.requestMeta&&(0,r.setRequestMeta)(e,a.requestMeta),f.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/exchanges/[id]/route";R=R.replace(/\/index$/,"")||"/";let b=await f.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!b)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:S,deploymentId:A,params:y,nextConfig:N,parsedUrl:x,isDraftMode:C,prerenderManifest:O,routerServerContext:T,isOnDemandRevalidate:w,revalidateOnlyGenerated:q,resolvedPathname:k,clientReferenceManifest:I,serverActionsManifest:L}=b,H=(0,o.normalizeAppPath)(R),M=!!O.routes[k]&&(f.isDev||(0,m.isRouteCacheOwner)(k,f.cacheOwner,O.routes[k])),D=!!(O.dynamicRoutes[H]||M),F=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,x,!1):t.end("This page could not be found"),null);if(D&&!C){let e=O.dynamicRoutes[H];if(e&&!1===e.fallback&&!M){if(N.adapterPath)return await F();throw new v.NoFallbackError}}let P=null;!D||f.isDev||C||(P="/index"===(P=k)?"/":P);let U=!0===f.isDev||!D,W=D&&!U;L&&I&&(0,s.setManifestsSingleton)({page:R,clientReferenceManifest:I,serverActionsManifest:L});let $=e.method||"GET",j=(0,i.getTracer)(),J=j.getActiveScopeSpan(),B=!!(null==T?void 0:T.isWrappedByNextServer),G=!!(0,r.getRequestMeta)(e,"minimalMode"),X=(0,r.getRequestMeta)(e,"incrementalCache")||await f.getIncrementalCache(e,N,O,G);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let K={params:y,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!N.experimental.authInterrupts,useCacheTimeout:N.experimental.useCacheTimeout},cacheComponents:!!N.cacheComponents,validationLevel:N.experimental.instantInsights.validationLevel,isDraftMode:C,supportsDynamicResponse:U,incrementalCache:X,hmrRefreshHash:(0,r.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:N.cacheLife,staticPageGenerationTimeout:N.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,a,r)=>f.onRequestError(e,t,a,r,T)},sharedContext:{buildId:S,deploymentId:A}},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&&w&&q&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await f.handle(z,K);e.fetchMetrics=K.renderOpts.fetchMetrics;let i=K.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let s=K.renderOpts.collectedTags;if(!D)return await (0,_.sendResponse)(V,Y,r,i),null;{let e=await r.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(r.headers);s&&(t[E.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=E.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=E.INFINITE_CACHE?!1!==n&&n>0?N.expireTime:void 0:K.renderOpts.collectedExpire;return{value:{kind:h.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 f.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:w})},!1,T),t}},Q=async(r,s)=>{try{var o,d;let r=await f.handleResponse({req:e,nextConfig:N,cacheKey:P,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:w,revalidateOnlyGenerated:q,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:G});if(!D)return;if((null==r||null==(o=r.value)?void 0:o.kind)!==h.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",w?"REVALIDATED":r.isMiss?"MISS":r.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,p.fromNodeOutgoingHttpHeaders)(r.value.headers);G&&D||i.delete(E.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,_.sendResponse)(V,Y,new Response(r.value.body,{headers:i,status:r.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await f.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:w})},!1,T),D)throw t;await (0,_.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")||H,o=`${$} ${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(B&&J)await Q(J,void 0);else{let t=j.getActiveScopeSpan();await j.withPropagatedContext(e.headers,()=>j.trace(u.BaseServerSpan.handleRequest,{spanName:`${$} ${R}`,kind:i.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},e=>Q(e,t)),void 0,!B)}}e.s(["handler",0,A,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:R,workUnitAsyncStorage:b})},"routeModule",0,f,"serverHooks",0,S,"workAsyncStorage",0,R,"workUnitAsyncStorage",0,b])},92628,e=>{"use strict";var t=e.i(90027),n=e.i(35613);function a(e){return null==e?null:e.length>600?`${e.slice(0,599).trimEnd()}…`:e}function r(e,t){return e.prepare("SELECT name FROM bots WHERE id = ?").get(t)?.name??"Removed Agent"}function i(e,t){return"string"!=typeof t?null:e.prepare("SELECT content FROM messages WHERE id = ?").get(t)?.content??null}function s(e,s){let o=n=>n?(0,t.conversationRef)(e,n):null,d=o(s.origin_conversation_id),l=o(function(e,t){if(t.source_request_id){let n=e.prepare("SELECT source_conversation_id FROM work_requests WHERE id = ?").get(t.source_request_id);if(n?.source_conversation_id)return n.source_conversation_id}let n=e.prepare("SELECT conversation_id FROM session_bindings WHERE id = ?").get(t.source_binding_id);return n?.conversation_id??null}(e,s)),u=o(s.destination_conversation_id),c=[],_=(e,t)=>{if(!e)return;let n=c.find(t=>t.id===e.id);n?n.roles.push(t):c.push({...e,roles:[t]})};_(d,"origin"),_(l,"source"),_(u,"destination");let p=n.EXCHANGE_TERMINAL_STATES.includes(s.state);return{id:s.id,mode:s.mode,state:s.state,terminal:p,can_cancel:!p&&null===s.cancel_requested_at,cancel_requested:null!==s.cancel_requested_at,instruction:s.instruction,source:{agent_id:s.source_agent_id,agent_name:r(e,s.source_agent_id),session_title:(0,t.sessionTitle)(e,s.source_agent_id,s.source_binding_id)??"Session",conversation:l},destination:"continue"===s.mode&&s.destination_agent_id?{agent_id:s.destination_agent_id,agent_name:r(e,s.destination_agent_id),session_title:s.destination_binding_id?(0,t.sessionTitle)(e,s.destination_agent_id,s.destination_binding_id):null,conversation:u}:null,origin:d,links:c,outcome:{answer:a(i(e,s.answer_message_id)),objective:a(function(e){if(!e)return null;try{let t=JSON.parse(e);return"string"==typeof t.objective?t.objective:null}catch{return null}}(s.packet)),reply:a(i(e,function(e,t){let n=e.prepare("SELECT data FROM session_exchange_events WHERE exchange_id = ? AND type = 'destination_replied' ORDER BY sequence DESC LIMIT 1").get(t);try{return n?.data?JSON.parse(n.data).message_id:null}catch{return null}}(e,s.id)))},failure:"failed"===s.state?{code:s.failure_code??"failed",message:s.failure_message??""}:null,created_at:s.created_at,updated_at:s.updated_at,terminal_at:s.terminal_at}}e.s(["exchangeDetail",0,function(e,t){let n=e.prepare("SELECT * FROM session_exchanges WHERE id = ?").get(t.id);return{summary:s(e,n),events:t.events.map(e=>{var t;return{...e,data:(t=e.data)?Object.fromEntries(Object.entries(t).filter(([e])=>!e.endsWith("_id")&&"session_ref"!==e&&"by"!==e)):null}}),packet:t.packet,answer:t.answer?.content??null}},"listExchanges",0,function(e,t){return e.prepare("SELECT * FROM session_exchanges WHERE requester_kind = ? AND requester_id = ? ORDER BY updated_at DESC, created_at DESC, id ASC").all(t.requester.kind,t.requester.id).filter(e=>!t.mode||e.mode===t.mode).filter(e=>!t.state||("active"===t.state?!n.EXCHANGE_TERMINAL_STATES.includes(e.state):e.state===t.state)).filter(e=>!t.agentId||e.source_agent_id===t.agentId||e.destination_agent_id===t.agentId).map(t=>s(e,t)).filter(e=>!t.conversationId||e.links.some(e=>e.id===t.conversationId))}])},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),_=null===e.released_at?"active":"ended",p=((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:p,status:_,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 _(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 p(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=p(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(_)},"sessionDebugExternalId",0,function(e,t,n){let a=g(e,t,n)?.external_session_id;if(void 0!==a)return a;if(!p(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=p(e,t,n);return r?c(r).title:null}])}];
43
+
44
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1co3sok._.js.map
@@ -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"))},24834,e=>{"use strict";var t=e.i(89171),r=e.i(62294),n=e.i(10860),a=e.i(38636);async function i(e,{params:s}){try{let{id:e}=await s,i=r.bots.getById(e);if(!i)return t.NextResponse.json({error:"Bot not found"},{status:404});let o=(0,n.readSkillState)(i.name),l=(0,a.hashSnapshot)((0,a.buildSnapshotInput)(i,o,r.memories.latestFacts(i.id))),u=r.launchSnapshots.listByBot(e).map(e=>({id:e.id,bot_id:e.bot_id,created_at:e.created_at,hash:e.hash,transport:e.transport,snapshot:JSON.parse(e.snapshot)}));return t.NextResponse.json({bot:(0,r.serializeAgent)(i),skill:o,currentHash:l,snapshots:u})}catch(e){return console.error("Error fetching bot config:",e),t.NextResponse.json({error:"Failed to fetch bot config"},{status:500})}}e.s(["GET",0,i])},30124,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),i=e.i(61916),s=e.i(74677),o=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),f=e.i(26937),m=e.i(10372),v=e.i(93695),g=e.i(9580);e.i(52474);var R=e.i(220);let _=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/bots/[id]/config/route",pathname:"/api/bots/[id]/config",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/bots/[id]/config/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(24834),...{}}),{workAsyncStorage:S,workUnitAsyncStorage:y,serverHooks:x}=_;async function w(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),_.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let S="/api/bots/[id]/config/route";S=S.replace(/\/index$/,"")||"/";let y=await _.prepare(e,t,{srcPage:S,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:x,deploymentId:w,params:E,nextConfig:k,parsedUrl:b,isDraftMode:C,prerenderManifest:A,routerServerContext:T,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,resolvedPathname:O,clientReferenceManifest:I,serverActionsManifest:q}=y,H=(0,o.normalizeAppPath)(S),j=!!A.routes[O]&&(_.isDev||(0,g.isRouteCacheOwner)(O,_.cacheOwner,A.routes[O])),M=!!(A.dynamicRoutes[H]||j),U=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,b,!1):t.end("This page could not be found"),null);if(M&&!C){let e=A.dynamicRoutes[H];if(e&&!1===e.fallback&&!j){if(k.adapterPath)return await U();throw new v.NoFallbackError}}let D=null;!M||_.isDev||C||(D="/index"===(D=O)?"/":D);let F=!0===_.isDev||!M,L=M&&!F;q&&I&&(0,s.setManifestsSingleton)({page:S,clientReferenceManifest:I,serverActionsManifest:q});let B=e.method||"GET",$=(0,i.getTracer)(),K=$.getActiveScopeSpan(),z=!!(null==T?void 0:T.isWrappedByNextServer),G=!!(0,a.getRequestMeta)(e,"minimalMode"),W=(0,a.getRequestMeta)(e,"incrementalCache")||await _.getIncrementalCache(e,k,A,G);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let Z={params:E,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts,useCacheTimeout:k.experimental.useCacheTimeout},cacheComponents:!!k.cacheComponents,validationLevel:k.experimental.instantInsights.validationLevel,isDraftMode:C,supportsDynamicResponse:F,incrementalCache:W,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:k.cacheLife,staticPageGenerationTimeout:k.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>_.onRequestError(e,t,n,a,T)},sharedContext:{buildId:x,deploymentId:w}},V=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t)),Q=async({previousCacheEntry:r})=>{try{if(!G&&N&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await _.handle(J,Z);e.fetchMetrics=Z.renderOpts.fetchMetrics;let i=Z.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let s=Z.renderOpts.collectedTags;if(!M)return await (0,p.sendResponse)(V,X,a,i),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);s&&(t[m.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==Z.renderOpts.collectedRevalidate&&!(Z.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&Z.renderOpts.collectedRevalidate,n=void 0===Z.renderOpts.collectedExpire||Z.renderOpts.collectedExpire>=m.INFINITE_CACHE?!1!==r&&r>0?k.expireTime:void 0:Z.renderOpts.collectedExpire;return{value:{kind:R.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 _.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:N})},!1,T),t}},Y=async(a,s)=>{try{var o,l;let a=await _.handleResponse({req:e,nextConfig:k,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,responseGenerator:Q,waitUntil:n.waitUntil,isMinimalMode:G});if(!M)return;if((null==a||null==(o=a.value)?void 0:o.kind)!==R.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});G||t.setHeader("x-nextjs-cache",N?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);G&&M||i.delete(m.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,f.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(V,X,new Response(a.value.body,{headers:i,status:a.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:N})},!1,T),M)throw t;await (0,p.sendResponse)(V,X,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:i.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.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")||H,o=`${B} ${n}`;a.setAttributes({"next.route":n,"http.route":n,"next.span_name":o}),a.updateName(o),s&&s!==a&&(s.setAttribute("http.route",n),s.updateName(o))})()}};if(z&&K)await Y(K,void 0);else{let t=$.getActiveScopeSpan();await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${B} ${S}`,kind:i.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},e=>Y(e,t)),void 0,!z)}}e.s(["handler",0,w,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:y})},"routeModule",0,_,"serverHooks",0,x,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,y])},10860,e=>{"use strict";var t=e.i(22734),r=e.i(14747),n=e.i(52036);function a(e){if(!/^[A-Za-z0-9_-]+$/.test(e))return null;let a=(0,n.skillsRootPath)(),i=r.default.resolve(a,e,"SKILL.md");if(!i.startsWith(a+r.default.sep))return null;try{let e=t.default.readFileSync(i,"utf8");return e.trim()?e:null}catch{return null}}function i(e){return/^[A-Za-z0-9_-]+$/.test(e)}function s(e){if(!e)return null;let t=a(e);if(!t)return null;let r=t.match(/ends with the exact token\s+(\S+)/i);return r?r[1]:null}function o(e){return i(e)?`skills/${e}/SKILL.md`:null}e.s(["applySkillEndToken",0,function(e,t){let r=s(e);return r?t?t.trimEnd().endsWith(r)?t:t+"\n"+r:r:t},"isSupportedSkillName",0,i,"localSkillForBot",0,a,"readSkillState",0,function(e){let t=o(e);if(!t)return{path:null,present:!1,content:null,status:"unsupported"};let r=a(e);return null===r?{path:t,present:!1,content:null,status:"absent"}:{path:t,present:!0,content:r,status:"present"}},"skillEndToken",0,s,"writeSkillForBot",0,function(e,a){let i=o(e);if(!i)throw Error("Skill files need a bot name matching /^[A-Za-z0-9_-]+$/");let s=(0,n.skillsRootPath)(),l=r.default.resolve(s,e,"SKILL.md");if(!l.startsWith(s+r.default.sep))throw Error("Skill files need a bot name matching /^[A-Za-z0-9_-]+$/");if(!a.trim()){try{t.default.rmSync(l)}catch{}return{path:i,present:!1,content:null,status:"absent"}}return t.default.mkdirSync(r.default.dirname(l),{recursive:!0}),t.default.writeFileSync(l,a),{path:i,present:!0,content:a,status:"present"}}])},38636,(e,t,r)=>{let{createHash:n}=e.r(54799);function a(e){if(Array.isArray(e))return e.map(a);if(null!==e&&"object"==typeof e){let t={};for(let r of Object.keys(e).sort())t[r]=a(e[r]);return t}return e}function i(e){return JSON.stringify(a(e))}function s(e){return null==e?null:String(e)}function o(e){return null==e?null:String(e).trim()||null}t.exports={sortKeysDeep:a,canonicalJson:i,hashSnapshot:function(e){return n("sha256").update(i(e),"utf8").digest("hex")},buildSnapshotInput:function(e,t,r=null){let n=o(e.agent)||"hermes",a=o(e.deck_id);return{agent:n,avatar_accessory:s(e.avatar_accessory),avatar_color:s(e.avatar_color),avatar_eyes:s(e.avatar_eyes),avatar_hands:s(e.avatar_hands),deck_id:a,deck_name:o(e.deck_name),description:null===e.description||void 0===e.description?"":String(e.description),import_operation_id:s(e.import_operation_id),import_schema_version:s(e.import_schema_version),memories:null==r?null:r.map(e=>String(e)),name:String(e.name),needs_deck_selection:null===a||function(e){if(!0===e||1===e)return!0;if("string"==typeof e){let t=e.trim().toLowerCase();return"1"===t||"true"===t}return!1}(e.needs_deck_selection),skill_content:s(t.content),skill_path:s(t.path),skill_present:null===t.present||void 0===t.present?null:!!t.present,source_provider:s(e.source_provider),template_id:s(e.template_id),template_url:s(e.template_url),title:null===e.title||void 0===e.title?"":String(e.title),working_directory:o(e.working_directory)}}}}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1eh30sp._.js.map
@@ -0,0 +1,44 @@
1
+ module.exports=[20635,(e,t,n)=>{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,n)=>{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"))},76933,e=>{"use strict";var t=e.i(89171),n=e.i(62294),r=e.i(674);async function a(e,{params:i}){try{let a,{id:s,ref:o}=await i;try{let t=await e.json();if(!t||"object"!=typeof t||Array.isArray(t))throw Error("not an object");a=t}catch{throw new r.PinError("invalid_request","The body must be a JSON object.")}let d=Object.keys(a).find(e=>!["action","approve_write","content","conversation_id","idempotency_key"].includes(e));if(d)throw new r.PinError("invalid_request",`Unsupported field ${d}.`);if("ask"!==a.action&&"resume"!==a.action)throw new r.PinError("invalid_request",'action must be "ask" or "resume".');if("string"!=typeof a.conversation_id||!a.conversation_id)throw new r.PinError("invalid_request","conversation_id is required.");let l="string"==typeof a.idempotency_key?a.idempotency_key:"",{pin:u}=await (0,r.createPin)({requester:n.UI_OWNER_PRINCIPAL,sessionRef:o,agentId:s,action:a.action,approveWrite:!0===a.approve_write,idempotencyKey:l,conversationId:a.conversation_id}),p=await (0,r.sendPinTurn)({requester:n.UI_OWNER_PRINCIPAL,pinRef:u.id,content:a.content,idempotencyKey:l});return t.NextResponse.json({pin:(0,r.pinView)(p.pin),turn:p.turn,replayed:p.replayed},{status:p.replayed?200:202})}catch(e){if(e instanceof r.PinError)return t.NextResponse.json((0,r.pinErrorBody)(e),{status:e.status});return console.error("Error pinning session:",e instanceof Error?e.message:"unknown error"),t.NextResponse.json({error:{code:"internal_error",message:"The session could not be reached."}},{status:500})}}e.s(["POST",0,a])},94412,e=>{"use strict";var t=e.i(47909),n=e.i(74017),r=e.i(96250),a=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),p=e.i(47587),c=e.i(66012),_=e.i(70101),g=e.i(26937),v=e.i(10372),E=e.i(93695),m=e.i(9580);e.i(52474);var h=e.i(220);let b=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/bots/[id]/sessions/[ref]/pins/route",pathname:"/api/bots/[id]/sessions/[ref]/pins",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/bots/[id]/sessions/[ref]/pins/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(76933),...{}}),{workAsyncStorage:f,workUnitAsyncStorage:y,serverHooks:R}=b;async function S(e,t,r){r.requestMeta&&(0,a.setRequestMeta)(e,r.requestMeta),b.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/bots/[id]/sessions/[ref]/pins/route";f=f.replace(/\/index$/,"")||"/";let y=await b.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,deploymentId:S,params:A,nextConfig:w,parsedUrl:N,isDraftMode:O,prerenderManifest:C,routerServerContext:T,isOnDemandRevalidate:x,revalidateOnlyGenerated:k,resolvedPathname:q,clientReferenceManifest:I,serverActionsManifest:L}=y,P=(0,o.normalizeAppPath)(f),H=!!C.routes[q]&&(b.isDev||(0,m.isRouteCacheOwner)(q,b.cacheOwner,C.routes[q])),M=!!(C.dynamicRoutes[P]||H),D=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,N,!1):t.end("This page could not be found"),null);if(M&&!O){let e=C.dynamicRoutes[P];if(e&&!1===e.fallback&&!H){if(w.adapterPath)return await D();throw new E.NoFallbackError}}let F=null;!M||b.isDev||O||(F="/index"===(F=q)?"/":F);let U=!0===b.isDev||!M,$=M&&!U;L&&I&&(0,s.setManifestsSingleton)({page:f,clientReferenceManifest:I,serverActionsManifest:L});let j=e.method||"GET",W=(0,i.getTracer)(),J=W.getActiveScopeSpan(),K=!!(null==T?void 0:T.isWrappedByNextServer),B=!!(0,a.getRequestMeta)(e,"minimalMode"),X=(0,a.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,w,C,B);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let G={params:A,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts,useCacheTimeout:w.experimental.useCacheTimeout},cacheComponents:!!w.cacheComponents,validationLevel:w.experimental.instantInsights.validationLevel,isDraftMode:O,supportsDynamicResponse:U,incrementalCache:X,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:w.cacheLife,staticPageGenerationTimeout:w.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,a)=>b.onRequestError(e,t,r,a,T)},sharedContext:{buildId:R,deploymentId:S}},V=new d.NodeNextRequest(e),z=new d.NodeNextResponse(t),Y=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:n})=>{try{if(!B&&x&&k&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await b.handle(Y,G);e.fetchMetrics=G.renderOpts.fetchMetrics;let i=G.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let s=G.renderOpts.collectedTags;if(!M)return await (0,c.sendResponse)(V,z,a,i),null;{let e=await a.blob(),t=(0,_.toNodeOutgoingHttpHeaders)(a.headers);s&&(t[v.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==n&&n>0?w.expireTime:void 0:G.renderOpts.collectedExpire;return{value:{kind:h.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==n?void 0:n.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:x})},!1,T),t}},Q=async(a,s)=>{try{var o,d;let a=await b.handleResponse({req:e,nextConfig:w,cacheKey:F,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:k,responseGenerator:Z,waitUntil:r.waitUntil,isMinimalMode:B});if(!M)return;if((null==a||null==(o=a.value)?void 0:o.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(d=a.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",x?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,_.fromNodeOutgoingHttpHeaders)(a.value.headers);B&&M||i.delete(v.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,g.getCacheControlHeader)(a.cacheControl)),await (0,c.sendResponse)(V,z,new Response(a.value.body,{headers:i,status:a.value.status||200}));return}catch(t){if(t instanceof E.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:x})},!1,T),M)throw t;await (0,c.sendResponse)(V,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:i.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let n=W.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 r=n.get("next.route")||P,o=`${j} ${r}`;a.setAttributes({"next.route":r,"http.route":r,"next.span_name":o}),a.updateName(o),s&&s!==a&&(s.setAttribute("http.route",r),s.updateName(o))})()}};if(K&&J)await Q(J,void 0);else{let t=W.getActiveScopeSpan();await W.withPropagatedContext(e.headers,()=>W.trace(u.BaseServerSpan.handleRequest,{spanName:`${j} ${f}`,kind:i.SpanKind.SERVER,attributes:{"http.method":j,"http.target":e.url}},e=>Q(e,t)),void 0,!K)}}e.s(["handler",0,S,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:f,workUnitAsyncStorage:y})},"routeModule",0,b,"serverHooks",0,R,"workAsyncStorage",0,f,"workUnitAsyncStorage",0,y])},90027,e=>{"use strict";var t=e.i(62349),n=e.i(28420);let r=["active","ended","all"],a=["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,r=(0,n.emptyUsage)()){let i,s=null;try{s=e.source_snapshot?JSON.parse(e.source_snapshot):null}catch{}let p=l(e),c=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)??(p?.kind==="group"?p.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:c,resumable:null===e.released_at&&null!==e.request_id&&null!==e.request_kind&&a.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:p,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:r}}function p(e,t=(0,n.emptyUsage)()){let r=e.provider_created_at??e.created_at,a=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(r)}`,status:"open"===e.lifecycle?"active":"ended",resumable:!1,state:{availability:e.availability,lifecycle:e.lifecycle,resumable:a,busy:1===e.busy||!!e.running,synced_at:e.last_synced_at},created_at:r,ended_at:i,last_activity_at:Math.max(r,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 c(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,r){let a=g(e,t,r);if(!a){let a=_(e,t,r);if(!a)return;let{usage:i,samples:s}=(0,n.sessionUsageSamples)(e,t,r);return{...p(a,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(a.source_attempt_id,a.source_attempt_id,a.id),{usage:s,samples:o}=(0,n.sessionUsageSamples)(e,t,r);return{...u(a,s),attempts:i,usage_samples:o}},"isSessionFilter",0,function(e){return"string"==typeof e&&r.includes(e)},"listAgentSessions",0,function(e,t,r="all"){let a=e.prepare(`${i} WHERE b.agent_id = ? ${"active"===r?"AND b.released_at IS NULL":"ended"===r?"AND b.released_at IS NOT NULL":""}`).all(t),o=e.prepare(`${s} AND ps.agent_id = ? ${"active"===r?"AND ps.lifecycle = 'open'":"ended"===r?"AND ps.lifecycle = 'archived'":""}`).all(t),d=(0,n.agentSessionUsage)(e,t);return[...a.map(e=>u(e,d.get(e.id))),...o.map(e=>p(e,d.get(e.id)))].sort(c)},"sessionDebugExternalId",0,function(e,t,n){let r=g(e,t,n)?.external_session_id;if(void 0!==r)return r;if(!_(e,t,n))return;let a=e.prepare("SELECT provider_session_id FROM provider_sessions WHERE id = ? AND agent_id = ?").get(n,t);return a?.provider_session_id},"sessionTitle",0,function(e,t,n){let r=g(e,t,n);if(r)return u(r).title;let a=_(e,t,n);return a?p(a).title:null}])}];
43
+
44
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1fmsid0._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[20635,(e,t,a)=>{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,a)=>{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"))},23241,e=>{"use strict";var t=e.i(89171),a=e.i(62294),r=e.i(45383),n=e.i(142),s=e.i(17834);async function o(e,{params:i}){let{id:l}=await i,d=await e.json().catch(()=>null),u=d?.decision;if("allow"!==u&&"deny"!==u)return t.NextResponse.json({error:{code:"invalid_request",message:"decision must be allow or deny."}},{status:400});try{let e=(0,r.decideWakeGrantCommand)(l,u,{category:"human_owner",principal:a.UI_OWNER_PRINCIPAL});return t.NextResponse.json({wakeId:e.wake.id,status:e.wake.status,reasonCode:e.wake.reason_code,requestId:e.request?.id??null,requestState:e.request?.state??null,grantId:e.grant?.id??null})}catch(e){if(e instanceof n.WakeSafetyError)return t.NextResponse.json({error:{code:e.code,message:e.message}},{status:e.status});if(e instanceof s.WakeRouterError)return t.NextResponse.json({error:{code:e.code,message:e.message}},{status:"not_found"===e.code?404:400});return console.error("Wake grant decision failed:",e),t.NextResponse.json({error:{code:"internal_error",message:"The decision could not be recorded."}},{status:500})}}e.s(["POST",0,o])},65848,e=>{"use strict";var t=e.i(47909),a=e.i(74017),r=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),h=e.i(70101),R=e.i(26937),v=e.i(10372),g=e.i(93695),w=e.i(9580);e.i(52474);var f=e.i(220);let m=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/wakes/[id]/decision/route",pathname:"/api/wakes/[id]/decision",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/wakes/[id]/decision/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(23241),...{}}),{workAsyncStorage:x,workUnitAsyncStorage:E,serverHooks:C}=m;async function y(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),m.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/wakes/[id]/decision/route";x=x.replace(/\/index$/,"")||"/";let E=await m.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:C,deploymentId:y,params:A,nextConfig:T,parsedUrl:N,isDraftMode:P,prerenderManifest:S,routerServerContext:_,isOnDemandRevalidate:k,revalidateOnlyGenerated:b,resolvedPathname:q,clientReferenceManifest:O,serverActionsManifest:I}=E,H=(0,i.normalizeAppPath)(x),j=!!S.routes[q]&&(m.isDev||(0,w.isRouteCacheOwner)(q,m.cacheOwner,S.routes[q])),M=!!(S.dynamicRoutes[H]||j),U=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,N,!1):t.end("This page could not be found"),null);if(M&&!P){let e=S.dynamicRoutes[H];if(e&&!1===e.fallback&&!j){if(T.adapterPath)return await U();throw new g.NoFallbackError}}let D=null;!M||m.isDev||P||(D="/index"===(D=q)?"/":D);let F=!0===m.isDev||!M,K=M&&!F;I&&O&&(0,o.setManifestsSingleton)({page:x,clientReferenceManifest:O,serverActionsManifest:I});let L=e.method||"GET",W=(0,s.getTracer)(),$=W.getActiveScopeSpan(),B=!!(null==_?void 0:_.isWrappedByNextServer),G=!!(0,n.getRequestMeta)(e,"minimalMode"),V=(0,n.getRequestMeta)(e,"incrementalCache")||await m.getIncrementalCache(e,T,S,G);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let X={params:A,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts,useCacheTimeout:T.experimental.useCacheTimeout},cacheComponents:!!T.cacheComponents,validationLevel:T.experimental.instantInsights.validationLevel,isDraftMode:P,supportsDynamicResponse:F,incrementalCache:V,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:T.cacheLife,staticPageGenerationTimeout:T.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>m.onRequestError(e,t,r,n,_)},sharedContext:{buildId:C,deploymentId:y}},z=new l.NodeNextRequest(e),Z=new l.NodeNextResponse(t),J=d.NextRequestAdapter.fromNodeNextRequest(z,(0,d.signalFromNodeResponse)(t)),Q=async({previousCacheEntry:a})=>{try{if(!G&&k&&b&&!a)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,X);e.fetchMetrics=X.renderOpts.fetchMetrics;let s=X.renderOpts.pendingWaitUntil;s&&r.waitUntil&&(r.waitUntil(s),s=void 0);let o=X.renderOpts.collectedTags;if(!M)return await (0,p.sendResponse)(z,Z,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);o&&(t[v.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,r=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==a&&a>0?T.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await m.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:k})},!1,_),t}},Y=async(n,o)=>{try{var i,l;let n=await m.handleResponse({req:e,nextConfig:T,cacheKey:D,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:b,responseGenerator:Q,waitUntil:r.waitUntil,isMinimalMode:G});if(!M)return;if((null==n||null==(i=n.value)?void 0:i.kind)!==f.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",k?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),P&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);G&&M||s.delete(v.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,R.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(z,Z,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof g.NoFallbackError||await m.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:k})},!1,_),M)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:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let a=W.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==u.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")||H,i=`${L} ${r}`;n.setAttributes({"next.route":r,"http.route":r,"next.span_name":i}),n.updateName(i),o&&o!==n&&(o.setAttribute("http.route",r),o.updateName(i))})()}};if(B&&$)await Y($,void 0);else{let t=W.getActiveScopeSpan();await W.withPropagatedContext(e.headers,()=>W.trace(u.BaseServerSpan.handleRequest,{spanName:`${L} ${x}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},e=>Y(e,t)),void 0,!B)}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:E})},"routeModule",0,m,"serverHooks",0,C,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,E])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1i388e2._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[54799,(e,r,t)=>{r.exports=e.x("crypto",()=>require("crypto"))},22734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},70406,(e,r,t)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,r,t)=>{r.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,r,t)=>{r.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,r,t)=>{r.exports=e.x("node:stream",()=>require("node:stream"))},14747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},62349,16979,e=>{"use strict";let r=[{id:"purple",label:"Purple",hex:"#7C3AED"},{id:"blue",label:"Blue",hex:"#2563EB"},{id:"teal",label:"Teal",hex:"#0D9488"},{id:"green",label:"Green",hex:"#16A34A"},{id:"amber",label:"Amber",hex:"#B45309"},{id:"orange",label:"Orange",hex:"#EA580C"},{id:"pink",label:"Pink",hex:"#DB2777"},{id:"slate",label:"Slate",hex:"#64748B"}],t=[{id:"dots",label:"Round dots"},{id:"sleepy",label:"Sleepy"},{id:"happy",label:"Happy arcs"},{id:"wide",label:"Wide ovals"}],n=[{id:"folded",label:"Folded arms"},{id:"reaching",label:"Reaching right"},{id:"waving",label:"Waving"}],i=[{id:"none",label:"None"},{id:"crown",label:"Crown"},{id:"glasses",label:"Glasses"},{id:"headset",label:"Headset"},{id:"hat",label:"Hat"},{id:"bow",label:"Bow"}],a={color:"purple",eyes:"dots",hands:"folded",accessory:"none"},s={...a,accessory:"crown"};function o(e){return"chief-of-staff"===String(e??"").trim().toLowerCase()}function l(e,r){return"string"==typeof r&&e.some(e=>e.id===r)}function c(e){let c=l(r,e.avatar_color)?e.avatar_color:a.color,d=l(t,e.avatar_eyes)?e.avatar_eyes:a.eyes;return{color:c,eyes:d,hands:l(n,e.avatar_hands)?e.avatar_hands:a.hands,accessory:l(i,e.avatar_accessory)?e.avatar_accessory:o(e.name)?s.accessory:a.accessory}}e.s(["isChiefOfStaffName",0,o,"resolveAvatar",0,c,"validateAvatarInput",0,function(e){let a=[],s={};if(null==e)return{errors:a,fields:s};if("object"!=typeof e||Array.isArray(e))return{errors:["Invalid avatar: expected an object with color, eyes, hands, and accessory."],fields:s};if(void 0!==e.color)try{s.avatar_color=function(e){if(l(r,e))return e;throw Error(`Invalid avatar color: ${JSON.stringify(String(e))}. Expected one of ${r.map(e=>e.id).join("|")}.`)}(e.color)}catch(e){a.push(e instanceof Error?e.message:String(e))}if(void 0!==e.eyes)try{s.avatar_eyes=function(e){if(l(t,e))return e;throw Error(`Invalid avatar eyes: ${JSON.stringify(String(e))}. Expected one of ${t.map(e=>e.id).join("|")}.`)}(e.eyes)}catch(e){a.push(e instanceof Error?e.message:String(e))}if(void 0!==e.hands)try{s.avatar_hands=function(e){if(l(n,e))return e;throw Error(`Invalid avatar hands: ${JSON.stringify(String(e))}. Expected one of ${n.map(e=>e.id).join("|")}.`)}(e.hands)}catch(e){a.push(e instanceof Error?e.message:String(e))}if(void 0!==e.accessory)try{s.avatar_accessory=function(e){if(l(i,e))return e;throw Error(`Invalid avatar accessory: ${JSON.stringify(String(e))}. Expected one of ${i.map(e=>e.id).join("|")}.`)}(e.accessory)}catch(e){a.push(e instanceof Error?e.message:String(e))}return{errors:a,fields:s}}],16979);let d=["hermes","cursor","claude","codex","muse"],u={hermes:"Hermes",cursor:"Cursor",claude:"Claude",codex:"Codex",muse:"Muse Code"},f="hermes",_={hermes:"hermes-gateway",cursor:"agent-deck-run",claude:"agent-deck-run",codex:"agent-deck-run",muse:"agent-deck-run"};function g(e){return _[e]}class p extends Error{code="invalid-agent";constructor(e){super(`Invalid agent: ${JSON.stringify(String(e))}. Expected one of ${d.join("|")}.`)}}class h extends Error{code="invalid-deck";constructor(e){super(`Invalid deck ID: ${JSON.stringify("string"==typeof e?e:String(e))}. Select a deck from the configured Agent Deck server.`)}}let m="Deck ID is required. Select an Agent Deck before saving this agent.",k=`Agent is required. Expected one of ${d.join("|")}.`,y="Fields runtime/agent_client are no longer accepted. Send agent (hermes|cursor|claude|codex|muse) and deck_id instead.",v="deck_name is a read-only legacy reference. Select a deck_id from the configured Agent Deck server instead.";function x(e){if(null==e)return null;let r=String(e).trim();if(!r)return null;if(d.includes(r))return r;throw new p(e)}function b(e){return null==e?null:String(e).trim()||null}function E(e){if(null==e)return null;if("string"!=typeof e)throw new h(e);let r=e.trim();if(!r)return null;if(!function(e){if(e.length>200||/\s/.test(e))return!1;for(let r=0;r<e.length;r++){let t=e.charCodeAt(r);if(t<32||127===t)return!1}return!0}(r))throw new h(e);return r}function w(e){if(!0===e||1===e)return!0;if("string"==typeof e){let r=e.trim().toLowerCase();return"1"===r||"true"===r}return!1}function S(e){let r,t=f,n=!0;try{t=x(e.agent)??f}catch{n=!1}let i=b(e.deck_id),a=b(e.deck_name),s=b(e.working_directory);if("launch_profile"in e){let t=e.launch_profile;r="direct"===t||"agent_deck"===t?t:null}else r=i?"agent_deck":null;let o="direct"!==r&&(null===i||w(e.needs_deck_selection)),l=null;return n?r?!function(e){if(!("session_scope_kind"in e))return!0;let r=e.session_scope_kind,t=[];try{t=e.session_scope_items?JSON.parse(e.session_scope_items):[]}catch{return!1}if(!Array.isArray(t))return!1;let n=t.filter(e=>"string"==typeof e&&e.trim()).length;return"all_provider_sessions"===r?0===n:("workspaces"===r||"sessions"===r)&&n>0}(e)?l="session_scope":"agent_deck"===r&&o?l="deck":"direct"===r&&"hermes-gateway"!==g(t)&&(l="direct_runtime"):l="launch_profile":l="agent",{agent:t,deck_id:"direct"===r?null:i,deck_name:a,working_directory:"direct"===r?null:s,needs_deck_selection:o,launch_profile:r,needs_launch_profile:null===r,launchable:null===l,launch_blocker:l}}let A=["codex","claude","cursor","muse"];function j(e){let r=b(e);return r&&A.includes(r)?r:null}let R=["runtime","agent_client","persistent_runtime","coding_runtime","needs_deck_reselection"];e.s(["AGENTS",0,d,"AGENT_LABELS",0,u,"DECK_REQUIRED_ERROR",0,m,"DEFAULT_AGENT",0,f,"LEGACY_DECK_NAME_FIELD_ERROR",0,v,"LEGACY_RUNTIME_FIELD_ERROR",0,y,"agentLabel",0,function(e){return d.includes(String(e))?u[e]:String(e??"")},"agentTransport",0,g,"applyAgentUpdate",0,function(e,r){let t=S(e),n=r.agent??t.agent,i=void 0!==r.working_directory?r.working_directory:t.working_directory;return void 0!==r.deck_id?{agent:n,deck_id:r.deck_id,deck_name:null,working_directory:i,needs_deck_selection:!1}:{agent:n,deck_id:t.deck_id,deck_name:t.deck_name,working_directory:i,needs_deck_selection:t.needs_deck_selection}},"buildAvailabilityPayload",0,function(e){let r=[];for(let t of d)e.includes(t)&&r.push({agent:t,label:u[t],launchable:!0});return{agents:r}},"hasAgentUpdate",0,function(e){return["agent","deck_id","working_directory","runtime","agent_client","deck_name"].some(r=>void 0!==e[r])},"migrateLegacyAgentFields",0,function(e){let r=b(e.deck_id),t=b(e.deck_name),n=b(e.working_directory);try{let a=x(e.agent);if(a){var i;return{agent:a,deck_id:r,deck_name:t,working_directory:n,needs_deck_selection:null===r||(i=e.needs_deck_selection,w(i)),migrated:!1}}}catch{}let a=b(e.runtime),s=f,o=w(e.needs_deck_reselection);if("agent-deck"===a){let r=j(e.agent_client);r?s=r:o=!0}else if("hermes"!==a){let r=j(e.coding_runtime);r&&t&&n&&(s=r,o=!0)}return{agent:s,deck_id:r,deck_name:t,working_directory:n,needs_deck_selection:null===r||o,migrated:!0}},"normalizeAgent",0,x,"parseRequestDeckId",0,E,"resolveAgent",0,S,"serializeBot",0,function(e){let r=S(e),t={...e};for(let e of R)delete t[e];return{...t,agent:r.agent,deck_id:r.deck_id,deck_name:r.deck_name,working_directory:r.working_directory,needs_deck_selection:r.needs_deck_selection,launch_profile:r.launch_profile,needs_launch_profile:r.needs_launch_profile,launchable:r.launchable,launch_blocker:r.launch_blocker,avatar_config:c(e)}},"validateUpdateAgent",0,function(e){let r=[],t={};if((void 0!==e.runtime||void 0!==e.agent_client)&&r.push(y),void 0!==e.deck_name&&r.push(v),void 0!==e.agent)try{let n=x(e.agent);n?t.agent=n:r.push(k)}catch(e){r.push(e instanceof Error?e.message:String(e))}if(void 0!==e.deck_id)try{let n=E(e.deck_id);n?t.deck_id=n:r.push(m)}catch(e){r.push(e instanceof Error?e.message:String(e))}return void 0!==e.working_directory&&(t.working_directory=b(e.working_directory)),{errors:r,fields:t}}],62349)},52036,e=>{"use strict";var r=e.i(14747);function t(e=process.env){let n=(e.BOTMANCERS_HOME||"").trim();return n?r.default.resolve(n):null}function n(e,r){return(e[r]||"").trim()||null}e.s(["botmancersHome",0,t,"dbPath",0,function(e=process.env){let i=n(e,"BOTMANCERS_DB_PATH");if(i)return i;let a=t(e);return a?r.default.join(a,"data/botmancers.db"):"botmancers.db"},"filesRootPath",0,function(e=process.env){let i=n(e,"BOTMANCERS_FILES_ROOT");if(i)return r.default.resolve(i);let a=t(e);return a?r.default.join(a,"files"):r.default.resolve(process.cwd(),"files")},"skillsRootPath",0,function(e=process.env){let i=n(e,"BOTMANCERS_SKILLS_ROOT");if(i)return r.default.resolve(i);let a=t(e);return a?r.default.join(a,"skills"):r.default.resolve(process.cwd(),"skills")},"waitLogPath",0,function(e=process.env){let i=n(e,"HERMES_WAIT_LOG_PATH");if(i)return i;let a=t(e);return a?r.default.join(a,"logs/specialist-waits.jsonl"):r.default.join(process.cwd(),".temporal","specialist-waits.jsonl")}])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1kvvs4u._.js.map
@@ -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"))},61335,e=>{"use strict";var t=e.i(89171),r=e.i(62294);async function a(){try{let e=r.mcpServers.list().map(e=>({...e,args:JSON.parse(e.args)}));return t.NextResponse.json(e)}catch(e){return console.error("Error listing MCP servers:",e),t.NextResponse.json({error:"Failed to list MCP servers"},{status:500})}}async function n(e){try{let a=await e.json(),n=a.name?String(a.name).trim():"",s=a.command?String(a.command).trim():"",o=Array.isArray(a.args)?a.args.map(e=>String(e)):[];if(!n||!s)return t.NextResponse.json({error:"Name and command are required"},{status:400});let i=r.mcpServers.create(n,s,o);return t.NextResponse.json({...i,args:o})}catch(e){return console.error("Error storing MCP server:",e),t.NextResponse.json({error:"Failed to store MCP server"},{status:500})}}e.s(["GET",0,a,"POST",0,n])},12508,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),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),g=e.i(9580);e.i(52474);var x=e.i(220);let f=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/mcp/route",pathname:"/api/mcp",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/mcp/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(61335),...{}}),{workAsyncStorage:C,workUnitAsyncStorage:E,serverHooks:w}=f;async function y(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),f.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let C="/api/mcp/route";C=C.replace(/\/index$/,"")||"/";let E=await f.prepare(e,t,{srcPage:C,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,deploymentId:y,params:A,nextConfig:S,parsedUrl:T,isDraftMode:N,prerenderManifest:P,routerServerContext:O,isOnDemandRevalidate:b,revalidateOnlyGenerated:q,resolvedPathname:_,clientReferenceManifest:M,serverActionsManifest:H}=E,j=(0,i.normalizeAppPath)(C),I=!!P.routes[_]&&(f.isDev||(0,g.isRouteCacheOwner)(_,f.cacheOwner,P.routes[_])),k=!!(P.dynamicRoutes[j]||I),U=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,T,!1):t.end("This page could not be found"),null);if(k&&!N){let e=P.dynamicRoutes[j];if(e&&!1===e.fallback&&!I){if(S.adapterPath)return await U();throw new m.NoFallbackError}}let D=null;!k||f.isDev||N||(D="/index"===(D=_)?"/":D);let F=!0===f.isDev||!k,K=k&&!F;H&&M&&(0,o.setManifestsSingleton)({page:C,clientReferenceManifest:M,serverActionsManifest:H});let L=e.method||"GET",$=(0,s.getTracer)(),B=$.getActiveScopeSpan(),G=!!(null==O?void 0:O.isWrappedByNextServer),V=!!(0,n.getRequestMeta)(e,"minimalMode"),X=(0,n.getRequestMeta)(e,"incrementalCache")||await f.getIncrementalCache(e,S,P,V);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let W={params:A,previewProps:P.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts,useCacheTimeout:S.experimental.useCacheTimeout},cacheComponents:!!S.cacheComponents,validationLevel:S.experimental.instantInsights.validationLevel,isDraftMode:N,supportsDynamicResponse:F,incrementalCache:X,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:S.cacheLife,staticPageGenerationTimeout:S.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>f.onRequestError(e,t,a,n,O)},sharedContext:{buildId:w,deploymentId:y}},z=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),Z=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t)),Q=async({previousCacheEntry:r})=>{try{if(!V&&b&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await f.handle(Z,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let s=W.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let o=W.renderOpts.collectedTags;if(!k)return await (0,p.sendResponse)(z,J,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);o&&(t[v.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==r&&r>0?S.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:x.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 f.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:b})},!1,O),t}},Y=async(n,o)=>{try{var i,l;let n=await f.handleResponse({req:e,nextConfig:S,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:q,responseGenerator:Q,waitUntil:a.waitUntil,isMinimalMode:V});if(!k)return;if((null==n||null==(i=n.value)?void 0:i.kind)!==x.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",b?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);V&&k||s.delete(v.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,R.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(z,J,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await f.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:b})},!1,O),k)throw t;await (0,p.sendResponse)(z,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:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.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")||j,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(G&&B)await Y(B,void 0);else{let t=$.getActiveScopeSpan();await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${L} ${C}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},e=>Y(e,t)),void 0,!G)}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:E})},"routeModule",0,f,"serverHooks",0,w,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,E])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1qbgs3m._.js.map
@@ -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"))},46296,e=>{"use strict";var t=e.i(89171),r=e.i(62294),a=e.i(27754);async function n(e){let n;try{n=await e.json()}catch{return t.NextResponse.json({error:"Expected a JSON object with id or ids."},{status:400})}let i=(0,a.parseDeleteIds)(n);if(!i.ok)return t.NextResponse.json({error:i.error},{status:400});try{return t.NextResponse.json(r.bots.deletionPreview(i.ids))}catch(e){return console.error("Error previewing bot deletion:",e),t.NextResponse.json({error:"Failed to preview deletion"},{status:500})}}e.s(["POST",0,n])},50634,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),R=e.i(26937),v=e.i(10372),f=e.i(93695),g=e.i(9580);e.i(52474);var w=e.i(220);let m=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/bots/delete-preview/route",pathname:"/api/bots/delete-preview",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/bots/delete-preview/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(46296),...{}}),{workAsyncStorage:x,workUnitAsyncStorage:E,serverHooks:y}=m;async function C(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),m.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/bots/delete-preview/route";x=x.replace(/\/index$/,"")||"/";let E=await m.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:C,params:b,nextConfig:A,parsedUrl:S,isDraftMode:T,prerenderManifest:N,routerServerContext:k,isOnDemandRevalidate:P,revalidateOnlyGenerated:O,resolvedPathname:q,clientReferenceManifest:_,serverActionsManifest:j}=E,H=(0,s.normalizeAppPath)(x),I=!!N.routes[q]&&(m.isDev||(0,g.isRouteCacheOwner)(q,m.cacheOwner,N.routes[q])),D=!!(N.dynamicRoutes[H]||I),M=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,S,!1):t.end("This page could not be found"),null);if(D&&!T){let e=N.dynamicRoutes[H];if(e&&!1===e.fallback&&!I){if(A.adapterPath)return await M();throw new f.NoFallbackError}}let U=null;!D||m.isDev||T||(U="/index"===(U=q)?"/":U);let F=!0===m.isDev||!D,B=D&&!F;j&&_&&(0,o.setManifestsSingleton)({page:x,clientReferenceManifest:_,serverActionsManifest:j});let K=e.method||"GET",L=(0,i.getTracer)(),$=L.getActiveScopeSpan(),G=!!(null==k?void 0:k.isWrappedByNextServer),V=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await m.getIncrementalCache(e,A,N,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:b,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts,useCacheTimeout:A.experimental.useCacheTimeout},cacheComponents:!!A.cacheComponents,validationLevel:A.experimental.instantInsights.validationLevel,isDraftMode:T,supportsDynamicResponse:F,incrementalCache:W,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:A.cacheLife,staticPageGenerationTimeout:A.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>m.onRequestError(e,t,a,n,k)},sharedContext:{buildId:y,deploymentId:C}},z=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),Z=d.NextRequestAdapter.fromNodeNextRequest(z,(0,d.signalFromNodeResponse)(t)),Q=async({previousCacheEntry:r})=>{try{if(!V&&P&&O&&!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(Z,X);e.fetchMetrics=X.renderOpts.fetchMetrics;let i=X.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let o=X.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(z,J,n,i),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);o&&(t[v.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,a=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==r&&r>0?A.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:w.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:x,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:P})},!1,k),t}},Y=async(n,o)=>{try{var s,l;let n=await m.handleResponse({req:e,nextConfig:A,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:O,responseGenerator:Q,waitUntil:a.waitUntil,isMinimalMode:V});if(!D)return;if((null==n||null==(s=n.value)?void 0:s.kind)!==w.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",P?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);V&&D||i.delete(v.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,R.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(z,J,new Response(n.value.body,{headers:i,status:n.value.status||200}));return}catch(t){if(t instanceof f.NoFallbackError||await m.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:P})},!1,k),D)throw t;await (0,p.sendResponse)(z,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:i.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=L.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")||H,s=`${K} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":s}),n.updateName(s),o&&o!==n&&(o.setAttribute("http.route",a),o.updateName(s))})()}};if(G&&$)await Y($,void 0);else{let t=L.getActiveScopeSpan();await L.withPropagatedContext(e.headers,()=>L.trace(u.BaseServerSpan.handleRequest,{spanName:`${K} ${x}`,kind:i.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},e=>Y(e,t)),void 0,!G)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:E})},"routeModule",0,m,"serverHooks",0,y,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,E])},27754,e=>{"use strict";e.s(["blockedReasonCopy",0,function(e){return"chief"===e?"Chief of Staff cannot be deleted.":"Working now — stop it or let it finish before deleting."},"parseDeleteIds",0,function(e){if(!e||"object"!=typeof e||Array.isArray(e))return{ok:!1,error:"Expected a JSON object with id or ids."};let t=void 0!==e.id,r=void 0!==e.ids;if(t&&r)return{ok:!1,error:"Send either id or ids, not both."};if(t)return"string"==typeof e.id&&e.id.trim()?{ok:!0,ids:[e.id.trim()]}:{ok:!1,error:"Bot id is required"};if(!r)return{ok:!1,error:"Bot id is required"};if(!Array.isArray(e.ids))return{ok:!1,error:"ids must be an array of agent ids."};if(0===e.ids.length)return{ok:!1,error:"Select at least one agent."};if(e.ids.length>500)return{ok:!1,error:"Delete at most 500 agents at once."};let a=[];for(let t of e.ids){if("string"!=typeof t||!t.trim())return{ok:!1,error:"Every id must be a non-empty string."};a.push(t.trim())}return new Set(a).size!==a.length?{ok:!1,error:"ids must be unique."}:{ok:!0,ids:a}}])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1s6h1sj._.js.map
@@ -1,7 +1,7 @@
1
- module.exports=[33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},39229,51749,29370,e=>{"use strict";var t=e.i(33405),r=e.i(62349),n=e.i(54799),s=e.i(22734),i=e.i(14747),o=e.i(52036);let a="/v1/chat/completions";class l extends Error{code;status;constructor(e,t,r){super(t),this.name="HermesError",this.code=e,this.status=r}}function c(e=process.env){var t;let r,n=(e.HERMES_API_SERVER_KEY||"").trim();if(!n)return null;let s=(e.HERMES_BASE_URL||"").trim()||"http://127.0.0.1:8642",i=(e.HERMES_SESSION_PREFIX||"").trim()||"botmancer-specialist-",o=(e.HERMES_MODEL||"").trim()||"hermes";return{baseUrl:s.replace(/\/+$/,""),apiKey:n,timeoutMs:(r=Number(t=e.HERMES_TIMEOUT_MS),void 0!==t&&""!==t&&Number.isFinite(r)&&r>0?Math.floor(r):24e4),sessionPrefix:i,model:o}}function u(e,t){return`${t.sessionPrefix}${e}`}function d(e,t){return new l("aborted","Hermes request aborted")}async function f(e){var t;let r,n,{config:s,profilePath:i,sessionId:o,messages:a,signal:c}=e,u=e.fetchImpl||((e,t)=>fetch(e,t)),f=(t=s.baseUrl,r=t.replace(/\/+$/,""),n=i.startsWith("/")?i:`/${i}`,`${r}${n}`),h=new AbortController,p=!1,g=setTimeout(()=>{p=!0,h.abort()},s.timeoutMs);g.unref&&g.unref();let m=()=>h.abort();if(c){if(c.aborted)throw clearTimeout(g),d(c,s.timeoutMs);c.addEventListener("abort",m,{once:!0})}try{let e,t;try{e=await u(f,{method:"POST",headers:{Authorization:`Bearer ${s.apiKey}`,"Content-Type":"application/json","X-Hermes-Session-Id":o},body:JSON.stringify({model:s.model,stream:!1,messages:a}),signal:h.signal})}catch(e){if(p)throw new l("timeout",`Hermes request timed out after ${s.timeoutMs} ms`);if(h.signal.aborted)throw d(c??h.signal,s.timeoutMs);throw new l("network",`Hermes request failed: ${String(e)}`)}let r="";try{r=await e.text()}catch{r=""}if(!e.ok){let t=`Hermes turn failed with status ${e.status}`;try{let e=JSON.parse(r);e?.error?.message&&(t=e.error.message)}catch{let e=r.trim().slice(0,120);e&&(t=`${t}: ${e}`)}throw new l("http",t,e.status)}try{t=JSON.parse(r)}catch{throw new l("protocol","Hermes reply was not JSON",e.status)}return t.choices?.[0]?.message?.content?.trim()||"No response"}finally{clearTimeout(g),c&&c.removeEventListener("abort",m)}}function h(e,t,r=null){return{category:e,code:r,message:t.slice(0,500)}}function p(e){let t=null,r=null;return{promise:new Promise(n=>{if(e.signal&&(r=()=>n(h("cancelled","The attempt was cancelled.")),e.signal.aborted?r():e.signal.addEventListener("abort",r,{once:!0})),"number"==typeof e.deadlineAt){let r=e.deadlineAt,s=()=>{let e=r-Date.now();e<=0?n(h("timed_out","The attempt passed its deadline.")):(t=setTimeout(s,Math.min(e,0x7fffffff))).unref&&t.unref()};s()}}),dispose:()=>{t&&clearTimeout(t),r&&e.signal&&e.signal.removeEventListener("abort",r)}}}function g(e){return e.signal?.aborted?h("cancelled","The attempt was cancelled before launch."):"number"==typeof e.deadlineAt&&Date.now()>=e.deadlineAt?h("timed_out","The attempt passed its deadline before launch."):null}e.s(["HERMES_DEFAULT_CHAT_PATH",0,a,"HermesError",0,l,"appendHermesWaitLog",0,function(e){try{let t=function(e=process.env){return(0,o.waitLogPath)(e)}();s.default.mkdirSync(i.default.dirname(t),{recursive:!0}),s.default.appendFileSync(t,JSON.stringify({at:new Date().toISOString(),...e})+"\n")}catch(e){console.error("wait log failed",e)}},"hermesChat",0,f,"hermesFreshSessionIdForBot",0,function(e,t){return`${u(e,t)}-x-${(0,n.randomUUID)()}`},"hermesProfilePathForBot",0,function(e){let t=(e.hermes_profile||"").trim();if(!t)return a;let r=t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"");return r?`/p/${r}${a}`:a},"hermesSessionIdForBot",0,u,"loadHermesConfig",0,c],51749),e.s(["attemptFailure",0,h,"freezeAttemptInput",0,function(e){return Object.freeze({...e,target:Object.freeze({...e.target}),prompt:Object.freeze("text"===e.prompt.kind?{...e.prompt}:{...e.prompt,history:Object.freeze(e.prompt.history.map(e=>Object.freeze({...e})))}),sessionBinding:e.sessionBinding?Object.freeze({...e.sessionBinding}):null,correlation:Object.freeze({...e.correlation})})},"interruption",0,p,"preLaunchInterruption",0,g],29370);let m=["codex","claude","cursor","muse"];class w extends Error{code="invalid-runtime";constructor(e){super(`Invalid agent-deck runtime: ${JSON.stringify(String(e))}. Expected one of ${m.join("|")}.`)}}function y(e){if("string"==typeof e&&m.includes(e))return e;throw new w(e)}let E=["running","ended","error","died"],v=function(e){let[r,...n]=e;return new Promise(e=>{(0,t.execFile)(r,n,{maxBuffer:4194304},(t,n,s)=>{t&&"ENOENT"===t.code?e({stdout:"",stderr:`Command not found: ${r}`,exitCode:127}):e({stdout:String(n??""),stderr:String(s??""),exitCode:t&&"number"==typeof t.code?t.code:+!!t})})})};async function k(e){let t=function(e){let t=y(e.client);if(!e.deck)throw Error("agent-deck run requires a deck.");if(!e.cwd)throw Error("agent-deck run requires --cwd.");let r="string"==typeof e.prompt&&e.prompt.length>0,n="string"==typeof e.promptFile&&e.promptFile.length>0;if(r===n)throw Error("agent-deck run requires exactly one of --prompt/--prompt-file.");let s=["agent-deck","run",e.deck,"--client",t,"--cwd",e.cwd];return r&&s.push("--prompt",e.prompt),n&&s.push("--prompt-file",e.promptFile),s.push("--tools",e.tools??"readonly"),e.logPath&&s.push("--log",e.logPath),e.resume&&s.push("--resume",e.resume),e.detach&&s.push("--detach"),s}(e),r=await v(t);if(0!==r.exitCode)throw Error(`agent-deck run failed to start (exit ${r.exitCode}): ${r.stderr.slice(0,300)||r.stdout.slice(0,300)}`);return{...function(e){let t=e.match(/run\s+(\S+)\s+detached:\s+pid\s+(\S+)\s+log\s+(\S+)/);if(!t)throw Error(`Unrecognized agent-deck detach output: ${JSON.stringify(e.slice(0,200))}.`);return{runId:t[1],pid:t[2],logPath:t[3]}}(r.stdout),argv:t}}async function S(e){let t=await v(function(e){if(!e)throw Error("agent-deck run status requires a runId.");return["agent-deck","run","status",e,"--json"]}(e));if(0!==t.exitCode)throw Error(`agent-deck run status failed for ${e} (exit ${t.exitCode}): ${t.stderr.slice(0,300)}`);return function(e){let t;try{t=JSON.parse(e)}catch{throw Error("agent-deck run status did not return JSON.")}let r=String(t.state??"");if(!E.includes(r))throw Error(`Unknown agent-deck run state: ${JSON.stringify(r)}.`);let n=t.sessionId;return{runId:String(t.runId??""),deck:String(t.deck??""),client:String(t.client??""),state:r,sessionId:"string"==typeof n&&n.length>0?n:null,logPath:"string"==typeof t.logPath?t.logPath:null}}(t.stdout)}async function $(e,t){let r=await v(function(e,t){if(!e)throw Error("agent-deck run log requires a runId.");let r=["agent-deck","run","log",e,"--json"];return t?.tail!==void 0&&r.push("--tail",String(t.tail)),t?.follow&&r.push("--follow"),r}(e,t));if(0!==r.exitCode)throw Error(`agent-deck run log failed for ${e} (exit ${r.exitCode}): ${r.stderr.slice(0,300)}`);let n=function(e){let t=null,r=null,n=!1,s=null;for(let i of e.split("\n")){let e,o=i.trim();if(o){try{e=JSON.parse(o)}catch{continue}if("result"===e.t){let n=e.sessionId??e.session_id;"string"==typeof e.result&&e.result.length>0?(t={result:e.result,sessionId:"string"==typeof n&&n.length>0?n:null},r=null):(t=null,r=function(e){if(!Object.prototype.hasOwnProperty.call(e,"result"))return"missing";let t=e.result;return null===t?"null":Array.isArray(t)?"array":""===t?"empty string":typeof t}(e))}else if("end"===e.t)n=!0;else if("error"===e.t){let t=e.message??e.error;s="string"==typeof t&&t.length>0?t:"unknown log error"}}}return{result:t,resultMismatch:r,ended:n,errorMessage:s}}(r.stdout);return{raw:r.stdout,...n}}class b extends Error{category;constructor(e,t){super(t),this.category=e}}async function A(e){let t=await $(e,{follow:!0});if(t.errorMessage)throw new b("runtime_failed",`agent-deck run ${e} failed: ${t.errorMessage.slice(0,300)}`);if(!t.ended)throw new b("runtime_failed",`agent-deck run ${e} ended without a terminal log event; failing closed.`);let r=await S(e);if("error"===r.state||"died"===r.state)throw new b("runtime_failed",`agent-deck run ${e} ${r.state}`);if(!t.result)throw new b("result_contract",`agent-deck run ${e} result contract mismatch: expected a non-empty string result, got ${t.resultMismatch??"no result event"}.`);return{status:r,result:t.result.result,sessionId:r.sessionId??t.result.sessionId}}let x={codex:["codex","--version"],claude:["claude","--version"],cursor:["cursor","--version"],muse:["muse","--version"]},I=["agent-deck","--version"];async function _(e){let t=x[y(e)];try{let e=await v(t);if(0!==e.exitCode)return!1;let r=await v(I);return 0===r.exitCode}catch{return!1}}async function T(e){if("hermes-gateway"===(0,r.agentTransport)(e))try{return null!==c()}catch{return!1}return _(e)}async function O(){let e=[];for(let t of r.AGENTS)await T(t)&&e.push(t);return e}function R(e){if("text"===e.kind)return e.text;let t=e.history.map(e=>`[${e.fromAgent?"you":e.speakerLabel}] ${e.content}`).join("\n\n");return`${e.system}
1
+ module.exports=[33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},39229,51749,29370,e=>{"use strict";var t=e.i(33405),r=e.i(62349),n=e.i(54799),s=e.i(22734),i=e.i(14747),o=e.i(52036);let a="/v1/chat/completions";class l extends Error{code;status;constructor(e,t,r){super(t),this.name="HermesError",this.code=e,this.status=r}}function u(e=process.env){var t;let r,n=(e.HERMES_API_SERVER_KEY||"").trim();if(!n)return null;let s=(e.HERMES_BASE_URL||"").trim()||"http://127.0.0.1:8642",i=(e.HERMES_SESSION_PREFIX||"").trim()||"botmancer-specialist-",o=(e.HERMES_MODEL||"").trim()||"hermes";return{baseUrl:s.replace(/\/+$/,""),apiKey:n,timeoutMs:(r=Number(t=e.HERMES_TIMEOUT_MS),void 0!==t&&""!==t&&Number.isFinite(r)&&r>0?Math.floor(r):24e4),sessionPrefix:i,model:o}}function c(e,t){return`${t.sessionPrefix}${e}`}function d(e,t){return new l("aborted","Hermes request aborted")}async function f(e){var t;let r,n,{config:s,profilePath:i,sessionId:o,messages:a,signal:u}=e,c=e.fetchImpl||((e,t)=>fetch(e,t)),f=(t=s.baseUrl,r=t.replace(/\/+$/,""),n=i.startsWith("/")?i:`/${i}`,`${r}${n}`),h=new AbortController,p=!1,g=setTimeout(()=>{p=!0,h.abort()},s.timeoutMs);g.unref&&g.unref();let m=()=>h.abort();if(u){if(u.aborted)throw clearTimeout(g),d(u,s.timeoutMs);u.addEventListener("abort",m,{once:!0})}try{let e,t;try{e=await c(f,{method:"POST",headers:{Authorization:`Bearer ${s.apiKey}`,"Content-Type":"application/json","X-Hermes-Session-Id":o},body:JSON.stringify({model:s.model,stream:!1,messages:a}),signal:h.signal})}catch(e){if(p)throw new l("timeout",`Hermes request timed out after ${s.timeoutMs} ms`);if(h.signal.aborted)throw d(u??h.signal,s.timeoutMs);throw new l("network",`Hermes request failed: ${String(e)}`)}let r="";try{r=await e.text()}catch{r=""}if(!e.ok){let t=`Hermes turn failed with status ${e.status}`;try{let e=JSON.parse(r);e?.error?.message&&(t=e.error.message)}catch{let e=r.trim().slice(0,120);e&&(t=`${t}: ${e}`)}throw new l("http",t,e.status)}try{t=JSON.parse(r)}catch{throw new l("protocol","Hermes reply was not JSON",e.status)}return t.choices?.[0]?.message?.content?.trim()||"No response"}finally{clearTimeout(g),u&&u.removeEventListener("abort",m)}}function h(e,t,r=null){return{category:e,code:r,message:t.slice(0,500)}}function p(e){let t=null,r=null;return{promise:new Promise(n=>{if(e.signal&&(r=()=>n(h("cancelled","The attempt was cancelled.")),e.signal.aborted?r():e.signal.addEventListener("abort",r,{once:!0})),"number"==typeof e.deadlineAt){let r=e.deadlineAt,s=()=>{let e=r-Date.now();e<=0?n(h("timed_out","The attempt passed its deadline.")):(t=setTimeout(s,Math.min(e,0x7fffffff))).unref&&t.unref()};s()}}),dispose:()=>{t&&clearTimeout(t),r&&e.signal&&e.signal.removeEventListener("abort",r)}}}function g(e){return e.signal?.aborted?h("cancelled","The attempt was cancelled before launch."):"number"==typeof e.deadlineAt&&Date.now()>=e.deadlineAt?h("timed_out","The attempt passed its deadline before launch."):null}e.s(["HERMES_DEFAULT_CHAT_PATH",0,a,"HermesError",0,l,"appendHermesWaitLog",0,function(e){try{let t=function(e=process.env){return(0,o.waitLogPath)(e)}();s.default.mkdirSync(i.default.dirname(t),{recursive:!0}),s.default.appendFileSync(t,JSON.stringify({at:new Date().toISOString(),...e})+"\n")}catch(e){console.error("wait log failed",e)}},"hermesChat",0,f,"hermesFreshSessionIdForBot",0,function(e,t){return`${c(e,t)}-x-${(0,n.randomUUID)()}`},"hermesProfilePathForBot",0,function(e){let t=(e.hermes_profile||"").trim();if(!t)return a;let r=t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"");return r?`/p/${r}${a}`:a},"hermesSessionIdForBot",0,c,"loadHermesConfig",0,u],51749),e.s(["attemptFailure",0,h,"freezeAttemptInput",0,function(e){return Object.freeze({...e,target:Object.freeze({...e.target}),prompt:Object.freeze("text"===e.prompt.kind?{...e.prompt}:{...e.prompt,history:Object.freeze(e.prompt.history.map(e=>Object.freeze({...e})))}),sessionBinding:e.sessionBinding?Object.freeze({...e.sessionBinding}):null,correlation:Object.freeze({...e.correlation})})},"interruption",0,p,"preLaunchInterruption",0,g],29370);let m=["codex","claude","cursor","muse"];class w extends Error{code="invalid-runtime";constructor(e){super(`Invalid agent-deck runtime: ${JSON.stringify(String(e))}. Expected one of ${m.join("|")}.`)}}function y(e){if("string"==typeof e&&m.includes(e))return e;throw new w(e)}let E=["running","ended","error","died"],v=function(e){let[r,...n]=e;return new Promise(e=>{(0,t.execFile)(r,n,{maxBuffer:4194304},(t,n,s)=>{t&&"ENOENT"===t.code?e({stdout:"",stderr:`Command not found: ${r}`,exitCode:127}):e({stdout:String(n??""),stderr:String(s??""),exitCode:t&&"number"==typeof t.code?t.code:+!!t})})})};async function k(e){let t=function(e){let t=y(e.client);if(!e.deck)throw Error("agent-deck run requires a deck.");if(!e.cwd)throw Error("agent-deck run requires --cwd.");let r="string"==typeof e.prompt&&e.prompt.length>0,n="string"==typeof e.promptFile&&e.promptFile.length>0;if(r===n)throw Error("agent-deck run requires exactly one of --prompt/--prompt-file.");let s=["agent-deck","run",e.deck,"--client",t,"--cwd",e.cwd];return r&&s.push("--prompt",e.prompt),n&&s.push("--prompt-file",e.promptFile),s.push("--tools",e.tools??"readonly"),e.logPath&&s.push("--log",e.logPath),e.resume&&s.push("--resume",e.resume),e.detach&&s.push("--detach"),s}(e),r=await v(t);if(0!==r.exitCode)throw Error(`agent-deck run failed to start (exit ${r.exitCode}): ${r.stderr.slice(0,300)||r.stdout.slice(0,300)}`);return{...function(e){let t=e.match(/run\s+(\S+)\s+detached:\s+pid\s+(\S+)\s+log\s+(\S+)/);if(!t)throw Error(`Unrecognized agent-deck detach output: ${JSON.stringify(e.slice(0,200))}.`);return{runId:t[1],pid:t[2],logPath:t[3]}}(r.stdout),argv:t}}async function S(e){let t=await v(function(e){if(!e)throw Error("agent-deck run status requires a runId.");return["agent-deck","run","status",e,"--json"]}(e));if(0!==t.exitCode)throw Error(`agent-deck run status failed for ${e} (exit ${t.exitCode}): ${t.stderr.slice(0,300)}`);return function(e){let t;try{t=JSON.parse(e)}catch{throw Error("agent-deck run status did not return JSON.")}let r=String(t.state??"");if(!E.includes(r))throw Error(`Unknown agent-deck run state: ${JSON.stringify(r)}.`);let n=t.sessionId;return{runId:String(t.runId??""),deck:String(t.deck??""),client:String(t.client??""),state:r,sessionId:"string"==typeof n&&n.length>0?n:null,logPath:"string"==typeof t.logPath?t.logPath:null}}(t.stdout)}async function $(e,t){let r=await v(function(e,t){if(!e)throw Error("agent-deck run log requires a runId.");let r=["agent-deck","run","log",e,"--json"];return t?.tail!==void 0&&r.push("--tail",String(t.tail)),t?.follow&&r.push("--follow"),r}(e,t));if(0!==r.exitCode)throw Error(`agent-deck run log failed for ${e} (exit ${r.exitCode}): ${r.stderr.slice(0,300)}`);let n=function(e){let t=null,r=null,n=!1,s=null;for(let i of e.split("\n")){let e,o=i.trim();if(o){try{e=JSON.parse(o)}catch{continue}if("result"===e.t){let n=e.sessionId??e.session_id;"string"==typeof e.result&&e.result.length>0?(t={result:e.result,sessionId:"string"==typeof n&&n.length>0?n:null},r=null):(t=null,r=function(e){if(!Object.prototype.hasOwnProperty.call(e,"result"))return"missing";let t=e.result;return null===t?"null":Array.isArray(t)?"array":""===t?"empty string":typeof t}(e))}else if("end"===e.t)n=!0;else if("error"===e.t){let t=e.message??e.error;s="string"==typeof t&&t.length>0?t:"unknown log error"}}}return{result:t,resultMismatch:r,ended:n,errorMessage:s}}(r.stdout);return{raw:r.stdout,...n}}class b extends Error{category;constructor(e,t){super(t),this.category=e}}async function A(e){let t=await $(e,{follow:!0});if(t.errorMessage)throw new b("runtime_failed",`agent-deck run ${e} failed: ${t.errorMessage.slice(0,300)}`);if(!t.ended)throw new b("runtime_failed",`agent-deck run ${e} ended without a terminal log event; failing closed.`);let r=await S(e);if("error"===r.state||"died"===r.state)throw new b("runtime_failed",`agent-deck run ${e} ${r.state}`);if(!t.result)throw new b("result_contract",`agent-deck run ${e} result contract mismatch: expected a non-empty string result, got ${t.resultMismatch??"no result event"}.`);return{status:r,result:t.result.result,sessionId:r.sessionId??t.result.sessionId}}let x={codex:["codex","--version"],claude:["claude","--version"],cursor:["cursor","--version"],muse:["muse","--version"]},I=["agent-deck","--version"];async function _(e){let t=x[y(e)];try{let e=await v(t);if(0!==e.exitCode)return!1;let r=await v(I);return 0===r.exitCode}catch{return!1}}async function T(e){if("hermes-gateway"===(0,r.agentTransport)(e))try{return null!==u()}catch{return!1}return _(e)}async function O(){let e=[];for(let t of r.AGENTS)await T(t)&&e.push(t);return e}function R(e){if("text"===e.kind)return e.text;let t=e.history.map(e=>`[${e.fromAgent?"you":e.speakerLabel}] ${e.content}`).join("\n\n");return`${e.system}
2
2
 
3
3
  Conversation so far (reply to the last message):
4
4
 
5
- ${t}`}function N(e){return e instanceof Error?e.message:String(e)}e.s(["createAgentDeckAttemptAdapter",0,function(){let e="agent-deck-run";return{name:e,async run(t,r){let n,s,i=Date.now(),o=(t,r={})=>({status:"failed",adapter:e,externalRunId:r.runId??null,externalSessionId:r.sessionId??null,output:null,artifacts:r.logPath?[{kind:"run_log",ref:r.logPath}]:[],startedAt:i,finishedAt:Date.now(),failure:t});if("readonly"!==t.toolProfile&&"edit"!==t.toolProfile)return o(h("unsupported_authority",`Unsupported tool profile: ${JSON.stringify(String(t.toolProfile))}.`));if(!t.deck)return o(h("unavailable","agent-deck run requires a deck."));if(!t.cwd)return o(h("unavailable","agent-deck run requires --cwd."));try{n=y(t.target.agent)}catch(e){return o(h("unavailable",N(e)))}let a=g(t);if(a)return o(a);let l=t.sessionBinding?.externalSessionId??null;try{s=await k({deck:t.deck,client:n,cwd:t.cwd,prompt:R(t.prompt),tools:t.toolProfile,...l?{resume:l}:{},detach:!0})}catch(e){return o(h("launch_failed",N(e)))}r?.({type:"started",adapter:e,at:Date.now(),externalRunId:s.runId,externalSessionId:null});let c=p(t),u=A(s.runId);u.catch(()=>{});let d={runId:s.runId,logPath:s.logPath};try{let t=await Promise.race([u.then(e=>({awaited:e}),e=>({error:e})),c.promise.then(e=>({interrupted:e}))]);if("interrupted"in t)return o(t.interrupted,d);if("error"in t){let e=t.error instanceof b?t.error.category:"runtime_failed";return o(h(e,N(t.error)),d)}let{awaited:r}=t,n=r.status.logPath??s.logPath;if(l&&null!==r.sessionId&&r.sessionId!==l)return o(h("session_mismatch",`resume run ${s.runId} forked the session (expected ${l}, got ${r.sessionId}); failing closed.`),{...d,sessionId:r.sessionId,logPath:n});return{status:"completed",adapter:e,externalRunId:s.runId,externalSessionId:r.sessionId??l,output:r.result,artifacts:n?[{kind:"run_log",ref:n}]:[],startedAt:i,finishedAt:Date.now(),failure:null}}finally{c.dispose()}}}},"deckPromptForAttempt",0,R,"listAvailableAgents",0,O,"parseDeckRuntime",0,y],39229)},67505,e=>{"use strict";var t=e.i(22734),r=e.i(46786),n=e.i(14747),s=e.i(62294);let i="http://127.0.0.1:1111",o="agent_deck_server_url";class a extends Error{code="invalid-agent-deck-server-url";constructor(e){super(`Invalid Agent Deck server URL: ${JSON.stringify(String(e??""))}. Expected an http(s) URL such as ${i}.`)}}function l(e){let t;if("string"!=typeof e)throw new a(e);let r=e.trim();if(!r)throw new a(e);try{t=new URL(r)}catch{throw new a(e)}if("http:"!==t.protocol&&"https:"!==t.protocol||!t.hostname)throw new a(e);return t.toString().replace(/\/+$/,"")}function c(){try{let e=s.workspaceSettings.get(o);if(null===e)return i;return l(e)}catch{return i}}function u(e){return`${l(e)}/api/launch/decks`}class d extends Error{code;attemptedUrls;constructor(e,t,r="agent-deck-discovery-failed"){super(e),this.code=r,this.attemptedUrls=t}}function f(e,t){let r=globalThis.fetch;if("function"!=typeof r)throw Error("fetch is not available in this runtime.");return r(e,t).then(e=>({json:()=>e.json()}))}function h(e){try{return JSON.stringify(e??"").includes("GRANT_REQUIRED")}catch{return!1}}async function p(e){let t,r=u(e?.serverUrl!==void 0?l(e.serverUrl):c()),n=e?.fetchImpl??f;try{let e=await n(r,{method:"GET"});t=await e.json()}catch(e){if(e instanceof d){if(0===e.attemptedUrls.length)throw new d(e.message,[r],e.code);throw e}throw new d(`Cannot reach the Agent Deck server at ${r}: ${e instanceof Error?e.message:String(e)}. Check the workspace Agent Deck URL and that the server is running.`,[r],"connection-failed")}if(h(t))throw new d("Agent Deck server refused deck discovery with GRANT_REQUIRED. Only GET /api/launch/decks is supported; GET /api/decks must not be used.",[r],"grant-required");try{var s=t;if("object"!=typeof s||null===s)throw Error('Expected {"success":true,"data":{"decks":[{"id","name"}]}}.');if(h(s))throw new d("Agent Deck server refused deck discovery with GRANT_REQUIRED. Only GET /api/launch/decks is supported; GET /api/decks must not be used.",[],"grant-required");if(!0!==s.success)throw Error('Expected {"success":true,"data":{"decks":[{"id","name"}]}}.');let e=s.data,r=e?.decks;if(!Array.isArray(r))throw Error('Expected {"success":true,"data":{"decks":[{"id","name"}]}}.');let n=r.map(e=>{if("object"!=typeof e||null===e)throw Error("Expected every deck to carry a string id and name.");let t="string"==typeof e.id?e.id.trim():"",r="string"==typeof e.name?e.name.trim():"";if(!t||!r)throw Error("Expected every deck to carry a string id and name.");return{id:t,name:r}});return n.sort((e,t)=>e.id<t.id?-1:+(e.id>t.id)),n}catch(e){if(e instanceof d)throw e;throw new d(`Agent Deck server at ${r} returned an unexpected deck payload: ${e instanceof Error?e.message:String(e)}`,[r],"invalid-payload")}}function g(e){if(e&&e.trim())return e;let t=(process.env.HOME??"").trim();return t||r.default.homedir()}e.s(["AgentDeckDiscoveryError",0,d,"DEFAULT_AGENT_DECK_SERVER_URL",0,i,"InvalidAgentDeckServerUrlError",0,a,"agentDeckDecksUrl",0,u,"getAgentDeckServerUrl",0,c,"isLocalAgentDeckUrl",0,function(e){let t;try{t=new URL("string"==typeof e?e.trim():"")}catch{return!1}let r=t.hostname.trim().toLowerCase().replace(/^\[|\]$/g,"");return!!("localhost"===r||"::1"===r||"::ffff:127.0.0.1"===r||/^127\.\d+\.\d+\.\d+$/.test(r))},"listAgentDecks",0,p,"remoteLaunchUnsupportedMessage",0,function(e){return`[Deck failed] Remote Agent Deck launch is not supported: the workspace Agent Deck server is non-local and remote \`agent-deck run\` targeting is unconfirmed. Point the workspace server URL at the local Agent Deck server to launch. (server_url=${e})`},"resolveAndEnsureBotWorkdir",0,function(e,r,s){let i=function(e,t,r){let s="string"==typeof t?t.trim():"";if(s)return"~"===s?g(r):s.startsWith("~/")||s.startsWith("~\\")?n.default.join(g(r),s.slice(2)):s;let i=String(e??"").trim();if(!i)throw Error("defaultBotWorkdir requires a bot id.");let o=g(r);return n.default.resolve(o,".botmancers",i)}(e,r,s);return t.default.mkdirSync(i,{recursive:!0}),i},"setAgentDeckServerUrl",0,function(e){let t=l(e);return s.workspaceSettings.set(o,t),t}])},35631,26571,e=>{"use strict";var t=e.i(22734),r=e.i(14747),n=e.i(54799),s=e.i(62294),i=e.i(52036);let o="BOTMANCERS_SERVICE_TOKENS",a=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,l=/^sha256:([0-9a-f]{64})$/;class c extends Error{constructor(e){super(e),this.name="ServiceTokenConfigError"}}function u(e){if(!e||!e.trim())return[];let t=[],r=new Set;for(let n of e.split(/[,\s]+/).filter(Boolean)){let e=n.indexOf("="),s=e>0?n.slice(0,e):"",i=l.exec(e>0?n.slice(e+1).toLowerCase():"");if(!a.test(s)||!i)throw new c(`${o} entries must be <service-id>=sha256:<64 hex digits>.`);if(r.has(s))throw new c(`${o} lists service ${s} twice.`);r.add(s),t.push({serviceId:s,digest:Buffer.from(i[1],"hex")})}return t}e.s(["SERVICE_TOKENS_ENV",0,o,"ServiceTokenConfigError",0,c,"parseServiceTokens",0,u,"serviceTokenAuthenticatorFromEnv",0,function(e=process.env){let t=u(e[o]);return t.length?e=>{let r,s,i=(s=(r=e.headers.get("authorization"))?/^Bearer[ \t]+(\S+)[ \t]*$/i.exec(r):null)?s[1]:null;if(!i||i.length>4096)return null;let o=(0,n.createHash)("sha256").update(i,"utf8").digest(),a=null;for(let e of t)(0,n.timingSafeEqual)(o,e.digest)&&null===a&&(a=e.serviceId);return a?{kind:"service",id:a}:null}:null}],26571);let d=["agents:read","sessions:read","conversations:read","sessions:message","exchanges:read","exchanges:create"],f=["botmancers-exchanges","botmancers-engine"],h=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,p=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/;class g extends Error{constructor(e){super(e),this.name="ServiceGrantsError"}}function m(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function w(e,t,r){let n=Object.keys(e).find(e=>!t.includes(e));if(void 0!==n)throw new g(`${r} has an unknown field "${n}".`)}let y=null;e.s(["EXCHANGE_KEY_PREFIX",0,"exchange:","MESSAGE_KEY_PREFIX",0,"message:","SERVICE_CAPABILITIES",0,d,"loadServiceGrants",0,function(e=process.env){let a,l=function(e=process.env){let t=(e.BOTMANCERS_SERVICE_GRANTS_PATH||"").trim();if(t)return r.default.resolve(t);let n=(0,i.botmancersHome)(e);return n?r.default.join(n,"config/service-grants.json"):null}(e);if(!l)return{state:"absent",path:null};try{a=t.default.statSync(l)}catch(e){if("ENOENT"===e.code)return{state:"absent",path:l};return{state:"invalid",path:l,reason:"The document cannot be read."}}let E=(0,n.createHash)("sha256").update(e[o]??"","utf8").digest("hex"),v=new Set(s.default.prepare("SELECT id FROM bots").all().map(e=>e.id)),k=(0,n.createHash)("sha256").update([...v].sort().join("\n"),"utf8").digest("hex"),S=[l,a.ino,a.size,a.mode,a.uid,a.mtimeMs,E,k].join(":");if(y&&y.key===S)return y.state;let $=function(e,r,n,s){let i;if(!r.isFile())return{state:"invalid",path:e,reason:"The document is not a regular file."};if("function"==typeof process.getuid&&r.uid!==process.getuid())return{state:"invalid",path:e,reason:"The document must be owned by the user running Botmancers."};if((63&r.mode)!=0)return{state:"invalid",path:e,reason:"The document must not be readable or writable by group or others (chmod 600)."};if("string"==typeof n)return{state:"invalid",path:e,reason:n};if(r.size>65536)return{state:"invalid",path:e,reason:"The document exceeds 65536 bytes."};try{i=t.default.readFileSync(e,"utf8")}catch{return{state:"invalid",path:e,reason:"The document cannot be read."}}try{return{state:"loaded",path:e,grants:function(e,t,r){let n;try{n=JSON.parse(e)}catch{throw new g("The document is not valid JSON.")}if(!m(n))throw new g("The document must be a JSON object.");if(w(n,["version","grants"],"The document"),1!==n.version)throw new g("version must be 1.");if(!Array.isArray(n.grants))throw new g("grants must be a list.");if(n.grants.length>512)throw new g("grants has more than 512 entries.");let s=new Map;return n.grants.forEach((e,n)=>{let i=`grants[${n}]`;if(!m(e))throw new g(`${i} must be an object.`);w(e,["service","agent","capabilities"],i);let{service:a,agent:l,capabilities:c}=e;if("string"!=typeof a||!h.test(a))throw new g(`${i}.service must be a configured service id (letters, digits, ".", "_", "-").`);if(f.includes(a))throw new g(`${i}.service names a reserved engine principal.`);if(t&&!t.has(a))throw new g(`${i}.service is not a configured service principal (${o}).`);if("string"!=typeof l||!p.test(l))throw new g(`${i}.agent must be one Agent id; wildcards are not allowed.`);if(r&&!r.has(l))throw new g(`${i}.agent is not a registered Agent.`);if(!Array.isArray(c)||0===c.length)throw new g(`${i}.capabilities must list at least one capability.`);let u=new Set;for(let e of c){if(!("string"==typeof e&&d.includes(e)))throw new g(`${i}.capabilities has an unknown capability.`);if(u.has(e))throw new g(`${i}.capabilities lists ${e} twice.`);u.add(e)}let y=s.get(a)??new Map;if(y.has(l))throw new g(`${i} repeats the grant of service ${a} for that Agent.`);y.set(l,u),s.set(a,y)}),s}(i,n,s)}}catch(t){if(t instanceof g)return{state:"invalid",path:e,reason:t.message};throw t}}(l,a,function(e){try{return new Set(u(e[o]).map(e=>e.serviceId))}catch(e){if(e instanceof c)return`${o} is malformed, so no grant can name a configured service.`;throw e}}(e),v);return y={key:S,state:$},$}],35631)}];
5
+ ${t}`}function N(e){return e instanceof Error?e.message:String(e)}e.s(["createAgentDeckAttemptAdapter",0,function(){let e="agent-deck-run";return{name:e,async run(t,r){let n,s,i=Date.now(),o=(t,r={})=>({status:"failed",adapter:e,externalRunId:r.runId??null,externalSessionId:r.sessionId??null,output:null,artifacts:r.logPath?[{kind:"run_log",ref:r.logPath}]:[],startedAt:i,finishedAt:Date.now(),failure:t});if("readonly"!==t.toolProfile&&"edit"!==t.toolProfile)return o(h("unsupported_authority",`Unsupported tool profile: ${JSON.stringify(String(t.toolProfile))}.`));if(!t.deck)return o(h("unavailable","agent-deck run requires a deck."));if(!t.cwd)return o(h("unavailable","agent-deck run requires --cwd."));try{n=y(t.target.agent)}catch(e){return o(h("unavailable",N(e)))}let a=g(t);if(a)return o(a);let l=t.sessionBinding?.externalSessionId??null;try{s=await k({deck:t.deck,client:n,cwd:t.cwd,prompt:R(t.prompt),tools:t.toolProfile,...l?{resume:l}:{},detach:!0})}catch(e){return o(h("launch_failed",N(e)))}r?.({type:"started",adapter:e,at:Date.now(),externalRunId:s.runId,externalSessionId:null});let u=p(t),c=A(s.runId);c.catch(()=>{});let d={runId:s.runId,logPath:s.logPath};try{let t=await Promise.race([c.then(e=>({awaited:e}),e=>({error:e})),u.promise.then(e=>({interrupted:e}))]);if("interrupted"in t)return o(t.interrupted,d);if("error"in t){let e=t.error instanceof b?t.error.category:"runtime_failed";return o(h(e,N(t.error)),d)}let{awaited:r}=t,n=r.status.logPath??s.logPath;if(l&&null!==r.sessionId&&r.sessionId!==l)return o(h("session_mismatch",`resume run ${s.runId} forked the session (expected ${l}, got ${r.sessionId}); failing closed.`),{...d,sessionId:r.sessionId,logPath:n});return{status:"completed",adapter:e,externalRunId:s.runId,externalSessionId:r.sessionId??l,output:r.result,artifacts:n?[{kind:"run_log",ref:n}]:[],startedAt:i,finishedAt:Date.now(),failure:null}}finally{u.dispose()}}}},"deckPromptForAttempt",0,R,"listAvailableAgents",0,O,"parseDeckRuntime",0,y],39229)},67505,e=>{"use strict";var t=e.i(22734),r=e.i(46786),n=e.i(14747),s=e.i(62294);let i="http://127.0.0.1:1111",o="agent_deck_server_url";class a extends Error{code="invalid-agent-deck-server-url";constructor(e){super(`Invalid Agent Deck server URL: ${JSON.stringify(String(e??""))}. Expected an http(s) URL such as ${i}.`)}}function l(e){let t;if("string"!=typeof e)throw new a(e);let r=e.trim();if(!r)throw new a(e);try{t=new URL(r)}catch{throw new a(e)}if("http:"!==t.protocol&&"https:"!==t.protocol||!t.hostname)throw new a(e);return t.toString().replace(/\/+$/,"")}function u(){try{let e=s.workspaceSettings.get(o);if(null===e)return i;return l(e)}catch{return i}}function c(e){return`${l(e)}/api/launch/decks`}class d extends Error{code;attemptedUrls;constructor(e,t,r="agent-deck-discovery-failed"){super(e),this.code=r,this.attemptedUrls=t}}function f(e,t){let r=globalThis.fetch;if("function"!=typeof r)throw Error("fetch is not available in this runtime.");return r(e,t).then(e=>({json:()=>e.json()}))}function h(e){try{return JSON.stringify(e??"").includes("GRANT_REQUIRED")}catch{return!1}}async function p(e){let t,r=c(e?.serverUrl!==void 0?l(e.serverUrl):u()),n=e?.fetchImpl??f;try{let e=await n(r,{method:"GET"});t=await e.json()}catch(e){if(e instanceof d){if(0===e.attemptedUrls.length)throw new d(e.message,[r],e.code);throw e}throw new d(`Cannot reach the Agent Deck server at ${r}: ${e instanceof Error?e.message:String(e)}. Check the workspace Agent Deck URL and that the server is running.`,[r],"connection-failed")}if(h(t))throw new d("Agent Deck server refused deck discovery with GRANT_REQUIRED. Only GET /api/launch/decks is supported; GET /api/decks must not be used.",[r],"grant-required");try{var s=t;if("object"!=typeof s||null===s)throw Error('Expected {"success":true,"data":{"decks":[{"id","name"}]}}.');if(h(s))throw new d("Agent Deck server refused deck discovery with GRANT_REQUIRED. Only GET /api/launch/decks is supported; GET /api/decks must not be used.",[],"grant-required");if(!0!==s.success)throw Error('Expected {"success":true,"data":{"decks":[{"id","name"}]}}.');let e=s.data,r=e?.decks;if(!Array.isArray(r))throw Error('Expected {"success":true,"data":{"decks":[{"id","name"}]}}.');let n=r.map(e=>{if("object"!=typeof e||null===e)throw Error("Expected every deck to carry a string id and name.");let t="string"==typeof e.id?e.id.trim():"",r="string"==typeof e.name?e.name.trim():"";if(!t||!r)throw Error("Expected every deck to carry a string id and name.");return{id:t,name:r}});return n.sort((e,t)=>e.id<t.id?-1:+(e.id>t.id)),n}catch(e){if(e instanceof d)throw e;throw new d(`Agent Deck server at ${r} returned an unexpected deck payload: ${e instanceof Error?e.message:String(e)}`,[r],"invalid-payload")}}function g(e){if(e&&e.trim())return e;let t=(process.env.HOME??"").trim();return t||r.default.homedir()}e.s(["AgentDeckDiscoveryError",0,d,"DEFAULT_AGENT_DECK_SERVER_URL",0,i,"InvalidAgentDeckServerUrlError",0,a,"agentDeckDecksUrl",0,c,"getAgentDeckServerUrl",0,u,"isLocalAgentDeckUrl",0,function(e){let t;try{t=new URL("string"==typeof e?e.trim():"")}catch{return!1}let r=t.hostname.trim().toLowerCase().replace(/^\[|\]$/g,"");return!!("localhost"===r||"::1"===r||"::ffff:127.0.0.1"===r||/^127\.\d+\.\d+\.\d+$/.test(r))},"listAgentDecks",0,p,"remoteLaunchUnsupportedMessage",0,function(e){return`[Deck failed] Remote Agent Deck launch is not supported: the workspace Agent Deck server is non-local and remote \`agent-deck run\` targeting is unconfirmed. Point the workspace server URL at the local Agent Deck server to launch. (server_url=${e})`},"resolveAndEnsureBotWorkdir",0,function(e,r,s){let i=function(e,t,r){let s="string"==typeof t?t.trim():"";if(s)return"~"===s?g(r):s.startsWith("~/")||s.startsWith("~\\")?n.default.join(g(r),s.slice(2)):s;let i=String(e??"").trim();if(!i)throw Error("defaultBotWorkdir requires a bot id.");let o=g(r);return n.default.resolve(o,".botmancers",i)}(e,r,s);return t.default.mkdirSync(i,{recursive:!0}),i},"setAgentDeckServerUrl",0,function(e){let t=l(e);return s.workspaceSettings.set(o,t),t}])},35631,26571,e=>{"use strict";var t=e.i(22734),r=e.i(14747),n=e.i(54799),s=e.i(62294),i=e.i(52036);let o="BOTMANCERS_SERVICE_TOKENS",a=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,l=/^sha256:([0-9a-f]{64})$/;class u extends Error{constructor(e){super(e),this.name="ServiceTokenConfigError"}}function c(e){if(!e||!e.trim())return[];let t=[],r=new Set;for(let n of e.split(/[,\s]+/).filter(Boolean)){let e=n.indexOf("="),s=e>0?n.slice(0,e):"",i=l.exec(e>0?n.slice(e+1).toLowerCase():"");if(!a.test(s)||!i)throw new u(`${o} entries must be <service-id>=sha256:<64 hex digits>.`);if(r.has(s))throw new u(`${o} lists service ${s} twice.`);r.add(s),t.push({serviceId:s,digest:Buffer.from(i[1],"hex")})}return t}e.s(["SERVICE_TOKENS_ENV",0,o,"ServiceTokenConfigError",0,u,"parseServiceTokens",0,c,"serviceTokenAuthenticatorFromEnv",0,function(e=process.env){let t=c(e[o]);return t.length?e=>{let r,s,i=(s=(r=e.headers.get("authorization"))?/^Bearer[ \t]+(\S+)[ \t]*$/i.exec(r):null)?s[1]:null;if(!i||i.length>4096)return null;let o=(0,n.createHash)("sha256").update(i,"utf8").digest(),a=null;for(let e of t)(0,n.timingSafeEqual)(o,e.digest)&&null===a&&(a=e.serviceId);return a?{kind:"service",id:a}:null}:null}],26571);let d=["agents:read","sessions:read","conversations:read","sessions:message","exchanges:read","exchanges:create","sessions:start","sessions:resume"],f=["botmancers-exchanges","botmancers-engine"],h=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,p=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/;class g extends Error{constructor(e){super(e),this.name="ServiceGrantsError"}}function m(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function w(e,t,r){let n=Object.keys(e).find(e=>!t.includes(e));if(void 0!==n)throw new g(`${r} has an unknown field "${n}".`)}let y=null;e.s(["EXCHANGE_KEY_PREFIX",0,"exchange:","MESSAGE_KEY_PREFIX",0,"message:","SERVICE_CAPABILITIES",0,d,"loadServiceGrants",0,function(e=process.env){let a,l=function(e=process.env){let t=(e.BOTMANCERS_SERVICE_GRANTS_PATH||"").trim();if(t)return r.default.resolve(t);let n=(0,i.botmancersHome)(e);return n?r.default.join(n,"config/service-grants.json"):null}(e);if(!l)return{state:"absent",path:null};try{a=t.default.statSync(l)}catch(e){if("ENOENT"===e.code)return{state:"absent",path:l};return{state:"invalid",path:l,reason:"The document cannot be read."}}let E=(0,n.createHash)("sha256").update(e[o]??"","utf8").digest("hex"),v=new Set(s.default.prepare("SELECT id FROM bots").all().map(e=>e.id)),k=(0,n.createHash)("sha256").update([...v].sort().join("\n"),"utf8").digest("hex"),S=[l,a.ino,a.size,a.mode,a.uid,a.mtimeMs,E,k].join(":");if(y&&y.key===S)return y.state;let $=function(e,r,n,s){let i;if(!r.isFile())return{state:"invalid",path:e,reason:"The document is not a regular file."};if("function"==typeof process.getuid&&r.uid!==process.getuid())return{state:"invalid",path:e,reason:"The document must be owned by the user running Botmancers."};if((63&r.mode)!=0)return{state:"invalid",path:e,reason:"The document must not be readable or writable by group or others (chmod 600)."};if("string"==typeof n)return{state:"invalid",path:e,reason:n};if(r.size>65536)return{state:"invalid",path:e,reason:"The document exceeds 65536 bytes."};try{i=t.default.readFileSync(e,"utf8")}catch{return{state:"invalid",path:e,reason:"The document cannot be read."}}try{return{state:"loaded",path:e,grants:function(e,t,r){let n;try{n=JSON.parse(e)}catch{throw new g("The document is not valid JSON.")}if(!m(n))throw new g("The document must be a JSON object.");if(w(n,["version","grants"],"The document"),1!==n.version)throw new g("version must be 1.");if(!Array.isArray(n.grants))throw new g("grants must be a list.");if(n.grants.length>512)throw new g("grants has more than 512 entries.");let s=new Map;return n.grants.forEach((e,n)=>{let i=`grants[${n}]`;if(!m(e))throw new g(`${i} must be an object.`);w(e,["service","agent","capabilities"],i);let{service:a,agent:l,capabilities:u}=e;if("string"!=typeof a||!h.test(a))throw new g(`${i}.service must be a configured service id (letters, digits, ".", "_", "-").`);if(f.includes(a))throw new g(`${i}.service names a reserved engine principal.`);if(t&&!t.has(a))throw new g(`${i}.service is not a configured service principal (${o}).`);if("string"!=typeof l||!p.test(l))throw new g(`${i}.agent must be one Agent id; wildcards are not allowed.`);if(r&&!r.has(l))throw new g(`${i}.agent is not a registered Agent.`);if(!Array.isArray(u)||0===u.length)throw new g(`${i}.capabilities must list at least one capability.`);let c=new Set;for(let e of u){if(!("string"==typeof e&&d.includes(e)))throw new g(`${i}.capabilities has an unknown capability.`);if(c.has(e))throw new g(`${i}.capabilities lists ${e} twice.`);c.add(e)}let y=s.get(a)??new Map;if(y.has(l))throw new g(`${i} repeats the grant of service ${a} for that Agent.`);y.set(l,c),s.set(a,y)}),s}(i,n,s)}}catch(t){if(t instanceof g)return{state:"invalid",path:e,reason:t.message};throw t}}(l,a,function(e){try{return new Set(c(e[o]).map(e=>e.serviceId))}catch(e){if(e instanceof u)return`${o} is malformed, so no grant can name a configured service.`;throw e}}(e),v);return y={key:S,state:$},$}],35631)}];
6
6
 
7
7
  //# sourceMappingURL=%5Broot-of-the-server%5D__1slu7d7._.js.map
@@ -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"))},72938,e=>{"use strict";var t=e.i(89171),r=e.i(62294),a=e.i(35631);async function n(){try{let e=(0,a.loadServiceGrants)(),n="loaded"===e.state?[...e.grants.entries()].map(([e,t])=>({service:e,agents:[...t.entries()].map(([e,t])=>({agent_id:e,agent_name:r.bots.getById(e)?.name??null,capabilities:a.SERVICE_CAPABILITIES.filter(e=>t.has(e))}))})):[];return t.NextResponse.json({state:e.state,path:e.path,reason:"invalid"===e.state?e.reason:null,services:n,audit:r.serviceAudit.list({limit:50})})}catch(e){return console.error("Error reading service grants:",e instanceof Error?e.message:"unknown error"),t.NextResponse.json({error:{code:"internal_error",message:"The service grants could not be read."}},{status:500})}}e.s(["GET",0,n])},87039,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=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),f=e.i(26937),g=e.i(10372),v=e.i(93695),m=e.i(9580);e.i(52474);var w=e.i(220);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/service-grants/route",pathname:"/api/service-grants",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/service-grants/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(72938),...{}}),{workAsyncStorage:R,workUnitAsyncStorage:x,serverHooks:y}=E;async function b(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/service-grants/route";R=R.replace(/\/index$/,"")||"/";let x=await E.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:b,params:A,nextConfig:S,parsedUrl:C,isDraftMode:T,prerenderManifest:_,routerServerContext:N,isOnDemandRevalidate:O,revalidateOnlyGenerated:I,resolvedPathname:$,clientReferenceManifest:P,serverActionsManifest:k}=x,H=(0,o.normalizeAppPath)(R),M=!!_.routes[$]&&(E.isDev||(0,m.isRouteCacheOwner)($,E.cacheOwner,_.routes[$])),q=!!(_.dynamicRoutes[H]||M),j=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,C,!1):t.end("This page could not be found"),null);if(q&&!T){let e=_.dynamicRoutes[H];if(e&&!1===e.fallback&&!M){if(S.adapterPath)return await j();throw new v.NoFallbackError}}let B=null;!q||E.isDev||T||(B="/index"===(B=$)?"/":B);let U=!0===E.isDev||!q,D=q&&!U;k&&P&&(0,i.setManifestsSingleton)({page:R,clientReferenceManifest:P,serverActionsManifest:k});let F=e.method||"GET",G=(0,s.getTracer)(),K=G.getActiveScopeSpan(),L=!!(null==N?void 0:N.isWrappedByNextServer),z=!!(0,n.getRequestMeta)(e,"minimalMode"),V=(0,n.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,S,_,z);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let Z={params:A,previewProps:_.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts,useCacheTimeout:S.experimental.useCacheTimeout},cacheComponents:!!S.cacheComponents,validationLevel:S.experimental.instantInsights.validationLevel,isDraftMode:T,supportsDynamicResponse:U,incrementalCache:V,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:S.cacheLife,staticPageGenerationTimeout:S.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>E.onRequestError(e,t,a,n,N)},sharedContext:{buildId:y,deploymentId:b}},X=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(X,(0,u.signalFromNodeResponse)(t)),Y=async({previousCacheEntry:r})=>{try{if(!z&&O&&I&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await E.handle(W,Z);e.fetchMetrics=Z.renderOpts.fetchMetrics;let s=Z.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let i=Z.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(X,J,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[g.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==Z.renderOpts.collectedRevalidate&&!(Z.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&Z.renderOpts.collectedRevalidate,a=void 0===Z.renderOpts.collectedExpire||Z.renderOpts.collectedExpire>=g.INFINITE_CACHE?!1!==r&&r>0?S.expireTime:void 0:Z.renderOpts.collectedExpire;return{value:{kind:w.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 E.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:O})},!1,N),t}},Q=async(n,i)=>{try{var o,l;let n=await E.handleResponse({req:e,nextConfig:S,cacheKey:B,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:I,responseGenerator:Y,waitUntil:a.waitUntil,isMinimalMode:z});if(!q)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==w.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",O?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);z&&q||s.delete(g.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,f.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(X,J,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:O})},!1,N),q)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:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=G.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 a=r.get("next.route")||H,o=`${F} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),i&&i!==n&&(i.setAttribute("http.route",a),i.updateName(o))})()}};if(L&&K)await Q(K,void 0);else{let t=G.getActiveScopeSpan();await G.withPropagatedContext(e.headers,()=>G.trace(c.BaseServerSpan.handleRequest,{spanName:`${F} ${R}`,kind:s.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>Q(e,t)),void 0,!L)}}e.s(["handler",0,b,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:R,workUnitAsyncStorage:x})},"routeModule",0,E,"serverHooks",0,y,"workAsyncStorage",0,R,"workUnitAsyncStorage",0,x])},35631,26571,e=>{"use strict";var t=e.i(22734),r=e.i(14747),a=e.i(54799),n=e.i(62294),s=e.i(52036);let i="BOTMANCERS_SERVICE_TOKENS",o=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,l=/^sha256:([0-9a-f]{64})$/;class u extends Error{constructor(e){super(e),this.name="ServiceTokenConfigError"}}function c(e){if(!e||!e.trim())return[];let t=[],r=new Set;for(let a of e.split(/[,\s]+/).filter(Boolean)){let e=a.indexOf("="),n=e>0?a.slice(0,e):"",s=l.exec(e>0?a.slice(e+1).toLowerCase():"");if(!o.test(n)||!s)throw new u(`${i} entries must be <service-id>=sha256:<64 hex digits>.`);if(r.has(n))throw new u(`${i} lists service ${n} twice.`);r.add(n),t.push({serviceId:n,digest:Buffer.from(s[1],"hex")})}return t}e.s(["SERVICE_TOKENS_ENV",0,i,"ServiceTokenConfigError",0,u,"parseServiceTokens",0,c,"serviceTokenAuthenticatorFromEnv",0,function(e=process.env){let t=c(e[i]);return t.length?e=>{let r,n,s=(n=(r=e.headers.get("authorization"))?/^Bearer[ \t]+(\S+)[ \t]*$/i.exec(r):null)?n[1]:null;if(!s||s.length>4096)return null;let i=(0,a.createHash)("sha256").update(s,"utf8").digest(),o=null;for(let e of t)(0,a.timingSafeEqual)(i,e.digest)&&null===o&&(o=e.serviceId);return o?{kind:"service",id:o}:null}:null}],26571);let d=["agents:read","sessions:read","conversations:read","sessions:message","exchanges:read","exchanges:create","sessions:start","sessions:resume"],p=["botmancers-exchanges","botmancers-engine"],h=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,f=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/;class g extends Error{constructor(e){super(e),this.name="ServiceGrantsError"}}function v(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function m(e,t,r){let a=Object.keys(e).find(e=>!t.includes(e));if(void 0!==a)throw new g(`${r} has an unknown field "${a}".`)}let w=null;e.s(["EXCHANGE_KEY_PREFIX",0,"exchange:","MESSAGE_KEY_PREFIX",0,"message:","SERVICE_CAPABILITIES",0,d,"loadServiceGrants",0,function(e=process.env){let o,l=function(e=process.env){let t=(e.BOTMANCERS_SERVICE_GRANTS_PATH||"").trim();if(t)return r.default.resolve(t);let a=(0,s.botmancersHome)(e);return a?r.default.join(a,"config/service-grants.json"):null}(e);if(!l)return{state:"absent",path:null};try{o=t.default.statSync(l)}catch(e){if("ENOENT"===e.code)return{state:"absent",path:l};return{state:"invalid",path:l,reason:"The document cannot be read."}}let E=(0,a.createHash)("sha256").update(e[i]??"","utf8").digest("hex"),R=new Set(n.default.prepare("SELECT id FROM bots").all().map(e=>e.id)),x=(0,a.createHash)("sha256").update([...R].sort().join("\n"),"utf8").digest("hex"),y=[l,o.ino,o.size,o.mode,o.uid,o.mtimeMs,E,x].join(":");if(w&&w.key===y)return w.state;let b=function(e,r,a,n){let s;if(!r.isFile())return{state:"invalid",path:e,reason:"The document is not a regular file."};if("function"==typeof process.getuid&&r.uid!==process.getuid())return{state:"invalid",path:e,reason:"The document must be owned by the user running Botmancers."};if((63&r.mode)!=0)return{state:"invalid",path:e,reason:"The document must not be readable or writable by group or others (chmod 600)."};if("string"==typeof a)return{state:"invalid",path:e,reason:a};if(r.size>65536)return{state:"invalid",path:e,reason:"The document exceeds 65536 bytes."};try{s=t.default.readFileSync(e,"utf8")}catch{return{state:"invalid",path:e,reason:"The document cannot be read."}}try{return{state:"loaded",path:e,grants:function(e,t,r){let a;try{a=JSON.parse(e)}catch{throw new g("The document is not valid JSON.")}if(!v(a))throw new g("The document must be a JSON object.");if(m(a,["version","grants"],"The document"),1!==a.version)throw new g("version must be 1.");if(!Array.isArray(a.grants))throw new g("grants must be a list.");if(a.grants.length>512)throw new g("grants has more than 512 entries.");let n=new Map;return a.grants.forEach((e,a)=>{let s=`grants[${a}]`;if(!v(e))throw new g(`${s} must be an object.`);m(e,["service","agent","capabilities"],s);let{service:o,agent:l,capabilities:u}=e;if("string"!=typeof o||!h.test(o))throw new g(`${s}.service must be a configured service id (letters, digits, ".", "_", "-").`);if(p.includes(o))throw new g(`${s}.service names a reserved engine principal.`);if(t&&!t.has(o))throw new g(`${s}.service is not a configured service principal (${i}).`);if("string"!=typeof l||!f.test(l))throw new g(`${s}.agent must be one Agent id; wildcards are not allowed.`);if(r&&!r.has(l))throw new g(`${s}.agent is not a registered Agent.`);if(!Array.isArray(u)||0===u.length)throw new g(`${s}.capabilities must list at least one capability.`);let c=new Set;for(let e of u){if(!("string"==typeof e&&d.includes(e)))throw new g(`${s}.capabilities has an unknown capability.`);if(c.has(e))throw new g(`${s}.capabilities lists ${e} twice.`);c.add(e)}let w=n.get(o)??new Map;if(w.has(l))throw new g(`${s} repeats the grant of service ${o} for that Agent.`);w.set(l,c),n.set(o,w)}),n}(s,a,n)}}catch(t){if(t instanceof g)return{state:"invalid",path:e,reason:t.message};throw t}}(l,o,function(e){try{return new Set(c(e[i]).map(e=>e.serviceId))}catch(e){if(e instanceof u)return`${i} is malformed, so no grant can name a configured service.`;throw e}}(e),R);return w={key:y,state:b},b}],35631)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1tuqc5v._.js.map
@@ -0,0 +1,44 @@
1
+ module.exports=[20635,(e,t,n)=>{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,n)=>{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"))},92628,e=>{"use strict";var t=e.i(90027),n=e.i(35613);function a(e){return null==e?null:e.length>600?`${e.slice(0,599).trimEnd()}…`:e}function i(e,t){return e.prepare("SELECT name FROM bots WHERE id = ?").get(t)?.name??"Removed Agent"}function s(e,t){return"string"!=typeof t?null:e.prepare("SELECT content FROM messages WHERE id = ?").get(t)?.content??null}function r(e,r){let d=n=>n?(0,t.conversationRef)(e,n):null,_=d(r.origin_conversation_id),o=d(function(e,t){if(t.source_request_id){let n=e.prepare("SELECT source_conversation_id FROM work_requests WHERE id = ?").get(t.source_request_id);if(n?.source_conversation_id)return n.source_conversation_id}let n=e.prepare("SELECT conversation_id FROM session_bindings WHERE id = ?").get(t.source_binding_id);return n?.conversation_id??null}(e,r)),l=d(r.destination_conversation_id),u=[],c=(e,t)=>{if(!e)return;let n=u.find(t=>t.id===e.id);n?n.roles.push(t):u.push({...e,roles:[t]})};c(_,"origin"),c(o,"source"),c(l,"destination");let p=n.EXCHANGE_TERMINAL_STATES.includes(r.state);return{id:r.id,mode:r.mode,state:r.state,terminal:p,can_cancel:!p&&null===r.cancel_requested_at,cancel_requested:null!==r.cancel_requested_at,instruction:r.instruction,source:{agent_id:r.source_agent_id,agent_name:i(e,r.source_agent_id),session_title:(0,t.sessionTitle)(e,r.source_agent_id,r.source_binding_id)??"Session",conversation:o},destination:"continue"===r.mode&&r.destination_agent_id?{agent_id:r.destination_agent_id,agent_name:i(e,r.destination_agent_id),session_title:r.destination_binding_id?(0,t.sessionTitle)(e,r.destination_agent_id,r.destination_binding_id):null,conversation:l}:null,origin:_,links:u,outcome:{answer:a(s(e,r.answer_message_id)),objective:a(function(e){if(!e)return null;try{let t=JSON.parse(e);return"string"==typeof t.objective?t.objective:null}catch{return null}}(r.packet)),reply:a(s(e,function(e,t){let n=e.prepare("SELECT data FROM session_exchange_events WHERE exchange_id = ? AND type = 'destination_replied' ORDER BY sequence DESC LIMIT 1").get(t);try{return n?.data?JSON.parse(n.data).message_id:null}catch{return null}}(e,r.id)))},failure:"failed"===r.state?{code:r.failure_code??"failed",message:r.failure_message??""}:null,created_at:r.created_at,updated_at:r.updated_at,terminal_at:r.terminal_at}}e.s(["exchangeDetail",0,function(e,t){let n=e.prepare("SELECT * FROM session_exchanges WHERE id = ?").get(t.id);return{summary:r(e,n),events:t.events.map(e=>{var t;return{...e,data:(t=e.data)?Object.fromEntries(Object.entries(t).filter(([e])=>!e.endsWith("_id")&&"session_ref"!==e&&"by"!==e)):null}}),packet:t.packet,answer:t.answer?.content??null}},"listExchanges",0,function(e,t){return e.prepare("SELECT * FROM session_exchanges WHERE requester_kind = ? AND requester_id = ? ORDER BY updated_at DESC, created_at DESC, id ASC").all(t.requester.kind,t.requester.id).filter(e=>!t.mode||e.mode===t.mode).filter(e=>!t.state||("active"===t.state?!n.EXCHANGE_TERMINAL_STATES.includes(e.state):e.state===t.state)).filter(e=>!t.agentId||e.source_agent_id===t.agentId||e.destination_agent_id===t.agentId).map(t=>r(e,t)).filter(e=>!t.conversationId||e.links.some(e=>e.id===t.conversationId))}])},90027,e=>{"use strict";var t=e.i(62349),n=e.i(28420);let a=["active","ended","all"],i=["implementation","revision"],s=`
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
+ `,r=`
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 d(e){return`${new Date(e).toISOString().slice(0,16).replace("T"," ")} UTC`}function _(e,t){let n=e?.[t];return"string"==typeof n&&n.trim().length>0?n:null}function o(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 l(e,a=(0,n.emptyUsage)()){let s,r=null;try{r=e.source_snapshot?JSON.parse(e.source_snapshot):null}catch{}let u=o(e),c=null===e.released_at?"active":"ended",p=((s=(e.request_intent??"").split("\n").map(e=>e.trim()).find(e=>e.length>0))?s.length>80?`${s.slice(0,79).trimEnd()}…`:s:null)??(u?.kind==="group"?u.label:null)??`${e.agent_name} \xb7 ${d(e.created_at)}`;return{ref:e.id,source:"botmancers",agent:{id:e.agent_id,name:e.agent_name,adapter:e.adapter,transport:_(r,"transport")},title:p,status:c,resumable:null===e.released_at&&null!==e.request_id&&null!==e.request_kind&&i.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:u,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:_(r,"cwd")??e.ps_workspace??null,deck:_(r,"deck")},usage:a}}function u(e,t=(0,n.emptyUsage)()){let a=e.provider_created_at??e.created_at,i=null===e.resumable?null:1===e.resumable,s="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 ${d(a)}`,status:"open"===e.lifecycle?"active":"ended",resumable:!1,state:{availability:e.availability,lifecycle:e.lifecycle,resumable:i,busy:1===e.busy||!!e.running,synced_at:e.last_synced_at},created_at:a,ended_at:s,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 c(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 p(e,t,n){return e.prepare(`${r} AND ps.id = ? AND ps.agent_id = ?`).get(n,t)}function g(e,t,n){return e.prepare(`${s} 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?o(n):null},"getAgentSession",0,function(e,t,a){let i=g(e,t,a);if(!i){let i=p(e,t,a);if(!i)return;let{usage:s,samples:r}=(0,n.sessionUsageSamples)(e,t,a);return{...u(i,s),attempts:[],usage_samples:r}}let s=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(i.source_attempt_id,i.source_attempt_id,i.id),{usage:r,samples:d}=(0,n.sessionUsageSamples)(e,t,a);return{...l(i,r),attempts:s,usage_samples:d}},"isSessionFilter",0,function(e){return"string"==typeof e&&a.includes(e)},"listAgentSessions",0,function(e,t,a="all"){let i=e.prepare(`${s} WHERE b.agent_id = ? ${"active"===a?"AND b.released_at IS NULL":"ended"===a?"AND b.released_at IS NOT NULL":""}`).all(t),d=e.prepare(`${r} AND ps.agent_id = ? ${"active"===a?"AND ps.lifecycle = 'open'":"ended"===a?"AND ps.lifecycle = 'archived'":""}`).all(t),_=(0,n.agentSessionUsage)(e,t);return[...i.map(e=>l(e,_.get(e.id))),...d.map(e=>u(e,_.get(e.id)))].sort(c)},"sessionDebugExternalId",0,function(e,t,n){let a=g(e,t,n)?.external_session_id;if(void 0!==a)return a;if(!p(e,t,n))return;let i=e.prepare("SELECT provider_session_id FROM provider_sessions WHERE id = ? AND agent_id = ?").get(n,t);return i?.provider_session_id},"sessionTitle",0,function(e,t,n){let a=g(e,t,n);if(a)return l(a).title;let i=p(e,t,n);return i?u(i).title:null}])}];
43
+
44
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1v609eq._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},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"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},85072,3620,e=>{"use strict";var t=e.i(22734),r=e.i(14747),n=e.i(25211);class i extends Error{}function s(e,t){return RegExp("\\b"+t+"\\b","i").test(e)}function a(e){return e.trim().replace(/^[@"'`]+|["'`]+$/g,"").replace(/[.?!;,:'"`]+$/g,"").trim()}function l(e){if(!e||"object"!=typeof e||Array.isArray(e))throw new i("draft needs {channel, recipient, body}");if("email"!==e.channel&&"slack"!==e.channel)throw new i("draft channel must be email or slack");if("string"!=typeof e.recipient)throw new i("draft needs a recipient string");if("string"!=typeof e.body)throw new i("draft needs a body string");let t=e.recipient.trim(),r=e.body.trim();if(t.length>256)throw new i("draft recipient is too long");if(!r)throw new i("draft needs a body");if(Buffer.byteLength(r,"utf8")>32768)throw new i("draft body is too large");return{channel:e.channel,recipient:t,body:r}}e.s(["createDraft",0,function(e){let t=l(e);return{channel:t.channel,recipient:t.recipient,body:t.body,state:"open"}},"parseDraftRequest",0,function(e){let t=(e||"").trim();if(!t||/^\s*(create a specialist|duplicate)\b/i.test(t))return null;let r=null;if(s(t,"email")?r="email":s(t,"slack")&&(r="slack"),!r)return null;let n=/\b(draft|write|compose|create|prepare|send)\b/i.test(t),i=/\bplease\b/i.test(t),o=/\b(can|could|would)\s+you\b/i.test(t),c=/^\s*(please\s+)?(email|slack)\b/i.test(t);if(!n&&!i&&!o&&!c)return null;let u=function(e){if(e.toLowerCase().includes("one-line note"))return"One-line note.";let t=e.toLowerCase(),r=-1,n="";for(let e of["that says","saying","note:"]){let i=t.indexOf(e);i>=0&&(r<0||i<r)&&(r=i,n=e)}return r<0?null:e.slice(r+n.length).trim()||null}(t);if(u){let e=function(e){let t=e.toLowerCase(),r=-1;for(let e of["that says","saying","note:"]){let n=t.indexOf(e);n>=0&&(r<0||n<r)&&(r=n)}return r<0?e:e.slice(0,r)}(t),n="",i=e.match(/\bto\s+@?([A-Za-z0-9_.-]+(?:@[A-Za-z0-9_.-]+\.[A-Za-z]+)?)/i);if(i)n=a(i[1]||"");else{let t=e.match(/\b(email|slack)\b\s+@?([A-Za-z0-9_.-]+)/i);if(t){let e=a(t[2]||"");e&&!["to","a","an","the","that","saying","note"].includes(e.toLowerCase())&&(n=e)}}try{return l({channel:r,recipient:n,body:u})}catch{return null}}if(!c)return null;let f=t.match(/^\s*(?:please\s+)?(?:email|slack)\s+@?([A-Za-z0-9_.-]+)\s+(.+?)\s*[.?!]?\s*$/i);if(!f)return null;let d=a(f[1]||""),p=(f[2]||"").trim();if(!d||["to","a","an","the","that","saying","note"].includes(d.toLowerCase())||!p||p.length<2)return null;try{return l({channel:r,recipient:d,body:p})}catch{return null}},"validateDraftRequest",0,l],3620);var o=e.i(52036);class c extends Error{}function u(){return(0,o.filesRootPath)()}function f(e){let t=d(e),n=u(),i=r.default.resolve(n,t);if(i!==n&&!i.startsWith(n+r.default.sep))throw new c(`refused: path traversal in ${JSON.stringify(e)}`);return i}function d(e){if("string"!=typeof e||!e)throw new c("file needs a name");if(e.length>128)throw new c(`refused: file name too long ${JSON.stringify(e)}`);if(!(0,n.isSafeFileName)(e))throw new c(`refused: unsafe file name ${JSON.stringify(e)}`);return e}function p(e){if(!e||"object"!=typeof e||Array.isArray(e))throw new c("file needs {name, content}");return{name:d(e.name),content:function(e){if("string"!=typeof e)throw new c("file needs string content");let t=Buffer.byteLength(e,"utf8");if(0===t)throw new c("file needs content");if(t>65536)throw new c("refused: file content exceeds 65536 bytes");return e}(e.content)}}e.s(["ARTIFACT_MAX_BYTES",0,65536,"artifactCardText",0,function(e){return`[file] ${e}`},"filesRoot",0,u,"parseFileWriteRequest",0,function(e){let t,r=(e||"").trim();if(!r||!/\b(write|create|make)\b/i.test(r)||!/\bfile\b/i.test(r)||!/\bfile\b\s+(named|called)\b/i.test(r))return null;let n=r.match(/\bfile\b\s+(?:named|called)\s+([`"'\u201c\u201d]?\S+?[`"'\u201c\u201d]?)(?:\s+|$)/i);if(!n)return null;let i=(t=(n[1]||"").trim().replace(/^["'`\u201c\u201d]+|["'`\u201c\u201d]+$/g,"").replace(/[?!;,:'"`]+$/,"").trim(),/^\.+$/.test(t)?t:t.replace(/[.]+$/,""));if(!i)return null;let s=r.match(/(?:whose\s+contents?\s+are\s+the\s+word|containing\s+the\s+word|with\s+the\s+word)\s+[`"'\u201c\u201d]?([A-Za-z0-9_-]+)[`"'\u201c\u201d]?/i);if(s)return{name:i,content:s[1]};let a=r.match(/(?:containing|with\s+contents?)\s+["\u201c](.+?)["\u201d]/i);if(a&&a[1].trim())return{name:i,content:a[1]};let l=r.match(/(?:containing|with\s+contents?)\s*:\s*(.+?)\s*$/i);if(l&&l[1].trim()){let e=l[1].trim().replace(/^["'`\u201c\u201d]+|["'`\u201c\u201d]+$/g,"").trim();if(e)return{name:i,content:e}}let o=r.match(/(?:containing|with\s+contents?)\s+(?!the\s+word\b)(.+?)\s*$/i);if(o&&o[1].trim()){let e=o[1].trim().replace(/^["'`\u201c\u201d]+|["'`\u201c\u201d]+$/g,"").trim();if(e=e.replace(/[.?!]+$/,"").trim())return{name:i,content:e}}return null},"parseTypedResult",0,function(e){for(let t of function(e){let t=[];for(let r of(e||"").split(/\r?\n/)){let e=r.match(/^\s*\[produce\]\s*(\{.*\})\s*$/i);if(e)try{t.push(JSON.parse(e[1]))}catch{}}return t}(e))if(!(!t||"object"!=typeof t||Array.isArray(t))){if("draft"===t.type)try{let e=l({channel:t.channel,recipient:t.recipient??"",body:t.body});return{kind:"draft",draft:e}}catch{break}if("file"===t.type)try{let e=p({name:t.name,content:t.content});return{kind:"file",file:e}}catch{}break}return null},"resolveArtifactPath",0,f,"validateArtifact",0,p,"writeArtifactFile",0,function(e,r,n){let i=p({name:e,content:r}),s=u();t.default.mkdirSync(s,{recursive:!0});let a=f(i.name);if(t.default.existsSync(a)){let e;try{e=t.default.statSync(a)}catch{throw new c(`refused: cannot stat ${JSON.stringify(i.name)}`)}if(!e.isFile())throw new c(`refused: not a file ${JSON.stringify(i.name)}`);if(!n?.allowOverwrite)throw new c(`refused: ${JSON.stringify(i.name)} already exists`)}return t.default.writeFileSync(a,i.content,"utf8"),a}],85072)},25211,e=>{"use strict";let t=/^[A-Za-z0-9][A-Za-z0-9._-]*$/;e.s(["isSafeFileName",0,function(e){return t.test(e)},"parseApprovalCode",0,function(e){let t=e.match(/approve using the code ([A-Za-z0-9][A-Za-z0-9_-]*)/i);return t?t[1]:null},"parseDraft",0,function(e){let t,r=e.match(/^\s*\[draft\]\s*([\s\S]*)$/);if(!r)return null;try{t=JSON.parse(r[1])}catch{return null}if(!t||"object"!=typeof t)return null;let n=t;return"email"!==n.channel&&"slack"!==n.channel||"open"!==n.state&&"sent"!==n.state&&"discarded"!==n.state||"string"!=typeof n.recipient||"string"!=typeof n.body?null:{channel:n.channel,recipient:n.recipient,body:n.body,state:n.state}},"parseFileNames",0,function(e){let t=[];for(let r of e.split("\n")){let e=r.match(/^\s*\[file\]\s*(\S+)\s*$/i);e&&!t.includes(e[1])&&t.push(e[1])}return t},"serializeDraft",0,function(e){return"[draft]\n"+JSON.stringify({channel:e.channel,recipient:e.recipient,body:e.body,state:e.state})}])},52036,e=>{"use strict";var t=e.i(14747);function r(e=process.env){let n=(e.BOTMANCERS_HOME||"").trim();return n?t.default.resolve(n):null}function n(e,t){return(e[t]||"").trim()||null}e.s(["botmancersHome",0,r,"dbPath",0,function(e=process.env){let i=n(e,"BOTMANCERS_DB_PATH");if(i)return i;let s=r(e);return s?t.default.join(s,"data/botmancers.db"):"botmancers.db"},"filesRootPath",0,function(e=process.env){let i=n(e,"BOTMANCERS_FILES_ROOT");if(i)return t.default.resolve(i);let s=r(e);return s?t.default.join(s,"files"):t.default.resolve(process.cwd(),"files")},"skillsRootPath",0,function(e=process.env){let i=n(e,"BOTMANCERS_SKILLS_ROOT");if(i)return t.default.resolve(i);let s=r(e);return s?t.default.join(s,"skills"):t.default.resolve(process.cwd(),"skills")},"waitLogPath",0,function(e=process.env){let i=n(e,"HERMES_WAIT_LOG_PATH");if(i)return i;let s=r(e);return s?t.default.join(s,"logs/specialist-waits.jsonl"):t.default.join(process.cwd(),".temporal","specialist-waits.jsonl")}])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1y_j43n._.js.map
@@ -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"))},93313,e=>{"use strict";var t=e.i(89171),r=e.i(62294);async function a(e,{params:n}){try{let{id:e}=await n,a=r.conversations.getUiById(e);if(!a)return t.NextResponse.json({error:"Conversation not found"},{status:404});let o=null;if(a.bot_id)o=r.bots.getById(a.bot_id);else if(a.group_id){let e=r.groups.getAll().find(e=>e.id===a.group_id);e&&(o={...e,members:r.groups.getMembers(e.id)})}return t.NextResponse.json({...a,details:o,events:r.projector.listConversationEvents(a.id)})}catch(e){return console.error("Error fetching conversation:",e),t.NextResponse.json({error:"Failed to fetch conversation"},{status:500})}}e.s(["GET",0,a])},12181,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),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),v=e.i(26937),R=e.i(10372),g=e.i(93695),f=e.i(9580);e.i(52474);var x=e.i(220);let m=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/conversations/[id]/route",pathname:"/api/conversations/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/conversations/[id]/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(93313),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:C,serverHooks:w}=m;async function y(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),m.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/conversations/[id]/route";E=E.replace(/\/index$/,"")||"/";let C=await m.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!C)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,deploymentId:y,params:A,nextConfig:T,parsedUrl:b,isDraftMode:N,prerenderManifest:P,routerServerContext:S,isOnDemandRevalidate:_,revalidateOnlyGenerated:O,resolvedPathname:q,clientReferenceManifest:H,serverActionsManifest:I}=C,M=(0,i.normalizeAppPath)(E),U=!!P.routes[q]&&(m.isDev||(0,f.isRouteCacheOwner)(q,m.cacheOwner,P.routes[q])),j=!!(P.dynamicRoutes[M]||U),k=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,b,!1):t.end("This page could not be found"),null);if(j&&!N){let e=P.dynamicRoutes[M];if(e&&!1===e.fallback&&!U){if(T.adapterPath)return await k();throw new g.NoFallbackError}}let D=null;!j||m.isDev||N||(D="/index"===(D=q)?"/":D);let F=!0===m.isDev||!j,B=j&&!F;I&&H&&(0,s.setManifestsSingleton)({page:E,clientReferenceManifest:H,serverActionsManifest:I});let K=e.method||"GET",L=(0,o.getTracer)(),$=L.getActiveScopeSpan(),G=!!(null==S?void 0:S.isWrappedByNextServer),V=!!(0,n.getRequestMeta)(e,"minimalMode"),X=(0,n.getRequestMeta)(e,"incrementalCache")||await m.getIncrementalCache(e,T,P,V);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let W={params:A,previewProps:P.preview,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts,useCacheTimeout:T.experimental.useCacheTimeout},cacheComponents:!!T.cacheComponents,validationLevel:T.experimental.instantInsights.validationLevel,isDraftMode:N,supportsDynamicResponse:F,incrementalCache:X,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:T.cacheLife,staticPageGenerationTimeout:T.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>m.onRequestError(e,t,a,n,S)},sharedContext:{buildId:w,deploymentId:y}},z=new l.NodeNextRequest(e),Z=new l.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(z,(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 n=await m.handle(J,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(!j)return await (0,p.sendResponse)(z,Z,n,o),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);s&&(t[R.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>=R.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=R.INFINITE_CACHE?!1!==r&&r>0?T.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:x.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:B,isOnDemandRevalidate:_})},!1,S),t}},Y=async(n,s)=>{try{var i,l;let n=await m.handleResponse({req:e,nextConfig:T,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:O,responseGenerator:Q,waitUntil:a.waitUntil,isMinimalMode:V});if(!j)return;if((null==n||null==(i=n.value)?void 0:i.kind)!==x.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",_?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let o=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);V&&j||o.delete(R.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||o.get("Cache-Control")||o.set("Cache-Control",(0,v.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 g.NoFallbackError||await m.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:_})},!1,S),j)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 r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.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")||M,i=`${K} ${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(G&&$)await Y($,void 0);else{let t=L.getActiveScopeSpan();await L.withPropagatedContext(e.headers,()=>L.trace(d.BaseServerSpan.handleRequest,{spanName:`${K} ${E}`,kind:o.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},e=>Y(e,t)),void 0,!G)}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:C})},"routeModule",0,m,"serverHooks",0,w,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,C])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1zdv-vb._.js.map