botmancers 0.7.0 → 0.9.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 (389) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +5 -5
  3. package/app/.next/BUILD_ID +1 -1
  4. package/app/.next/app-path-routes-manifest.json +12 -1
  5. package/app/.next/build-manifest.json +3 -3
  6. package/app/.next/prerender-manifest.json +4 -4
  7. package/app/.next/required-server-files.json +2 -2
  8. package/app/.next/routes-manifest.json +90 -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/agents/[id]/activity/page/app-paths-manifest.json +3 -0
  22. package/app/.next/server/app/agents/[id]/activity/page/next-font-manifest.json +11 -0
  23. package/app/.next/server/app/agents/[id]/activity/page.js +14 -0
  24. package/app/.next/server/app/agents/[id]/activity/page.js.nft.json +1 -0
  25. package/app/.next/server/app/agents/[id]/activity/page_client-reference-manifest.js +3 -0
  26. package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page/app-paths-manifest.json +3 -0
  27. package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page/build-manifest.json +20 -0
  28. package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page/next-font-manifest.json +11 -0
  29. package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page/react-loadable-manifest.json +1 -0
  30. package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page/server-reference-manifest.json +4 -0
  31. package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page.js +14 -0
  32. package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page.js.nft.json +1 -0
  33. package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page_client-reference-manifest.js +3 -0
  34. package/app/.next/server/app/agents/[id]/conversations/page/app-paths-manifest.json +3 -0
  35. package/app/.next/server/app/agents/[id]/conversations/page/build-manifest.json +20 -0
  36. package/app/.next/server/app/agents/[id]/conversations/page/next-font-manifest.json +11 -0
  37. package/app/.next/server/app/agents/[id]/conversations/page/react-loadable-manifest.json +1 -0
  38. package/app/.next/server/app/agents/[id]/conversations/page/server-reference-manifest.json +4 -0
  39. package/app/.next/server/app/agents/[id]/conversations/page.js +14 -0
  40. package/app/.next/server/app/agents/[id]/conversations/page.js.nft.json +1 -0
  41. package/app/.next/server/app/agents/[id]/conversations/page_client-reference-manifest.js +3 -0
  42. package/app/.next/server/app/agents/[id]/page/app-paths-manifest.json +3 -0
  43. package/app/.next/server/app/agents/[id]/page/build-manifest.json +20 -0
  44. package/app/.next/server/app/{threads → agents}/[id]/page/next-font-manifest.json +1 -1
  45. package/app/.next/server/app/agents/[id]/page/react-loadable-manifest.json +1 -0
  46. package/app/.next/server/app/agents/[id]/page/server-reference-manifest.json +4 -0
  47. package/app/.next/server/app/{threads → agents}/[id]/page.js +6 -5
  48. package/app/.next/server/app/{threads → agents}/[id]/page.js.nft.json +1 -1
  49. package/app/.next/server/app/agents/[id]/page_client-reference-manifest.js +3 -0
  50. package/app/.next/server/app/agents/[id]/sessions/page/app-paths-manifest.json +3 -0
  51. package/app/.next/server/app/agents/[id]/sessions/page/build-manifest.json +20 -0
  52. package/app/.next/server/app/agents/[id]/sessions/page/next-font-manifest.json +11 -0
  53. package/app/.next/server/app/agents/[id]/sessions/page/react-loadable-manifest.json +1 -0
  54. package/app/.next/server/app/agents/[id]/sessions/page/server-reference-manifest.json +4 -0
  55. package/app/.next/server/app/agents/[id]/sessions/page.js +14 -0
  56. package/app/.next/server/app/agents/[id]/sessions/page.js.nft.json +1 -0
  57. package/app/.next/server/app/agents/[id]/sessions/page_client-reference-manifest.js +3 -0
  58. package/app/.next/server/app/agents/[id]/slack/page/app-paths-manifest.json +3 -0
  59. package/app/.next/server/app/agents/[id]/slack/page/build-manifest.json +20 -0
  60. package/app/.next/server/app/agents/[id]/slack/page/next-font-manifest.json +11 -0
  61. package/app/.next/server/app/agents/[id]/slack/page/react-loadable-manifest.json +1 -0
  62. package/app/.next/server/app/agents/[id]/slack/page/server-reference-manifest.json +4 -0
  63. package/app/.next/server/app/agents/[id]/slack/page.js +14 -0
  64. package/app/.next/server/app/agents/[id]/slack/page.js.nft.json +1 -0
  65. package/app/.next/server/app/agents/[id]/slack/page_client-reference-manifest.js +3 -0
  66. package/app/.next/server/app/api/bots/[id]/activity/route/app-paths-manifest.json +3 -0
  67. package/app/.next/server/app/api/bots/[id]/activity/route/build-manifest.json +12 -0
  68. package/app/.next/server/app/api/bots/[id]/activity/route/server-reference-manifest.json +4 -0
  69. package/app/.next/server/app/api/bots/[id]/activity/route.js +9 -0
  70. package/app/.next/server/app/api/bots/[id]/activity/route.js.nft.json +1 -0
  71. package/app/.next/server/app/api/bots/[id]/activity/route_client-reference-manifest.js +3 -0
  72. package/app/.next/server/app/api/bots/[id]/config/route.js +1 -1
  73. package/app/.next/server/app/api/bots/[id]/config/route.js.nft.json +1 -1
  74. package/app/.next/server/app/api/bots/[id]/conversations/[conversationId]/route/app-paths-manifest.json +3 -0
  75. package/app/.next/server/app/api/bots/[id]/conversations/[conversationId]/route/build-manifest.json +12 -0
  76. package/app/.next/server/app/api/bots/[id]/conversations/[conversationId]/route/server-reference-manifest.json +4 -0
  77. package/app/.next/server/app/api/bots/[id]/conversations/[conversationId]/route.js +12 -0
  78. package/app/.next/server/app/api/bots/[id]/conversations/[conversationId]/route.js.nft.json +1 -0
  79. package/app/.next/server/app/api/bots/[id]/conversations/[conversationId]/route_client-reference-manifest.js +3 -0
  80. package/app/.next/server/app/api/bots/[id]/conversations/route/app-paths-manifest.json +3 -0
  81. package/app/.next/server/app/api/bots/[id]/conversations/route/build-manifest.json +12 -0
  82. package/app/.next/server/app/api/bots/[id]/conversations/route/server-reference-manifest.json +4 -0
  83. package/app/.next/server/app/api/bots/[id]/conversations/route.js +12 -0
  84. package/app/.next/server/app/api/bots/[id]/conversations/route.js.nft.json +1 -0
  85. package/app/.next/server/app/api/bots/[id]/conversations/route_client-reference-manifest.js +3 -0
  86. package/app/.next/server/app/api/bots/[id]/overview/route/app-paths-manifest.json +3 -0
  87. package/app/.next/server/app/api/bots/[id]/overview/route/build-manifest.json +12 -0
  88. package/app/.next/server/app/api/bots/[id]/overview/route/server-reference-manifest.json +4 -0
  89. package/app/.next/server/app/api/bots/[id]/overview/route.js +12 -0
  90. package/app/.next/server/app/api/bots/[id]/overview/route.js.nft.json +1 -0
  91. package/app/.next/server/app/api/bots/[id]/overview/route_client-reference-manifest.js +3 -0
  92. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route.js +2 -2
  93. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route.js.nft.json +1 -1
  94. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/route.js +2 -2
  95. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/route.js.nft.json +1 -1
  96. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route.js +1 -1
  97. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route.js.nft.json +1 -1
  98. package/app/.next/server/app/api/bots/[id]/sessions/route.js +3 -3
  99. package/app/.next/server/app/api/bots/[id]/sessions/route.js.nft.json +1 -1
  100. package/app/.next/server/app/api/bots/[id]/sessions/sync/route/app-paths-manifest.json +3 -0
  101. package/app/.next/server/app/api/bots/[id]/sessions/sync/route/build-manifest.json +12 -0
  102. package/app/.next/server/app/api/bots/[id]/sessions/sync/route/server-reference-manifest.json +4 -0
  103. package/app/.next/server/app/api/bots/[id]/sessions/sync/route.js +11 -0
  104. package/app/.next/server/app/api/bots/[id]/sessions/sync/route.js.nft.json +1 -0
  105. package/app/.next/server/app/api/bots/[id]/sessions/sync/route_client-reference-manifest.js +3 -0
  106. package/app/.next/server/app/api/bots/[id]/share-policy/route.js +1 -1
  107. package/app/.next/server/app/api/bots/[id]/share-policy/route.js.nft.json +1 -1
  108. package/app/.next/server/app/api/bots/[id]/skill/route.js +1 -1
  109. package/app/.next/server/app/api/bots/[id]/skill/route.js.nft.json +1 -1
  110. package/app/.next/server/app/api/bots/availability/route.js.nft.json +1 -1
  111. package/app/.next/server/app/api/bots/delete-preview/route.js +1 -1
  112. package/app/.next/server/app/api/bots/delete-preview/route.js.nft.json +1 -1
  113. package/app/.next/server/app/api/bots/import/route.js +1 -1
  114. package/app/.next/server/app/api/bots/import/route.js.nft.json +1 -1
  115. package/app/.next/server/app/api/bots/manage/route.js +1 -1
  116. package/app/.next/server/app/api/bots/manage/route.js.nft.json +1 -1
  117. package/app/.next/server/app/api/bots/name-migrations/route.js +1 -1
  118. package/app/.next/server/app/api/bots/name-migrations/route.js.nft.json +1 -1
  119. package/app/.next/server/app/api/bots/route.js +5 -5
  120. package/app/.next/server/app/api/bots/route.js.nft.json +1 -1
  121. package/app/.next/server/app/api/conversations/[id]/approve/route.js.nft.json +1 -1
  122. package/app/.next/server/app/api/conversations/[id]/deny/route.js.nft.json +1 -1
  123. package/app/.next/server/app/api/conversations/[id]/draft/route.js +1 -1
  124. package/app/.next/server/app/api/conversations/[id]/draft/route.js.nft.json +1 -1
  125. package/app/.next/server/app/api/conversations/[id]/messages/[messageId]/stop/route.js.nft.json +1 -1
  126. package/app/.next/server/app/api/conversations/[id]/messages/route.js +5 -5
  127. package/app/.next/server/app/api/conversations/[id]/messages/route.js.nft.json +1 -1
  128. package/app/.next/server/app/api/conversations/[id]/route.js +1 -1
  129. package/app/.next/server/app/api/conversations/[id]/route.js.nft.json +1 -1
  130. package/app/.next/server/app/api/conversations/[id]/stop/route.js +6 -6
  131. package/app/.next/server/app/api/conversations/[id]/stop/route.js.nft.json +1 -1
  132. package/app/.next/server/app/api/conversations/route.js +1 -1
  133. package/app/.next/server/app/api/conversations/route.js.nft.json +1 -1
  134. package/app/.next/server/app/api/exchanges/[id]/cancel/route.js +1 -1
  135. package/app/.next/server/app/api/exchanges/[id]/cancel/route.js.nft.json +1 -1
  136. package/app/.next/server/app/api/exchanges/[id]/route.js +1 -1
  137. package/app/.next/server/app/api/exchanges/[id]/route.js.nft.json +1 -1
  138. package/app/.next/server/app/api/exchanges/route.js +2 -2
  139. package/app/.next/server/app/api/exchanges/route.js.nft.json +1 -1
  140. package/app/.next/server/app/api/files/[name]/route.js +1 -1
  141. package/app/.next/server/app/api/files/[name]/route.js.nft.json +1 -1
  142. package/app/.next/server/app/api/groups/route.js +1 -1
  143. package/app/.next/server/app/api/groups/route.js.nft.json +1 -1
  144. package/app/.next/server/app/api/health/route.js +1 -1
  145. package/app/.next/server/app/api/health/route.js.nft.json +1 -1
  146. package/app/.next/server/app/api/import-capabilities/route.js.nft.json +1 -1
  147. package/app/.next/server/app/api/marketplace-handoff/route.js.nft.json +1 -1
  148. package/app/.next/server/app/api/marketplace-handoff/status/route.js.nft.json +1 -1
  149. package/app/.next/server/app/api/mcp/route.js +1 -1
  150. package/app/.next/server/app/api/mcp/route.js.nft.json +1 -1
  151. package/app/.next/server/app/api/messages/[id]/between/route.js +1 -1
  152. package/app/.next/server/app/api/messages/[id]/between/route.js.nft.json +1 -1
  153. package/app/.next/server/app/api/runtime-connections/route.js +1 -1
  154. package/app/.next/server/app/api/runtime-connections/route.js.nft.json +1 -1
  155. package/app/.next/server/app/api/service-grants/route.js.nft.json +1 -1
  156. package/app/.next/server/app/api/shares/[shareRef]/revoke/route.js +1 -1
  157. package/app/.next/server/app/api/shares/[shareRef]/revoke/route.js.nft.json +1 -1
  158. package/app/.next/server/app/api/shares/route.js +1 -1
  159. package/app/.next/server/app/api/shares/route.js.nft.json +1 -1
  160. package/app/.next/server/app/api/v0/agents/[agentId]/conversations/[conversationId]/route.js +4 -3
  161. package/app/.next/server/app/api/v0/agents/[agentId]/conversations/[conversationId]/route.js.nft.json +1 -1
  162. package/app/.next/server/app/api/v0/agents/[agentId]/conversations/route.js +4 -3
  163. package/app/.next/server/app/api/v0/agents/[agentId]/conversations/route.js.nft.json +1 -1
  164. package/app/.next/server/app/api/v0/agents/[agentId]/messages/route.js +1 -1
  165. package/app/.next/server/app/api/v0/agents/[agentId]/messages/route.js.nft.json +1 -1
  166. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route.js +4 -3
  167. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route.js.nft.json +1 -1
  168. package/app/.next/server/app/api/v0/agents/[agentId]/route.js +4 -3
  169. package/app/.next/server/app/api/v0/agents/[agentId]/route.js.nft.json +1 -1
  170. package/app/.next/server/app/api/v0/agents/[agentId]/sessions/[ref]/route.js +4 -3
  171. package/app/.next/server/app/api/v0/agents/[agentId]/sessions/[ref]/route.js.nft.json +1 -1
  172. package/app/.next/server/app/api/v0/agents/[agentId]/sessions/route.js +4 -3
  173. package/app/.next/server/app/api/v0/agents/[agentId]/sessions/route.js.nft.json +1 -1
  174. package/app/.next/server/app/api/v0/agents/route.js +4 -3
  175. package/app/.next/server/app/api/v0/agents/route.js.nft.json +1 -1
  176. package/app/.next/server/app/api/v0/capabilities/route.js +4 -3
  177. package/app/.next/server/app/api/v0/capabilities/route.js.nft.json +1 -1
  178. package/app/.next/server/app/api/v0/conversations/[id]/route.js +1 -1
  179. package/app/.next/server/app/api/v0/conversations/[id]/route.js.nft.json +1 -1
  180. package/app/.next/server/app/api/v0/exchanges/[id]/cancel/route.js +4 -3
  181. package/app/.next/server/app/api/v0/exchanges/[id]/cancel/route.js.nft.json +1 -1
  182. package/app/.next/server/app/api/v0/exchanges/[id]/route.js +4 -3
  183. package/app/.next/server/app/api/v0/exchanges/[id]/route.js.nft.json +1 -1
  184. package/app/.next/server/app/api/v0/exchanges/route.js +4 -3
  185. package/app/.next/server/app/api/v0/exchanges/route.js.nft.json +1 -1
  186. package/app/.next/server/app/api/v0/mcp/route.js +6 -5
  187. package/app/.next/server/app/api/v0/mcp/route.js.nft.json +1 -1
  188. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route.js +4 -3
  189. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route.js.nft.json +1 -1
  190. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route.js +4 -3
  191. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route.js.nft.json +1 -1
  192. package/app/.next/server/app/api/v0/pins/[pinRef]/route.js +4 -3
  193. package/app/.next/server/app/api/v0/pins/[pinRef]/route.js.nft.json +1 -1
  194. package/app/.next/server/app/api/v0/requests/[id]/route.js +1 -1
  195. package/app/.next/server/app/api/v0/requests/[id]/route.js.nft.json +1 -1
  196. package/app/.next/server/app/api/v0/sessions/[ref]/messages/route.js +4 -3
  197. package/app/.next/server/app/api/v0/sessions/[ref]/messages/route.js.nft.json +1 -1
  198. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route.js +4 -3
  199. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route.js.nft.json +1 -1
  200. package/app/.next/server/app/api/v0/sessions/[ref]/shares/route.js +4 -3
  201. package/app/.next/server/app/api/v0/sessions/[ref]/shares/route.js.nft.json +1 -1
  202. package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route.js +4 -3
  203. package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route.js.nft.json +1 -1
  204. package/app/.next/server/app/api/v0/shares/[shareRef]/route.js +4 -3
  205. package/app/.next/server/app/api/v0/shares/[shareRef]/route.js.nft.json +1 -1
  206. package/app/.next/server/app/api/v0/shares/current/route.js +4 -3
  207. package/app/.next/server/app/api/v0/shares/current/route.js.nft.json +1 -1
  208. package/app/.next/server/app/api/v0/shares/route.js +4 -3
  209. package/app/.next/server/app/api/v0/shares/route.js.nft.json +1 -1
  210. package/app/.next/server/app/api/wake-grants/[id]/revoke/route.js +1 -1
  211. package/app/.next/server/app/api/wake-grants/[id]/revoke/route.js.nft.json +1 -1
  212. package/app/.next/server/app/api/wakes/[id]/decision/route.js +1 -1
  213. package/app/.next/server/app/api/wakes/[id]/decision/route.js.nft.json +1 -1
  214. package/app/.next/server/app/api/wakes/[id]/retry/route.js +1 -1
  215. package/app/.next/server/app/api/wakes/[id]/retry/route.js.nft.json +1 -1
  216. package/app/.next/server/app/bots/[id]/config/page.js.nft.json +1 -1
  217. package/app/.next/server/app/bots/[id]/config/page_client-reference-manifest.js +1 -1
  218. package/app/.next/server/app/exchanges/page.js.nft.json +1 -1
  219. package/app/.next/server/app/exchanges/page_client-reference-manifest.js +1 -1
  220. package/app/.next/server/app/exchanges.html +1 -1
  221. package/app/.next/server/app/exchanges.rsc +3 -3
  222. package/app/.next/server/app/exchanges.segments/_full.segment.rsc +3 -3
  223. package/app/.next/server/app/exchanges.segments/_tree.segment.rsc +2 -2
  224. package/app/.next/server/app/exchanges.segments/exchanges/__PAGE__.segment.rsc +3 -3
  225. package/app/.next/server/app/index.html +1 -1
  226. package/app/.next/server/app/index.rsc +3 -3
  227. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  228. package/app/.next/server/app/index.segments/_full.segment.rsc +3 -3
  229. package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  230. package/app/.next/server/app/page.js.nft.json +1 -1
  231. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  232. package/app/.next/server/app/settings/page.js.nft.json +1 -1
  233. package/app/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  234. package/app/.next/server/app/settings.html +1 -1
  235. package/app/.next/server/app/settings.rsc +2 -2
  236. package/app/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  237. package/app/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  238. package/app/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  239. package/app/.next/server/app/threads/[id]/route/app-paths-manifest.json +3 -0
  240. package/app/.next/server/app/threads/[id]/route/build-manifest.json +12 -0
  241. package/app/.next/server/app/threads/[id]/route/server-reference-manifest.json +4 -0
  242. package/app/.next/server/app/threads/[id]/route.js +10 -0
  243. package/app/.next/server/app/threads/[id]/route.js.nft.json +1 -0
  244. package/app/.next/server/app/threads/[id]/route_client-reference-manifest.js +3 -0
  245. package/app/.next/server/app-paths-manifest.json +12 -1
  246. package/app/.next/server/chunks/1oeh_server_app_api_bots_[id]_conversations_[conversationId]_route_actions_11cb2lr.js +3 -0
  247. package/app/.next/server/chunks/{[root-of-the-server]__17xl_55._.js → [root-of-the-server]__03pk_x_._.js} +1 -1
  248. package/app/.next/server/chunks/{[root-of-the-server]__0mp8bap._.js → [root-of-the-server]__05ds5md._.js} +1 -1
  249. package/app/.next/server/chunks/[root-of-the-server]__0anfwiu._.js +52 -0
  250. package/app/.next/server/chunks/{[root-of-the-server]__0-w_t2y._.js → [root-of-the-server]__0atpy-s._.js} +1 -1
  251. package/app/.next/server/chunks/[root-of-the-server]__0hhill-._.js +3 -0
  252. package/app/.next/server/chunks/{[root-of-the-server]__06w5xhe._.js → [root-of-the-server]__0hiikkz._.js} +1 -1
  253. package/app/.next/server/chunks/[root-of-the-server]__0k8wfe2._.js +3 -0
  254. package/app/.next/server/chunks/{[root-of-the-server]__1eps2a4._.js → [root-of-the-server]__0pp5x67._.js} +1 -1
  255. package/app/.next/server/chunks/[root-of-the-server]__0qqsovi._.js +3 -0
  256. package/app/.next/server/chunks/{[root-of-the-server]__1dxr858._.js → [root-of-the-server]__0thkp5l._.js} +1 -1
  257. package/app/.next/server/chunks/[root-of-the-server]__0xhwlr4._.js +3 -0
  258. package/app/.next/server/chunks/{[root-of-the-server]__0-vcyi-._.js → [root-of-the-server]__11yt1hv._.js} +1 -1
  259. package/app/.next/server/chunks/[root-of-the-server]__1280ke1._.js +46 -0
  260. package/app/.next/server/chunks/{[root-of-the-server]__0iqh5ta._.js → [root-of-the-server]__12wk406._.js} +1 -1
  261. package/app/.next/server/chunks/[root-of-the-server]__13wghn3._.js +46 -0
  262. package/app/.next/server/chunks/{[root-of-the-server]__0lwsto-._.js → [root-of-the-server]__14cwco7._.js} +3 -3
  263. package/app/.next/server/chunks/{[root-of-the-server]__1kczttr._.js → [root-of-the-server]__185i_bv._.js} +1 -1
  264. package/app/.next/server/chunks/[root-of-the-server]__1byhehl._.js +3 -0
  265. package/app/.next/server/chunks/{[root-of-the-server]__10b5-i-._.js → [root-of-the-server]__1ez_5xy._.js} +1 -1
  266. package/app/.next/server/chunks/[root-of-the-server]__1jxwu9_._.js +52 -0
  267. package/app/.next/server/chunks/{[root-of-the-server]__0o9ijih._.js → [root-of-the-server]__1mxp6z6._.js} +1 -1
  268. package/app/.next/server/chunks/{[root-of-the-server]__0ey3_2x._.js → [root-of-the-server]__1s2-vw3._.js} +1 -1
  269. package/app/.next/server/chunks/{[root-of-the-server]__1hwy3jx._.js → [root-of-the-server]__1xq61ti._.js} +1 -1
  270. package/app/.next/server/chunks/{[root-of-the-server]__04b3ml2._.js → [root-of-the-server]__20om7um._.js} +1 -1
  271. package/app/.next/server/chunks/_0061c2q._.js +1 -1
  272. package/app/.next/server/chunks/_0_b7py8._.js +3 -0
  273. package/app/.next/server/chunks/_0a2do3x._.js +1 -1
  274. package/app/.next/server/chunks/_1-5mthb._.js +1 -1
  275. package/app/.next/server/chunks/_12i5gam._.js +7 -0
  276. package/app/.next/server/chunks/_1a0er16._.js +18 -0
  277. package/app/.next/server/chunks/_1uxmsh3._.js +18 -0
  278. package/app/.next/server/chunks/_next-internal_server_app_api_bots_[id]_activity_route_actions_06oyah6.js +3 -0
  279. package/app/.next/server/chunks/_next-internal_server_app_api_bots_[id]_conversations_route_actions_0op0mjv.js +3 -0
  280. package/app/.next/server/chunks/_next-internal_server_app_api_bots_[id]_overview_route_actions_20nuetv.js +3 -0
  281. package/app/.next/server/chunks/_next-internal_server_app_api_bots_[id]_sessions_sync_route_actions_00y6n-f.js +3 -0
  282. package/app/.next/server/chunks/{ssr/_next-internal_server_app_threads_[id]_page_actions_1fte2n3.js → _next-internal_server_app_threads_[id]_route_actions_13zq3u6.js} +2 -2
  283. package/app/.next/server/chunks/lib_0-opbv7._.js +69 -55
  284. package/app/.next/server/chunks/lib_0aejojj._.js +69 -55
  285. package/app/.next/server/chunks/lib_0al5wbc._.js +330 -0
  286. package/app/.next/server/chunks/lib_0i8cm07._.js +3 -0
  287. package/app/.next/server/chunks/lib_0il0ml1._.js +69 -55
  288. package/app/.next/server/chunks/lib_0iujsdg._.js +69 -55
  289. package/app/.next/server/chunks/{lib_15adnlz._.js → lib_15a9ejf._.js} +53 -44
  290. package/app/.next/server/chunks/{lib_1zc7-gl._.js → lib_19pzc33._.js} +53 -44
  291. package/app/.next/server/chunks/lib_1a4ucxv._.js +330 -0
  292. package/app/.next/server/chunks/lib_1dehbst._.js +69 -55
  293. package/app/.next/server/chunks/lib_1z4vnh4._.js +69 -55
  294. package/app/.next/server/chunks/lib_1z7d95m._.js +2181 -0
  295. package/app/.next/server/chunks/lib_service-api-http_ts_0xzqhny._.js +1 -23
  296. package/app/.next/server/chunks/lib_service-api_ts_18eok4w._.js +25 -0
  297. package/app/.next/server/chunks/node_modules_next_1zc5q0a._.js +11 -11
  298. package/app/.next/server/chunks/ssr/1oeh_server_app_agents_[id]_conversations_[conversationId]_page_actions_08lev_i.js +3 -0
  299. package/app/.next/server/chunks/ssr/[root-of-the-server]__06s7ons._.js +3 -0
  300. package/app/.next/server/chunks/ssr/[root-of-the-server]__0r8nmcc._.js +3 -0
  301. package/app/.next/server/chunks/ssr/[root-of-the-server]__19qlmru._.js +3 -0
  302. package/app/.next/server/chunks/ssr/[root-of-the-server]__1dpye-p._.js +3 -0
  303. package/app/.next/server/chunks/ssr/[root-of-the-server]__1fxu3a8._.js +3 -0
  304. package/app/.next/server/chunks/ssr/[root-of-the-server]__1t9ljq3._.js +3 -0
  305. package/app/.next/server/chunks/ssr/_0_u9-u6._.js +3 -0
  306. package/app/.next/server/chunks/ssr/_0g3y1u9._.js +3 -0
  307. package/app/.next/server/chunks/ssr/{node_modules_next_0x3i8za._.js → _0gzxfz3._.js} +2 -2
  308. package/app/.next/server/chunks/ssr/_0rvu-il._.js +131 -0
  309. package/app/.next/server/chunks/ssr/_0u7urta._.js +5 -0
  310. package/app/.next/server/chunks/ssr/_17ngohj._.js +3 -0
  311. package/app/.next/server/chunks/ssr/_1iq-7cn._.js +3 -0
  312. package/app/.next/server/chunks/ssr/_next-internal_server_app_agents_[id]_activity_page_actions_1a_v567.js +3 -0
  313. package/app/.next/server/chunks/ssr/_next-internal_server_app_agents_[id]_conversations_page_actions_1dpbbj-.js +3 -0
  314. package/app/.next/server/chunks/ssr/_next-internal_server_app_agents_[id]_page_actions_0k__y7g.js +3 -0
  315. package/app/.next/server/chunks/ssr/_next-internal_server_app_agents_[id]_sessions_page_actions_1hft42g.js +3 -0
  316. package/app/.next/server/chunks/ssr/_next-internal_server_app_agents_[id]_slack_page_actions_0dmtbj_.js +3 -0
  317. package/app/.next/server/chunks/ssr/app_1-nwnha._.js +3 -0
  318. package/app/.next/server/chunks/ssr/app_agents_[id]_009y8_j._.js +3 -0
  319. package/app/.next/server/chunks/ssr/app_agents_[id]_0sr4fdg._.js +3 -0
  320. package/app/.next/server/chunks/ssr/app_agents_[id]_activity_AgentActivityPage_tsx_042-590._.js +3 -0
  321. package/app/.next/server/chunks/ssr/app_agents_[id]_conversations_page_tsx_15zl_c8._.js +3 -0
  322. package/app/.next/server/chunks/ssr/app_agents_[id]_sessions_page_tsx_0tfup-2._.js +10 -0
  323. package/app/.next/server/chunks/ssr/app_agents_[id]_slack_AgentSlackPage_tsx_20njhs1._.js +3 -0
  324. package/app/.next/server/chunks/ssr/app_bots_[id]_config_page_tsx_1e0uue9._.js +1 -1
  325. package/app/.next/server/chunks/ssr/app_page_tsx_0pxmutw._.js +3 -0
  326. package/app/.next/server/chunks/ssr/lib_0pfn9gs._.js +3 -0
  327. package/app/.next/server/chunks/ssr/lib_agent-registration-ui_ts_1z582mm._.js +3 -0
  328. package/app/.next/server/chunks/ssr/lib_exchange-view_ts_1a4q9ju._.js +3 -0
  329. package/app/.next/server/chunks/ssr/lib_share-view_ts_08psw5o._.js +3 -0
  330. package/app/.next/server/instrumentation.js +1 -1
  331. package/app/.next/server/middleware-build-manifest.js +3 -3
  332. package/app/.next/server/next-font-manifest.js +1 -1
  333. package/app/.next/server/next-font-manifest.json +24 -4
  334. package/app/.next/server/pages/404.html +1 -1
  335. package/app/.next/server/pages/500.html +1 -1
  336. package/app/.next/server/server-reference-manifest.js +1 -1
  337. package/app/.next/server/server-reference-manifest.json +1 -1
  338. package/app/.next/static/chunks/02q7gb87r2ca3.css +3 -0
  339. package/app/.next/static/chunks/06i_6p0-ipitj.js +1 -0
  340. package/app/.next/static/chunks/0cjh4u-f7mlwd.js +1 -0
  341. package/app/.next/static/chunks/1dhk3pcv7yvm6.js +1 -0
  342. package/app/.next/static/chunks/1ka9dp1l6c0ga.js +3 -0
  343. package/app/.next/static/chunks/1ttvnc6qdye8s.js +1 -0
  344. package/app/.next/static/chunks/1ypwptc0fsn4w.js +1 -0
  345. package/app/.next/static/chunks/2-fhbx41zyanc.js +1 -0
  346. package/app/.next/static/chunks/2cc4uzbhs_v23.js +1 -0
  347. package/app/.next/static/chunks/2n1u8a2efnt88.js +1 -0
  348. package/app/.next/static/chunks/34v8aumua0x5n.js +1 -0
  349. package/app/.next/static/chunks/3aasli1i-eiio.js +1 -0
  350. package/app/.next/static/chunks/3p_p4gnr0d2-x.js +1 -0
  351. package/app/.next/static/chunks/3s9t477v-z09o.js +1 -0
  352. package/app/.next/static/chunks/3y5bo6syunkzn.js +8 -0
  353. package/app/BUILD_INFO.json +2 -2
  354. package/app/package.json +1 -1
  355. package/app/server.js +1 -1
  356. package/package.json +1 -1
  357. package/app/.next/server/app/threads/[id]/page/app-paths-manifest.json +0 -3
  358. package/app/.next/server/app/threads/[id]/page_client-reference-manifest.js +0 -3
  359. package/app/.next/server/chunks/[root-of-the-server]__0792yb1._.js +0 -44
  360. package/app/.next/server/chunks/[root-of-the-server]__0d3fjix._.js +0 -3
  361. package/app/.next/server/chunks/[root-of-the-server]__0e_agq4._.js +0 -3
  362. package/app/.next/server/chunks/[root-of-the-server]__0qaiqut._.js +0 -44
  363. package/app/.next/server/chunks/[root-of-the-server]__17mum5-._.js +0 -3
  364. package/app/.next/server/chunks/[root-of-the-server]__1x8phwp._.js +0 -44
  365. package/app/.next/server/chunks/_0qv-4by._.js +0 -3
  366. package/app/.next/server/chunks/lib_0v6lblw._.js +0 -5
  367. package/app/.next/server/chunks/lib_agent-api_ts_0iv52-o._.js +0 -3
  368. package/app/.next/server/chunks/ssr/[root-of-the-server]__1t063pe._.js +0 -3
  369. package/app/.next/server/chunks/ssr/_0_fa0na._.js +0 -3
  370. package/app/.next/server/chunks/ssr/_0a6r_bx._.js +0 -3
  371. package/app/.next/server/chunks/ssr/_0epgorw._.js +0 -3
  372. package/app/.next/server/chunks/ssr/_1cvuhjt._.js +0 -3
  373. package/app/.next/server/chunks/ssr/_1is_iwu._.js +0 -3
  374. package/app/.next/server/chunks/ssr/_1n5mvo5._.js +0 -3
  375. package/app/.next/server/chunks/ssr/_1o94bnv._.js +0 -5
  376. package/app/.next/server/chunks/ssr/app_exchanges_page_tsx_0j-n2a1._.js +0 -3
  377. package/app/.next/static/chunks/1ouuczm-gmvxs.js +0 -1
  378. package/app/.next/static/chunks/1w72fds3-utrx.js +0 -1
  379. package/app/.next/static/chunks/2095-o17ji0fs.css +0 -3
  380. package/app/.next/static/chunks/2q-tgwkalrnms.js +0 -1
  381. package/app/.next/static/chunks/34bv9o9bjkwk0.js +0 -3
  382. package/app/.next/static/chunks/3rwwunh5sdjzg.js +0 -1
  383. package/app/.next/static/chunks/3z3mn526_3fwd.js +0 -1
  384. /package/app/.next/server/app/{threads/[id] → agents/[id]/activity}/page/build-manifest.json +0 -0
  385. /package/app/.next/server/app/{threads/[id] → agents/[id]/activity}/page/react-loadable-manifest.json +0 -0
  386. /package/app/.next/server/app/{threads/[id] → agents/[id]/activity}/page/server-reference-manifest.json +0 -0
  387. /package/app/.next/static/{A9sQnaf9i6YzjHNoPgRfU → nOdd5VXbf23ohQcBBjvHa}/_buildManifest.js +0 -0
  388. /package/app/.next/static/{A9sQnaf9i6YzjHNoPgRfU → nOdd5VXbf23ohQcBBjvHa}/_clientMiddlewareManifest.js +0 -0
  389. /package/app/.next/static/{A9sQnaf9i6YzjHNoPgRfU → nOdd5VXbf23ohQcBBjvHa}/_ssgManifest.js +0 -0
@@ -1,5 +1,5 @@
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"))},64909,e=>{"use strict";var t=e.i(54799),n=e.i(33405),r=e.i(22734),a=e.i(14747),i=e.i(62294),s=e.i(25211),l=e.i(51714),o=e.i(10860),u=e.i(85072);let c=["read_file","run_command","send_draft","write_file"];function d(e){return"string"==typeof e&&c.includes(e)}let f=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;class p extends Error{}function m(e){throw new p(e)}function y(e){let t=e?.name;"string"==typeof t&&t||m("read_file needs a file name"),(0,s.isSafeFileName)(t)||m(`refused: unsafe file name ${JSON.stringify(t)}`);let n=(0,u.filesRoot)();return a.default.resolve(n,t).startsWith(n+a.default.sep)||m(`refused: path traversal in ${JSON.stringify(t)}`),t}function g(e){try{return(0,l.resolveCommand)({command:e?.command??"printf",format:e?.format,word:e?.word}).argv[1]}catch(e){m(e instanceof Error?e.message:"refused: command not allowlisted")}}function h(e){let t=e?.recipient,n=e?.body;return"string"==typeof t&&t.trim()||m("send_draft needs a recipient"),"string"==typeof n&&n.trim()||m("send_draft needs a body"),e?.channel!==void 0&&"email"!==e.channel&&"slack"!==e.channel&&m("send_draft channel must be email or slack"),{recipient:t.trim(),body:n.trim()}}function w(e){let t=e?.name;"string"==typeof t&&t||m("write_file needs a file name"),(0,s.isSafeFileName)(t)||m(`refused: unsafe file name ${JSON.stringify(t)}`);let n=(0,u.filesRoot)();a.default.resolve(n,t).startsWith(n+a.default.sep)||m(`refused: path traversal in ${JSON.stringify(t)}`);let r=e?.content;return"string"==typeof r&&r||m("write_file needs content"),Buffer.byteLength(r,"utf8")>u.ARTIFACT_MAX_BYTES&&m(`refused: file content exceeds ${u.ARTIFACT_MAX_BYTES} bytes`),{name:t,content:r}}let b={read_file:{validate:e=>{y(e)},run:e=>{let t=y(e),n=a.default.join((0,u.filesRoot)(),t),i=r.default.readFileSync(n,"utf8");return{ok:!0,lines:[`[tool call] readFile ${JSON.stringify([t])}`,`[tool result] ${i}`],result:i}}},run_command:{validate:e=>{g(e)},run:e=>{let t=g(e),r=(0,n.execFileSync)("printf",["%s",t],{encoding:"utf8"});return{ok:!0,lines:[`[tool call] printf ${JSON.stringify(["%s",t])}`,`[tool result] ${r}`],result:r}}},send_draft:{validate:e=>{h(e)},run:e=>{let{recipient:t,body:n}=h(e),r=`[Sent to ${t}] ${n}`;return{ok:!0,lines:[r],result:r}}},write_file:{validate:e=>{w(e)},run:e=>{let{name:t,content:n}=w(e),i=(0,u.filesRoot)();r.default.mkdirSync(i,{recursive:!0});let s=a.default.resolve(i,t);if(!s.startsWith(i+a.default.sep))throw new p(`refused: path traversal in ${JSON.stringify(t)}`);return r.default.writeFileSync(s,n,"utf8"),{ok:!0,lines:[`[file] ${t}`],result:t}}}};function _(e,t){let n=i.default.prepare("SELECT * FROM approval_requests WHERE conversation_id = ? AND code = ?").get(e,t);return n?function(e){let t=null;if("string"==typeof e.action_args&&e.action_args)try{let n=JSON.parse(e.action_args);n&&"object"==typeof n&&!Array.isArray(n)&&(t=n)}catch{t=null}return{id:String(e.id),conversation_id:String(e.conversation_id),bot_id:e.bot_id??null,code:String(e.code),action_type:e.action_type??null,action_args:t,message_id:e.message_id??null,status:e.status,result:e.result??null,created_at:Number(e.created_at),resolved_at:e.resolved_at??null}}(n):void 0}function v(e){let n=(e.code||"").trim();if(!f.test(n))throw Error("approval code is required");let r=e.actionType??null,a=e.actionArgs??null;if(null!==r){if(!d(r))throw new p(`refused: unknown action type ${JSON.stringify(r)}`);b[r].validate(a)}let s=Date.now();i.default.prepare(`INSERT OR IGNORE INTO approval_requests
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"))},64909,e=>{"use strict";var t=e.i(54799),n=e.i(33405),r=e.i(22734),a=e.i(14747),i=e.i(62294),s=e.i(25211),l=e.i(51714),o=e.i(10860),u=e.i(85072);let c=["read_file","run_command","send_draft","write_file"];function d(e){return"string"==typeof e&&c.includes(e)}let f=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;class p extends Error{}function m(e){throw new p(e)}function y(e){let t=e?.name;"string"==typeof t&&t||m("read_file needs a file name"),(0,s.isSafeFileName)(t)||m(`refused: unsafe file name ${JSON.stringify(t)}`);let n=(0,u.filesRoot)();return a.default.resolve(n,t).startsWith(n+a.default.sep)||m(`refused: path traversal in ${JSON.stringify(t)}`),t}function h(e){try{return(0,l.resolveCommand)({command:e?.command??"printf",format:e?.format,word:e?.word}).argv[1]}catch(e){m(e instanceof Error?e.message:"refused: command not allowlisted")}}function g(e){let t=e?.recipient,n=e?.body;return"string"==typeof t&&t.trim()||m("send_draft needs a recipient"),"string"==typeof n&&n.trim()||m("send_draft needs a body"),e?.channel!==void 0&&"email"!==e.channel&&"slack"!==e.channel&&m("send_draft channel must be email or slack"),{recipient:t.trim(),body:n.trim()}}function w(e){let t=e?.name;"string"==typeof t&&t||m("write_file needs a file name"),(0,s.isSafeFileName)(t)||m(`refused: unsafe file name ${JSON.stringify(t)}`);let n=(0,u.filesRoot)();a.default.resolve(n,t).startsWith(n+a.default.sep)||m(`refused: path traversal in ${JSON.stringify(t)}`);let r=e?.content;return"string"==typeof r&&r||m("write_file needs content"),Buffer.byteLength(r,"utf8")>u.ARTIFACT_MAX_BYTES&&m(`refused: file content exceeds ${u.ARTIFACT_MAX_BYTES} bytes`),{name:t,content:r}}let b={read_file:{validate:e=>{y(e)},run:e=>{let t=y(e),n=a.default.join((0,u.filesRoot)(),t),i=r.default.readFileSync(n,"utf8");return{ok:!0,lines:[`[tool call] readFile ${JSON.stringify([t])}`,`[tool result] ${i}`],result:i}}},run_command:{validate:e=>{h(e)},run:e=>{let t=h(e),r=(0,n.execFileSync)("printf",["%s",t],{encoding:"utf8"});return{ok:!0,lines:[`[tool call] printf ${JSON.stringify(["%s",t])}`,`[tool result] ${r}`],result:r}}},send_draft:{validate:e=>{g(e)},run:e=>{let{recipient:t,body:n}=g(e),r=`[Sent to ${t}] ${n}`;return{ok:!0,lines:[r],result:r}}},write_file:{validate:e=>{w(e)},run:e=>{let{name:t,content:n}=w(e),i=(0,u.filesRoot)();r.default.mkdirSync(i,{recursive:!0});let s=a.default.resolve(i,t);if(!s.startsWith(i+a.default.sep))throw new p(`refused: path traversal in ${JSON.stringify(t)}`);return r.default.writeFileSync(s,n,"utf8"),{ok:!0,lines:[`[file] ${t}`],result:t}}}};function _(e,t){let n=i.default.prepare("SELECT * FROM approval_requests WHERE conversation_id = ? AND code = ?").get(e,t);return n?function(e){let t=null;if("string"==typeof e.action_args&&e.action_args)try{let n=JSON.parse(e.action_args);n&&"object"==typeof n&&!Array.isArray(n)&&(t=n)}catch{t=null}return{id:String(e.id),conversation_id:String(e.conversation_id),bot_id:e.bot_id??null,code:String(e.code),action_type:e.action_type??null,action_args:t,message_id:e.message_id??null,status:e.status,result:e.result??null,created_at:Number(e.created_at),resolved_at:e.resolved_at??null}}(n):void 0}function v(e){let n=(e.code||"").trim();if(!f.test(n))throw Error("approval code is required");let r=e.actionType??null,a=e.actionArgs??null;if(null!==r){if(!d(r))throw new p(`refused: unknown action type ${JSON.stringify(r)}`);b[r].validate(a)}let s=Date.now();i.default.prepare(`INSERT OR IGNORE INTO approval_requests
2
2
  (id, conversation_id, bot_id, code, action_type, action_args, message_id, status, created_at)
3
- VALUES (?, ?, ?, ?, ?, ?, ?, 'pending', ?)`).run((0,t.randomUUID)(),e.conversationId,e.botId??null,n,r,a?JSON.stringify(a):null,e.messageId??null,s);let l=_(e.conversationId,n);if(!l)throw Error("failed to store approval request");return l}function A(e,t,n){i.default.prepare("UPDATE approval_requests SET message_id = ? WHERE conversation_id = ? AND code = ?").run(n,e,t)}function $(e){let n=e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,16)||"gate";return`${n}-${(0,t.randomBytes)(2).toString("hex")}`}function S(e){return e?i.bots.getById(e)?.name??null:null}function E(e,t){i.messages.create(e.conversation_id,"bot",t,e.bot_id??void 0)}function N(e){return`Approve using the code ${e}`}function T(e,t){for(let n=0;n<8;n++){let n=$(t);if(!_(e,n))return n}return $(`${t}-${Date.now().toString(36)}`)}e.s(["ApprovalActionRefused",0,p,"approvalCardText",0,N,"createApprovalRequest",0,v,"decideApproval",0,function(e,t,n){let r,a=_(e,t);if(!a)throw Error("Approval request not found");if("pending"!==a.status)return{status:a.status,code:t,ran:!1,already:!0};if("deny"===n){if(1!==Number(i.default.prepare("UPDATE approval_requests SET status = 'denied', resolved_at = ? WHERE conversation_id = ? AND code = ? AND status = 'pending'").run(Date.now(),e,t).changes)){let n=_(e,t);return{status:n?.status??"denied",code:t,ran:!1,already:!0}}return E(a,(0,o.applySkillEndToken)(S(a.bot_id),`Denied ${t}`)),{status:"denied",code:t,ran:!1,already:!1}}if(null!==a.action_type&&!d(a.action_type))return{status:"pending",code:t,ran:!1,already:!1,refused:`refused: unknown action type ${JSON.stringify(a.action_type)}`};if(null!==a.action_type)try{b[a.action_type].validate(a.action_args)}catch(e){return{status:"pending",code:t,ran:!1,already:!1,refused:e instanceof Error?e.message:String(e)}}if(1!==Number(i.default.prepare("UPDATE approval_requests SET status = 'approved', resolved_at = ? WHERE conversation_id = ? AND code = ? AND status = 'pending'").run(Date.now(),e,t).changes)){let n=_(e,t);return{status:n?.status??"approved",code:t,ran:!1,already:!0}}if(null===a.action_type)return E(a,(0,o.applySkillEndToken)(S(a.bot_id),t)),{status:"approved",code:t,ran:!1,already:!1};try{r=b[a.action_type].run(a.action_args,{conversationId:e,botId:a.bot_id})}catch(t){let e=t instanceof Error?t.message:String(t);r={ok:!1,lines:[`[tool result] Error: ${e}`],result:`Error: ${e}`}}for(let e of r.lines)E(a,e);let s=function(e){if(!e)return null;let t=i.bots.getById(e);return(0,o.skillEndToken)(t?.name)}(a.bot_id);return s&&E(a,s),i.default.prepare("UPDATE approval_requests SET status = ?, result = ? WHERE conversation_id = ? AND code = ?").run("executed",r.result,e,t),{status:"executed",code:t,ran:r.ok,already:!1}},"getApprovalByCode",0,_,"mintApprovalCode",0,$,"raiseApprovalFromUserInstruction",0,function(e){let t,n,r,{conversationId:a,botId:l,botName:u,userMessage:c,thread:d}=e,m=function(e){let t=(e||"").trim();if(!t)return null;let n=t.match(/^(?:please\s+|could you\s+)?(read|open|cat|display|show)\s+(?:me\s+)?(?:the\s+)?(?:file\s+|contents\s+of\s+(?:the\s+)?(?:file\s+)?)(\S+?)\s*(?:for me\s*)?[.?!]?\s*$/i);if(!n)return null;let r=n[2].replace(/^[`"'"]+|[`"'"]+$/g,"").replace(/[.?!]+$/,"");return r?{name:r}:null}(c.content),y=m?null:function(e){let t=(e||"").trim();if(!t)return null;let n=t.match(/^(?:please\s+)?(run|execute)\s+(?:a\s+)?command\s+(?:that\s+prints|to\s+print|printing)\s+(?:the\s+)?word\s+([A-Za-z0-9_-]+)\s*[.?!]?\s*$/i);return n?{word:n[2]}:null}(c.content),g=m||y?null:function(e){let t,n=(e||"").trim();if(!n||!/\bask\b/i.test(n)||!/\bapprov(?:e|al)\b/i.test(n)||!/\bcode\b/i.test(n)||!/\bwait\b/i.test(n))return null;let r=n.match(/code\s*:?\s*[`"'"]?([A-Za-z0-9][A-Za-z0-9_.-]*)[`"'"]?/i);return r?(t=r[1].replace(/^[`"'"]+|[`"'"]+$/g,"").replace(/[^A-Za-z0-9_-]+$/,""),f.test(t)?t:null):null}(c.content);if(!m&&!y&&!g)return!1;if(d.some(e=>{let t;return"bot"===e.sender_type&&e.sender_id===l&&e.created_at>c.created_at&&!!(t=(0,s.parseApprovalCode)(e.content))&&!!_(a,t)}))return!0;m?(t=T(a,`read-${m.name}`),n="read_file",r={name:m.name}):y?(t=T(a,`run-${y.word}`),n="run_command",r={command:"printf",format:"%s",word:y.word}):(t=g,n=null,r=null);try{v({conversationId:a,botId:l,code:t,actionType:n,actionArgs:r})}catch(e){if(e instanceof p)return!0;throw e}let h=(0,o.applySkillEndToken)(u,N(t)),w=i.messages.create(a,"bot",h,l);return A(a,t,w.id),!0},"recordModelApproval",0,function(e,t){let n=function(e){let t,n=(0,s.parseApprovalCode)(e||"");if(!n||!f.test(n))return null;let r=(e||"").match(/\[approval-action\]\s*(\{[\s\S]*?\})\s*(?:\r?\n|$)/i);if(!r)return{code:n,actionType:null,actionArgs:null};try{t=JSON.parse(r[1])}catch{return{code:n,actionType:null,actionArgs:null}}if(!t||"object"!=typeof t||Array.isArray(t))return{code:n,actionType:null,actionArgs:null};let a=t;if(!d(a.type))return{code:n,actionType:null,actionArgs:null};let i={};for(let[e,t]of Object.entries(a))"type"!==e&&(i[e]=t);try{b[a.type].validate(i)}catch{return{code:n,actionType:null,actionArgs:null}}return{code:n,actionType:a.type,actionArgs:i}}(t.content);if(!n)return null;let r=v({conversationId:e,botId:t.sender_id??null,code:n.code,actionType:n.actionType,actionArgs:n.actionArgs,messageId:t.id});return r.message_id||A(e,n.code,t.id),r},"setApprovalMessage",0,A])},85072,3620,e=>{"use strict";var t=e.i(22734),n=e.i(14747),r=e.i(25211);class a extends Error{}function i(e,t){return RegExp("\\b"+t+"\\b","i").test(e)}function s(e){return e.trim().replace(/^[@"'`]+|["'`]+$/g,"").replace(/[.?!;,:'"`]+$/g,"").trim()}function l(e){if(!e||"object"!=typeof e||Array.isArray(e))throw new a("draft needs {channel, recipient, body}");if("email"!==e.channel&&"slack"!==e.channel)throw new a("draft channel must be email or slack");if("string"!=typeof e.recipient)throw new a("draft needs a recipient string");if("string"!=typeof e.body)throw new a("draft needs a body string");let t=e.recipient.trim(),n=e.body.trim();if(t.length>256)throw new a("draft recipient is too long");if(!n)throw new a("draft needs a body");if(Buffer.byteLength(n,"utf8")>32768)throw new a("draft body is too large");return{channel:e.channel,recipient:t,body:n}}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 n=null;if(i(t,"email")?n="email":i(t,"slack")&&(n="slack"),!n)return null;let r=/\b(draft|write|compose|create|prepare|send)\b/i.test(t),a=/\bplease\b/i.test(t),o=/\b(can|could|would)\s+you\b/i.test(t),u=/^\s*(please\s+)?(email|slack)\b/i.test(t);if(!r&&!a&&!o&&!u)return null;let c=function(e){if(e.toLowerCase().includes("one-line note"))return"One-line note.";let t=e.toLowerCase(),n=-1,r="";for(let e of["that says","saying","note:"]){let a=t.indexOf(e);a>=0&&(n<0||a<n)&&(n=a,r=e)}return n<0?null:e.slice(n+r.length).trim()||null}(t);if(c){let e=function(e){let t=e.toLowerCase(),n=-1;for(let e of["that says","saying","note:"]){let r=t.indexOf(e);r>=0&&(n<0||r<n)&&(n=r)}return n<0?e:e.slice(0,n)}(t),r="",a=e.match(/\bto\s+@?([A-Za-z0-9_.-]+(?:@[A-Za-z0-9_.-]+\.[A-Za-z]+)?)/i);if(a)r=s(a[1]||"");else{let t=e.match(/\b(email|slack)\b\s+@?([A-Za-z0-9_.-]+)/i);if(t){let e=s(t[2]||"");e&&!["to","a","an","the","that","saying","note"].includes(e.toLowerCase())&&(r=e)}}try{return l({channel:n,recipient:r,body:c})}catch{return null}}if(!u)return null;let d=t.match(/^\s*(?:please\s+)?(?:email|slack)\s+@?([A-Za-z0-9_.-]+)\s+(.+?)\s*[.?!]?\s*$/i);if(!d)return null;let f=s(d[1]||""),p=(d[2]||"").trim();if(!f||["to","a","an","the","that","saying","note"].includes(f.toLowerCase())||!p||p.length<2)return null;try{return l({channel:n,recipient:f,body:p})}catch{return null}},"validateDraftRequest",0,l],3620);var o=e.i(52036);class u extends Error{}function c(){return(0,o.filesRootPath)()}function d(e){let t=f(e),r=c(),a=n.default.resolve(r,t);if(a!==r&&!a.startsWith(r+n.default.sep))throw new u(`refused: path traversal in ${JSON.stringify(e)}`);return a}function f(e){if("string"!=typeof e||!e)throw new u("file needs a name");if(e.length>128)throw new u(`refused: file name too long ${JSON.stringify(e)}`);if(!(0,r.isSafeFileName)(e))throw new u(`refused: unsafe file name ${JSON.stringify(e)}`);return e}function p(e){if(!e||"object"!=typeof e||Array.isArray(e))throw new u("file needs {name, content}");return{name:f(e.name),content:function(e){if("string"!=typeof e)throw new u("file needs string content");let t=Buffer.byteLength(e,"utf8");if(0===t)throw new u("file needs content");if(t>65536)throw new u("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,c,"parseFileWriteRequest",0,function(e){let t,n=(e||"").trim();if(!n||!/\b(write|create|make)\b/i.test(n)||!/\bfile\b/i.test(n)||!/\bfile\b\s+(named|called)\b/i.test(n))return null;let r=n.match(/\bfile\b\s+(?:named|called)\s+([`"'\u201c\u201d]?\S+?[`"'\u201c\u201d]?)(?:\s+|$)/i);if(!r)return null;let a=(t=(r[1]||"").trim().replace(/^["'`\u201c\u201d]+|["'`\u201c\u201d]+$/g,"").replace(/[?!;,:'"`]+$/,"").trim(),/^\.+$/.test(t)?t:t.replace(/[.]+$/,""));if(!a)return null;let i=n.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(i)return{name:a,content:i[1]};let s=n.match(/(?:containing|with\s+contents?)\s+["\u201c](.+?)["\u201d]/i);if(s&&s[1].trim())return{name:a,content:s[1]};let l=n.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:a,content:e}}let o=n.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:a,content:e}}return null},"parseTypedResult",0,function(e){for(let t of function(e){let t=[];for(let n of(e||"").split(/\r?\n/)){let e=n.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,d,"validateArtifact",0,p,"writeArtifactFile",0,function(e,n,r){let a=p({name:e,content:n}),i=c();t.default.mkdirSync(i,{recursive:!0});let s=d(a.name);if(t.default.existsSync(s)){let e;try{e=t.default.statSync(s)}catch{throw new u(`refused: cannot stat ${JSON.stringify(a.name)}`)}if(!e.isFile())throw new u(`refused: not a file ${JSON.stringify(a.name)}`);if(!r?.allowOverwrite)throw new u(`refused: ${JSON.stringify(a.name)} already exists`)}return t.default.writeFileSync(s,a.content,"utf8"),s}],85072)},51714,e=>{"use strict";let t=/^[A-Za-z0-9_-]+$/;function n(e){return"printf"===e}class r extends Error{}function a(e){throw new r(e)}function i(e){return"string"==typeof e&&t.test(e)||a("refused: command not allowlisted"),e.length>64&&a("refused: command not allowlisted"),e}let s=/^(?:please\s+)?(?:print|output|display|show|echo)\s+(?:the\s+)?word\s+([A-Za-z0-9_-]+)\s*(.*?)\s*[.?!]?\s*$/i,l=[/^$/,/^wait\s+(\d+)\s*seconds?$/,/^and\s+wait\s+(\d+)\s*seconds?$/,/^wait\s+for\s+(\d+)\s*seconds?$/,/^and\s+wait\s+for\s+(\d+)\s*seconds?$/,/^then\s+wait\s+(\d+)\s*seconds?$/];function o(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}e.s(["COMMAND_OUTPUT_MAX_BYTES",0,4096,"commandRunPage",0,function(e,t){let n=`printf %s ${e.args.word}`;return'<!doctype html><html><body style="margin:0;background:#0d1117;color:#c9d1d9;font:13px/1.5 ui-monospace,monospace;padding:12px">'+(null===t?`<div class="cmd">$ ${o(n)}</div><div class="dim">waiting ${e.waitSeconds}s…</div>`:`<div class="cmd">$ ${o(n)}</div><div class="out">${o(t)}</div>`)+"</body></html>"},"commandTimeoutMs",0,function(e){return 1e3*e+1e4},"parseCommandAsk",0,function(e){let n=(e||"").trim();if(!n||/^(?:please\s+)?(run|execute)\s+(?:a\s+)?command\b/i.test(n))return null;let r=n.match(s);if(!r)return null;let a=r[1];if(!t.test(a)||a.length>64)return null;let i=(r[2]||"").trim().replace(/^[,\s]+/,"").trim();for(let e of(i=i.replace(/\s+/g," "),l)){let t=i.match(e);if(!t)continue;if(!t[1])return{command:"printf",args:{word:a},waitSeconds:4};let n=Number(t[1]);if(!Number.isInteger(n)||n<1||n>30)break;return{command:"printf",args:{word:a},waitSeconds:n}}return null},"resolveCommand",0,function(e){n(e.command)||a("refused: command not allowlisted");let t=e.args??null,r=t?.format??e.format;void 0!==r&&"%s"!==r&&a("refused: command not allowlisted");let s=i(t?.word??e.word);return{bin:"/usr/bin/printf",argv:["%s",s],display:`printf %s ${s}`}},"validateCommandRequest",0,function(e){var t;n(e.command)||a("refused: command not allowlisted");let r=e.args,s=i(r?.word);return{command:e.command,args:{word:s},waitSeconds:(("number"!=typeof(t=e.waitSeconds)||!Number.isInteger(t)||t<1||t>30)&&a("refused: wait must be 1 to 30 seconds"),t)}}])},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,n=e.match(/^\s*\[draft\]\s*([\s\S]*)$/);if(!n)return null;try{t=JSON.parse(n[1])}catch{return null}if(!t||"object"!=typeof t)return null;let r=t;return"email"!==r.channel&&"slack"!==r.channel||"open"!==r.state&&"sent"!==r.state&&"discarded"!==r.state||"string"!=typeof r.recipient||"string"!=typeof r.body?null:{channel:r.channel,recipient:r.recipient,body:r.body,state:r.state}},"parseFileNames",0,function(e){let t=[];for(let n of e.split("\n")){let e=n.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})}])}];
3
+ VALUES (?, ?, ?, ?, ?, ?, ?, 'pending', ?)`).run((0,t.randomUUID)(),e.conversationId,e.botId??null,n,r,a?JSON.stringify(a):null,e.messageId??null,s);let l=_(e.conversationId,n);if(!l)throw Error("failed to store approval request");return l}function A(e,t,n){i.default.prepare("UPDATE approval_requests SET message_id = ? WHERE conversation_id = ? AND code = ?").run(n,e,t)}function S(e){let n=e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,16)||"gate";return`${n}-${(0,t.randomBytes)(2).toString("hex")}`}function $(e){return e?i.bots.getById(e)?.name??null:null}function k(e,t){i.messages.create(e.conversation_id,"bot",t,e.bot_id??void 0)}function E(e){return`Approve using the code ${e}`}function N(e,t){for(let n=0;n<8;n++){let n=S(t);if(!_(e,n))return n}return S(`${t}-${Date.now().toString(36)}`)}e.s(["ApprovalActionRefused",0,p,"approvalCardText",0,E,"createApprovalRequest",0,v,"decideApproval",0,function(e,t,n){let r,a=_(e,t);if(!a)throw Error("Approval request not found");if("pending"!==a.status)return{status:a.status,code:t,ran:!1,already:!0};if("deny"===n){if(1!==Number(i.default.prepare("UPDATE approval_requests SET status = 'denied', resolved_at = ? WHERE conversation_id = ? AND code = ? AND status = 'pending'").run(Date.now(),e,t).changes)){let n=_(e,t);return{status:n?.status??"denied",code:t,ran:!1,already:!0}}return k(a,(0,o.applySkillEndToken)($(a.bot_id),`Denied ${t}`)),{status:"denied",code:t,ran:!1,already:!1}}if(null!==a.action_type&&!d(a.action_type))return{status:"pending",code:t,ran:!1,already:!1,refused:`refused: unknown action type ${JSON.stringify(a.action_type)}`};if(null!==a.action_type)try{b[a.action_type].validate(a.action_args)}catch(e){return{status:"pending",code:t,ran:!1,already:!1,refused:e instanceof Error?e.message:String(e)}}if(1!==Number(i.default.prepare("UPDATE approval_requests SET status = 'approved', resolved_at = ? WHERE conversation_id = ? AND code = ? AND status = 'pending'").run(Date.now(),e,t).changes)){let n=_(e,t);return{status:n?.status??"approved",code:t,ran:!1,already:!0}}if(null===a.action_type)return k(a,(0,o.applySkillEndToken)($(a.bot_id),t)),{status:"approved",code:t,ran:!1,already:!1};try{r=b[a.action_type].run(a.action_args,{conversationId:e,botId:a.bot_id})}catch(t){let e=t instanceof Error?t.message:String(t);r={ok:!1,lines:[`[tool result] Error: ${e}`],result:`Error: ${e}`}}for(let e of r.lines)k(a,e);let s=function(e){if(!e)return null;let t=i.bots.getById(e);return(0,o.skillEndToken)(t?.name)}(a.bot_id);return s&&k(a,s),i.default.prepare("UPDATE approval_requests SET status = ?, result = ? WHERE conversation_id = ? AND code = ?").run("executed",r.result,e,t),{status:"executed",code:t,ran:r.ok,already:!1}},"getApprovalByCode",0,_,"mintApprovalCode",0,S,"raiseApprovalFromUserInstruction",0,function(e){let t,n,r,{conversationId:a,botId:l,botName:u,userMessage:c,thread:d}=e,m=function(e){let t=(e||"").trim();if(!t)return null;let n=t.match(/^(?:please\s+|could you\s+)?(read|open|cat|display|show)\s+(?:me\s+)?(?:the\s+)?(?:file\s+|contents\s+of\s+(?:the\s+)?(?:file\s+)?)(\S+?)\s*(?:for me\s*)?[.?!]?\s*$/i);if(!n)return null;let r=n[2].replace(/^[`"'"]+|[`"'"]+$/g,"").replace(/[.?!]+$/,"");return r?{name:r}:null}(c.content),y=m?null:function(e){let t=(e||"").trim();if(!t)return null;let n=t.match(/^(?:please\s+)?(run|execute)\s+(?:a\s+)?command\s+(?:that\s+prints|to\s+print|printing)\s+(?:the\s+)?word\s+([A-Za-z0-9_-]+)\s*[.?!]?\s*$/i);return n?{word:n[2]}:null}(c.content),h=m||y?null:function(e){let t,n=(e||"").trim();if(!n||!/\bask\b/i.test(n)||!/\bapprov(?:e|al)\b/i.test(n)||!/\bcode\b/i.test(n)||!/\bwait\b/i.test(n))return null;let r=n.match(/code\s*:?\s*[`"'"]?([A-Za-z0-9][A-Za-z0-9_.-]*)[`"'"]?/i);return r?(t=r[1].replace(/^[`"'"]+|[`"'"]+$/g,"").replace(/[^A-Za-z0-9_-]+$/,""),f.test(t)?t:null):null}(c.content);if(!m&&!y&&!h)return!1;if(d.some(e=>{let t;return"bot"===e.sender_type&&e.sender_id===l&&e.created_at>c.created_at&&!!(t=(0,s.parseApprovalCode)(e.content))&&!!_(a,t)}))return!0;m?(t=N(a,`read-${m.name}`),n="read_file",r={name:m.name}):y?(t=N(a,`run-${y.word}`),n="run_command",r={command:"printf",format:"%s",word:y.word}):(t=h,n=null,r=null);try{v({conversationId:a,botId:l,code:t,actionType:n,actionArgs:r})}catch(e){if(e instanceof p)return!0;throw e}let g=(0,o.applySkillEndToken)(u,E(t)),w=i.messages.create(a,"bot",g,l);return A(a,t,w.id),!0},"recordModelApproval",0,function(e,t){let n=function(e){let t,n=(0,s.parseApprovalCode)(e||"");if(!n||!f.test(n))return null;let r=(e||"").match(/\[approval-action\]\s*(\{[\s\S]*?\})\s*(?:\r?\n|$)/i);if(!r)return{code:n,actionType:null,actionArgs:null};try{t=JSON.parse(r[1])}catch{return{code:n,actionType:null,actionArgs:null}}if(!t||"object"!=typeof t||Array.isArray(t))return{code:n,actionType:null,actionArgs:null};let a=t;if(!d(a.type))return{code:n,actionType:null,actionArgs:null};let i={};for(let[e,t]of Object.entries(a))"type"!==e&&(i[e]=t);try{b[a.type].validate(i)}catch{return{code:n,actionType:null,actionArgs:null}}return{code:n,actionType:a.type,actionArgs:i}}(t.content);if(!n)return null;let r=v({conversationId:e,botId:t.sender_id??null,code:n.code,actionType:n.actionType,actionArgs:n.actionArgs,messageId:t.id});return r.message_id||A(e,n.code,t.id),r},"setApprovalMessage",0,A])},85072,3620,e=>{"use strict";var t=e.i(22734),n=e.i(14747),r=e.i(25211);class a extends Error{}function i(e,t){return RegExp("\\b"+t+"\\b","i").test(e)}function s(e){return e.trim().replace(/^[@"'`]+|["'`]+$/g,"").replace(/[.?!;,:'"`]+$/g,"").trim()}function l(e){if(!e||"object"!=typeof e||Array.isArray(e))throw new a("draft needs {channel, recipient, body}");if("email"!==e.channel&&"slack"!==e.channel)throw new a("draft channel must be email or slack");if("string"!=typeof e.recipient)throw new a("draft needs a recipient string");if("string"!=typeof e.body)throw new a("draft needs a body string");let t=e.recipient.trim(),n=e.body.trim();if(t.length>256)throw new a("draft recipient is too long");if(!n)throw new a("draft needs a body");if(Buffer.byteLength(n,"utf8")>32768)throw new a("draft body is too large");return{channel:e.channel,recipient:t,body:n}}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 n=null;if(i(t,"email")?n="email":i(t,"slack")&&(n="slack"),!n)return null;let r=/\b(draft|write|compose|create|prepare|send)\b/i.test(t),a=/\bplease\b/i.test(t),o=/\b(can|could|would)\s+you\b/i.test(t),u=/^\s*(please\s+)?(email|slack)\b/i.test(t);if(!r&&!a&&!o&&!u)return null;let c=function(e){if(e.toLowerCase().includes("one-line note"))return"One-line note.";let t=e.toLowerCase(),n=-1,r="";for(let e of["that says","saying","note:"]){let a=t.indexOf(e);a>=0&&(n<0||a<n)&&(n=a,r=e)}return n<0?null:e.slice(n+r.length).trim()||null}(t);if(c){let e=function(e){let t=e.toLowerCase(),n=-1;for(let e of["that says","saying","note:"]){let r=t.indexOf(e);r>=0&&(n<0||r<n)&&(n=r)}return n<0?e:e.slice(0,n)}(t),r="",a=e.match(/\bto\s+@?([A-Za-z0-9_.-]+(?:@[A-Za-z0-9_.-]+\.[A-Za-z]+)?)/i);if(a)r=s(a[1]||"");else{let t=e.match(/\b(email|slack)\b\s+@?([A-Za-z0-9_.-]+)/i);if(t){let e=s(t[2]||"");e&&!["to","a","an","the","that","saying","note"].includes(e.toLowerCase())&&(r=e)}}try{return l({channel:n,recipient:r,body:c})}catch{return null}}if(!u)return null;let d=t.match(/^\s*(?:please\s+)?(?:email|slack)\s+@?([A-Za-z0-9_.-]+)\s+(.+?)\s*[.?!]?\s*$/i);if(!d)return null;let f=s(d[1]||""),p=(d[2]||"").trim();if(!f||["to","a","an","the","that","saying","note"].includes(f.toLowerCase())||!p||p.length<2)return null;try{return l({channel:n,recipient:f,body:p})}catch{return null}},"validateDraftRequest",0,l],3620);var o=e.i(52036);class u extends Error{}function c(){return(0,o.filesRootPath)()}function d(e){let t=f(e),r=c(),a=n.default.resolve(r,t);if(a!==r&&!a.startsWith(r+n.default.sep))throw new u(`refused: path traversal in ${JSON.stringify(e)}`);return a}function f(e){if("string"!=typeof e||!e)throw new u("file needs a name");if(e.length>128)throw new u(`refused: file name too long ${JSON.stringify(e)}`);if(!(0,r.isSafeFileName)(e))throw new u(`refused: unsafe file name ${JSON.stringify(e)}`);return e}function p(e){if(!e||"object"!=typeof e||Array.isArray(e))throw new u("file needs {name, content}");return{name:f(e.name),content:function(e){if("string"!=typeof e)throw new u("file needs string content");let t=Buffer.byteLength(e,"utf8");if(0===t)throw new u("file needs content");if(t>65536)throw new u("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,c,"parseFileWriteRequest",0,function(e){let t,n=(e||"").trim();if(!n||!/\b(write|create|make)\b/i.test(n)||!/\bfile\b/i.test(n)||!/\bfile\b\s+(named|called)\b/i.test(n))return null;let r=n.match(/\bfile\b\s+(?:named|called)\s+([`"'\u201c\u201d]?\S+?[`"'\u201c\u201d]?)(?:\s+|$)/i);if(!r)return null;let a=(t=(r[1]||"").trim().replace(/^["'`\u201c\u201d]+|["'`\u201c\u201d]+$/g,"").replace(/[?!;,:'"`]+$/,"").trim(),/^\.+$/.test(t)?t:t.replace(/[.]+$/,""));if(!a)return null;let i=n.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(i)return{name:a,content:i[1]};let s=n.match(/(?:containing|with\s+contents?)\s+["\u201c](.+?)["\u201d]/i);if(s&&s[1].trim())return{name:a,content:s[1]};let l=n.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:a,content:e}}let o=n.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:a,content:e}}return null},"parseTypedResult",0,function(e){for(let t of function(e){let t=[];for(let n of(e||"").split(/\r?\n/)){let e=n.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,d,"validateArtifact",0,p,"writeArtifactFile",0,function(e,n,r){let a=p({name:e,content:n}),i=c();t.default.mkdirSync(i,{recursive:!0});let s=d(a.name);if(t.default.existsSync(s)){let e;try{e=t.default.statSync(s)}catch{throw new u(`refused: cannot stat ${JSON.stringify(a.name)}`)}if(!e.isFile())throw new u(`refused: not a file ${JSON.stringify(a.name)}`);if(!r?.allowOverwrite)throw new u(`refused: ${JSON.stringify(a.name)} already exists`)}return t.default.writeFileSync(s,a.content,"utf8"),s}],85072)},51714,e=>{"use strict";let t=/^[A-Za-z0-9_-]+$/;function n(e){return"printf"===e}class r extends Error{}function a(e){throw new r(e)}function i(e){return"string"==typeof e&&t.test(e)||a("refused: command not allowlisted"),e.length>64&&a("refused: command not allowlisted"),e}let s=/^(?:please\s+)?(?:print|output|display|show|echo)\s+(?:the\s+)?word\s+([A-Za-z0-9_-]+)\s*(.*?)\s*[.?!]?\s*$/i,l=[/^$/,/^wait\s+(\d+)\s*seconds?$/,/^and\s+wait\s+(\d+)\s*seconds?$/,/^wait\s+for\s+(\d+)\s*seconds?$/,/^and\s+wait\s+for\s+(\d+)\s*seconds?$/,/^then\s+wait\s+(\d+)\s*seconds?$/];function o(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}e.s(["COMMAND_OUTPUT_MAX_BYTES",0,4096,"commandRunPage",0,function(e,t){let n=`printf %s ${e.args.word}`;return'<!doctype html><html><body style="margin:0;background:#0d1117;color:#c9d1d9;font:13px/1.5 ui-monospace,monospace;padding:12px">'+(null===t?`<div class="cmd">$ ${o(n)}</div><div class="dim">waiting ${e.waitSeconds}s…</div>`:`<div class="cmd">$ ${o(n)}</div><div class="out">${o(t)}</div>`)+"</body></html>"},"commandTimeoutMs",0,function(e){return 1e3*e+1e4},"parseCommandAsk",0,function(e){let n=(e||"").trim();if(!n||/^(?:please\s+)?(run|execute)\s+(?:a\s+)?command\b/i.test(n))return null;let r=n.match(s);if(!r)return null;let a=r[1];if(!t.test(a)||a.length>64)return null;let i=(r[2]||"").trim().replace(/^[,\s]+/,"").trim();for(let e of(i=i.replace(/\s+/g," "),l)){let t=i.match(e);if(!t)continue;if(!t[1])return{command:"printf",args:{word:a},waitSeconds:4};let n=Number(t[1]);if(!Number.isInteger(n)||n<1||n>30)break;return{command:"printf",args:{word:a},waitSeconds:n}}return null},"resolveCommand",0,function(e){n(e.command)||a("refused: command not allowlisted");let t=e.args??null,r=t?.format??e.format;void 0!==r&&"%s"!==r&&a("refused: command not allowlisted");let s=i(t?.word??e.word);return{bin:"/usr/bin/printf",argv:["%s",s],display:`printf %s ${s}`}},"validateCommandRequest",0,function(e){var t;n(e.command)||a("refused: command not allowlisted");let r=e.args,s=i(r?.word);return{command:e.command,args:{word:s},waitSeconds:(("number"!=typeof(t=e.waitSeconds)||!Number.isInteger(t)||t<1||t>30)&&a("refused: wait must be 1 to 30 seconds"),t)}}])},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,n=e.match(/^\s*\[draft\]\s*([\s\S]*)$/);if(!n)return null;try{t=JSON.parse(n[1])}catch{return null}if(!t||"object"!=typeof t)return null;let r=t;return"email"!==r.channel&&"slack"!==r.channel||"open"!==r.state&&"sent"!==r.state&&"discarded"!==r.state||"string"!=typeof r.recipient||"string"!=typeof r.body?null:{channel:r.channel,recipient:r.recipient,body:r.body,state:r.state}},"parseFileNames",0,function(e){let t=[];for(let n of e.split("\n")){let e=n.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})}])},10860,e=>{"use strict";var t=e.i(22734),n=e.i(14747),r=e.i(52036);function a(e){if(!/^[A-Za-z0-9_-]+$/.test(e))return null;let a=(0,r.skillsRootPath)(),i=n.default.resolve(a,e,"SKILL.md");if(!i.startsWith(a+n.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 n=t.match(/ends with the exact token\s+(\S+)/i);return n?n[1]:null}function l(e){return i(e)?`skills/${e}/SKILL.md`:null}e.s(["applySkillEndToken",0,function(e,t){let n=s(e);return n?t?t.trimEnd().endsWith(n)?t:t+"\n"+n:n:t},"isSupportedSkillName",0,i,"localSkillForBot",0,a,"readSkillState",0,function(e){let t=l(e);if(!t)return{path:null,present:!1,content:null,status:"unsupported"};let n=a(e);return null===n?{path:t,present:!1,content:null,status:"absent"}:{path:t,present:!0,content:n,status:"present"}},"skillEndToken",0,s,"writeSkillForBot",0,function(e,a){let i=l(e);if(!i)throw Error("Skill files need a bot name matching /^[A-Za-z0-9_-]+$/");let s=(0,r.skillsRootPath)(),o=n.default.resolve(s,e,"SKILL.md");if(!o.startsWith(s+n.default.sep))throw Error("Skill files need a bot name matching /^[A-Za-z0-9_-]+$/");if(!a.trim()){try{t.default.rmSync(o)}catch{}return{path:i,present:!1,content:null,status:"absent"}}return t.default.mkdirSync(n.default.dirname(o),{recursive:!0}),t.default.writeFileSync(o,a),{path:i,present:!0,content:a,status:"present"}}])}];
4
4
 
5
- //# sourceMappingURL=%5Broot-of-the-server%5D__0lwsto-._.js.map
5
+ //# sourceMappingURL=%5Broot-of-the-server%5D__14cwco7._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},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"))},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})}])}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1kczttr._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__185i_bv._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[85148,(e,r,t)=>{r.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},22734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},20635,(e,r,t)=>{r.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,r,t)=>{r.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"))},86353,e=>{"use strict";let r=new Set(["127.0.0.1","localhost","[::1]"]),t=new Set(["GET","HEAD","OPTIONS"]);function s(e){let t=e?function(e){let r=e.trim().toLowerCase();if(!r)return null;if(r.startsWith("[")){let e=r.indexOf("]");if(e<0)return null;let t=r.slice(e+1);return""===t||/^:\d+$/.test(t)?r.slice(0,e+1):null}let[t,s,o]=r.split(":");return void 0===o&&(void 0===s||/^\d+$/.test(s))?t:null}(e):null;return!!t&&r.has(t)}e.s(["OWNER_ORIGIN_REQUIRED",0,"owner_origin_required","isLoopbackHost",0,s,"ownerBoundaryRefusalFor",0,function(e){let r=new URL(e.url);var o={method:e.method,host:e.headers.get("host")??r.host,origin:e.headers.get("origin"),secFetchSite:e.headers.get("sec-fetch-site"),protocol:r.protocol};if(!s(o.host))return"The request did not arrive on a loopback host.";if(t.has(o.method.toUpperCase()))return null;let n=o.secFetchSite?.trim().toLowerCase()??null;if(null!==n&&"same-origin"!==n)return"The request is not same-origin.";if(null!==o.origin){let e=`${o.protocol}//${o.host.trim().toLowerCase()}`;return o.origin.trim().toLowerCase()!==e?"The request came from another origin.":null}return"same-origin"===n?null:"The request carries no same-origin proof."}])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1byhehl._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},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"))},88831,e=>{"use strict";var t=e.i(89171),r=e.i(62294),n=e.i(10860),a=e.i(38636);function s(e){let t=r.bots.getById(e);if(!t)return null;let s=(0,n.readSkillState)(t.name);return{bot:t,skill:s,currentHash:(0,a.hashSnapshot)((0,a.buildSnapshotInput)(t,s,r.memories.latestFacts(t.id)))}}async function i(e,{params:a}){try{let{id:i}=await a,o=r.bots.getById(i);if(!o)return t.NextResponse.json({error:"Bot not found"},{status:404});let l=await e.json(),u=void 0===l.content||null===l.content?"":String(l.content);try{(0,n.writeSkillForBot)(o.name,u)}catch(e){return t.NextResponse.json({error:e instanceof Error?e.message:"Failed to save skill"},{status:400})}return t.NextResponse.json(s(i))}catch(e){return console.error("Error saving skill:",e),t.NextResponse.json({error:"Failed to save skill"},{status:500})}}async function o(e,{params:a}){try{let{id:e}=await a,i=r.bots.getById(e);if(!i)return t.NextResponse.json({error:"Bot not found"},{status:404});try{(0,n.writeSkillForBot)(i.name,"")}catch(e){return t.NextResponse.json({error:e instanceof Error?e.message:"Failed to delete skill"},{status:400})}return t.NextResponse.json(s(e))}catch(e){return console.error("Error deleting skill:",e),t.NextResponse.json({error:"Failed to delete skill"},{status:500})}}e.s(["DELETE",0,o,"PUT",0,i])},15418,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),s=e.i(61916),i=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),R=e.i(9580);e.i(52474);var g=e.i(220);let x=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/bots/[id]/skill/route",pathname:"/api/bots/[id]/skill",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/bots/[id]/skill/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(88831),...{}}),{workAsyncStorage:S,workUnitAsyncStorage:_,serverHooks:y}=x;async function w(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),x.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let S="/api/bots/[id]/skill/route";S=S.replace(/\/index$/,"")||"/";let _=await x.prepare(e,t,{srcPage:S,multiZoneDraftMode:!1});if(!_)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:y,deploymentId:w,params:E,nextConfig:k,parsedUrl:b,isDraftMode:C,prerenderManifest:A,routerServerContext:N,isOnDemandRevalidate:T,revalidateOnlyGenerated:P,resolvedPathname:q,clientReferenceManifest:I,serverActionsManifest:O}=_,j=(0,o.normalizeAppPath)(S),H=!!A.routes[q]&&(x.isDev||(0,R.isRouteCacheOwner)(q,x.cacheOwner,A.routes[q])),F=!!(A.dynamicRoutes[j]||H),M=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,b,!1):t.end("This page could not be found"),null);if(F&&!C){let e=A.dynamicRoutes[j];if(e&&!1===e.fallback&&!H){if(k.adapterPath)return await M();throw new v.NoFallbackError}}let U=null;!F||x.isDev||C||(U="/index"===(U=q)?"/":U);let B=!0===x.isDev||!F,D=F&&!B;O&&I&&(0,i.setManifestsSingleton)({page:S,clientReferenceManifest:I,serverActionsManifest:O});let L=e.method||"GET",$=(0,s.getTracer)(),K=$.getActiveScopeSpan(),z=!!(null==N?void 0:N.isWrappedByNextServer),G=!!(0,a.getRequestMeta)(e,"minimalMode"),W=(0,a.getRequestMeta)(e,"incrementalCache")||await x.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:B,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)=>x.onRequestError(e,t,n,a,N)},sharedContext:{buildId:y,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&&T&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await x.handle(J,Z);e.fetchMetrics=Z.renderOpts.fetchMetrics;let s=Z.renderOpts.pendingWaitUntil;s&&n.waitUntil&&(n.waitUntil(s),s=void 0);let i=Z.renderOpts.collectedTags;if(!F)return await (0,p.sendResponse)(V,X,a,s),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);i&&(t[m.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>=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:g.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 x.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:T})},!1,N),t}},Y=async(a,i)=>{try{var o,l;let a=await x.handleResponse({req:e,nextConfig:k,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:P,responseGenerator:Q,waitUntil:n.waitUntil,isMinimalMode:G});if(!F)return;if((null==a||null==(o=a.value)?void 0:o.kind)!==g.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",T?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);G&&F||s.delete(m.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,f.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(V,X,new Response(a.value.body,{headers:s,status:a.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:T})},!1,N),F)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:s.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")||j,o=`${L} ${n}`;a.setAttributes({"next.route":n,"http.route":n,"next.span_name":o}),a.updateName(o),i&&i!==a&&(i.setAttribute("http.route",n),i.updateName(o))})()}};if(z&&K)await Y(K,void 0);else{let t=$.getActiveScopeSpan();await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${L} ${S}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"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:_})},"routeModule",0,x,"serverHooks",0,y,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,_])},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)(),s=r.default.resolve(a,e,"SKILL.md");if(!s.startsWith(a+r.default.sep))return null;try{let e=t.default.readFileSync(s,"utf8");return e.trim()?e:null}catch{return null}}function s(e){return/^[A-Za-z0-9_-]+$/.test(e)}function i(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 s(e)?`skills/${e}/SKILL.md`:null}e.s(["applySkillEndToken",0,function(e,t){let r=i(e);return r?t?t.trimEnd().endsWith(r)?t:t+"\n"+r:r:t},"isSupportedSkillName",0,s,"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,i,"writeSkillForBot",0,function(e,a){let s=o(e);if(!s)throw Error("Skill files need a bot name matching /^[A-Za-z0-9_-]+$/");let i=(0,n.skillsRootPath)(),l=r.default.resolve(i,e,"SKILL.md");if(!l.startsWith(i+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:s,present:!1,content:null,status:"absent"}}return t.default.mkdirSync(r.default.dirname(l),{recursive:!0}),t.default.writeFileSync(l,a),{path:s,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 s(e){return JSON.stringify(a(e))}function i(e){return null==e?null:String(e)}function o(e){return null==e?null:String(e).trim()||null}t.exports={sortKeysDeep:a,canonicalJson:s,hashSnapshot:function(e){return n("sha256").update(s(e),"utf8").digest("hex")},buildSnapshotInput:function(e,t,r=null){return{agent:o(e.agent)||"hermes",avatar_accessory:i(e.avatar_accessory),avatar_color:i(e.avatar_color),avatar_eyes:i(e.avatar_eyes),avatar_hands:i(e.avatar_hands),default_workspace:o(e.default_workspace),description:null===e.description||void 0===e.description?"":String(e.description),import_operation_id:i(e.import_operation_id),import_schema_version:i(e.import_schema_version),memories:null==r?null:r.map(e=>String(e)),name:String(e.name),runtime_connection_id:o(e.runtime_connection_id),skill_content:i(t.content),skill_path:i(t.path),skill_present:null===t.present||void 0===t.present?null:!!t.present,source_provider:i(e.source_provider),template_id:i(e.template_id),template_url:i(e.template_url),title:null===e.title||void 0===e.title?"":String(e.title),working_directory:o(e.working_directory)}}}}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__10b5-i-._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1ez_5xy._.js.map
@@ -0,0 +1,52 @@
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"))},95657,e=>{"use strict";var t=e.i(89171),a=e.i(62294),r=e.i(62349),i=e.i(10860),n=e.i(90027),s=e.i(9501),o=e.i(91253),l=e.i(83140);let d=["agents:read","sessions:read","conversations:read","sessions:message","shares:create"];function c(e,t,a=180){let r=String(e??"").split(/\r?\n/).map(e=>e.replace(/^\s*#{1,6}\s*/,"").trim()).filter(e=>e&&!/^---+$/.test(e)).slice(0,2).join(" ").replace(/\s+/g," ");return r?r.length<=a?r:`${r.slice(0,a-1).trimEnd()}…`:t}async function u(e,{params:_}){try{let{id:e}=await _,u=function(e){let t=a.bots.getById(e);if(!t)return null;let u=(0,r.resolveAgent)(t),_=(0,i.readSkillState)(t.name),p=(0,n.listAgentSessions)(a.default,e,"all").map(e=>({ref:e.ref,title:e.title,status:e.status,last_activity_at:e.last_activity_at})),f=a.conversations.getByBotId(e),v=(f?a.messages.getByConversation(f.id):[]).at(-1),y=t.runtime_connection_id?a.default.prepare("SELECT label FROM runtime_connections WHERE id = ?").get(t.runtime_connection_id):void 0;return{agent:{id:t.id,name:t.name,title:t.title,role:t.title.trim()||"Botmancers Agent",avatar:t.avatar??null,avatar_color:t.avatar_color??null,avatar_eyes:t.avatar_eyes??null,avatar_hands:t.avatar_hands??null,avatar_accessory:t.avatar_accessory??null},instructions:{rules:c(t.description,"No standing rules have been written yet."),skill:c(_.content,"No skill instructions are installed."),skill_present:_.present},runtime:{agent:u.agent,connection:y?.label??null,available:u.launchable,blocker:u.launch_blocker,last_seen:t.last_seen??null},capabilities:o.SERVICE_CAPABILITIES.filter(e=>d.includes(e)),messaging:(0,s.agentMessagingReadiness)(t),current_work:p.filter(e=>"active"===e.status).slice(0,3),recent_work:p.slice(0,7),conversation:f?{id:f.id,last_activity_at:v?.created_at??null}:null,recent_activity:(0,l.listAgentActivity)(e,{filter:"all",cursor:null,limit:4})?.items??[]}}(e);if(!u)return t.NextResponse.json({error:"Agent not found"},{status:404});return t.NextResponse.json(u)}catch(e){return console.error("Error fetching Agent overview:",e),t.NextResponse.json({error:"Failed to fetch Agent overview"},{status:500})}}e.s(["GET",0,u],95657)},6545,e=>{"use strict";var t=e.i(47909),a=e.i(74017),r=e.i(96250),i=e.i(59756),n=e.i(61916),s=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),c=e.i(95169),u=e.i(47587),_=e.i(66012),p=e.i(70101),f=e.i(26937),v=e.i(10372),y=e.i(93695),h=e.i(9580);e.i(52474);var g=e.i(220);let m=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/bots/[id]/overview/route",pathname:"/api/bots/[id]/overview",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/bots/[id]/overview/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(95657),...{}}),{workAsyncStorage:k,workUnitAsyncStorage:E,serverHooks:S}=m;async function R(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),m.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let k="/api/bots/[id]/overview/route";k=k.replace(/\/index$/,"")||"/";let E=await m.prepare(e,t,{srcPage:k,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,deploymentId:R,params:A,nextConfig:w,parsedUrl:b,isDraftMode:x,prerenderManifest:O,routerServerContext:C,isOnDemandRevalidate:N,revalidateOnlyGenerated:q,resolvedPathname:T,clientReferenceManifest:I,serverActionsManifest:L}=E,H=(0,o.normalizeAppPath)(k),$=!!O.routes[T]&&(m.isDev||(0,h.isRouteCacheOwner)(T,m.cacheOwner,O.routes[T])),M=!!(O.dynamicRoutes[H]||$),D=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,b,!1):t.end("This page could not be found"),null);if(M&&!x){let e=O.dynamicRoutes[H];if(e&&!1===e.fallback&&!$){if(w.adapterPath)return await D();throw new y.NoFallbackError}}let F=null;!M||m.isDev||x||(F="/index"===(F=T)?"/":F);let P=!0===m.isDev||!M,j=M&&!P;L&&I&&(0,s.setManifestsSingleton)({page:k,clientReferenceManifest:I,serverActionsManifest:L});let W=e.method||"GET",U=(0,n.getTracer)(),B=U.getActiveScopeSpan(),z=!!(null==C?void 0:C.isWrappedByNextServer),K=!!(0,i.getRequestMeta)(e,"minimalMode"),G=(0,i.getRequestMeta)(e,"incrementalCache")||await m.getIncrementalCache(e,w,O,K);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let J={params:A,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts,useCacheTimeout:w.experimental.useCacheTimeout},cacheComponents:!!w.cacheComponents,validationLevel:w.experimental.instantInsights.validationLevel,isDraftMode:x,supportsDynamicResponse:P,incrementalCache:G,hmrRefreshHash:(0,i.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:w.cacheLife,staticPageGenerationTimeout:w.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,i)=>m.onRequestError(e,t,r,i,C)},sharedContext:{buildId:S,deploymentId:R}},Z=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(Z,(0,d.signalFromNodeResponse)(t)),Y=async({previousCacheEntry:a})=>{try{if(!K&&N&&q&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await m.handle(X,J);e.fetchMetrics=J.renderOpts.fetchMetrics;let n=J.renderOpts.pendingWaitUntil;n&&r.waitUntil&&(r.waitUntil(n),n=void 0);let s=J.renderOpts.collectedTags;if(!M)return await (0,_.sendResponse)(Z,V,i,n),null;{let e=await i.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(i.headers);s&&(t[v.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,r=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==a&&a>0?w.expireTime:void 0:J.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:i.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:k,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:N})},!1,C),t}},Q=async(i,s)=>{try{var o,l;let i=await m.handleResponse({req:e,nextConfig:w,cacheKey:F,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:q,responseGenerator:Y,waitUntil:r.waitUntil,isMinimalMode:K});if(!M)return;if((null==i||null==(o=i.value)?void 0:o.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==i||null==(l=i.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",N?"REVALIDATED":i.isMiss?"MISS":i.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,p.fromNodeOutgoingHttpHeaders)(i.value.headers);K&&M||n.delete(v.NEXT_CACHE_TAGS_HEADER),!i.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,f.getCacheControlHeader)(i.cacheControl)),await (0,_.sendResponse)(Z,V,new Response(i.value.body,{headers:n,status:i.value.status||200}));return}catch(t){if(t instanceof y.NoFallbackError||await m.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:N})},!1,C),M)throw t;await (0,_.sendResponse)(Z,V,new Response(null,{status:500}));return}finally{(()=>{if(!i)return;let e=t.statusCode;i.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(i.setStatus({code:n.SpanStatusCode.ERROR}),i.setAttribute("error.type",e.toString()));let a=U.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==c.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,o=`${W} ${r}`;i.setAttributes({"next.route":r,"http.route":r,"next.span_name":o}),i.updateName(o),s&&s!==i&&(s.setAttribute("http.route",r),s.updateName(o))})()}};if(z&&B)await Q(B,void 0);else{let t=U.getActiveScopeSpan();await U.withPropagatedContext(e.headers,()=>U.trace(c.BaseServerSpan.handleRequest,{spanName:`${W} ${k}`,kind:n.SpanKind.SERVER,attributes:{"http.method":W,"http.target":e.url}},e=>Q(e,t)),void 0,!z)}}e.s(["handler",0,R,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:E})},"routeModule",0,m,"serverHooks",0,S,"workAsyncStorage",0,k,"workUnitAsyncStorage",0,E])},83140,e=>{"use strict";var t=e.i(62294),a=e.i(62349),r=e.i(46309);let i=new Set([{value:"all",label:"All"},{value:"sessions",label:"Sessions"},{value:"conversations",label:"Conversations & exchanges"},{value:"slack",label:"Slack"},{value:"errors",label:"Errors"}].map(e=>e.value));function n(e){return encodeURIComponent(e)}function s(e,t){return`/agents/${n(e)}/sessions${t?`?session=${n(t)}`:""}`}function o(e,t){return`/agents/${n(e)}/conversations/${n(t)}`}function l(e){try{let t=e?JSON.parse(e):{};return t&&"object"==typeof t&&!Array.isArray(t)?t:{}}catch{return{}}}function d(e){return"string"==typeof e&&/^[a-z0-9_.:-]{1,100}$/i.test(e)?e:null}function c(e,t){e.push(t)}function u(e,t){return!!e.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?").get(t)}function _(e,t,a,r){let i=r.after?.at??null;return e.prepare(`
2
+ SELECT * FROM (${t}) activity_source
3
+ WHERE (? IS NULL OR occurred_at < ? OR (occurred_at = ? AND activity_id > ?))
4
+ ORDER BY occurred_at DESC, activity_id ASC
5
+ LIMIT ?
6
+ `).all(...a,i,i,i,r.after?.id??"",r.limit)}e.s(["isAgentActivityFilter",0,function(e){return"string"==typeof e&&i.has(e)},"listAgentActivity",0,function(e,i,p=t.default){if(!p.prepare("SELECT 1 FROM bots WHERE id = ?").get(e))return null;let f=`agent-activity:${e}:${i.filter}`,v={after:(0,r.decodePageCursor)(f,i.cursor),limit:i.limit+1,errorsOnly:"errors"===i.filter},y=[];if(("all"===i.filter||"sessions"===i.filter||"errors"===i.filter)&&(!function(e,t,a,r){if(!r.errorsOnly)for(let i of _(e,`
7
+ SELECT 'provider-session:' || id || ':discovered' AS activity_id, created_at AS occurred_at,
8
+ id, COALESCE(binding_id, id) AS catalog_ref, created_at
9
+ FROM provider_sessions WHERE agent_id = ? AND origin = 'discovered'
10
+ `,[t],r))c(a,{id:i.activity_id,kind:"session.discovered",category:"sessions",occurred_at:i.created_at,summary:"Session discovered",target:{href:s(t,i.catalog_ref),label:"Open session"},severity:"info",attention:!1,details:{source:"provider discovery",session_ref:i.catalog_ref}});let i=r.errorsOnly?"'turn_failed', 'sync_failed'":"'session_started', 'session_missing', 'turn_started', 'turn_completed', 'turn_cancelled', 'turn_failed', 'sync_failed'";for(let n of _(e,`
11
+ SELECT 'provider-session-event:' || e.id AS activity_id, e.created_at AS occurred_at,
12
+ e.id, COALESCE(ps.binding_id, e.session_ref) AS catalog_ref, e.type, e.detail, e.created_at
13
+ FROM provider_session_events e
14
+ LEFT JOIN provider_sessions ps ON ps.id = e.session_ref AND ps.agent_id = e.agent_id
15
+ WHERE e.agent_id = ? AND e.type IN (${i})
16
+ `,[t],r)){let e=l(n.detail),r={href:s(t,n.catalog_ref),label:n.catalog_ref?"Open session":"Open sessions"},i={id:n.activity_id,category:"sessions",occurred_at:n.created_at,target:r};"session_started"===n.type?c(a,{...i,kind:"session.started",summary:"Session started",severity:"success",attention:!1,details:{source:"runtime"}}):"session_missing"===n.type?c(a,{...i,kind:"session.missing",summary:"Session is no longer available from its runtime",severity:"warning",attention:!0,details:{availability:"missing"}}):"turn_started"===n.type?c(a,{...i,kind:"session.turn_started",summary:"start"===e.kind?"New session work started":"Session work resumed",severity:"info",attention:!1,details:{action:"start"===e.kind?"start":"resume",authority:"workspace_write"===e.authority?"workspace write":"read only"}}):"turn_completed"===n.type?c(a,{...i,kind:"session.turn_completed",summary:"Session work completed",severity:"success",attention:!1,details:{outcome:"completed"}}):"turn_cancelled"===n.type?c(a,{...i,kind:"session.turn_cancelled",summary:"Session work was cancelled",severity:"warning",attention:!1,details:{outcome:"cancelled"}}):"turn_failed"===n.type?c(a,{...i,kind:"session.turn_failed",summary:"Session work failed",severity:"error",attention:!0,details:{outcome:"failed"}}):"sync_failed"===n.type&&c(a,{...i,kind:"session.sync_failed",summary:"Session history could not be refreshed",severity:"error",attention:!0,details:{error_code:d(e.error_code)??"provider_failed"}})}if(!r.errorsOnly){for(let i of _(e,`
17
+ SELECT 'session-binding:' || id || ':created' AS activity_id, created_at AS occurred_at, id, created_at
18
+ FROM session_bindings WHERE agent_id = ?
19
+ `,[t],r))c(a,{id:i.activity_id,kind:"session.active",category:"sessions",occurred_at:i.created_at,summary:"Session became active",target:{href:s(t,i.id),label:"Open session"},severity:"info",attention:!1,details:{status:"active",session_ref:i.id}});for(let i of _(e,`
20
+ SELECT 'session-binding:' || id || ':ended' AS activity_id, released_at AS occurred_at, id, released_at AS created_at
21
+ FROM session_bindings WHERE agent_id = ? AND released_at IS NOT NULL
22
+ `,[t],r))c(a,{id:i.activity_id,kind:"session.ended",category:"sessions",occurred_at:i.created_at,summary:"Session ended",target:{href:s(t,i.id),label:"Open session"},severity:"info",attention:!1,details:{status:"ended",session_ref:i.id}})}}(p,e,y,v),!function(e,t,r,i){let s=e.prepare("SELECT * FROM bots WHERE id = ?").get(t);if(!s)return;let o=(0,a.resolveAgent)(s);if(i&&o.launchable)return;let l=o.launch_blocker??"configuration";c(r,{id:`agent:${t}:availability`,kind:o.launchable?"availability.ready":"availability.setup_required",category:"sessions",occurred_at:s.last_seen??s.created_at,summary:o.launchable?"Agent runtime is available":"Agent runtime needs setup",target:{href:`/bots/${n(t)}/config`,label:"Open Config"},severity:o.launchable?"info":"error",attention:!o.launchable,details:o.launchable?{availability:"available"}:{availability:"unavailable",blocker:l}})}(p,e,y,v.errorsOnly)),"all"===i.filter||"conversations"===i.filter||"errors"===i.filter){if(!v.errorsOnly)for(let t of _(p,`
23
+ SELECT 'conversation:' || c.id || ':created' AS activity_id, c.created_at AS occurred_at,
24
+ c.id, c.created_at, c.type
25
+ FROM conversations c JOIN conversation_participants p ON p.conversation_id = c.id
26
+ WHERE p.participant_kind = 'bot' AND p.participant_id = ?
27
+ `,[e],v))c(y,{id:t.activity_id,kind:"conversation.created",category:"conversations",occurred_at:t.created_at,summary:"agent"===t.type?"Agent conversation opened":"group"===t.type?"Group conversation opened":"Direct conversation opened",target:{href:o(e,t.id),label:"Open conversation"},severity:"info",attention:!1,details:{conversation_type:"agent"===t.type?"agent":"group"===t.type?"group":"direct"}});let t=v.errorsOnly?"'request_failed', 'finalization_failed', 'finalization_blocked'":"'request_queued', 'request_running', 'request_waiting', 'request_completed', 'request_failed', 'request_cancelled', 'finalization_failed', 'finalization_blocked'";for(let a of _(p,`
28
+ SELECT 'conversation-event:' || e.id AS activity_id, e.created_at AS occurred_at,
29
+ e.id, e.conversation_id, e.kind, e.state, e.created_at
30
+ FROM conversation_events e JOIN conversation_participants p ON p.conversation_id = e.conversation_id
31
+ WHERE p.participant_kind = 'bot' AND p.participant_id = ? AND e.kind IN (${t})
32
+ `,[e],v)){let t={href:o(e,a.conversation_id),label:"Open conversation"},r={id:a.activity_id,category:"conversations",occurred_at:a.created_at,target:t};"request_queued"===a.kind?c(y,{...r,kind:"conversation.request_queued",summary:"Conversation work was queued",severity:"info",attention:!1,details:{state:a.state??"queued"}}):"request_running"===a.kind?c(y,{...r,kind:"conversation.request_running",summary:"Conversation work started",severity:"info",attention:!1,details:{state:a.state??"running"}}):"request_waiting"===a.kind?c(y,{...r,kind:"conversation.request_waiting",summary:"Conversation work needs an answer",severity:"warning",attention:!0,details:{state:a.state??"waiting"}}):"request_completed"===a.kind?c(y,{...r,kind:"conversation.request_completed",summary:"Conversation work completed",severity:"success",attention:!1,details:{state:a.state??"completed"}}):"request_failed"===a.kind||"finalization_failed"===a.kind||"finalization_blocked"===a.kind?c(y,{...r,kind:`conversation.${a.kind}`,summary:"finalization_blocked"===a.kind?"Conversation finalization was blocked":"Conversation work failed",severity:"error",attention:!0,details:{state:a.state??"failed"}}):"request_cancelled"===a.kind&&c(y,{...r,kind:"conversation.request_cancelled",summary:"Conversation work was cancelled",severity:"warning",attention:!1,details:{state:a.state??"cancelled"}})}!function(e,t,a,r){let i=r.errorsOnly?"(e.type IN ('packet_rejected', 'destination_session_rejected') OR (e.type = 'state_changed' AND json_valid(e.data) AND json_extract(e.data, '$.to') = 'failed'))":"e.type IN ('created', 'hop_queued', 'hop_started', 'state_changed', 'packet_rejected', 'destination_session_rejected')";for(let s of _(e,`
33
+ SELECT 'exchange-event:' || e.id AS activity_id, e.created_at AS occurred_at,
34
+ e.id, e.exchange_id, x.mode, e.type, e.data, e.created_at
35
+ FROM session_exchange_events e JOIN session_exchanges x ON x.id = e.exchange_id
36
+ WHERE (x.source_agent_id = ? OR x.destination_agent_id = ?) AND ${i}
37
+ `,[t,t],r)){let e=l(s.data),t={href:`/exchanges?id=${n(s.exchange_id)}`,label:"Open exchange"},r={id:s.activity_id,category:"conversations",occurred_at:s.created_at,target:t};if("created"===s.type)c(a,{...r,kind:"exchange.created",summary:"continue"===s.mode?"Session handoff created":"Session question created",severity:"info",attention:!1,details:{mode:s.mode,exchange_ref:s.exchange_id}});else if("hop_queued"===s.type)c(a,{...r,kind:"exchange.queued",summary:"Exchange step queued",severity:"info",attention:!1,details:{mode:s.mode,step:d(e.hop)??"work"}});else if("hop_started"===s.type)c(a,{...r,kind:"exchange.started",summary:"Exchange step started",severity:"info",attention:!1,details:{mode:s.mode,step:d(e.hop)??"work"}});else if("state_changed"===s.type){let t=d(e.to)??"changed",i="failed"===t;c(a,{...r,kind:`exchange.${t}`,summary:i?"Exchange failed":"completed"===t?"Exchange completed":"cancelled"===t?"Exchange was cancelled":"Exchange progressed",severity:i?"error":"completed"===t?"success":"cancelled"===t?"warning":"info",attention:i,details:{mode:s.mode,state:t}})}else("packet_rejected"===s.type||"destination_session_rejected"===s.type)&&c(a,{...r,kind:`exchange.${s.type}`,summary:"packet_rejected"===s.type?"Handoff packet was refused":"Handoff destination session was refused",severity:"error",attention:!0,details:{mode:s.mode}})}}(p,e,y,v)}return("all"===i.filter||"slack"===i.filter||"errors"===i.filter)&&function(e,t,a,r){if(!u(e,"session_shares")||!u(e,"session_share_events"))return;let i=r.errorsOnly?"'turn_refused'":"'created', 'revoked', 'turn_sent', 'turn_refused'",s=_(e,`
38
+ SELECT 'share-event:' || e.id AS activity_id, e.at AS occurred_at,
39
+ e.id, e.share_ref, s.session_ref, e.type, e.code, e.at
40
+ FROM session_share_events e JOIN session_shares s ON s.id = e.share_ref
41
+ WHERE s.agent_id = ? AND e.type IN (${i})
42
+ `,[t],r),o={href:`/agents/${n(t)}/slack`,label:"Open Slack"};for(let e of s){let t={id:e.activity_id,category:"slack",occurred_at:e.at,target:o},r={share_ref:e.share_ref,session_ref:e.session_ref};"created"===e.type?c(a,{...t,kind:"slack.share_created",summary:"Slack session share created",severity:"info",attention:!1,details:r}):"revoked"===e.type?c(a,{...t,kind:"slack.share_revoked",summary:"Slack session share revoked",severity:"warning",attention:!1,details:r}):"turn_sent"===e.type?c(a,{...t,kind:"slack.question_sent",summary:"Slack question sent to the owning session",severity:"info",attention:!1,details:r}):"turn_refused"===e.type&&c(a,{...t,kind:"slack.question_refused",summary:"Slack question was refused",severity:"error",attention:!0,details:{...r,error_code:d(e.code)??"refused"}})}if(!r.errorsOnly){for(let i of _(e,`
43
+ SELECT 'share:' || id || ':expired' AS activity_id, expires_at AS occurred_at,
44
+ id, session_ref, expires_at AS event_at
45
+ FROM session_shares WHERE agent_id = ? AND state = 'active' AND expires_at <= ?
46
+ `,[t,Date.now()],r))c(a,{id:i.activity_id,kind:"slack.share_expired",category:"slack",occurred_at:i.event_at,summary:"Slack session share expired",target:o,severity:"info",attention:!1,details:{share_ref:i.id,session_ref:i.session_ref}});if(u(e,"slack_share_threads"))for(let i of _(e,`
47
+ SELECT 'share:' || t.share_ref || ':posted' AS activity_id, t.created_at AS occurred_at,
48
+ t.share_ref AS id, s.session_ref, t.created_at AS event_at
49
+ FROM slack_share_threads t JOIN session_shares s ON s.id = t.share_ref WHERE s.agent_id = ?
50
+ `,[t],r))c(a,{id:i.activity_id,kind:"slack.thread_posted",category:"slack",occurred_at:i.event_at,summary:"Slack share thread posted",target:o,severity:"success",attention:!1,details:{share_ref:i.id}})}}(p,e,y,v),(0,r.paginateRows)(f,y,e=>({at:e.occurred_at,tie:0,id:e.id}),i.cursor,i.limit)},"parseAgentActivityLimit",0,function(e){if(null===e||""===e)return 20;if(!/^\d+$/.test(e))throw RangeError("limit");let t=Number(e);if(!Number.isSafeInteger(t)||t<1)throw RangeError("limit");return Math.min(t,100)}],83140)},10860,e=>{"use strict";var t=e.i(22734),a=e.i(14747),r=e.i(52036);function i(e){if(!/^[A-Za-z0-9_-]+$/.test(e))return null;let i=(0,r.skillsRootPath)(),n=a.default.resolve(i,e,"SKILL.md");if(!n.startsWith(i+a.default.sep))return null;try{let e=t.default.readFileSync(n,"utf8");return e.trim()?e:null}catch{return null}}function n(e){return/^[A-Za-z0-9_-]+$/.test(e)}function s(e){if(!e)return null;let t=i(e);if(!t)return null;let a=t.match(/ends with the exact token\s+(\S+)/i);return a?a[1]:null}function o(e){return n(e)?`skills/${e}/SKILL.md`:null}e.s(["applySkillEndToken",0,function(e,t){let a=s(e);return a?t?t.trimEnd().endsWith(a)?t:t+"\n"+a:a:t},"isSupportedSkillName",0,n,"localSkillForBot",0,i,"readSkillState",0,function(e){let t=o(e);if(!t)return{path:null,present:!1,content:null,status:"unsupported"};let a=i(e);return null===a?{path:t,present:!1,content:null,status:"absent"}:{path:t,present:!0,content:a,status:"present"}},"skillEndToken",0,s,"writeSkillForBot",0,function(e,i){let n=o(e);if(!n)throw Error("Skill files need a bot name matching /^[A-Za-z0-9_-]+$/");let s=(0,r.skillsRootPath)(),l=a.default.resolve(s,e,"SKILL.md");if(!l.startsWith(s+a.default.sep))throw Error("Skill files need a bot name matching /^[A-Za-z0-9_-]+$/");if(!i.trim()){try{t.default.rmSync(l)}catch{}return{path:n,present:!1,content:null,status:"absent"}}return t.default.mkdirSync(a.default.dirname(l),{recursive:!0}),t.default.writeFileSync(l,i),{path:n,present:!0,content:i,status:"present"}}])}];
51
+
52
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1jxwu9_._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},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 s=null;if(a.bot_id)s=r.bots.getById(a.bot_id);else if(a.group_id){let e=r.groups.getAll().find(e=>e.id===a.group_id);e&&(s={...e,members:r.groups.getMembers(e.id)})}return t.NextResponse.json({...a,details:s,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),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),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:b,nextConfig:A,parsedUrl:T,isDraftMode:N,prerenderManifest:P,routerServerContext:S,isOnDemandRevalidate:_,revalidateOnlyGenerated:q,resolvedPathname:O,clientReferenceManifest:H,serverActionsManifest:I}=C,M=(0,i.normalizeAppPath)(E),U=!!P.routes[O]&&(m.isDev||(0,f.isRouteCacheOwner)(O,m.cacheOwner,P.routes[O])),j=!!(P.dynamicRoutes[M]||U),k=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,T,!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(A.adapterPath)return await k();throw new g.NoFallbackError}}let D=null;!j||m.isDev||N||(D="/index"===(D=O)?"/":D);let F=!0===m.isDev||!j,B=j&&!F;I&&H&&(0,o.setManifestsSingleton)({page:E,clientReferenceManifest:H,serverActionsManifest:I});let K=e.method||"GET",L=(0,s.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,A,P,V);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let W={params:b,previewProps:P.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts,useCacheTimeout:A.experimental.useCacheTimeout},cacheComponents:!!A.cacheComponents,validationLevel:A.experimental.instantInsights.validationLevel,isDraftMode:N,supportsDynamicResponse:F,incrementalCache:X,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,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&&_&&q&&!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 s=W.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let o=W.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)(z,Z,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);o&&(t[R.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>=R.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=R.INFINITE_CACHE?!1!==r&&r>0?A.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,o)=>{try{var i,l;let n=await m.handleResponse({req:e,nextConfig:A,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:q,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 s=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);V&&j||s.delete(R.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,v.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: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:s.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),o&&o!==n&&(o.setAttribute("http.route",a),o.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:s.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
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0o9ijih._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1mxp6z6._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},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"))},89570,e=>{"use strict";var t=e.i(89171),r=e.i(62294);async function a(){try{return t.NextResponse.json({renames:r.agentNameMigrations.list()})}catch(e){return console.error("Error fetching Agent name migrations:",e),t.NextResponse.json({error:"Failed to fetch Agent name migrations"},{status:500})}}e.s(["GET",0,a])},73010,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),d=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),m=e.i(9580);e.i(52474);var x=e.i(220);let f=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/bots/name-migrations/route",pathname:"/api/bots/name-migrations",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/bots/name-migrations/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(89570),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:w,serverHooks:C}=f;async function A(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),f.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/bots/name-migrations/route";E=E.replace(/\/index$/,"")||"/";let w=await f.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:C,deploymentId:A,params:y,nextConfig:b,parsedUrl:T,isDraftMode:N,prerenderManifest:P,routerServerContext:S,isOnDemandRevalidate:q,revalidateOnlyGenerated:O,resolvedPathname:_,clientReferenceManifest:H,serverActionsManifest:I}=w,M=(0,o.normalizeAppPath)(E),k=!!P.routes[_]&&(f.isDev||(0,m.isRouteCacheOwner)(_,f.cacheOwner,P.routes[_])),U=!!(P.dynamicRoutes[M]||k),D=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,T,!1):t.end("This page could not be found"),null);if(U&&!N){let e=P.dynamicRoutes[M];if(e&&!1===e.fallback&&!k){if(b.adapterPath)return await D();throw new g.NoFallbackError}}let j=null;!U||f.isDev||N||(j="/index"===(j=_)?"/":j);let F=!0===f.isDev||!U,K=U&&!F;I&&H&&(0,i.setManifestsSingleton)({page:E,clientReferenceManifest:H,serverActionsManifest:I});let L=e.method||"GET",$=(0,s.getTracer)(),B=$.getActiveScopeSpan(),G=!!(null==S?void 0:S.isWrappedByNextServer),V=!!(0,n.getRequestMeta)(e,"minimalMode"),X=(0,n.getRequestMeta)(e,"incrementalCache")||await f.getIncrementalCache(e,b,P,V);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let W={params:y,previewProps:P.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts,useCacheTimeout:b.experimental.useCacheTimeout},cacheComponents:!!b.cacheComponents,validationLevel:b.experimental.instantInsights.validationLevel,isDraftMode:N,supportsDynamicResponse:F,incrementalCache:X,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:b.cacheLife,staticPageGenerationTimeout:b.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>f.onRequestError(e,t,a,n,S)},sharedContext:{buildId:C,deploymentId:A}},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&&q&&O&&!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(J,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let s=W.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let i=W.renderOpts.collectedTags;if(!U)return await (0,p.sendResponse)(z,Z,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[v.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let 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?b.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:E,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:q})},!1,S),t}},Y=async(n,i)=>{try{var o,l;let n=await f.handleResponse({req:e,nextConfig:b,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:O,responseGenerator:Q,waitUntil:a.waitUntil,isMinimalMode:V});if(!U)return;if((null==n||null==(o=n.value)?void 0:o.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",q?"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&&U||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 f.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:q})},!1,S),U)throw t;await (0,p.sendResponse)(z,Z,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code: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")||M,o=`${L} ${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(G&&B)await Y(B,void 0);else{let t=$.getActiveScopeSpan();await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${L} ${E}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},e=>Y(e,t)),void 0,!G)}}e.s(["handler",0,A,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:w})},"routeModule",0,f,"serverHooks",0,C,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,w])}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0ey3_2x._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1s2-vw3._.js.map
@@ -1,3 +1,3 @@
1
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
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1hwy3jx._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1xq61ti._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},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"))},43272,e=>{"use strict";var t=e.i(89171),r=e.i(62294);async function a(e,{params:n}){try{let{id:a}=await n,s=r.messages.getById(a);if(!s)return t.NextResponse.json({error:"Message not found"},{status:404});let{searchParams:o}=new URL(e.url),i=o.get("other")||o.get("to")||o.get("target")||o.get("end");if(!i)return t.NextResponse.json({error:"Other message id is required (other, to, target, or end)"},{status:400});let l=r.messages.getById(i);if(!l)return t.NextResponse.json({error:"Other message not found"},{status:404});if(l.conversation_id!==s.conversation_id)return t.NextResponse.json({error:"Messages are in different conversations"},{status:400});let d=(r.messages.getBetween(a,i)??[]).map(e=>{if("bot"===e.sender_type&&e.sender_id){let t=r.bots.getById(e.sender_id);return{...e,sender_name:t?.name}}return e});return t.NextResponse.json(d)}catch(e){return console.error("Error fetching messages between:",e),t.NextResponse.json({error:"Failed to fetch messages between"},{status:500})}}e.s(["GET",0,a])},84296,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),R=e.i(26937),g=e.i(10372),v=e.i(93695),f=e.i(9580);e.i(52474);var m=e.i(220);let x=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/messages/[id]/between/route",pathname:"/api/messages/[id]/between",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/messages/[id]/between/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(43272),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:E,serverHooks:C}=x;async function y(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),x.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/messages/[id]/between/route";w=w.replace(/\/index$/,"")||"/";let E=await x.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:C,deploymentId:y,params:b,nextConfig:A,parsedUrl:T,isDraftMode:N,prerenderManifest:_,routerServerContext:q,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,resolvedPathname:O,clientReferenceManifest:I,serverActionsManifest:H}=E,M=(0,i.normalizeAppPath)(w),j=!!_.routes[O]&&(x.isDev||(0,f.isRouteCacheOwner)(O,x.cacheOwner,_.routes[O])),U=!!(_.dynamicRoutes[M]||j),k=async()=>((null==q?void 0:q.render404)?await q.render404(e,t,T,!1):t.end("This page could not be found"),null);if(U&&!N){let e=_.dynamicRoutes[M];if(e&&!1===e.fallback&&!j){if(A.adapterPath)return await k();throw new v.NoFallbackError}}let D=null;!U||x.isDev||N||(D="/index"===(D=O)?"/":D);let B=!0===x.isDev||!U,F=U&&!B;H&&I&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:I,serverActionsManifest:H});let K=e.method||"GET",L=(0,s.getTracer)(),$=L.getActiveScopeSpan(),G=!!(null==q?void 0:q.isWrappedByNextServer),V=!!(0,n.getRequestMeta)(e,"minimalMode"),X=(0,n.getRequestMeta)(e,"incrementalCache")||await x.getIncrementalCache(e,A,_,V);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let W={params:b,previewProps:_.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts,useCacheTimeout:A.experimental.useCacheTimeout},cacheComponents:!!A.cacheComponents,validationLevel:A.experimental.instantInsights.validationLevel,isDraftMode:N,supportsDynamicResponse:B,incrementalCache:X,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)=>x.onRequestError(e,t,a,n,q)},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:r})=>{try{if(!V&&P&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await x.handle(J,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(!U)return await (0,p.sendResponse)(z,Z,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);o&&(t[g.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>=g.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=g.INFINITE_CACHE?!1!==r&&r>0?A.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:P})},!1,q),t}},Y=async(n,o)=>{try{var i,l;let n=await x.handleResponse({req:e,nextConfig:A,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,responseGenerator:Q,waitUntil:a.waitUntil,isMinimalMode:V});if(!U)return;if((null==n||null==(i=n.value)?void 0:i.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",P?"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&&U||s.delete(g.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 v.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:P})},!1,q),U)throw t;await (0,p.sendResponse)(z,Z,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:s.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")||M,i=`${K} ${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&&$)await Y($,void 0);else{let t=L.getActiveScopeSpan();await L.withPropagatedContext(e.headers,()=>L.trace(u.BaseServerSpan.handleRequest,{spanName:`${K} ${w}`,kind:s.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:w,workUnitAsyncStorage:E})},"routeModule",0,x,"serverHooks",0,C,"workAsyncStorage",0,w,"workUnitAsyncStorage",0,E])}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__04b3ml2._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__20om7um._.js.map
@@ -45,6 +45,6 @@ module.exports=[57007,e=>{"use strict";var t=e.i(62294),a=e.i(52036);e.i(54799),
45
45
  );
46
46
  CREATE UNIQUE INDEX IF NOT EXISTS idx_slack_questions_turn ON slack_questions(share_ref, turn_ref) WHERE turn_ref IS NOT NULL;
47
47
  CREATE INDEX IF NOT EXISTS idx_slack_questions_state ON slack_questions(state, created_at);
48
- `),e.i(90440),e.i(82554);let r=Symbol.for("botmancers.slack-runtime"),n=globalThis;async function s(){let e="ok";try{t.default.prepare("SELECT 1").get()}catch{e="error"}return Response.json({status:"ok"===e?"ok":"degraded",service:"botmancers-core",version:"0.7.0",commit:"60fab8ad681e26b6a810aa2527805bc27a92f97e",engine:e,home:(0,a.botmancersHome)(),slack:{...(!n[r]&&(n[r]={status:{state:"stopped",reason:null,since:Date.now(),connections:0},relay:null,clients:null,stop:null,starting:null}),n[r]).status}},{status:"ok"===e?200:503,headers:{"cache-control":"no-store"}})}e.s(["GET",0,s,"dynamic",0,"force-dynamic"],57007)},61370,e=>{"use strict";var t=e.i(47909),a=e.i(74017),r=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),T=e.i(70101),h=e.i(26937),E=e.i(10372),_=e.i(93695),N=e.i(9580);e.i(52474);var R=e.i(220);let v=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/health/route",pathname:"/api/health",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/health/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(57007),...{}}),{workAsyncStorage:m,workUnitAsyncStorage:f,serverHooks:g}=v;async function L(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),v.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/health/route";m=m.replace(/\/index$/,"")||"/";let f=await v.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!f)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:g,deploymentId:L,params:C,nextConfig:w,parsedUrl:O,isDraftMode:I,prerenderManifest:y,routerServerContext:U,isOnDemandRevalidate:A,revalidateOnlyGenerated:S,resolvedPathname:x,clientReferenceManifest:b,serverActionsManifest:X}=f,k=(0,o.normalizeAppPath)(m),P=!!y.routes[x]&&(v.isDev||(0,N.isRouteCacheOwner)(x,v.cacheOwner,y.routes[x])),q=!!(y.dynamicRoutes[k]||P),H=async()=>((null==U?void 0:U.render404)?await U.render404(e,t,O,!1):t.end("This page could not be found"),null);if(q&&!I){let e=y.dynamicRoutes[k];if(e&&!1===e.fallback&&!P){if(w.adapterPath)return await H();throw new _.NoFallbackError}}let M=null;!q||v.isDev||I||(M="/index"===(M=x)?"/":M);let D=!0===v.isDev||!q,K=q&&!D;X&&b&&(0,i.setManifestsSingleton)({page:m,clientReferenceManifest:b,serverActionsManifest:X});let F=e.method||"GET",G=(0,s.getTracer)(),j=G.getActiveScopeSpan(),B=!!(null==U?void 0:U.isWrappedByNextServer),$=!!(0,n.getRequestMeta)(e,"minimalMode"),Y=(0,n.getRequestMeta)(e,"incrementalCache")||await v.getIncrementalCache(e,w,y,$);null==Y||Y.resetRequestCache(),globalThis.__incrementalCache=Y;let Q={params:C,previewProps:y.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts,useCacheTimeout:w.experimental.useCacheTimeout},cacheComponents:!!w.cacheComponents,validationLevel:w.experimental.instantInsights.validationLevel,isDraftMode:I,supportsDynamicResponse:D,incrementalCache:Y,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:w.cacheLife,staticPageGenerationTimeout:w.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>v.onRequestError(e,t,r,n,U)},sharedContext:{buildId:g,deploymentId:L}},V=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),z=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:a})=>{try{if(!$&&A&&S&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await v.handle(z,Q);e.fetchMetrics=Q.renderOpts.fetchMetrics;let s=Q.renderOpts.pendingWaitUntil;s&&r.waitUntil&&(r.waitUntil(s),s=void 0);let i=Q.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(V,W,n,s),null;{let e=await n.blob(),t=(0,T.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[E.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=E.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,r=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=E.INFINITE_CACHE?!1!==a&&a>0?w.expireTime:void 0:Q.renderOpts.collectedExpire;return{value:{kind:R.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 v.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:A})},!1,U),t}},J=async(n,i)=>{try{var o,l;let n=await v.handleResponse({req:e,nextConfig:w,cacheKey:M,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:S,responseGenerator:Z,waitUntil:r.waitUntil,isMinimalMode:$});if(!q)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==R.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});$||t.setHeader("x-nextjs-cache",A?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,T.fromNodeOutgoingHttpHeaders)(n.value.headers);$&&q||s.delete(E.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,h.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(V,W,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof _.NoFallbackError||await v.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:A})},!1,U),q)throw t;await (0,p.sendResponse)(V,W,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=G.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")||k,o=`${F} ${r}`;n.setAttributes({"next.route":r,"http.route":r,"next.span_name":o}),n.updateName(o),i&&i!==n&&(i.setAttribute("http.route",r),i.updateName(o))})()}};if(B&&j)await J(j,void 0);else{let t=G.getActiveScopeSpan();await G.withPropagatedContext(e.headers,()=>G.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${m}`,kind:s.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>J(e,t)),void 0,!B)}}e.s(["handler",0,L,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:m,workUnitAsyncStorage:f})},"routeModule",0,v,"serverHooks",0,g,"workAsyncStorage",0,m,"workUnitAsyncStorage",0,f])}];
48
+ `),e.i(90440),e.i(82554);let r=Symbol.for("botmancers.slack-runtime"),n=globalThis;async function s(){let e="ok";try{t.default.prepare("SELECT 1").get()}catch{e="error"}return Response.json({status:"ok"===e?"ok":"degraded",service:"botmancers-core",version:"0.9.0",commit:"dc129093ac85f510039ffc5281cf15224118c81e",engine:e,home:(0,a.botmancersHome)(),slack:{...(!n[r]&&(n[r]={status:{state:"stopped",reason:null,since:Date.now(),connections:0},relay:null,clients:null,stop:null,starting:null}),n[r]).status}},{status:"ok"===e?200:503,headers:{"cache-control":"no-store"}})}e.s(["GET",0,s,"dynamic",0,"force-dynamic"],57007)},61370,e=>{"use strict";var t=e.i(47909),a=e.i(74017),r=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),T=e.i(70101),h=e.i(26937),E=e.i(10372),_=e.i(93695),N=e.i(9580);e.i(52474);var R=e.i(220);let v=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/health/route",pathname:"/api/health",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/health/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(57007),...{}}),{workAsyncStorage:m,workUnitAsyncStorage:f,serverHooks:g}=v;async function L(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),v.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/health/route";m=m.replace(/\/index$/,"")||"/";let f=await v.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!f)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:g,deploymentId:L,params:C,nextConfig:w,parsedUrl:O,isDraftMode:I,prerenderManifest:y,routerServerContext:U,isOnDemandRevalidate:A,revalidateOnlyGenerated:S,resolvedPathname:x,clientReferenceManifest:b,serverActionsManifest:X}=f,k=(0,o.normalizeAppPath)(m),P=!!y.routes[x]&&(v.isDev||(0,N.isRouteCacheOwner)(x,v.cacheOwner,y.routes[x])),q=!!(y.dynamicRoutes[k]||P),H=async()=>((null==U?void 0:U.render404)?await U.render404(e,t,O,!1):t.end("This page could not be found"),null);if(q&&!I){let e=y.dynamicRoutes[k];if(e&&!1===e.fallback&&!P){if(w.adapterPath)return await H();throw new _.NoFallbackError}}let M=null;!q||v.isDev||I||(M="/index"===(M=x)?"/":M);let D=!0===v.isDev||!q,K=q&&!D;X&&b&&(0,i.setManifestsSingleton)({page:m,clientReferenceManifest:b,serverActionsManifest:X});let F=e.method||"GET",G=(0,s.getTracer)(),j=G.getActiveScopeSpan(),B=!!(null==U?void 0:U.isWrappedByNextServer),$=!!(0,n.getRequestMeta)(e,"minimalMode"),Y=(0,n.getRequestMeta)(e,"incrementalCache")||await v.getIncrementalCache(e,w,y,$);null==Y||Y.resetRequestCache(),globalThis.__incrementalCache=Y;let Q={params:C,previewProps:y.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts,useCacheTimeout:w.experimental.useCacheTimeout},cacheComponents:!!w.cacheComponents,validationLevel:w.experimental.instantInsights.validationLevel,isDraftMode:I,supportsDynamicResponse:D,incrementalCache:Y,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:w.cacheLife,staticPageGenerationTimeout:w.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>v.onRequestError(e,t,r,n,U)},sharedContext:{buildId:g,deploymentId:L}},V=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),z=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:a})=>{try{if(!$&&A&&S&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await v.handle(z,Q);e.fetchMetrics=Q.renderOpts.fetchMetrics;let s=Q.renderOpts.pendingWaitUntil;s&&r.waitUntil&&(r.waitUntil(s),s=void 0);let i=Q.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(V,W,n,s),null;{let e=await n.blob(),t=(0,T.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[E.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=E.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,r=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=E.INFINITE_CACHE?!1!==a&&a>0?w.expireTime:void 0:Q.renderOpts.collectedExpire;return{value:{kind:R.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 v.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:A})},!1,U),t}},J=async(n,i)=>{try{var o,l;let n=await v.handleResponse({req:e,nextConfig:w,cacheKey:M,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:S,responseGenerator:Z,waitUntil:r.waitUntil,isMinimalMode:$});if(!q)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==R.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});$||t.setHeader("x-nextjs-cache",A?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,T.fromNodeOutgoingHttpHeaders)(n.value.headers);$&&q||s.delete(E.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,h.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(V,W,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof _.NoFallbackError||await v.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:A})},!1,U),q)throw t;await (0,p.sendResponse)(V,W,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=G.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")||k,o=`${F} ${r}`;n.setAttributes({"next.route":r,"http.route":r,"next.span_name":o}),n.updateName(o),i&&i!==n&&(i.setAttribute("http.route",r),i.updateName(o))})()}};if(B&&j)await J(j,void 0);else{let t=G.getActiveScopeSpan();await G.withPropagatedContext(e.headers,()=>G.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${m}`,kind:s.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>J(e,t)),void 0,!B)}}e.s(["handler",0,L,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:m,workUnitAsyncStorage:f})},"routeModule",0,v,"serverHooks",0,g,"workAsyncStorage",0,m,"workUnitAsyncStorage",0,f])}];
49
49
 
50
50
  //# sourceMappingURL=_0061c2q._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[69449,e=>{"use strict";async function s(){let{runSlackInServer:s}=await e.A(61891);s();let{runShareSweeperInServer:r}=await e.A(99787);r();let{runSessionSyncInServer:t}=await e.A(87528);t()}e.s(["register",0,s])},99787,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__0888o0_._.js","server/chunks/lib_15a9ejf._.js"].map(s=>e.l(s))).then(()=>s(97350)))},87528,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__0k8wfe2._.js","server/chunks/lib_1z7d95m._.js"].map(s=>e.l(s))).then(()=>s(7185)))},61891,e=>{e.v(s=>Promise.all(["server/chunks/[externals]__17bolvp._.js","server/chunks/lib_19pzc33._.js","server/chunks/lib_slack-runtime_ts_0fgsejy._.js"].map(s=>e.l(s))).then(()=>s(15050)))}];
2
+
3
+ //# sourceMappingURL=_0_b7py8._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[64347,e=>{"use strict";var t=e.i(89171),r=e.i(62294),a=e.i(57147),o=e.i(27754),s=e.i(52694),n=e.i(62349),i=e.i(18966),l=e.i(16979),d=e.i(30098),u=e.i(16789);async function c(){try{let e=r.bots.getAll().map(e=>({...(0,r.serializeAgent)(e),unread:+!!e.unread,hidden:+!!e.hidden,latest:r.messages.latestFromBot(e.id)}));return t.NextResponse.json(e)}catch(e){return console.error("Error fetching bots:",e),t.NextResponse.json({error:"Failed to fetch bots"},{status:500})}}async function p(e){try{let o=await e.json(),{name:d,title:c,description:p,avatar:v}=o;if(!d||!String(d).trim())return t.NextResponse.json({error:"Name is required"},{status:400});let g=[];if((void 0!==o.runtime||void 0!==o.agent_client)&&g.push(n.LEGACY_RUNTIME_FIELD_ERROR),(void 0!==o.launch_profile||void 0!==o.deck_id||void 0!==o.deck_name||void 0!==o.working_directory)&&g.push(n.REMOVED_LAUNCH_FIELD_ERROR),g.length>0)return t.NextResponse.json({error:g[0],errors:g},{status:400});let h=(0,i.validateCreateRegistration)(o,r.registrationContext);if(h.errors.length>0||!h.registration||!h.provider)return t.NextResponse.json({error:h.errors[0],errors:h.errors},{status:400});let R=h.registration,f=null!==o.avatar&&void 0!==o.avatar&&"object"==typeof o.avatar&&!Array.isArray(o.avatar);if(void 0!==o.avatar&&null!==o.avatar&&"string"!=typeof o.avatar&&!f)return t.NextResponse.json({error:"Invalid avatar: expected an image string or an avatar config object"},{status:400});let m=(0,l.validateAvatarInput)(f?o.avatar:void 0);if(m.errors.length>0)return t.NextResponse.json({error:m.errors[0],errors:m.errors},{status:400});let _=r.bots.create({name:String(d).trim(),title:c?String(c):"",description:p?String(p):"",avatar:"string"==typeof v?v:void 0,agent:h.provider,runtime_connection_id:R.runtime_connection_id,session_scope_kind:R.session_scope.kind,session_scope_items:JSON.stringify("workspaces"===R.session_scope.kind?R.session_scope.workspaces:R.session_scope.sessions),default_workspace:R.default_workspace,policy_mode:R.policy.mode,allow_new_sessions:+!!R.policy.allow_new_sessions,allow_resume_with_edits:+!!R.policy.allow_resume_with_edits,home_session_id:R.home_session_id,avatar_color:m.fields.avatar_color??null,avatar_eyes:m.fields.avatar_eyes??null,avatar_hands:m.fields.avatar_hands??null,avatar_accessory:m.fields.avatar_accessory??null});if("claude"===h.provider)try{await (0,u.syncAgentSessionHistory)(r.default,_.id)}catch(e){console.warn("Claude session history was not available during Agent registration.",e)}let E=r.conversations.getByBotId(_.id);E&&(a.uiTurns.enqueue(E.id,_.id,{reason:"greeting"}),(0,s.processUiTurns)().catch(console.error));let y=r.bots.getById(_.id);return t.NextResponse.json(y?(0,r.serializeAgent)(y):null)}catch(e){if(e instanceof d.AgentNameConflictError)return t.NextResponse.json((0,d.agentNameConflictBody)(e),{status:409});return console.error("Error creating bot:",e),t.NextResponse.json({error:"Failed to create bot"},{status:500})}}async function v(e){try{let a,o=await e.json(),s=o.id?String(o.id):"";if(!s)return t.NextResponse.json({error:"Bot id is required"},{status:400});let d=r.bots.getById(s);if(!d)return t.NextResponse.json({error:"Bot not found"},{status:404});let u=e=>t.NextResponse.json({error:e[0],errors:e},{status:400}),c=null;if(void 0!==o.avatar){if(null===o.avatar||""===o.avatar)a=null;else if("object"!=typeof o.avatar||Array.isArray(o.avatar)){let e=String(o.avatar);if(!e.startsWith("data:image/"))return t.NextResponse.json({error:"Image is required"},{status:400});a=e}else if((c=(0,l.validateAvatarInput)(o.avatar)).errors.length>0)return u(c.errors)}let p=null;if(void 0!==o.name||void 0!==o.title||void 0!==o.description){let e=void 0!==o.name?String(o.name).trim():d.name;if(!e)return t.NextResponse.json({error:"Name is required"},{status:400});let r=void 0!==o.title?String(o.title):d.title,a=void 0!==o.description?String(o.description):d.description;p={name:e,title:r,description:a}}let v=[];if((void 0!==o.runtime||void 0!==o.agent_client)&&v.push(n.LEGACY_RUNTIME_FIELD_ERROR),(void 0!==o.launch_profile||void 0!==o.deck_id||void 0!==o.deck_name||void 0!==o.working_directory)&&v.push(n.REMOVED_LAUNCH_FIELD_ERROR),v.length>0)return u(v);let g=void 0!==o.agent||(0,i.hasRegistrationUpdate)(o)?(0,i.validateUpdateRegistration)(s,d,o,r.registrationContext):null;if(g&&(g.errors.length>0||!g.registration||!g.provider))return u(g.errors);r.default.transaction(()=>{void 0!==a&&r.bots.setAvatar(s,a),c&&r.bots.updateAvatarConfig(s,c.fields),void 0!==o.pinned&&r.bots.setPinned(s,!!o.pinned),void 0!==o.hidden&&r.bots.setHidden(s,!!o.hidden),void 0!==o.unread&&(o.unread?r.bots.markUnread(s):r.bots.markRead(s)),p&&r.bots.updateIdentity(s,p.name,p.title,p.description),g?.registration&&g.provider&&r.bots.updateRegistration(s,g.provider,g.registration)})();let h=r.bots.getById(s);return t.NextResponse.json(h?(0,r.serializeAgent)(h):h)}catch(e){if(e instanceof d.AgentNameConflictError)return t.NextResponse.json((0,d.agentNameConflictBody)(e),{status:409});return console.error("Error setting avatar:",e),t.NextResponse.json({error:"Failed to set avatar"},{status:500})}}async function g(e){let a;try{a=await e.json()}catch{return t.NextResponse.json({error:"Expected a JSON object with id or ids."},{status:400})}let s=(0,o.parseDeleteIds)(a);if(!s.ok)return t.NextResponse.json({error:s.error},{status:400});try{let e=r.bots.removeMany(s.ids);return t.NextResponse.json({ok:!0,deleted:e.agents,groups:e.groups})}catch(e){if(e instanceof r.BotDeletionError){var n=e.preview;if(n.missing.length>0)return t.NextResponse.json({error:"Bot not found",missing:n.missing},{status:404});let r=n.blocked.map(e=>`${e.name} — ${(0,o.blockedReasonCopy)(e.reason)}`).join(" ");return t.NextResponse.json({error:`Nothing was deleted. ${r}`,blocked:n.blocked.map(e=>({...e,message:(0,o.blockedReasonCopy)(e.reason)}))},{status:409})}return console.error("Error deleting bot:",e),t.NextResponse.json({error:"Failed to delete bot"},{status:500})}}e.s(["DELETE",0,g,"GET",0,c,"PATCH",0,v,"POST",0,p])},88016,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),o=e.i(59756),s=e.i(61916),n=e.i(74677),i=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),v=e.i(70101),g=e.i(26937),h=e.i(10372),R=e.i(93695),f=e.i(9580);e.i(52474);var m=e.i(220);let _=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/bots/route",pathname:"/api/bots",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/bots/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(64347),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:y,serverHooks:w}=_;async function x(e,t,a){a.requestMeta&&(0,o.setRequestMeta)(e,a.requestMeta),_.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/bots/route";E=E.replace(/\/index$/,"")||"/";let y=await _.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:N,nextConfig:b,parsedUrl:C,isDraftMode:A,prerenderManifest:j,routerServerContext:S,isOnDemandRevalidate:T,revalidateOnlyGenerated:k,resolvedPathname:I,clientReferenceManifest:O,serverActionsManifest:P}=y,q=(0,i.normalizeAppPath)(E),H=!!j.routes[I]&&(_.isDev||(0,f.isRouteCacheOwner)(I,_.cacheOwner,j.routes[I])),D=!!(j.dynamicRoutes[q]||H),U=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,C,!1):t.end("This page could not be found"),null);if(D&&!A){let e=j.dynamicRoutes[q];if(e&&!1===e.fallback&&!H){if(b.adapterPath)return await U();throw new R.NoFallbackError}}let M=null;!D||_.isDev||A||(M="/index"===(M=I)?"/":M);let B=!0===_.isDev||!D,F=D&&!B;P&&O&&(0,n.setManifestsSingleton)({page:E,clientReferenceManifest:O,serverActionsManifest:P});let L=e.method||"GET",$=(0,s.getTracer)(),G=$.getActiveScopeSpan(),K=!!(null==S?void 0:S.isWrappedByNextServer),V=!!(0,o.getRequestMeta)(e,"minimalMode"),z=(0,o.getRequestMeta)(e,"incrementalCache")||await _.getIncrementalCache(e,b,j,V);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let W={params:N,previewProps:j.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts,useCacheTimeout:b.experimental.useCacheTimeout},cacheComponents:!!b.cacheComponents,validationLevel:b.experimental.instantInsights.validationLevel,isDraftMode:A,supportsDynamicResponse:B,incrementalCache:z,hmrRefreshHash:(0,o.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:b.cacheLife,staticPageGenerationTimeout:b.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,o)=>_.onRequestError(e,t,a,o,S)},sharedContext:{buildId:w,deploymentId:x}},X=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),Y=d.NextRequestAdapter.fromNodeNextRequest(X,(0,d.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:r})=>{try{if(!V&&T&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await _.handle(Y,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let s=W.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let n=W.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(X,J,o,s),null;{let e=await o.blob(),t=(0,v.toNodeOutgoingHttpHeaders)(o.headers);n&&(t[h.NEXT_CACHE_TAGS_HEADER]=n),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=h.INFINITE_CACHE?!1!==r&&r>0?b.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:T})},!1,S),t}},Q=async(o,n)=>{try{var i,l;let o=await _.handleResponse({req:e,nextConfig:b,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:k,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:V});if(!D)return;if((null==o||null==(i=o.value)?void 0:i.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==o||null==(l=o.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",T?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,v.fromNodeOutgoingHttpHeaders)(o.value.headers);V&&D||s.delete(h.NEXT_CACHE_TAGS_HEADER),!o.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,g.getCacheControlHeader)(o.cacheControl)),await (0,p.sendResponse)(X,J,new Response(o.value.body,{headers:s,status:o.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:T})},!1,S),D)throw t;await (0,p.sendResponse)(X,J,new Response(null,{status:500}));return}finally{(()=>{if(!o)return;let e=t.statusCode;o.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(o.setStatus({code:s.SpanStatusCode.ERROR}),o.setAttribute("error.type",e.toString()));let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||q,i=`${L} ${a}`;o.setAttributes({"next.route":a,"http.route":a,"next.span_name":i}),o.updateName(i),n&&n!==o&&(n.setAttribute("http.route",a),n.updateName(i))})()}};if(K&&G)await Q(G,void 0);else{let t=$.getActiveScopeSpan();await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${L} ${E}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},e=>Q(e,t)),void 0,!K)}}e.s(["handler",0,x,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:y})},"routeModule",0,_,"serverHooks",0,w,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,y])}];
1
+ module.exports=[64347,e=>{"use strict";var t=e.i(89171),r=e.i(62294),a=e.i(57147),o=e.i(27754),s=e.i(52694),n=e.i(62349),i=e.i(18966),l=e.i(16979),d=e.i(30098),u=e.i(16789);async function c(){try{let e=r.bots.getAll().map(e=>({...(0,r.serializeAgent)(e),unread:+!!e.unread,hidden:+!!e.hidden,latest:r.messages.latestFromBot(e.id)}));return t.NextResponse.json(e)}catch(e){return console.error("Error fetching bots:",e),t.NextResponse.json({error:"Failed to fetch bots"},{status:500})}}async function p(e){try{let o,d=await e.json(),{name:c,title:p,description:v,avatar:g}=d;if(!c||!String(c).trim())return t.NextResponse.json({error:"Name is required"},{status:400});let h=[];if((void 0!==d.runtime||void 0!==d.agent_client)&&h.push(n.LEGACY_RUNTIME_FIELD_ERROR),(void 0!==d.launch_profile||void 0!==d.deck_id||void 0!==d.deck_name||void 0!==d.working_directory)&&h.push(n.REMOVED_LAUNCH_FIELD_ERROR),h.length>0)return t.NextResponse.json({error:h[0],errors:h},{status:400});let R=(0,i.validateCreateRegistration)(d,r.registrationContext);if(R.errors.length>0||!R.registration||!R.provider)return t.NextResponse.json({error:R.errors[0],errors:R.errors},{status:400});let f=R.registration,m=null!==d.avatar&&void 0!==d.avatar&&"object"==typeof d.avatar&&!Array.isArray(d.avatar);if(void 0!==d.avatar&&null!==d.avatar&&"string"!=typeof d.avatar&&!m)return t.NextResponse.json({error:"Invalid avatar: expected an image string or an avatar config object"},{status:400});let _=(0,l.validateAvatarInput)(m?d.avatar:void 0);if(_.errors.length>0)return t.NextResponse.json({error:_.errors[0],errors:_.errors},{status:400});let y=r.bots.create({name:String(c).trim(),title:p?String(p):"",description:v?String(v):"",avatar:"string"==typeof g?g:void 0,agent:R.provider,runtime_connection_id:f.runtime_connection_id,session_scope_kind:f.session_scope.kind,session_scope_items:JSON.stringify("workspaces"===f.session_scope.kind?f.session_scope.workspaces:f.session_scope.sessions),default_workspace:f.default_workspace,policy_mode:f.policy.mode,allow_new_sessions:+!!f.policy.allow_new_sessions,allow_resume_with_edits:+!!f.policy.allow_resume_with_edits,home_session_id:f.home_session_id,avatar_color:_.fields.avatar_color??null,avatar_eyes:_.fields.avatar_eyes??null,avatar_hands:_.fields.avatar_hands??null,avatar_accessory:_.fields.avatar_accessory??null});try{let e=await (0,u.syncHistoryAtRegistration)(r.default,y.id);"failed"===e.outcome&&console.warn("Session history was not available during Agent registration.",e.error_code),o={...e}}catch(e){console.warn("Session history was not available during Agent registration.",e),o={outcome:"failed",imported:0,rejected_out_of_scope:0,complete:!1,error_code:"provider_failed"}}let E=r.conversations.getByBotId(y.id);E&&(a.uiTurns.enqueue(E.id,y.id,{reason:"greeting"}),(0,s.processUiTurns)().catch(console.error));let w=r.bots.getById(y.id);return t.NextResponse.json(w?{...(0,r.serializeAgent)(w),session_sync:o}:null)}catch(e){if(e instanceof d.AgentNameConflictError)return t.NextResponse.json((0,d.agentNameConflictBody)(e),{status:409});return console.error("Error creating bot:",e),t.NextResponse.json({error:"Failed to create bot"},{status:500})}}async function v(e){try{let a,o=await e.json(),s=o.id?String(o.id):"";if(!s)return t.NextResponse.json({error:"Bot id is required"},{status:400});let d=r.bots.getById(s);if(!d)return t.NextResponse.json({error:"Bot not found"},{status:404});let u=e=>t.NextResponse.json({error:e[0],errors:e},{status:400}),c=null;if(void 0!==o.avatar){if(null===o.avatar||""===o.avatar)a=null;else if("object"!=typeof o.avatar||Array.isArray(o.avatar)){let e=String(o.avatar);if(!e.startsWith("data:image/"))return t.NextResponse.json({error:"Image is required"},{status:400});a=e}else if((c=(0,l.validateAvatarInput)(o.avatar)).errors.length>0)return u(c.errors)}let p=null;if(void 0!==o.name||void 0!==o.title||void 0!==o.description){let e=void 0!==o.name?String(o.name).trim():d.name;if(!e)return t.NextResponse.json({error:"Name is required"},{status:400});let r=void 0!==o.title?String(o.title):d.title,a=void 0!==o.description?String(o.description):d.description;p={name:e,title:r,description:a}}let v=[];if((void 0!==o.runtime||void 0!==o.agent_client)&&v.push(n.LEGACY_RUNTIME_FIELD_ERROR),(void 0!==o.launch_profile||void 0!==o.deck_id||void 0!==o.deck_name||void 0!==o.working_directory)&&v.push(n.REMOVED_LAUNCH_FIELD_ERROR),v.length>0)return u(v);let g=void 0!==o.agent||(0,i.hasRegistrationUpdate)(o)?(0,i.validateUpdateRegistration)(s,d,o,r.registrationContext):null;if(g&&(g.errors.length>0||!g.registration||!g.provider))return u(g.errors);r.default.transaction(()=>{void 0!==a&&r.bots.setAvatar(s,a),c&&r.bots.updateAvatarConfig(s,c.fields),void 0!==o.pinned&&r.bots.setPinned(s,!!o.pinned),void 0!==o.hidden&&r.bots.setHidden(s,!!o.hidden),void 0!==o.unread&&(o.unread?r.bots.markUnread(s):r.bots.markRead(s)),p&&r.bots.updateIdentity(s,p.name,p.title,p.description),g?.registration&&g.provider&&r.bots.updateRegistration(s,g.provider,g.registration)})();let h=r.bots.getById(s);return t.NextResponse.json(h?(0,r.serializeAgent)(h):h)}catch(e){if(e instanceof d.AgentNameConflictError)return t.NextResponse.json((0,d.agentNameConflictBody)(e),{status:409});return console.error("Error setting avatar:",e),t.NextResponse.json({error:"Failed to set avatar"},{status:500})}}async function g(e){let a;try{a=await e.json()}catch{return t.NextResponse.json({error:"Expected a JSON object with id or ids."},{status:400})}let s=(0,o.parseDeleteIds)(a);if(!s.ok)return t.NextResponse.json({error:s.error},{status:400});try{let e=r.bots.removeMany(s.ids);return t.NextResponse.json({ok:!0,deleted:e.agents,groups:e.groups})}catch(e){if(e instanceof r.BotDeletionError){var n=e.preview;if(n.missing.length>0)return t.NextResponse.json({error:"Bot not found",missing:n.missing},{status:404});let r=n.blocked.map(e=>`${e.name} — ${(0,o.blockedReasonCopy)(e.reason)}`).join(" ");return t.NextResponse.json({error:`Nothing was deleted. ${r}`,blocked:n.blocked.map(e=>({...e,message:(0,o.blockedReasonCopy)(e.reason)}))},{status:409})}return console.error("Error deleting bot:",e),t.NextResponse.json({error:"Failed to delete bot"},{status:500})}}e.s(["DELETE",0,g,"GET",0,c,"PATCH",0,v,"POST",0,p])},88016,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),o=e.i(59756),s=e.i(61916),n=e.i(74677),i=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),v=e.i(70101),g=e.i(26937),h=e.i(10372),R=e.i(93695),f=e.i(9580);e.i(52474);var m=e.i(220);let _=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/bots/route",pathname:"/api/bots",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/bots/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(64347),...{}}),{workAsyncStorage:y,workUnitAsyncStorage:E,serverHooks:w}=_;async function x(e,t,a){a.requestMeta&&(0,o.setRequestMeta)(e,a.requestMeta),_.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/bots/route";y=y.replace(/\/index$/,"")||"/";let E=await _.prepare(e,t,{srcPage:y,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:x,params:N,nextConfig:b,parsedUrl:C,isDraftMode:A,prerenderManifest:j,routerServerContext:S,isOnDemandRevalidate:T,revalidateOnlyGenerated:k,resolvedPathname:I,clientReferenceManifest:O,serverActionsManifest:P}=E,q=(0,i.normalizeAppPath)(y),H=!!j.routes[I]&&(_.isDev||(0,f.isRouteCacheOwner)(I,_.cacheOwner,j.routes[I])),D=!!(j.dynamicRoutes[q]||H),U=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,C,!1):t.end("This page could not be found"),null);if(D&&!A){let e=j.dynamicRoutes[q];if(e&&!1===e.fallback&&!H){if(b.adapterPath)return await U();throw new R.NoFallbackError}}let M=null;!D||_.isDev||A||(M="/index"===(M=I)?"/":M);let B=!0===_.isDev||!D,F=D&&!B;P&&O&&(0,n.setManifestsSingleton)({page:y,clientReferenceManifest:O,serverActionsManifest:P});let L=e.method||"GET",$=(0,s.getTracer)(),G=$.getActiveScopeSpan(),K=!!(null==S?void 0:S.isWrappedByNextServer),V=!!(0,o.getRequestMeta)(e,"minimalMode"),z=(0,o.getRequestMeta)(e,"incrementalCache")||await _.getIncrementalCache(e,b,j,V);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let W={params:N,previewProps:j.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts,useCacheTimeout:b.experimental.useCacheTimeout},cacheComponents:!!b.cacheComponents,validationLevel:b.experimental.instantInsights.validationLevel,isDraftMode:A,supportsDynamicResponse:B,incrementalCache:z,hmrRefreshHash:(0,o.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:b.cacheLife,staticPageGenerationTimeout:b.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,o)=>_.onRequestError(e,t,a,o,S)},sharedContext:{buildId:w,deploymentId:x}},X=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),Y=d.NextRequestAdapter.fromNodeNextRequest(X,(0,d.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:r})=>{try{if(!V&&T&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await _.handle(Y,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let s=W.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let n=W.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(X,J,o,s),null;{let e=await o.blob(),t=(0,v.toNodeOutgoingHttpHeaders)(o.headers);n&&(t[h.NEXT_CACHE_TAGS_HEADER]=n),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=h.INFINITE_CACHE?!1!==r&&r>0?b.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:T})},!1,S),t}},Q=async(o,n)=>{try{var i,l;let o=await _.handleResponse({req:e,nextConfig:b,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:k,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:V});if(!D)return;if((null==o||null==(i=o.value)?void 0:i.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==o||null==(l=o.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",T?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,v.fromNodeOutgoingHttpHeaders)(o.value.headers);V&&D||s.delete(h.NEXT_CACHE_TAGS_HEADER),!o.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,g.getCacheControlHeader)(o.cacheControl)),await (0,p.sendResponse)(X,J,new Response(o.value.body,{headers:s,status:o.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:T})},!1,S),D)throw t;await (0,p.sendResponse)(X,J,new Response(null,{status:500}));return}finally{(()=>{if(!o)return;let e=t.statusCode;o.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(o.setStatus({code:s.SpanStatusCode.ERROR}),o.setAttribute("error.type",e.toString()));let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||q,i=`${L} ${a}`;o.setAttributes({"next.route":a,"http.route":a,"next.span_name":i}),o.updateName(i),n&&n!==o&&(n.setAttribute("http.route",a),n.updateName(i))})()}};if(K&&G)await Q(G,void 0);else{let t=$.getActiveScopeSpan();await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${L} ${y}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},e=>Q(e,t)),void 0,!K)}}e.s(["handler",0,x,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:y,workUnitAsyncStorage:E})},"routeModule",0,_,"serverHooks",0,w,"workAsyncStorage",0,y,"workUnitAsyncStorage",0,E])}];
2
2
 
3
3
  //# sourceMappingURL=_0a2do3x._.js.map