botmancers 0.4.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +22 -17
  3. package/app/.next/BUILD_ID +1 -1
  4. package/app/.next/app-path-routes-manifest.json +7 -0
  5. package/app/.next/build-manifest.json +3 -3
  6. package/app/.next/prerender-manifest.json +5 -5
  7. package/app/.next/required-server-files.json +2 -2
  8. package/app/.next/routes-manifest.json +55 -0
  9. package/app/.next/server/app/_global-error.html +1 -1
  10. package/app/.next/server/app/_global-error.rsc +1 -1
  11. package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  15. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/_not-found.html +1 -1
  17. package/app/.next/server/app/_not-found.rsc +2 -2
  18. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  19. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  20. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/app/.next/server/app/api/agent-deck/decks/route.js +2 -2
  22. package/app/.next/server/app/api/agent-deck/decks/route.js.nft.json +1 -1
  23. package/app/.next/server/app/api/agent-deck/settings/route.js +2 -2
  24. package/app/.next/server/app/api/agent-deck/settings/route.js.nft.json +1 -1
  25. package/app/.next/server/app/api/bots/[id]/config/route.js +2 -2
  26. package/app/.next/server/app/api/bots/[id]/config/route.js.nft.json +1 -1
  27. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route/app-paths-manifest.json +3 -0
  28. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route/build-manifest.json +12 -0
  29. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route/server-reference-manifest.json +4 -0
  30. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route.js +12 -0
  31. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route.js.nft.json +1 -0
  32. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route_client-reference-manifest.js +3 -0
  33. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/route.js +2 -2
  34. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/route.js.nft.json +1 -1
  35. package/app/.next/server/app/api/bots/[id]/sessions/route.js +6 -3
  36. package/app/.next/server/app/api/bots/[id]/sessions/route.js.nft.json +1 -1
  37. package/app/.next/server/app/api/bots/[id]/skill/route.js +2 -2
  38. package/app/.next/server/app/api/bots/[id]/skill/route.js.nft.json +1 -1
  39. package/app/.next/server/app/api/bots/availability/route.js +2 -2
  40. package/app/.next/server/app/api/bots/availability/route.js.nft.json +1 -1
  41. package/app/.next/server/app/api/bots/delete-preview/route.js +2 -2
  42. package/app/.next/server/app/api/bots/delete-preview/route.js.nft.json +1 -1
  43. package/app/.next/server/app/api/bots/import/route.js +2 -2
  44. package/app/.next/server/app/api/bots/import/route.js.nft.json +1 -1
  45. package/app/.next/server/app/api/bots/manage/route.js +2 -2
  46. package/app/.next/server/app/api/bots/manage/route.js.nft.json +1 -1
  47. package/app/.next/server/app/api/bots/name-migrations/route.js +2 -2
  48. package/app/.next/server/app/api/bots/name-migrations/route.js.nft.json +1 -1
  49. package/app/.next/server/app/api/bots/route.js +3 -3
  50. package/app/.next/server/app/api/bots/route.js.nft.json +1 -1
  51. package/app/.next/server/app/api/conversations/[id]/approve/route.js +4 -4
  52. package/app/.next/server/app/api/conversations/[id]/approve/route.js.nft.json +1 -1
  53. package/app/.next/server/app/api/conversations/[id]/deny/route.js +4 -4
  54. package/app/.next/server/app/api/conversations/[id]/deny/route.js.nft.json +1 -1
  55. package/app/.next/server/app/api/conversations/[id]/draft/route.js +4 -4
  56. package/app/.next/server/app/api/conversations/[id]/draft/route.js.nft.json +1 -1
  57. package/app/.next/server/app/api/conversations/[id]/messages/[messageId]/stop/route.js +2 -2
  58. package/app/.next/server/app/api/conversations/[id]/messages/[messageId]/stop/route.js.nft.json +1 -1
  59. package/app/.next/server/app/api/conversations/[id]/messages/route.js +5 -5
  60. package/app/.next/server/app/api/conversations/[id]/messages/route.js.nft.json +1 -1
  61. package/app/.next/server/app/api/conversations/[id]/route.js +2 -2
  62. package/app/.next/server/app/api/conversations/[id]/route.js.nft.json +1 -1
  63. package/app/.next/server/app/api/conversations/[id]/stop/route.js +3 -3
  64. package/app/.next/server/app/api/conversations/[id]/stop/route.js.nft.json +1 -1
  65. package/app/.next/server/app/api/conversations/route.js +2 -2
  66. package/app/.next/server/app/api/conversations/route.js.nft.json +1 -1
  67. package/app/.next/server/app/api/exchanges/[id]/cancel/route.js +4 -4
  68. package/app/.next/server/app/api/exchanges/[id]/cancel/route.js.nft.json +1 -1
  69. package/app/.next/server/app/api/exchanges/[id]/route.js +3 -3
  70. package/app/.next/server/app/api/exchanges/[id]/route.js.nft.json +1 -1
  71. package/app/.next/server/app/api/exchanges/route.js +3 -3
  72. package/app/.next/server/app/api/exchanges/route.js.nft.json +1 -1
  73. package/app/.next/server/app/api/files/[name]/route.js +3 -2
  74. package/app/.next/server/app/api/files/[name]/route.js.nft.json +1 -1
  75. package/app/.next/server/app/api/groups/route.js +2 -2
  76. package/app/.next/server/app/api/groups/route.js.nft.json +1 -1
  77. package/app/.next/server/app/api/health/route.js +3 -2
  78. package/app/.next/server/app/api/health/route.js.nft.json +1 -1
  79. package/app/.next/server/app/api/mcp/route.js +2 -2
  80. package/app/.next/server/app/api/mcp/route.js.nft.json +1 -1
  81. package/app/.next/server/app/api/messages/[id]/between/route.js +2 -2
  82. package/app/.next/server/app/api/messages/[id]/between/route.js.nft.json +1 -1
  83. package/app/.next/server/app/api/runtime-connections/route/app-paths-manifest.json +3 -0
  84. package/app/.next/server/app/api/runtime-connections/route/build-manifest.json +12 -0
  85. package/app/.next/server/app/api/runtime-connections/route/server-reference-manifest.json +4 -0
  86. package/app/.next/server/app/api/runtime-connections/route.js +9 -0
  87. package/app/.next/server/app/api/runtime-connections/route.js.nft.json +1 -0
  88. package/app/.next/server/app/api/runtime-connections/route_client-reference-manifest.js +3 -0
  89. package/app/.next/server/app/api/service-grants/route.js +2 -2
  90. package/app/.next/server/app/api/service-grants/route.js.nft.json +1 -1
  91. package/app/.next/server/app/api/v0/agents/[agentId]/conversations/[conversationId]/route.js +7 -6
  92. package/app/.next/server/app/api/v0/agents/[agentId]/conversations/[conversationId]/route.js.nft.json +1 -1
  93. package/app/.next/server/app/api/v0/agents/[agentId]/conversations/route.js +7 -6
  94. package/app/.next/server/app/api/v0/agents/[agentId]/conversations/route.js.nft.json +1 -1
  95. package/app/.next/server/app/api/v0/agents/[agentId]/messages/route.js +4 -4
  96. package/app/.next/server/app/api/v0/agents/[agentId]/messages/route.js.nft.json +1 -1
  97. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route/app-paths-manifest.json +3 -0
  98. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route/build-manifest.json +12 -0
  99. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route/server-reference-manifest.json +4 -0
  100. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route.js +12 -0
  101. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route.js.nft.json +1 -0
  102. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route_client-reference-manifest.js +3 -0
  103. package/app/.next/server/app/api/v0/agents/[agentId]/route.js +7 -6
  104. package/app/.next/server/app/api/v0/agents/[agentId]/route.js.nft.json +1 -1
  105. package/app/.next/server/app/api/v0/agents/[agentId]/sessions/[ref]/route.js +7 -6
  106. package/app/.next/server/app/api/v0/agents/[agentId]/sessions/[ref]/route.js.nft.json +1 -1
  107. package/app/.next/server/app/api/v0/agents/[agentId]/sessions/route.js +7 -6
  108. package/app/.next/server/app/api/v0/agents/[agentId]/sessions/route.js.nft.json +1 -1
  109. package/app/.next/server/app/api/v0/agents/route.js +7 -6
  110. package/app/.next/server/app/api/v0/agents/route.js.nft.json +1 -1
  111. package/app/.next/server/app/api/v0/capabilities/route.js +7 -6
  112. package/app/.next/server/app/api/v0/capabilities/route.js.nft.json +1 -1
  113. package/app/.next/server/app/api/v0/conversations/[id]/route.js +4 -4
  114. package/app/.next/server/app/api/v0/conversations/[id]/route.js.nft.json +1 -1
  115. package/app/.next/server/app/api/v0/exchanges/[id]/cancel/route.js +7 -6
  116. package/app/.next/server/app/api/v0/exchanges/[id]/cancel/route.js.nft.json +1 -1
  117. package/app/.next/server/app/api/v0/exchanges/[id]/route.js +7 -6
  118. package/app/.next/server/app/api/v0/exchanges/[id]/route.js.nft.json +1 -1
  119. package/app/.next/server/app/api/v0/exchanges/route.js +7 -6
  120. package/app/.next/server/app/api/v0/exchanges/route.js.nft.json +1 -1
  121. package/app/.next/server/app/api/v0/mcp/route.js +8 -7
  122. package/app/.next/server/app/api/v0/mcp/route.js.nft.json +1 -1
  123. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route/app-paths-manifest.json +3 -0
  124. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route/build-manifest.json +12 -0
  125. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route/server-reference-manifest.json +4 -0
  126. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route.js +12 -0
  127. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route.js.nft.json +1 -0
  128. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route_client-reference-manifest.js +3 -0
  129. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route/app-paths-manifest.json +3 -0
  130. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route/build-manifest.json +12 -0
  131. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route/server-reference-manifest.json +4 -0
  132. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route.js +12 -0
  133. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route.js.nft.json +1 -0
  134. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route_client-reference-manifest.js +3 -0
  135. package/app/.next/server/app/api/v0/pins/[pinRef]/route/app-paths-manifest.json +3 -0
  136. package/app/.next/server/app/api/v0/pins/[pinRef]/route/build-manifest.json +12 -0
  137. package/app/.next/server/app/api/v0/pins/[pinRef]/route/server-reference-manifest.json +4 -0
  138. package/app/.next/server/app/api/v0/pins/[pinRef]/route.js +12 -0
  139. package/app/.next/server/app/api/v0/pins/[pinRef]/route.js.nft.json +1 -0
  140. package/app/.next/server/app/api/v0/pins/[pinRef]/route_client-reference-manifest.js +3 -0
  141. package/app/.next/server/app/api/v0/requests/[id]/route.js +4 -4
  142. package/app/.next/server/app/api/v0/requests/[id]/route.js.nft.json +1 -1
  143. package/app/.next/server/app/api/v0/sessions/[ref]/messages/route.js +7 -6
  144. package/app/.next/server/app/api/v0/sessions/[ref]/messages/route.js.nft.json +1 -1
  145. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route/app-paths-manifest.json +3 -0
  146. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route/build-manifest.json +12 -0
  147. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route/server-reference-manifest.json +4 -0
  148. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route.js +12 -0
  149. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route.js.nft.json +1 -0
  150. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route_client-reference-manifest.js +3 -0
  151. package/app/.next/server/app/api/wake-grants/[id]/revoke/route.js +4 -4
  152. package/app/.next/server/app/api/wake-grants/[id]/revoke/route.js.nft.json +1 -1
  153. package/app/.next/server/app/api/wakes/[id]/decision/route.js +4 -4
  154. package/app/.next/server/app/api/wakes/[id]/decision/route.js.nft.json +1 -1
  155. package/app/.next/server/app/api/wakes/[id]/retry/route.js +4 -4
  156. package/app/.next/server/app/api/wakes/[id]/retry/route.js.nft.json +1 -1
  157. package/app/.next/server/app/bots/[id]/config/page.js.nft.json +1 -1
  158. package/app/.next/server/app/bots/[id]/config/page_client-reference-manifest.js +1 -1
  159. package/app/.next/server/app/exchanges/page.js.nft.json +1 -1
  160. package/app/.next/server/app/exchanges/page_client-reference-manifest.js +1 -1
  161. package/app/.next/server/app/exchanges.html +1 -1
  162. package/app/.next/server/app/exchanges.rsc +3 -3
  163. package/app/.next/server/app/exchanges.segments/_full.segment.rsc +3 -3
  164. package/app/.next/server/app/exchanges.segments/_tree.segment.rsc +2 -2
  165. package/app/.next/server/app/exchanges.segments/exchanges/__PAGE__.segment.rsc +3 -3
  166. package/app/.next/server/app/index.html +1 -1
  167. package/app/.next/server/app/index.rsc +3 -3
  168. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  169. package/app/.next/server/app/index.segments/_full.segment.rsc +3 -3
  170. package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  171. package/app/.next/server/app/page.js.nft.json +1 -1
  172. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  173. package/app/.next/server/app/settings/page.js.nft.json +1 -1
  174. package/app/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/settings.html +1 -1
  176. package/app/.next/server/app/settings.rsc +3 -3
  177. package/app/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  178. package/app/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  179. package/app/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +3 -3
  180. package/app/.next/server/app/threads/[id]/page.js.nft.json +1 -1
  181. package/app/.next/server/app/threads/[id]/page_client-reference-manifest.js +1 -1
  182. package/app/.next/server/app-paths-manifest.json +7 -0
  183. package/app/.next/server/chunks/1oeh_server_app_api_bots_[id]_sessions_[ref]_pins_route_actions_0e1st6o.js +3 -0
  184. package/app/.next/server/chunks/[root-of-the-server]__02kssr-._.js +3 -0
  185. package/app/.next/server/chunks/[root-of-the-server]__06qkt0f._.js +3 -0
  186. package/app/.next/server/chunks/[root-of-the-server]__08qhrch._.js +3 -0
  187. package/app/.next/server/chunks/[root-of-the-server]__097ptn_._.js +3 -0
  188. package/app/.next/server/chunks/[root-of-the-server]__09m9-pe._.js +3 -0
  189. package/app/.next/server/chunks/[root-of-the-server]__0b7w1z3._.js +3 -0
  190. package/app/.next/server/chunks/[root-of-the-server]__0f5yqjs._.js +3 -0
  191. package/app/.next/server/chunks/[root-of-the-server]__0g4um3-._.js +44 -0
  192. package/app/.next/server/chunks/[root-of-the-server]__0hro5ey._.js +3 -0
  193. package/app/.next/server/chunks/[root-of-the-server]__0hwpgxq._.js +3 -0
  194. package/app/.next/server/chunks/[root-of-the-server]__0izjfmr._.js +355 -60
  195. package/app/.next/server/chunks/[root-of-the-server]__0lwsto-._.js +5 -0
  196. package/app/.next/server/chunks/[root-of-the-server]__0s1enbp._.js +3 -0
  197. package/app/.next/server/chunks/[root-of-the-server]__0uq7sci._.js +3 -0
  198. package/app/.next/server/chunks/[root-of-the-server]__0wg992i._.js +3 -0
  199. package/app/.next/server/chunks/[root-of-the-server]__13cd2fb._.js +44 -0
  200. package/app/.next/server/chunks/[root-of-the-server]__17mum5-._.js +3 -0
  201. package/app/.next/server/chunks/[root-of-the-server]__1879cge._.js +3 -0
  202. package/app/.next/server/chunks/{[root-of-the-server]__17oz13o._.js → [root-of-the-server]__1_01-13._.js} +3 -3
  203. package/app/.next/server/chunks/[root-of-the-server]__1a2dh11._.js +3 -0
  204. package/app/.next/server/chunks/[root-of-the-server]__1bhzfu_._.js +7 -0
  205. package/app/.next/server/chunks/[root-of-the-server]__1co3sok._.js +44 -0
  206. package/app/.next/server/chunks/[root-of-the-server]__1eh30sp._.js +3 -0
  207. package/app/.next/server/chunks/[root-of-the-server]__1fmsid0._.js +44 -0
  208. package/app/.next/server/chunks/[root-of-the-server]__1i388e2._.js +3 -0
  209. package/app/.next/server/chunks/[root-of-the-server]__1kvvs4u._.js +3 -0
  210. package/app/.next/server/chunks/[root-of-the-server]__1qbgs3m._.js +3 -0
  211. package/app/.next/server/chunks/[root-of-the-server]__1s6h1sj._.js +3 -0
  212. package/app/.next/server/chunks/[root-of-the-server]__1slu7d7._.js +2 -2
  213. package/app/.next/server/chunks/[root-of-the-server]__1tuqc5v._.js +3 -0
  214. package/app/.next/server/chunks/[root-of-the-server]__1v609eq._.js +44 -0
  215. package/app/.next/server/chunks/[root-of-the-server]__1y_j43n._.js +3 -0
  216. package/app/.next/server/chunks/[root-of-the-server]__1zdv-vb._.js +3 -0
  217. package/app/.next/server/chunks/[root-of-the-server]__1zjs2tr._.js +3 -0
  218. package/app/.next/server/chunks/_0061c2q._.js +3 -0
  219. package/app/.next/server/chunks/_023se5j._.js +44 -0
  220. package/app/.next/server/chunks/_02pb_qv._.js +44 -0
  221. package/app/.next/server/chunks/_05ro-21._.js +44 -0
  222. package/app/.next/server/chunks/_07on0dc._.js +44 -0
  223. package/app/.next/server/chunks/_08208nz._.js +44 -0
  224. package/app/.next/server/chunks/_0a2do3x._.js +1 -1
  225. package/app/.next/server/chunks/_0fe5qz5._.js +44 -0
  226. package/app/.next/server/chunks/_0i8_xso._.js +3 -0
  227. package/app/.next/server/chunks/_0qoji5a._.js +44 -0
  228. package/app/.next/server/chunks/_0uv2pi5._.js +44 -0
  229. package/app/.next/server/chunks/_0wdl90-._.js +44 -0
  230. package/app/.next/server/chunks/_1-5mthb._.js +1 -1
  231. package/app/.next/server/chunks/_11-q8k1._.js +3 -0
  232. package/app/.next/server/chunks/_11ijk9k._.js +44 -0
  233. package/app/.next/server/chunks/_198sn69._.js +44 -0
  234. package/app/.next/server/chunks/_1ba_5hd._.js +44 -0
  235. package/app/.next/server/chunks/_1ess5if._.js +3 -0
  236. package/app/.next/server/chunks/_1i0zod4._.js +3 -0
  237. package/app/.next/server/chunks/_1m89jq5._.js +44 -0
  238. package/app/.next/server/chunks/_1n39wr_._.js +44 -0
  239. package/app/.next/server/chunks/_1ryxqo1._.js +44 -0
  240. package/app/.next/server/chunks/_1vemgly._.js +44 -0
  241. package/app/.next/server/chunks/_next-internal_server_app_api_runtime-connections_route_actions_06rulng.js +3 -0
  242. package/app/.next/server/chunks/_next-internal_server_app_api_v0_agents_[agentId]_pins_route_actions_08uftk9.js +3 -0
  243. package/app/.next/server/chunks/_next-internal_server_app_api_v0_pins_[pinRef]_detach_route_actions_0nk3268.js +3 -0
  244. package/app/.next/server/chunks/_next-internal_server_app_api_v0_pins_[pinRef]_messages_route_actions_1wenu96.js +3 -0
  245. package/app/.next/server/chunks/_next-internal_server_app_api_v0_pins_[pinRef]_route_actions_0z7fu_c.js +3 -0
  246. package/app/.next/server/chunks/_next-internal_server_app_api_v0_sessions_[ref]_pins_route_actions_0y3ere3.js +3 -0
  247. package/app/.next/server/chunks/lib_0kik6bx._.js +1 -1
  248. package/app/.next/server/chunks/lib_0lqoyb4._.js +217 -0
  249. package/app/.next/server/chunks/lib_0pe3tiv._.js +1 -1
  250. package/app/.next/server/chunks/lib_0riiofz._.js +44 -0
  251. package/app/.next/server/chunks/lib_16j2293._.js +217 -0
  252. package/app/.next/server/chunks/lib_1nb_61e._.js +217 -0
  253. package/app/.next/server/chunks/lib_service-api-http_ts_0xzqhny._.js +5 -5
  254. package/app/.next/server/chunks/lib_session-pins_ts_0lmxnwj._.js +20 -0
  255. package/app/.next/server/chunks/ssr/_0epgorw._.js +3 -0
  256. package/app/.next/server/chunks/ssr/_1cvuhjt._.js +3 -0
  257. package/app/.next/server/chunks/ssr/_1n5mvo5._.js +3 -0
  258. package/app/.next/server/chunks/ssr/_1o94bnv._.js +1 -1
  259. package/app/.next/server/chunks/ssr/app_bots_[id]_config_page_tsx_1e0uue9._.js +1 -1
  260. package/app/.next/server/chunks/ssr/app_components_AgentDeckRuntime_tsx_024janf._.js +1 -1
  261. package/app/.next/server/chunks/ssr/app_components_ExchangeCard_tsx_1shfcgn._.js +3 -0
  262. package/app/.next/server/chunks/ssr/app_exchanges_page_tsx_0j-n2a1._.js +3 -0
  263. package/app/.next/server/chunks/ssr/node_modules_@swc_helpers_cjs__interop_require_default_cjs_1ztp13a._.js +3 -0
  264. package/app/.next/server/middleware-build-manifest.js +3 -3
  265. package/app/.next/server/pages/404.html +1 -1
  266. package/app/.next/server/pages/500.html +1 -1
  267. package/app/.next/server/server-reference-manifest.js +1 -1
  268. package/app/.next/server/server-reference-manifest.json +1 -1
  269. package/app/.next/static/chunks/0bhd8eso48g27.js +1 -0
  270. package/app/.next/static/chunks/1ku9himlsx-hn.js +1 -0
  271. package/app/.next/static/chunks/21aqekm5z0j47.js +1 -0
  272. package/app/.next/static/chunks/2a8bomryx66oj.css +3 -0
  273. package/app/.next/static/chunks/3230ywnpii0s6.js +3 -0
  274. package/app/.next/static/chunks/35l2c95bd-jud.js +1 -0
  275. package/app/.next/static/chunks/3cijpn6vx3yzv.js +1 -0
  276. package/app/.next/static/chunks/3ue9194j59kem.js +1 -0
  277. package/app/.next/static/chunks/44ese2s4gzze_.js +1 -0
  278. package/app/BUILD_INFO.json +2 -2
  279. package/app/package.json +1 -1
  280. package/app/server.js +1 -1
  281. package/dist/cli.d.ts +1 -1
  282. package/dist/cli.js +2 -2
  283. package/dist/clients.js +7 -3
  284. package/dist/config.d.ts +2 -1
  285. package/dist/config.js +5 -4
  286. package/dist/contract.d.ts +1 -0
  287. package/dist/contract.js +5 -0
  288. package/dist/home.d.ts +1 -1
  289. package/dist/home.js +1 -1
  290. package/dist/index.d.ts +1 -1
  291. package/dist/index.js +1 -1
  292. package/dist/product.js +1 -1
  293. package/dist/upstream.js +2 -2
  294. package/package.json +1 -1
  295. package/schemas/botmancers.mcp.v2.tools.json +1588 -4
  296. package/skills/botmancers-collaboration/SKILL.md +21 -6
  297. package/skills/botmancers-collaboration/references/workflows.md +72 -0
  298. package/app/.next/server/chunks/[root-of-the-server]__0ab4e_k._.js +0 -3
  299. package/app/.next/server/chunks/[root-of-the-server]__0qozubc._.js +0 -3
  300. package/app/.next/server/chunks/[root-of-the-server]__0wtzcge._.js +0 -3
  301. package/app/.next/server/chunks/[root-of-the-server]__10m3szc._.js +0 -3
  302. package/app/.next/server/chunks/[root-of-the-server]__15hknun._.js +0 -3
  303. package/app/.next/server/chunks/[root-of-the-server]__16ikszu._.js +0 -3
  304. package/app/.next/server/chunks/[root-of-the-server]__1afl75n._.js +0 -3
  305. package/app/.next/server/chunks/[root-of-the-server]__1kvvdpx._.js +0 -7
  306. package/app/.next/server/chunks/[root-of-the-server]__1qoa704._.js +0 -7
  307. package/app/.next/server/chunks/_06rti77._.js +0 -30
  308. package/app/.next/server/chunks/_09k38l1._.js +0 -3
  309. package/app/.next/server/chunks/_0dlg5kj._.js +0 -30
  310. package/app/.next/server/chunks/_0dyculb._.js +0 -30
  311. package/app/.next/server/chunks/_0eig2jc._.js +0 -30
  312. package/app/.next/server/chunks/_0ggf7vy._.js +0 -3
  313. package/app/.next/server/chunks/_0gtqbub._.js +0 -3
  314. package/app/.next/server/chunks/_0i7ga8c._.js +0 -3
  315. package/app/.next/server/chunks/_0kghtb6._.js +0 -3
  316. package/app/.next/server/chunks/_0orubev._.js +0 -3
  317. package/app/.next/server/chunks/_0sfpe9z._.js +0 -3
  318. package/app/.next/server/chunks/_0th2j4w._.js +0 -3
  319. package/app/.next/server/chunks/_0uz7r06._.js +0 -30
  320. package/app/.next/server/chunks/_0x05ts4._.js +0 -3
  321. package/app/.next/server/chunks/_0y3geoj._.js +0 -30
  322. package/app/.next/server/chunks/_12tq5uv._.js +0 -30
  323. package/app/.next/server/chunks/_147-4gl._.js +0 -3
  324. package/app/.next/server/chunks/_14ky6a2._.js +0 -30
  325. package/app/.next/server/chunks/_16kbxdt._.js +0 -30
  326. package/app/.next/server/chunks/_1963m2f._.js +0 -30
  327. package/app/.next/server/chunks/_1_34_h3._.js +0 -30
  328. package/app/.next/server/chunks/_1cc-2mx._.js +0 -3
  329. package/app/.next/server/chunks/_1ee4ej2._.js +0 -3
  330. package/app/.next/server/chunks/_1esxu1s._.js +0 -3
  331. package/app/.next/server/chunks/_1gn7eh7._.js +0 -3
  332. package/app/.next/server/chunks/_1gw7qwf._.js +0 -3
  333. package/app/.next/server/chunks/_1inyx08._.js +0 -3
  334. package/app/.next/server/chunks/_1kjsnlr._.js +0 -3
  335. package/app/.next/server/chunks/_1nurj3f._.js +0 -30
  336. package/app/.next/server/chunks/_1p2rf_n._.js +0 -30
  337. package/app/.next/server/chunks/_1p8rola._.js +0 -3
  338. package/app/.next/server/chunks/_1u6tw78._.js +0 -30
  339. package/app/.next/server/chunks/app_api_import-capabilities_route_ts_013w1kt._.js +0 -3
  340. package/app/.next/server/chunks/lib_0t3s3rj._.js +0 -30
  341. package/app/.next/server/chunks/lib_0zxi6rx._.js +0 -148
  342. package/app/.next/server/chunks/lib_12udr7g._.js +0 -148
  343. package/app/.next/server/chunks/lib_draft_ts_1atoius._.js +0 -3
  344. package/app/.next/server/chunks/lib_session-catalog_ts_1i7f38f._.js +0 -30
  345. package/app/.next/server/chunks/ssr/_00ysoah._.js +0 -3
  346. package/app/.next/server/chunks/ssr/_157wnb_._.js +0 -3
  347. package/app/.next/server/chunks/ssr/app_1-nwnha._.js +0 -3
  348. package/app/.next/server/chunks/ssr/app_components_0bhuhd-._.js +0 -3
  349. package/app/.next/server/chunks/ssr/app_components_0w2_b3t._.js +0 -3
  350. package/app/.next/static/chunks/0774d7ob6aze_.js +0 -1
  351. package/app/.next/static/chunks/0d3ein53nlgja.js +0 -1
  352. package/app/.next/static/chunks/1i5xroz391zkb.js +0 -1
  353. package/app/.next/static/chunks/1vz50l951sr9e.css +0 -3
  354. package/app/.next/static/chunks/24ggj819yt3y6.js +0 -1
  355. package/app/.next/static/chunks/2_8lcalraul5s.js +0 -3
  356. package/app/.next/static/chunks/30i0-l04mmdvk.js +0 -1
  357. package/app/.next/static/chunks/3wdlh25l1vww9.js +0 -1
  358. /package/app/.next/static/{ewp56HqU5-d9bpFog3bli → gh3shm8hnVqXLr75rmvsL}/_buildManifest.js +0 -0
  359. /package/app/.next/static/{ewp56HqU5-d9bpFog3bli → gh3shm8hnVqXLr75rmvsL}/_clientMiddlewareManifest.js +0 -0
  360. /package/app/.next/static/{ewp56HqU5-d9bpFog3bli → gh3shm8hnVqXLr75rmvsL}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[39228,20851,2296,a=>{"use strict";var b=a.i(87924);let c=["hermes","cursor","claude","codex","muse"],d={hermes:"Hermes",cursor:"Cursor",claude:"Claude",codex:"Codex",muse:"Muse Code"},e="hermes";c.join("|");let f=c.map(a=>({value:a,label:d[a]})),g="/settings",h="Select an Agent Deck…",i="Runs use the configured Agent Deck server. Remote execution is unconfirmed — see Settings for the configured server.",j="Runs use the server above. Remote execution is unconfirmed.",k="Configure the Agent Deck server in Settings",l="Saved Agent Deck not on this server — saving keeps it unless you pick another.",m={loading:"Loading decks…",empty:"No decks on this server — add one there, then retry.",malformed:"The deck list came back unreadable. Retry — or fix the server, then retry.",unreachable:"Can't reach the Agent Deck server — fix it in Settings, then retry.",unconfigured:"No Agent Deck server set — add it in Settings."};function n(a=null){return{status:"loading",decks:[],cachedDecks:a,serverUrl:"",checkedAt:0,error:""}}function o(a){return String(a).padStart(2,"0")}function p(a){let b=new Date(a);return`${o(b.getHours())}:${o(b.getMinutes())}:${o(b.getSeconds())}`}function q(a){switch(a.status){case"loading":return"Status: ○ Checking the Agent Deck server…";case"connected":return`Status: ● Connected \xb7 ${a.decks.length} ${1===a.decks.length?"deck":"decks"} \xb7 checked ${p(a.checkedAt)}`;case"empty":return"Status: ○ Connected — no decks on this server.";case"malformed":return"Status: ○ The server returned decks this app can't read.";case"unreachable":return"Status: ○ Can't reach the Agent Deck server.";case"unconfigured":return"Status: ○ No Agent Deck server set."}}function r(a){return"connected"===a.status?null:m[a.status]}function s(a){return"empty"===a.status||"malformed"===a.status||"unreachable"===a.status}async function t(a,b,c=Date.now){let d,e;try{d=await a("/api/agent-deck/decks",{cache:"no-store"})}catch(a){return{status:"unreachable",decks:[],cachedDecks:b.cachedDecks,serverUrl:b.serverUrl,checkedAt:c(),error:a instanceof Error?a.message:String(a)}}try{e=await d.json()}catch{e=void 0}return function(a,b,c){let d="object"==typeof a.body&&null!==a.body?a.body:{},e="string"==typeof d.server_url?d.server_url:b.serverUrl,f={cachedDecks:b.cachedDecks,serverUrl:e,checkedAt:c};if("string"==typeof d.server_url&&!d.server_url.trim())return{...f,status:"unconfigured",decks:[],error:""};if(a.ok){let b=function(a){if("object"!=typeof a||null===a)return null;let b=a.decks;if(!Array.isArray(b))return null;let c=[];for(let a of b){if("object"!=typeof a||null===a)return null;let b=a.id,d=a.name;if("string"!=typeof b||!b.trim()||"string"!=typeof d||!d.trim())return null;c.push({id:b,name:d})}return c}(a.body);return b?{...f,cachedDecks:b,status:b.length>0?"connected":"empty",decks:b,error:""}:{...f,status:"malformed",decks:[],error:"Unexpected deck list shape."}}let g="string"==typeof d.error?d.error:`HTTP ${a.status}`,h="invalid-payload"===d.code||/unexpected deck payload/i.test(g);return{...f,status:h?"malformed":"unreachable",decks:[],error:g}}({ok:d.ok,status:d.status,body:e},b,c())}function u(a){return a?"connected"===a.status||"empty"===a.status?a.decks.map(a=>a.id):"unconfigured"===a.status?null:a.cachedDecks?a.cachedDecks.map(a=>a.id):null:null}function v(a,b){let c=String(a??"").trim(),d=b?b.decks.length>0?b.decks:b.cachedDecks??[]:[];return d.find(a=>a.id===c)?.name??c}function w(a){var b;return b=(a.agent??"").trim()||e,c.includes(String(b))?d[b]:String(b??"")}function x(a){return function(a){let b=a.needs_deck_selection;if(!0===b||1===b)return!0;if("string"==typeof b){let a=b.trim().toLowerCase();return"1"===a||"true"===a}return!1}(a)||!(a.deck_id??"").trim()}function y(a,b){if(x(a))return!1;let c=u(b);return!!c&&!c.includes((a.deck_id??"").trim())}function z(a){return`Agent: ${w(a)} \xb7 Agent Deck: `}function A(a,b){return x(a)?`${z(a)}not selected`:z(a)+v(a.deck_id??"",b)}function B(a,b){let c,d=(c=A(a,b),x(a)?`${c} — select in Config`:y(a,b)?c+" (deck unavailable — see Config)":c);if(x(a))return{prefix:d,deck:"",suffix:""};let e=z(a),f=v(a.deck_id??"",b);return{prefix:e,deck:f,suffix:d.slice(e.length+f.length)}}function C(a){return`~/.botmancers/${a}`}function D(a){let b=(a.working_directory??"").trim();return!b||a.id&&b===C(a.id)?null:b}let E=[{prefix:"[Deck handoff]",kind:"handoff",label:"Agent Deck launch"},{prefix:"[Deck run]",kind:"run",label:"Agent Deck run"},{prefix:"[Deck review]",kind:"review",label:"Agent Deck review"},{prefix:"[Deck resume]",kind:"resume",label:"Agent Deck resume"},{prefix:"[Deck result]",kind:"result",label:"Agent Deck result"},{prefix:"[Deck failed]",kind:"failed",label:"Agent Deck failed"},{prefix:"[Deck needs selection]",kind:"reselection",label:"Agent Deck needs a deck"},{prefix:"[Deck needs reselection]",kind:"reselection",label:"Agent Deck needs a deck"}];a.s(["AGENT_OPTIONS",0,f,"DECK_PLACEHOLDER",0,h,"DEFAULT_RUNTIME_FORM",0,{agent:e,deckId:"",workingDirectory:""},"NEW_BOT_WORKDIR_HINT",0,"Default: ~/.botmancers/{agentID} — {agentID} is this agent's ID, assigned at creation.","NON_LOCAL_NOTE",0,i,"SAVED_DECK_MISSING_NOTE",0,l,"SELECT_DECK_ERROR",0,"Select an Agent Deck for this agent.","SETTINGS_ENDPOINT",0,"/api/agent-deck/settings","SETTINGS_LINK_COPY",0,k,"SETTINGS_NON_LOCAL_NOTE",0,j,"SETTINGS_PATH",0,g,"botAgentLabel",0,w,"configRuntimePatchBody",0,function(a,b){let c=b.workingDirectory.trim();return{id:a,agent:b.agent,deck_id:b.deckId.trim(),working_directory:c&&c!==C(a)?c:""}},"configRuntimeView",0,function(a,b){let c,d=[],e=A(a,b);if(x(a)){let b=(a.deck_name??"").trim();d.push(`No Agent Deck selected${b?` (was "${b}")`:""}. Pick a deck from the configured server before this agent can run.`)}else y(a,b)?(e+=" (deck unavailable)",d.push("This deck isn't on the configured server right now. Pick another deck, or fix the server in Settings.")):b&&"unconfigured"===b.status?d.push("No Agent Deck server set — add it in Settings."):b&&("unreachable"===b.status||"malformed"===b.status)&&!u(b)&&d.push("Can't reach the Agent Deck server, so this deck couldn't be checked — fix it in Settings, then retry.");return b&&b.serverUrl&&!function(a){let b;try{b=new URL("string"==typeof a?a.trim():"")}catch{return!1}let c=b.hostname.trim().toLowerCase().replace(/^\[|\]$/g,"");return"localhost"===c||"::1"===c||"::ffff:127.0.0.1"===c||/^127\.\d+\.\d+\.\d+$/.test(c)}(b.serverUrl)&&d.push("The workspace Agent Deck server isn't local. Remote runs are unconfirmed, so this agent's runs stop with an error until Settings points at a local server."),{summary:e,workingDirectory:(c=D(a))?`Working directory: ${c} (custom)`:`Working directory: ${C(a.id??"{agentID}")}`,notices:d,action:"Edit"}},"configWorkdirHint",0,function(a){return`Default: ${C(a)} — leave blank to use it.`},"deckEventDisplay",0,function(a){let b=String(a??"").trimStart(),c=E.find(a=>b.startsWith(a.prefix));return c?{label:c.label,detail:b.slice(c.prefix.length).trim()}:null},"deckLabel",0,v,"deckSlotCopy",0,r,"deckStateShowsRetry",0,s,"defaultWorkdirFor",0,C,"fetchDeckList",0,t,"formatClock",0,p,"initialDeckListState",0,n,"isMigratedPending",0,x,"newBotSubmitBody",0,function(a){let b={name:String(a.name??"").trim(),agent:a.agent,deck_id:a.deckId.trim()},c=a.workingDirectory.trim();return c&&(b.working_directory=c),b},"rosterRuntimeParts",0,B,"runtimeFormFromBot",0,function(a){let b=(a.agent??"").trim();return{agent:c.includes(b)?b:e,deckId:x(a)?"":(a.deck_id??"").trim(),workingDirectory:D(a)??""}},"runtimeFormView",0,function(a,b,c){let d=c?.includeName===!1?["agent","deck","workdir"]:["name","agent","deck","workdir"];return"loading"===b.status?{fields:d,submitDisabled:!0,blocker:""}:"connected"===b.status?{fields:d,submitDisabled:!1,blocker:""}:{fields:d,submitDisabled:!0,blocker:m[b.status]}},"settingsStatusLine",0,q],20851);let F={modal:{label:"",legend:"field-legend",picks:"runtime-picks",pick:"runtime-pick",note:"runtime-note",control:"deck-control",hint:"runtime-hint",link:"runtime-link",retry:"runtime-retry"},config:{label:"block text-sm cfg-muted mt-3 mb-1",legend:"block text-sm cfg-muted mt-3 mb-1 p-0",picks:"flex flex-wrap gap-x-4 gap-y-1 text-sm cfg-muted",pick:"text-sm cfg-muted",note:"text-sm cfg-muted mt-1",control:"cfg-input text-sm",hint:"mt-1 text-xs cfg-faint",link:"cfg-link text-sm",retry:"cfg-link text-sm"}};function G({value:a,onChange:c,name:d,variant:e,legendId:g}){let h=F[e];return(0,b.jsxs)("fieldset",{className:"agent-fieldset","data-field":"agent",children:[(0,b.jsx)("legend",{id:g,className:h.legend,children:"Agent"}),(0,b.jsx)("div",{className:h.picks,role:"radiogroup","aria-labelledby":g,"aria-required":"true",children:f.map(e=>(0,b.jsxs)("label",{className:h.pick,children:[(0,b.jsx)("input",{type:"radio",name:d,value:e.value,checked:a===e.value,onChange:()=>c(e.value)})," "+e.label]},e.value))})]})}function H({id:a,labelId:c,state:d,value:e,onChange:f,onRetry:g,savedDeckId:i,variant:j}){let k=F[j],m=r(d),n=(i??"").trim();if(null===m){let c=!!n&&!d.decks.some(a=>a.id===n);return(0,b.jsxs)("div",{"data-field":"deck","data-state":d.status,children:[(0,b.jsxs)("select",{id:a,className:k.control,"aria-required":"true","aria-describedby":c&&e===n?`${a}-saved-note`:void 0,value:e,title:e||void 0,onChange:a=>f(a.target.value),children:[(0,b.jsx)("option",{value:"",disabled:!0,children:h}),c?(0,b.jsxs)("option",{value:n,title:n,children:[n," (saved)"]}):null,d.decks.map(a=>(0,b.jsx)("option",{value:a.id,title:a.id,children:a.name},a.id))]}),c&&e===n?(0,b.jsx)("p",{id:`${a}-saved-note`,className:k.note,children:l}):null]})}return(0,b.jsxs)("div",{"data-field":"deck","data-state":d.status,role:"group","aria-labelledby":c,children:[n?(0,b.jsxs)("p",{className:k.note,children:["Saved Agent Deck: ",(0,b.jsx)("span",{title:n,children:n})]}):null,(0,b.jsxs)("p",{id:a,className:`${k.note} deck-slot`,role:"status",children:[(0,b.jsx)("span",{id:`${a}-copy`,children:m}),s(d)?(0,b.jsxs)(b.Fragment,{children:[" ",(0,b.jsx)("button",{type:"button",className:k.retry,onClick:g,children:"Retry"})]}):null]})]})}function I({idPrefix:a,variant:c,deckId:d,onDeckId:e,deckState:f,onRetry:h,savedDeckId:j,workingDirectory:l,onWorkingDirectory:m,workdirPlaceholder:n,workdirHint:o}){let p=F[c],q=null===r(f);return(0,b.jsxs)("div",{className:"agent-deck-fields",children:[(0,b.jsx)("label",{className:p.label,id:`${a}-deck-label`,htmlFor:q?`${a}-deck`:void 0,children:"Agent Deck"}),(0,b.jsx)(H,{id:`${a}-deck`,labelId:`${a}-deck-label`,state:f,value:d,onChange:e,onRetry:h,savedDeckId:j,variant:c}),(0,b.jsx)("a",{href:g,className:p.link,children:k}),(0,b.jsx)("label",{className:p.label,htmlFor:`${a}-workdir`,children:"Working directory (optional)"}),(0,b.jsx)("input",{id:`${a}-workdir`,type:"text",className:"config"===c?p.control:void 0,"data-field":"workdir","aria-describedby":`${a}-workdir-hint ${a}-workdir-note`,value:l,placeholder:n,onChange:a=>m(a.target.value)}),(0,b.jsx)("p",{id:`${a}-workdir-hint`,className:p.hint,children:o}),(0,b.jsx)("p",{id:`${a}-workdir-note`,className:p.hint,children:i})]})}a.s(["AgentSection",0,function({idPrefix:a,variant:c,form:d,onChange:e,deckState:f,onRetry:g,savedDeckId:h,workdirPlaceholder:i,workdirHint:j}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(G,{value:d.agent,onChange:a=>e({agent:a}),name:`${a}-agent`,variant:c,legendId:`${a}-agent-label`}),(0,b.jsx)(I,{idPrefix:a,variant:c,deckId:d.deckId,onDeckId:a=>e({deckId:a}),deckState:f,onRetry:g,savedDeckId:h,workingDirectory:d.workingDirectory,onWorkingDirectory:a=>e({workingDirectory:a}),workdirPlaceholder:i,workdirHint:j})]})},"RosterRuntimeLine",0,function({bot:a,state:c}){let{prefix:d,deck:e,suffix:f}=B(a,c);return(0,b.jsxs)("div",{className:"bot-runtime",title:d+e+f,children:[d,e?(0,b.jsx)("span",{className:"bot-runtime-deck",children:e}):null,f]})},"SettingsStatus",0,function({state:a,onRetry:c}){return(0,b.jsxs)("div",{"data-field":"status","data-state":a.status,children:[(0,b.jsx)("p",{className:"connected"===a.status?"text-sm cfg-ok":"text-sm cfg-muted",role:"status",children:q(a)}),s(a)?(0,b.jsx)("button",{type:"button",onClick:c,className:"mt-2 cfg-btn-ghost text-sm w-full sm:w-auto",children:"Retry"}):null,"connected"===a.status?(0,b.jsx)("p",{className:"mt-1 text-xs cfg-faint break-words",children:a.decks.map(a=>a.name).join(" · ")}):null,(0,b.jsx)("p",{className:"mt-2 text-xs cfg-faint",children:j})]})}],39228);var J=a.i(72131);let K="botmancers.agentDeck.lastDecks";function L(a){return"object"==typeof a&&null!==a&&"string"==typeof a.id&&"string"==typeof a.name}let M=(a,b)=>{let c=new AbortController,d=setTimeout(()=>c.abort(),1e4);return fetch(a,{cache:"no-store",signal:c.signal,...b}).finally(()=>clearTimeout(d))};a.s(["useDeckList",0,function(){let[a,b]=(0,J.useState)(()=>n()),[c,d]=(0,J.useState)(0),e=(0,J.useRef)(null);return(0,J.useEffect)(()=>{let a=!1;return t(M,n(e.current??function(){try{let a=window.localStorage.getItem(K);if(!a)return null;let b=JSON.parse(a);return Array.isArray(b)&&b.every(L)?b:null}catch{return null}}())).then(c=>{if(!a){e.current=c.cachedDecks;var d=c.cachedDecks;if(d)try{window.localStorage.setItem(K,JSON.stringify(d))}catch{}b(c)}}),()=>{a=!0}},[c]),{state:a,retry:(0,J.useCallback)(()=>{b(a=>({...a,status:"loading",decks:[],error:""})),d(a=>a+1)},[])}}],2296)}];
1
+ module.exports=[39228,22151,20851,2296,a=>{"use strict";var b=a.i(87924);let c=["hermes","cursor","claude","codex","muse"],d={hermes:"Hermes",cursor:"Cursor",claude:"Claude",codex:"Codex",muse:"Muse Code"},e="hermes";function f(a){return c.includes(String(a))?d[a]:String(a??"")}c.join("|"),a.s(["AGENTS",0,c,"AGENT_LABELS",0,d,"DEFAULT_AGENT",0,e,"agentLabel",0,f],22151);let g=c.map(a=>({value:a,label:d[a]})),h="/settings",i="Select an Agent Deck…",j="Runs use the configured Agent Deck server. Remote execution is unconfirmed — see Settings for the configured server.",k="Runs use the server above. Remote execution is unconfirmed.",l="Configure the Agent Deck server in Settings",m="Saved Agent Deck not on this server — saving keeps it unless you pick another.",n={loading:"Loading decks…",empty:"No decks on this server — add one there, then retry.",malformed:"The deck list came back unreadable. Retry — or fix the server, then retry.",unreachable:"Can't reach the Agent Deck server — fix it in Settings, then retry.",unconfigured:"No Agent Deck server set — add it in Settings."};function o(a=null){return{status:"loading",decks:[],cachedDecks:a,serverUrl:"",checkedAt:0,error:""}}function p(a){return String(a).padStart(2,"0")}function q(a){let b=new Date(a);return`${p(b.getHours())}:${p(b.getMinutes())}:${p(b.getSeconds())}`}function r(a){switch(a.status){case"loading":return"Status: ○ Checking the Agent Deck server…";case"connected":return`Status: ● Connected \xb7 ${a.decks.length} ${1===a.decks.length?"deck":"decks"} \xb7 checked ${q(a.checkedAt)}`;case"empty":return"Status: ○ Connected — no decks on this server.";case"malformed":return"Status: ○ The server returned decks this app can't read.";case"unreachable":return"Status: ○ Can't reach the Agent Deck server.";case"unconfigured":return"Status: ○ No Agent Deck server set."}}function s(a){return"connected"===a.status?null:n[a.status]}function t(a){return"empty"===a.status||"malformed"===a.status||"unreachable"===a.status}async function u(a,b,c=Date.now){let d,e;try{d=await a("/api/agent-deck/decks",{cache:"no-store"})}catch(a){return{status:"unreachable",decks:[],cachedDecks:b.cachedDecks,serverUrl:b.serverUrl,checkedAt:c(),error:a instanceof Error?a.message:String(a)}}try{e=await d.json()}catch{e=void 0}return function(a,b,c){let d="object"==typeof a.body&&null!==a.body?a.body:{},e="string"==typeof d.server_url?d.server_url:b.serverUrl,f={cachedDecks:b.cachedDecks,serverUrl:e,checkedAt:c};if("string"==typeof d.server_url&&!d.server_url.trim())return{...f,status:"unconfigured",decks:[],error:""};if(a.ok){let b=function(a){if("object"!=typeof a||null===a)return null;let b=a.decks;if(!Array.isArray(b))return null;let c=[];for(let a of b){if("object"!=typeof a||null===a)return null;let b=a.id,d=a.name;if("string"!=typeof b||!b.trim()||"string"!=typeof d||!d.trim())return null;c.push({id:b,name:d})}return c}(a.body);return b?{...f,cachedDecks:b,status:b.length>0?"connected":"empty",decks:b,error:""}:{...f,status:"malformed",decks:[],error:"Unexpected deck list shape."}}let g="string"==typeof d.error?d.error:`HTTP ${a.status}`,h="invalid-payload"===d.code||/unexpected deck payload/i.test(g);return{...f,status:h?"malformed":"unreachable",decks:[],error:g}}({ok:d.ok,status:d.status,body:e},b,c())}function v(a,b){let c=String(a??"").trim(),d=b?b.decks.length>0?b.decks:b.cachedDecks??[]:[];return d.find(a=>a.id===c)?.name??c}function w(a){return f((a.agent??"").trim()||e)}function x(a){return!y(a)&&(function(a){let b=a.needs_deck_selection;if(!0===b||1===b)return!0;if("string"==typeof b){let a=b.trim().toLowerCase();return"1"===a||"true"===a}return!1}(a)||!(a.deck_id??"").trim())}function y(a){return"direct"===a.launch_profile}function z(a,b){if(x(a)||y(a))return!1;let c=b?"connected"===b.status||"empty"===b.status?b.decks.map(a=>a.id):"unconfigured"===b.status?null:b.cachedDecks?b.cachedDecks.map(a=>a.id):null:null;return!!c&&!c.includes((a.deck_id??"").trim())}function A(a){return`Agent: ${w(a)} \xb7 Agent Deck: `}function B(a,b){let c,d=(c=y(a)?`Agent: ${w(a)} \xb7 Launch: Direct`:x(a)?`${A(a)}not selected`:A(a)+v(a.deck_id??"",b),x(a)?`${c} — select in Config`:z(a,b)?c+" (deck unavailable — see Config)":c);if(x(a)||y(a))return{prefix:d,deck:"",suffix:""};let e=A(a),f=v(a.deck_id??"",b);return{prefix:e,deck:f,suffix:d.slice(e.length+f.length)}}function C(a){return`~/.botmancers/${a}`}let D=[{prefix:"[Deck handoff]",kind:"handoff",label:"Agent Deck launch"},{prefix:"[Deck run]",kind:"run",label:"Agent Deck run"},{prefix:"[Deck review]",kind:"review",label:"Agent Deck review"},{prefix:"[Deck resume]",kind:"resume",label:"Agent Deck resume"},{prefix:"[Deck result]",kind:"result",label:"Agent Deck result"},{prefix:"[Deck failed]",kind:"failed",label:"Agent Deck failed"},{prefix:"[Deck needs selection]",kind:"reselection",label:"Agent Deck needs a deck"},{prefix:"[Deck needs reselection]",kind:"reselection",label:"Agent Deck needs a deck"}];a.s(["AGENT_OPTIONS",0,g,"DECK_PLACEHOLDER",0,i,"DECK_SLOT_COPY",0,n,"NEW_BOT_WORKDIR_HINT",0,"Default: ~/.botmancers/{agentID} — {agentID} is this agent's ID, assigned at creation.","NON_LOCAL_NOTE",0,j,"SAVED_DECK_MISSING_NOTE",0,m,"SETTINGS_ENDPOINT",0,"/api/agent-deck/settings","SETTINGS_LINK_COPY",0,l,"SETTINGS_NON_LOCAL_NOTE",0,k,"SETTINGS_PATH",0,h,"botAgentLabel",0,w,"configWorkdirHint",0,function(a){return`Default: ${C(a)} — leave blank to use it.`},"deckEventDisplay",0,function(a){let b=String(a??"").trimStart(),c=D.find(a=>b.startsWith(a.prefix));return c?{label:c.label,detail:b.slice(c.prefix.length).trim()}:null},"deckLabel",0,v,"deckSlotCopy",0,s,"deckStateShowsRetry",0,t,"defaultWorkdirFor",0,C,"fetchDeckList",0,u,"formatClock",0,q,"initialDeckListState",0,o,"isDeckUnavailable",0,z,"isMigratedPending",0,x,"rosterRuntimeParts",0,B,"settingsStatusLine",0,r],20851);let E={modal:{label:"",legend:"field-legend",picks:"runtime-picks",pick:"runtime-pick",note:"runtime-note",control:"deck-control",hint:"runtime-hint",link:"runtime-link",retry:"runtime-retry"},config:{label:"block text-sm cfg-muted mt-3 mb-1",legend:"block text-sm cfg-muted mt-3 mb-1 p-0",picks:"flex flex-wrap gap-x-4 gap-y-1 text-sm cfg-muted",pick:"text-sm cfg-muted",note:"text-sm cfg-muted mt-1",control:"cfg-input text-sm",hint:"mt-1 text-xs cfg-faint",link:"cfg-link text-sm",retry:"cfg-link text-sm"}};function F({id:a,labelId:c,state:d,value:e,onChange:f,onRetry:g,savedDeckId:h,variant:j}){let k=E[j],l=s(d),n=(h??"").trim();if(null===l){let c=!!n&&!d.decks.some(a=>a.id===n);return(0,b.jsxs)("div",{"data-field":"deck","data-state":d.status,children:[(0,b.jsxs)("select",{id:a,className:k.control,"aria-required":"true","aria-describedby":c&&e===n?`${a}-saved-note`:void 0,value:e,title:e||void 0,onChange:a=>f(a.target.value),children:[(0,b.jsx)("option",{value:"",disabled:!0,children:i}),c?(0,b.jsxs)("option",{value:n,title:n,children:[n," (saved)"]}):null,d.decks.map(a=>(0,b.jsx)("option",{value:a.id,title:a.id,children:a.name},a.id))]}),c&&e===n?(0,b.jsx)("p",{id:`${a}-saved-note`,className:k.note,children:m}):null]})}return(0,b.jsxs)("div",{"data-field":"deck","data-state":d.status,role:"group","aria-labelledby":c,children:[n?(0,b.jsxs)("p",{className:k.note,children:["Saved Agent Deck: ",(0,b.jsx)("span",{title:n,children:n})]}):null,(0,b.jsxs)("p",{id:a,className:`${k.note} deck-slot`,role:"status",children:[(0,b.jsx)("span",{id:`${a}-copy`,children:l}),t(d)?(0,b.jsxs)(b.Fragment,{children:[" ",(0,b.jsx)("button",{type:"button",className:k.retry,onClick:g,children:"Retry"})]}):null]})]})}a.s(["AgentDeckFields",0,function({idPrefix:a,variant:c,deckId:d,onDeckId:e,deckState:f,onRetry:g,savedDeckId:i,workingDirectory:k,onWorkingDirectory:m,workdirPlaceholder:n,workdirHint:o}){let p=E[c],q=null===s(f);return(0,b.jsxs)("div",{className:"agent-deck-fields",children:[(0,b.jsx)("label",{className:p.label,id:`${a}-deck-label`,htmlFor:q?`${a}-deck`:void 0,children:"Agent Deck"}),(0,b.jsx)(F,{id:`${a}-deck`,labelId:`${a}-deck-label`,state:f,value:d,onChange:e,onRetry:g,savedDeckId:i,variant:c}),(0,b.jsx)("a",{href:h,className:p.link,children:l}),(0,b.jsx)("label",{className:p.label,htmlFor:`${a}-workdir`,children:"Working directory (optional)"}),(0,b.jsx)("input",{id:`${a}-workdir`,type:"text",className:"config"===c?p.control:void 0,"data-field":"workdir","aria-describedby":`${a}-workdir-hint ${a}-workdir-note`,value:k,placeholder:n,onChange:a=>m(a.target.value)}),(0,b.jsx)("p",{id:`${a}-workdir-hint`,className:p.hint,children:o}),(0,b.jsx)("p",{id:`${a}-workdir-note`,className:p.hint,children:j})]})},"RosterRuntimeLine",0,function({bot:a,state:c}){let{prefix:d,deck:e,suffix:f}=B(a,c);return(0,b.jsxs)("div",{className:"bot-runtime",title:d+e+f,children:[d,e?(0,b.jsx)("span",{className:"bot-runtime-deck",children:e}):null,f]})},"SettingsStatus",0,function({state:a,onRetry:c}){return(0,b.jsxs)("div",{"data-field":"status","data-state":a.status,children:[(0,b.jsx)("p",{className:"connected"===a.status?"text-sm cfg-ok":"text-sm cfg-muted",role:"status",children:r(a)}),t(a)?(0,b.jsx)("button",{type:"button",onClick:c,className:"mt-2 cfg-btn-ghost text-sm w-full sm:w-auto",children:"Retry"}):null,"connected"===a.status?(0,b.jsx)("p",{className:"mt-1 text-xs cfg-faint break-words",children:a.decks.map(a=>a.name).join(" · ")}):null,(0,b.jsx)("p",{className:"mt-2 text-xs cfg-faint",children:k})]})}],39228);var G=a.i(72131);let H="botmancers.agentDeck.lastDecks";function I(a){return"object"==typeof a&&null!==a&&"string"==typeof a.id&&"string"==typeof a.name}let J=(a,b)=>{let c=new AbortController,d=setTimeout(()=>c.abort(),1e4);return fetch(a,{cache:"no-store",signal:c.signal,...b}).finally(()=>clearTimeout(d))};a.s(["useDeckList",0,function(a=!0){let[b,c]=(0,G.useState)(()=>o()),[d,e]=(0,G.useState)(0),f=(0,G.useRef)(null);return(0,G.useEffect)(()=>{if(!a)return;let b=!1;return u(J,o(f.current??function(){try{let a=window.localStorage.getItem(H);if(!a)return null;let b=JSON.parse(a);return Array.isArray(b)&&b.every(I)?b:null}catch{return null}}())).then(a=>{if(!b){f.current=a.cachedDecks;var d=a.cachedDecks;if(d)try{window.localStorage.setItem(H,JSON.stringify(d))}catch{}c(a)}}),()=>{b=!0}},[d,a]),{state:b,retry:(0,G.useCallback)(()=>{c(a=>({...a,status:"loading",decks:[],error:""})),e(a=>a+1)},[])}}],2296)}];
2
2
 
3
3
  //# sourceMappingURL=app_components_AgentDeckRuntime_tsx_024janf._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[27828,65221,35099,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(38246);function e(a){return`${new Date(a).toISOString().slice(0,16).replace("T"," ")} UTC`}let f="Not reported";function g(a){return a.toFixed(1).replace(/\.0$/,"")}function h(a){return a.toLocaleString("en-US")}function i(a){return 0===a?"$0.00":a>=.01?`$${a.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}`:a<1e-4?"<$0.0001":`$${a.toFixed(4)}`}let j={input_tokens:"Input tokens",output_tokens:"Output tokens",cost_usd:"Cost"};function k(a,b,c){return"cost_usd"===a?i(b):c?h(b):b<1e3?String(b):b<999950?`${g(b/1e3)}k`:b<99995e4?`${g(b/1e6)}M`:`${g(b/1e9)}B`}function l(a){return`${a} ${1===a?"run":"runs"}`}function m(a,b,c=!1){let d=j[a];if(!b||"unavailable"===b.quality||null===b.sum)return{name:d,text:f,quality:"unavailable",coverage:b&&b.total>0?`0 of ${l(b.total)} reported`:"No runs recorded",label:`${d}: not reported`};let e=k(a,b.sum,c),g=k(a,b.sum,!0);return"partial"===b.quality?{name:d,text:e,quality:"partial",coverage:`Partial: ${b.known} of ${l(b.total)} reported`,label:`${d}: at least ${g}, partial, reported by ${b.known} of ${l(b.total)}`}:{name:d,text:e,quality:"complete",coverage:`All ${l(b.total)} reported`,label:`${d}: ${g}, reported by all ${l(b.total)}`}}a.s(["SESSION_FILTER_OPTIONS",0,[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"ended",label:"Ended"}],"attemptLabel",0,function(a){let b="source"===a.role?"Started the session":"Resumed the session";return`${b} \xb7 ${a.outcome??"running"}`},"emptySessionsCopy",0,function(a,b){return"active"===a?`${b} has no active sessions.`:"ended"===a?`${b} has no ended sessions.`:`${b} has no sessions yet. One appears after a coding run keeps its runtime context.`},"formatSessionDate",0,e,"runtimeLabel",0,function(a){return a.agent.transport?`${a.agent.adapter} \xb7 ${a.agent.transport}`:a.agent.adapter},"sessionStateTags",0,function(a){let b=[];return(a.home&&b.push("Home"),a.state?.availability==="missing")?[...b,"Missing"]:(a.state?.lifecycle==="archived"&&b.push("Archived"),a.state?.busy&&b.push("Busy"),(a.resumable||a.state?.resumable===!0)&&b.push("Resumable"),b)},"sessionUsageLine",0,function(a){let b=m("input_tokens",a?.input_tokens),c=m("output_tokens",a?.output_tokens),d=m("cost_usd",a?.cost_usd),e=[b,c,d];if(e.every(a=>"unavailable"===a.quality))return{text:f,label:"Usage: not reported",quality:"unavailable",partial:!1};let g=["unavailable"===b.quality?"input not reported":`${b.text} in`,"unavailable"===c.quality?"output not reported":`${c.text} out`,"unavailable"===d.quality?"cost not reported":d.text].join(" · "),h=e.some(a=>"partial"===a.quality),i=h||e.some(a=>"unavailable"===a.quality)?"partial":"complete";return{text:g,label:`Reported usage: ${e.map(a=>a.label).join("; ")}`,quality:i,partial:h}},"statusLabel",0,function(a){return"active"===a.status?"Active":"Ended"},"usageMetricView",0,m,"usageSampleLabel",0,function(a,b){let c="turn"===a.kind?"start"===a.turn_kind?"provider turn, started":"provider turn":"resume"===a.turn_kind?"resumed":"started";return`Run ${b+1} \xb7 ${c}`},"usageSampleValues",0,function(a){return{input:null===a.input_tokens?f:h(a.input_tokens),output:null===a.output_tokens?f:h(a.output_tokens),cost:null===a.cost_usd?f:i(a.cost_usd)}},"workRequestLabel",0,function(a){var b;let c=a.origin.work_request;return c?`${(b=c.execution_kind)?b[0].toUpperCase()+b.slice(1):b} \xb7 ${c.state}`:null}],65221);let n={ask:"Ask from this context",resume:"Resume work here",handoff:"Hand off to…"},o=["queued","extracting","delivering","completed","failed","cancelled"],p=["completed","failed","cancelled"];function q(a){return"ask"===a?"Ask":"Continue"}function r(a,b){switch(b){case"queued":return"Queued";case"extracting":return"ask"===a?"Asking the session":"Extracting handoff";case"delivering":return"Delivering handoff";case"completed":return"ask"===a?"Answered":"Handed off";case"failed":return"Failed";case"cancelled":return"Cancelled"}}function s(a){var b;return a.cancel_requested&&(b=a.state,!p.includes(b))?"Cancelling…":r(a.mode,a.state)}function t(a){return"completed"===a?"done":"failed"===a||"cancelled"===a?"stopped":"active"}function u(a,b=140){let c=String(a??"").split("\n").map(a=>a.trim()).filter(a=>a.length>0).join(" ");return c.length>b?`${c.slice(0,b-1).trimEnd()}…`:c}function v(a){return e(a)}function w(a){return`${a.source.agent_name}'s session “${a.source.session_title}”`}function x(a){return"ask"===a.mode?`You → ${a.source.agent_name}`:`${a.source.agent_name} → ${a.destination?.agent_name??"another Agent"}`}function y(a){return"ask"===a?"Question":"Objective"}function z(a){if("completed"===a.state){if("ask"===a.mode){let b=a.origin?.label??"the origin thread";return a.outcome.answer?`Answer in ${b}: ${u(a.outcome.answer,200)}`:`Answered in ${b}.`}let b=a.destination?.agent_name??"The destination Agent";return a.outcome.reply?`${b} picked it up in a new session: ${u(a.outcome.reply,200)}`:`${b} picked it up in a new session.`}return"failed"===a.state?a.failure?.message||"The exchange failed.":"cancelled"===a.state?"Cancelled before it finished. Nothing more will run.":null}function A(a){if("failed"!==a.state)return null;switch(a.failure?.code){case"packet_invalid":case"packet_missing":return"The source session did not return a usable handoff. Start a new Continue with a clearer objective.";case"destination_session_invalid":return"The destination did not start a fresh session. Check its runtime, then start a new Continue.";case"destination_turn_failed":return"Check the destination Agent’s runtime, then start a new Continue from the source session.";case"source_turn_failed":return"Check the source Agent’s runtime, then start a new exchange from its Sessions.";default:return"Start a new exchange from the session to try again."}}function B(a){return`/exchanges?id=${encodeURIComponent(a)}`}function C(a,b){return b.updated_at-a.updated_at||b.created_at-a.created_at||(a.id<b.id?-1:+(a.id>b.id))}a.s(["DEFAULT_LEDGER_FILTER",0,{mode:"all",state:"all",agentId:""},"INSTRUCTION_LIMIT",0,4e3,"MODE_FILTER_OPTIONS",0,[{value:"all",label:"All"},{value:"ask",label:"Ask"},{value:"continue",label:"Continue"}],"STATE_FILTER_OPTIONS",0,[{value:"all",label:"Any status"},{value:"active",label:"In progress"},{value:"queued",label:"Queued"},{value:"extracting",label:"Asking / extracting"},{value:"delivering",label:"Delivering"},{value:"completed",label:"Completed"},{value:"failed",label:"Failed"},{value:"cancelled",label:"Cancelled"}],"detailsHref",0,B,"eventLabel",0,function(a,b){let c=a.data??{},d=b.source.agent_name,e=b.destination?.agent_name??"the destination Agent",f="string"==typeof c.hop?c.hop:null;switch(a.type){case"created":return"ask"===b.mode?`You asked ${d}'s session a question`:`You handed ${d}'s session to ${e}`;case"hop_queued":if("deliver"===f)return`Handoff queued for ${e}'s new session`;return"extract"===f?`Handoff extraction queued in ${d}'s session`:`Question queued for ${d}'s session`;case"hop_started":if("deliver"===f)return`${e} started a new session`;return"extract"===f?`${d}'s session started extracting the handoff`:`${d}'s session started answering`;case"state_changed":{let a="string"==typeof c.to&&o.includes(c.to)?c.to:null;return a?`Now ${r(b.mode,a).toLowerCase()}`:"State changed"}case"answer_returned":return`Answer returned to ${b.origin?.label??"the origin thread"}${c.truncated?" (shortened)":""}`;case"packet_extracted":return"Handoff packet extracted";case"packet_rejected":return`Handoff packet refused${"string"==typeof c.reason?`: ${c.reason}`:""}`;case"destination_replied":return`${e} replied in ${b.destination?.conversation?.label??"its thread"}`;case"destination_session_rejected":return`${e}'s session was not new; the handoff stopped`;case"cancel_requested":return"You asked to cancel";case"hop_result_discarded":return"A late result was discarded";default:return a.type.replace(/_/g," ")}},"excerpt",0,u,"exchangeRequestBody",0,function(a,b,c){let d={mode:a.mode,idempotency_key:c,origin_conversation_id:a.originConversationId,source:{agent_id:b.agentId,session_ref:b.sessionRef},instruction:a.instruction.trim()};return"continue"===a.mode&&(d.destination={agent_id:a.destinationAgentId}),d},"failureAdvice",0,A,"formatExchangeTime",0,v,"instructionHeading",0,y,"ledgerAgents",0,function(a){let b=new Map;for(let c of a)b.set(c.source.agent_id,c.source.agent_name),c.destination&&b.set(c.destination.agent_id,c.destination.agent_name);return[...b.entries()].map(([a,b])=>({id:a,name:b})).sort((a,b)=>a.name.localeCompare(b.name)||a.id.localeCompare(b.id))},"ledgerRows",0,function(a,b){return a.filter(a=>("all"===b.mode||a.mode===b.mode)&&("active"!==b.state||!a.terminal)&&("all"===b.state||"active"===b.state||a.state===b.state)&&(!b.agentId||a.source.agent_id===b.agentId||a.destination?.agent_id===b.agentId)).sort(C)},"ledgerView",0,function(a,b,c){return null===a?b?"error":"loading":0===a.length?"empty":0===c.length?"filtered-out":"rows"},"linkRoleLabel",0,function(a){let b={origin:"Started here",source:"Source session",destination:"Destination"};return a.map(a=>b[a]).join(" · ")},"liveStateLabel",0,s,"modeLabel",0,q,"outcomeLine",0,z,"participantsLabel",0,x,"pinRequestBody",0,function(a,b,c,d,e){return{action:a,content:b.trim(),conversation_id:c,idempotency_key:e,..."resume"===a?{approve_write:d}:{}}},"sessionDialogMode",0,function(a){return"handoff"===a?"continue":a},"sessionDialogTitle",0,function(a){return n["continue"===a?"handoff":a]},"sessionDialogUsesPin",0,function(a,b){return"resume"===a||"ask"===a&&"provider"===b},"sessionLabel",0,w,"sessionRowActions",0,function(a){let b;if(a.actions)b=a.actions;else{let c="ended"===a.status?{available:!1,reason:"Ask from this context and Hand off to… are unavailable: this session has ended. Its history stays here."}:a.resumable?{available:!0}:{available:!1,reason:`Ask from this context and Hand off to… are unavailable: Botmancers can’t resume this session under ${a.agent.name}’s current runtime.`},d=c.available?{available:!0}:{available:!1,code:"ended"===a.status?"session_ended":"session_not_resumable",reason:c.reason,recovery:"choose_session"};b={ask:d,resume:{available:!1,code:"action_unavailable",reason:`${n.resume} is unavailable: this runtime can’t resume a session with edits.`,recovery:"choose_action"},handoff:d}}return["ask","resume","handoff"].map(a=>({action:a,label:n[a],availability:b[a]}))},"stateTone",0,t,"submitErrorMessage",0,function(a,b){switch(a){case"session_ended":return"This session has ended and can’t be resumed.";case"session_not_resumable":return"Botmancers can’t resume this session under the Agent’s current runtime.";case"source_session_busy":return"This session already has an exchange in progress. Wait for it or cancel it from its card.";case"agent_unavailable":return b||"That Agent has no Agent Deck selected.";case"idempotency_conflict":return"This request changed while it was being sent. Send again.";case"session_missing":return"The runtime no longer has this session. Its history stays here; choose another session.";case"approval_required":return"Resume work here needs your approval of edits. Tick the approval, then send again.";case"authority_not_allowed":return b||"This Agent’s policy doesn’t allow edits in a resumed session. Change it in Config.";case"action_unavailable":return b||"This runtime can’t do that in this session. Choose another action.";case"provider_failed":return"The runtime failed this turn. Nothing moved to another session; try again later.";default:return b||"The exchange could not be started. Your draft is kept; try again."}},"threadHref",0,function(a,b){let c=new URLSearchParams;if(a.thread_agent_id)return c.set("agent",a.thread_agent_id),b&&c.set("exchange",b),`/?${c.toString()}`;if("group"!==a.kind)return null;b&&c.set("exchange",b);let d=c.toString();return`/threads/${encodeURIComponent(a.id)}${d?`?${d}`:""}`},"validateDraft",0,function(a){let b={},c=a.instruction.trim(),d="ask"===a.mode?"a question":"an objective";return c?a.instruction.length>4e3&&(b.instruction="Keep it under 4000 characters."):b.instruction=`Enter ${d}.`,a.originConversationId||(b.origin="Choose the thread that follows this exchange."),"continue"!==a.mode||a.destinationAgentId||(b.destination="Choose the Agent who continues the work."),b},"validateResumeDraft",0,function(a,b){let c={};return a.trim()?a.length>4e3&&(c.instruction="Keep it under 4000 characters."):c.instruction="Enter what to work on.",b||(c.approval="Approve edits in this session to resume work here."),c}],35099),a.s(["default",0,function({summary:a,onChanged:e}){let[f,g]=(0,c.useState)(!1),[h,i]=(0,c.useState)(""),j=t(a.state),k=z(a),l=A(a),m=`exchange-${a.id}-title`,n=async()=>{if(!f){g(!0),i("");try{let b=await fetch(`/api/exchanges/${encodeURIComponent(a.id)}/cancel`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"});if(!b.ok){let a=await b.json().catch(()=>null);i("string"==typeof a?.error?.message?a.error.message:"Could not cancel. Try again.")}}catch{i("Could not cancel. Try again.")}finally{g(!1),e?.()}}};return(0,b.jsxs)("article",{id:`exchange-${a.id}`,className:`exchange-card is-${j} is-${a.state}`,"data-exchange-id":a.id,"data-exchange-state":a.state,"aria-labelledby":m,tabIndex:-1,children:[(0,b.jsxs)("p",{className:"exchange-card-line",children:[(0,b.jsx)("span",{className:"exchange-card-mode",children:q(a.mode)}),(0,b.jsx)("span",{id:m,className:"exchange-card-title",children:x(a)}),(0,b.jsx)("span",{className:"exchange-card-state",role:"status",children:s(a)})]}),(0,b.jsx)("p",{className:"exchange-card-session",children:w(a)}),(0,b.jsxs)("p",{className:"exchange-card-instruction",children:[(0,b.jsx)("span",{className:"exchange-card-key",children:y(a.mode)})," ",u(a.instruction,220)]}),k?(0,b.jsx)("p",{className:"failed"===a.state?"exchange-card-outcome is-failure":"exchange-card-outcome",children:k}):null,l?(0,b.jsx)("p",{className:"exchange-card-advice",children:l}):null,h?(0,b.jsx)("p",{className:"exchange-card-error",role:"alert",children:h}):null,(0,b.jsxs)("p",{className:"exchange-card-foot",children:[(0,b.jsxs)("span",{className:"exchange-card-time",children:["Updated ",v(a.updated_at)]}),(0,b.jsx)(d.default,{className:"exchange-card-link",href:B(a.id),"aria-label":`Details: ${q(a.mode)} ${x(a)}`,children:"Details"}),a.can_cancel?(0,b.jsx)("button",{type:"button",className:"exchange-card-cancel",disabled:f,onClick:()=>{n()},children:f?"Cancelling…":"Cancel"}):null]})]})}],27828)}];
2
+
3
+ //# sourceMappingURL=app_components_ExchangeCard_tsx_1shfcgn._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[90730,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(38246),e=a.i(27828),f=a.i(35099);let g="botmancers:exchanges-navigate";function h(a){return window.addEventListener("popstate",a),window.addEventListener(g,a),()=>{window.removeEventListener("popstate",a),window.removeEventListener(g,a)}}function i(){return new URLSearchParams(window.location.search).get("id")}function j({id:a,onBack:g,onChanged:h}){let[i,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(""),[n,o]=(0,c.useState)(0),p=(0,c.useRef)(null),q=(0,c.useRef)(!1),r=(0,c.useId)();(0,c.useEffect)(()=>{let b=!1,c=()=>{fetch(`/api/exchanges/${encodeURIComponent(a)}`,{cache:"no-store"}).then(async a=>{let c=await a.json().catch(()=>null);if(!b){if(!a.ok||!c?.detail)return void m(404===a.status?"This exchange no longer exists.":"Could not load this exchange.");m(""),k(c.detail)}}).catch(()=>{b||m("Could not load this exchange.")})};c();let d=setInterval(c,2e3);return()=>{b=!0,clearInterval(d)}},[a,n]),(0,c.useEffect)(()=>{i&&!q.current&&(q.current=!0,p.current?.focus())},[i]);let s=(0,b.jsx)("button",{type:"button",className:"pin-word ledger-detail-back",onClick:g,children:"← All exchanges"});if(!i)return(0,b.jsxs)("div",{className:"ledger-detail",children:[s,l?(0,b.jsxs)("div",{role:"alert",className:"ledger-state",children:[(0,b.jsx)("p",{className:"delete-error",children:l}),(0,b.jsx)("button",{type:"button",className:"pin-word",onClick:()=>o(a=>a+1),children:"Retry"})]}):(0,b.jsx)("p",{className:"ledger-state",role:"status",children:"Loading exchange…"})]});let{summary:t,events:u,packet:v}=i;return(0,b.jsxs)("article",{className:"ledger-detail","aria-labelledby":r,"data-exchange-detail":t.id,children:[s,(0,b.jsxs)("h2",{id:r,ref:p,tabIndex:-1,className:"ledger-detail-title",children:[(0,f.modeLabel)(t.mode),": ",(0,f.participantsLabel)(t)]}),(0,b.jsx)(e.default,{summary:t,onChanged:()=>{o(a=>a+1),h()}}),(0,b.jsxs)("section",{className:"ledger-section","aria-label":(0,f.instructionHeading)(t.mode),children:[(0,b.jsx)("h3",{className:"ledger-section-title",children:(0,f.instructionHeading)(t.mode)}),(0,b.jsx)("p",{className:"ledger-text",children:t.instruction})]}),i.answer?(0,b.jsxs)("section",{className:"ledger-section","aria-label":"Answer",children:[(0,b.jsx)("h3",{className:"ledger-section-title",children:"Answer"}),(0,b.jsx)("p",{className:"ledger-text",children:i.answer})]}):null,v?(0,b.jsxs)("section",{className:"ledger-section","aria-label":"Handoff packet",children:[(0,b.jsx)("h3",{className:"ledger-section-title",children:"Handoff packet"}),(0,b.jsx)("p",{className:"ledger-text",children:v.objective}),[["Decisions",v.decisions],["Constraints",v.constraints],["Artifacts and references",v.artifacts],["Open questions",v.open_questions]].filter(([,a])=>a.length>0).map(([a,c])=>(0,b.jsxs)("div",{className:"ledger-packet-list",children:[(0,b.jsx)("h4",{className:"ledger-packet-title",children:a}),(0,b.jsx)("ul",{children:c.map((a,c)=>(0,b.jsx)("li",{children:a},c))})]},a))]}):null,(0,b.jsxs)("section",{className:"ledger-section","aria-label":"Linked threads",children:[(0,b.jsx)("h3",{className:"ledger-section-title",children:"Linked threads"}),(0,b.jsx)("ul",{className:"ledger-links",children:t.links.map(a=>{let c=(0,f.threadHref)(a,t.id);return(0,b.jsxs)("li",{children:[c?(0,b.jsx)(d.default,{className:"session-link ledger-thread-link",href:c,children:a.label}):(0,b.jsxs)("span",{children:[a.label,"agent_api"===a.kind?(0,b.jsx)("span",{className:"ledger-link-role",children:" (between Agents, not an owner thread)"}):null]}),(0,b.jsxs)("span",{className:"ledger-link-role",children:[" · ",(0,f.linkRoleLabel)(a.roles)]})]},a.id)})})]}),(0,b.jsxs)("section",{className:"ledger-section","aria-label":"Timeline",children:[(0,b.jsx)("h3",{className:"ledger-section-title",children:"Timeline"}),(0,b.jsx)("ol",{className:"ledger-timeline",children:u.map(a=>(0,b.jsxs)("li",{"data-event-type":a.type,children:[(0,b.jsx)("span",{className:"ledger-timeline-time",children:(0,f.formatExchangeTime)(a.at)}),(0,b.jsx)("span",{className:"ledger-timeline-text",children:(0,f.eventLabel)(a,t)})]},a.sequence))})]}),(0,b.jsxs)("p",{className:"ledger-foot",children:[(0,f.excerpt)(`${t.source.agent_name}’s session: ${t.source.session_title}`,200),t.destination?.session_title?` \xb7 ${t.destination.agent_name}’s new session: ${t.destination.session_title}`:""]})]})}a.s(["default",0,function(){let[a,e]=(0,c.useState)(null),[k,l]=(0,c.useState)(""),[m,n]=(0,c.useState)(0),[o,p]=(0,c.useState)(f.DEFAULT_LEDGER_FILTER),q=(0,c.useSyncExternalStore)(h,i,()=>null),r=(0,c.useId)(),s=(0,c.useId)(),t=(0,c.useId)(),u=(0,c.useRef)(null),v=(0,c.useRef)(null);(0,c.useEffect)(()=>{let a=v.current;if(v.current=q,q||!a)return;let b=document.querySelector(`.ledger-row[data-exchange-id="${CSS.escape(a)}"]`);(b??u.current)?.focus()},[q]),(0,c.useEffect)(()=>{let a=!1,b=()=>{fetch("/api/exchanges",{cache:"no-store"}).then(async b=>{let c=await b.json().catch(()=>null);if(!a){if(!b.ok||!Array.isArray(c?.exchanges))return void l("string"==typeof c?.error?.message?c.error.message:"Could not load exchanges.");l(""),e(c.exchanges)}}).catch(()=>{a||l("Could not load exchanges.")})};b();let c=setInterval(b,2e3);return()=>{a=!0,clearInterval(c)}},[m]);let w=a=>{window.history.pushState(null,"",a?`/exchanges?id=${encodeURIComponent(a)}`:"/exchanges"),window.dispatchEvent(new Event(g))},x=a?(0,f.ledgerRows)(a,o):[],y=(0,f.ledgerView)(a,a?"":k,x),z=a?(0,f.ledgerAgents)(a):[];return(0,b.jsxs)("div",{className:q?"ledger-page has-detail":"ledger-page",children:[(0,b.jsxs)("header",{className:"ledger-head",children:[(0,b.jsx)(d.default,{href:"/",className:"cfg-link ledger-back",children:"← Back to chat"}),(0,b.jsx)("h1",{className:"ledger-title",children:"Agent Exchanges"}),(0,b.jsx)("p",{className:"ledger-sub",children:"Every Ask and Continue between Agent sessions, newest activity first."})]}),(0,b.jsxs)("main",{className:"ledger-main",children:[(0,b.jsxs)("section",{className:"ledger-list-pane","aria-labelledby":t,children:[(0,b.jsx)("h2",{id:t,ref:u,tabIndex:-1,className:"ledger-pane-title",children:"Exchanges"}),(0,b.jsxs)("div",{className:"ledger-filters",children:[(0,b.jsx)("div",{className:"sessions-filter ledger-mode",role:"group","aria-label":"Mode",children:f.MODE_FILTER_OPTIONS.map(a=>(0,b.jsx)("button",{type:"button",className:"sessions-filter-btn","aria-pressed":o.mode===a.value,onClick:()=>p(b=>({...b,mode:a.value})),children:a.label},a.value))}),(0,b.jsxs)("div",{className:"ledger-selects",children:[(0,b.jsxs)("label",{className:"ledger-select-label",htmlFor:r,children:["Status",(0,b.jsx)("select",{id:r,className:"exchange-select",value:o.state,onChange:a=>p(b=>({...b,state:a.target.value})),children:f.STATE_FILTER_OPTIONS.map(a=>(0,b.jsx)("option",{value:a.value,children:a.label},a.value))})]}),(0,b.jsxs)("label",{className:"ledger-select-label",htmlFor:s,children:["Agent",(0,b.jsxs)("select",{id:s,className:"exchange-select",value:o.agentId,onChange:a=>p(b=>({...b,agentId:a.target.value})),children:[(0,b.jsx)("option",{value:"",children:"Any Agent"}),z.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]})]})]}),(0,b.jsx)("p",{className:"manage-count ledger-count",role:"status",children:a?`${x.length} of ${a.length} shown`:""})]}),"loading"===y?(0,b.jsx)("p",{className:"ledger-state",role:"status","data-ledger-state":"loading",children:"Loading exchanges…"}):null,"error"===y?(0,b.jsxs)("div",{className:"ledger-state",role:"alert","data-ledger-state":"error",children:[(0,b.jsx)("p",{className:"delete-error",children:k}),(0,b.jsx)("button",{type:"button",className:"pin-word",onClick:()=>{l(""),n(a=>a+1)},children:"Retry"})]}):null,"empty"===y?(0,b.jsx)("p",{className:"ledger-state","data-ledger-state":"empty",children:"No exchanges yet. Open an Agent’s Sessions and choose Ask from this context or Hand off to… to start one."}):null,"filtered-out"===y?(0,b.jsxs)("div",{className:"ledger-state","data-ledger-state":"filtered-out",children:[(0,b.jsx)("p",{children:"No exchanges match these filters."}),(0,b.jsx)("button",{type:"button",className:"pin-word",onClick:()=>p(f.DEFAULT_LEDGER_FILTER),children:"Clear filters"})]}):null,"rows"===y?(0,b.jsx)("ol",{className:"ledger-list","aria-label":"Exchanges, newest activity first",children:x.map(a=>(0,b.jsx)("li",{className:"ledger-row-item",children:(0,b.jsxs)("button",{type:"button",className:`ledger-row is-${(0,f.stateTone)(a.state)}`,"data-exchange-id":a.id,"aria-current":q===a.id?"true":void 0,onClick:()=>w(a.id),children:[(0,b.jsxs)("span",{className:"ledger-row-line",children:[(0,b.jsx)("span",{className:"exchange-card-mode",children:(0,f.modeLabel)(a.mode)}),(0,b.jsx)("span",{className:"ledger-row-who",children:(0,f.participantsLabel)(a)}),(0,b.jsx)("span",{className:"ledger-row-state",children:(0,f.liveStateLabel)(a)})]}),(0,b.jsx)("span",{className:"ledger-row-session",children:a.source.session_title}),(0,b.jsxs)("span",{className:"ledger-row-meta",children:["From ",a.origin?.label??"an unknown thread"," · Started ",(0,f.formatExchangeTime)(a.created_at)," · Updated ",(0,f.formatExchangeTime)(a.updated_at)]})]})},a.id))}):null]}),(0,b.jsx)("section",{className:"ledger-detail-pane","aria-label":"Exchange detail",children:q?(0,b.jsx)(j,{id:q,onBack:()=>w(null),onChanged:()=>n(a=>a+1)},q):(0,b.jsx)("p",{className:"ledger-state ledger-placeholder",children:"Choose an exchange to see its timeline and linked threads."})})]})]})}])}];
2
+
3
+ //# sourceMappingURL=app_exchanges_page_tsx_0j-n2a1._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[33354,(a,b,c)=>{"use strict";c._=function(a){return a&&a.__esModule?a:{default:a}}}];
2
+
3
+ //# sourceMappingURL=node_modules_%40swc_helpers_cjs__interop_require_default_cjs_1ztp13a._.js.map
@@ -7,9 +7,9 @@ globalThis.__BUILD_MANIFEST = {
7
7
  "static/chunks/0cz1d0mv5g_q7.js"
8
8
  ],
9
9
  "lowPriorityFiles": [
10
- "static/ewp56HqU5-d9bpFog3bli/_buildManifest.js",
11
- "static/ewp56HqU5-d9bpFog3bli/_ssgManifest.js",
12
- "static/ewp56HqU5-d9bpFog3bli/_clientMiddlewareManifest.js"
10
+ "static/gh3shm8hnVqXLr75rmvsL/_buildManifest.js",
11
+ "static/gh3shm8hnVqXLr75rmvsL/_ssgManifest.js",
12
+ "static/gh3shm8hnVqXLr75rmvsL/_clientMiddlewareManifest.js"
13
13
  ],
14
14
  "rootMainFiles": [
15
15
  "static/chunks/3s6nzrbk-8mnv.js",
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/1vz50l951sr9e.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/3s6nzrbk-8mnv.js"/><script src="/_next/static/chunks/19mx3mg6lkumu.js" async=""></script><script src="/_next/static/chunks/3g4px251sg85e.js" async=""></script><script src="/_next/static/chunks/2z-e6jheq0ftu.js" async=""></script><script src="/_next/static/chunks/turbopack-03rfayxv7ep_b.js" async=""></script><script src="/_next/static/chunks/3fntmmi971322.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Botmancers</title><meta name="description" content="Cloud-hosted AI teammate app"/><link rel="icon" href="/brand/botmancers-logo-filled-64.png" sizes="64x64" type="image/png"/><link rel="icon" href="/brand/botmancers-logo-filled-256.png" sizes="256x256" type="image/png"/><link rel="apple-touch-icon" href="/brand/botmancers-logo-filled-256.png" sizes="256x256" type="image/png"/><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body class="min-h-full flex flex-col"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/3s6nzrbk-8mnv.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/1vz50l951sr9e.css\",\"style\"]\n7:X\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/1vz50l951sr9e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/3fntmmi971322.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$7\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/1vz50l951sr9e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"ewp56HqU5-d9bpFog3bli\"}\n"])</script><script>self.__next_f.push([1,"7:C\n9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"d:I[27201,[\"/_next/static/chunks/3fntmmi971322.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Botmancers\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Cloud-hosted AI teammate app\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/brand/botmancers-logo-filled-64.png\",\"sizes\":\"64x64\",\"type\":\"image/png\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/brand/botmancers-logo-filled-256.png\",\"sizes\":\"256x256\",\"type\":\"image/png\"}],[\"$\",\"link\",\"4\",{\"rel\":\"apple-touch-icon\",\"href\":\"/brand/botmancers-logo-filled-256.png\",\"sizes\":\"256x256\",\"type\":\"image/png\"}],[\"$\",\"$Ld\",\"5\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/2a8bomryx66oj.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/3s6nzrbk-8mnv.js"/><script src="/_next/static/chunks/19mx3mg6lkumu.js" async=""></script><script src="/_next/static/chunks/3g4px251sg85e.js" async=""></script><script src="/_next/static/chunks/2z-e6jheq0ftu.js" async=""></script><script src="/_next/static/chunks/turbopack-03rfayxv7ep_b.js" async=""></script><script src="/_next/static/chunks/3fntmmi971322.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Botmancers</title><meta name="description" content="Cloud-hosted AI teammate app"/><link rel="icon" href="/brand/botmancers-logo-filled-64.png" sizes="64x64" type="image/png"/><link rel="icon" href="/brand/botmancers-logo-filled-256.png" sizes="256x256" type="image/png"/><link rel="apple-touch-icon" href="/brand/botmancers-logo-filled-256.png" sizes="256x256" type="image/png"/><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body class="min-h-full flex flex-col"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/3s6nzrbk-8mnv.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/2a8bomryx66oj.css\",\"style\"]\n7:X\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/2a8bomryx66oj.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/3fntmmi971322.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$7\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/2a8bomryx66oj.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"gh3shm8hnVqXLr75rmvsL\"}\n"])</script><script>self.__next_f.push([1,"7:C\n9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"d:I[27201,[\"/_next/static/chunks/3fntmmi971322.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Botmancers\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Cloud-hosted AI teammate app\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/brand/botmancers-logo-filled-64.png\",\"sizes\":\"64x64\",\"type\":\"image/png\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/brand/botmancers-logo-filled-256.png\",\"sizes\":\"256x256\",\"type\":\"image/png\"}],[\"$\",\"link\",\"4\",{\"rel\":\"apple-touch-icon\",\"href\":\"/brand/botmancers-logo-filled-256.png\",\"sizes\":\"256x256\",\"type\":\"image/png\"}],[\"$\",\"$Ld\",\"5\",{}]]\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/3s6nzrbk-8mnv.js"/><script src="/_next/static/chunks/19mx3mg6lkumu.js" async=""></script><script src="/_next/static/chunks/3g4px251sg85e.js" async=""></script><script src="/_next/static/chunks/2z-e6jheq0ftu.js" async=""></script><script src="/_next/static/chunks/turbopack-03rfayxv7ep_b.js" async=""></script><script src="/_next/static/chunks/3fntmmi971322.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/3s6nzrbk-8mnv.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\",1]\n7:X\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"ewp56HqU5-d9bpFog3bli\"}\n"])</script><script>self.__next_f.push([1,"7:C\n9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/3s6nzrbk-8mnv.js"/><script src="/_next/static/chunks/19mx3mg6lkumu.js" async=""></script><script src="/_next/static/chunks/3g4px251sg85e.js" async=""></script><script src="/_next/static/chunks/2z-e6jheq0ftu.js" async=""></script><script src="/_next/static/chunks/turbopack-03rfayxv7ep_b.js" async=""></script><script src="/_next/static/chunks/3fntmmi971322.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/3s6nzrbk-8mnv.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\",1]\n7:X\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"gh3shm8hnVqXLr75rmvsL\"}\n"])</script><script>self.__next_f.push([1,"7:C\n9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"DSY6KICkVsidklSA6Kks9gekRDEGC6oauWcMKQw2Wdo=\"\n}"
1
+ self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"tPL1JtazsC8W6PNqev+pQZe+qikMO1UIvbP8eY2UQbw=\"\n}"
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "node": {},
3
3
  "edge": {},
4
- "encryptionKey": "DSY6KICkVsidklSA6Kks9gekRDEGC6oauWcMKQw2Wdo="
4
+ "encryptionKey": "tPL1JtazsC8W6PNqev+pQZe+qikMO1UIvbP8eY2UQbw="
5
5
  }
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,10331,3136,74904,4335,e=>{"use strict";var t=e.i(43476);let n=["hermes","cursor","claude","codex","muse"],r={hermes:"Hermes",cursor:"Cursor",claude:"Claude",codex:"Codex",muse:"Muse Code"},a="hermes";function s(e){return n.includes(String(e))?r[e]:String(e??"")}n.join("|"),e.s(["AGENTS",0,n,"AGENT_LABELS",0,r,"DEFAULT_AGENT",0,a,"agentLabel",0,s],3136);let i=n.map(e=>({value:e,label:r[e]})),o="/settings",l="Select an Agent Deck…",u="Runs use the configured Agent Deck server. Remote execution is unconfirmed — see Settings for the configured server.",c="Runs use the server above. Remote execution is unconfirmed.",d="Configure the Agent Deck server in Settings",f="Saved Agent Deck not on this server — saving keeps it unless you pick another.",h={loading:"Loading decks…",empty:"No decks on this server — add one there, then retry.",malformed:"The deck list came back unreadable. Retry — or fix the server, then retry.",unreachable:"Can't reach the Agent Deck server — fix it in Settings, then retry.",unconfigured:"No Agent Deck server set — add it in Settings."};function p(e=null){return{status:"loading",decks:[],cachedDecks:e,serverUrl:"",checkedAt:0,error:""}}function g(e){return String(e).padStart(2,"0")}function m(e){let t=new Date(e);return`${g(t.getHours())}:${g(t.getMinutes())}:${g(t.getSeconds())}`}function k(e){switch(e.status){case"loading":return"Status: ○ Checking the Agent Deck server…";case"connected":return`Status: ● Connected \xb7 ${e.decks.length} ${1===e.decks.length?"deck":"decks"} \xb7 checked ${m(e.checkedAt)}`;case"empty":return"Status: ○ Connected — no decks on this server.";case"malformed":return"Status: ○ The server returned decks this app can't read.";case"unreachable":return"Status: ○ Can't reach the Agent Deck server.";case"unconfigured":return"Status: ○ No Agent Deck server set."}}function b(e){return"connected"===e.status?null:h[e.status]}function v(e){return"empty"===e.status||"malformed"===e.status||"unreachable"===e.status}async function y(e,t,n=Date.now){let r,a;try{r=await e("/api/agent-deck/decks",{cache:"no-store"})}catch(e){return{status:"unreachable",decks:[],cachedDecks:t.cachedDecks,serverUrl:t.serverUrl,checkedAt:n(),error:e instanceof Error?e.message:String(e)}}try{a=await r.json()}catch{a=void 0}return function(e,t,n){let r="object"==typeof e.body&&null!==e.body?e.body:{},a="string"==typeof r.server_url?r.server_url:t.serverUrl,s={cachedDecks:t.cachedDecks,serverUrl:a,checkedAt:n};if("string"==typeof r.server_url&&!r.server_url.trim())return{...s,status:"unconfigured",decks:[],error:""};if(e.ok){let t=function(e){if("object"!=typeof e||null===e)return null;let t=e.decks;if(!Array.isArray(t))return null;let n=[];for(let e of t){if("object"!=typeof e||null===e)return null;let t=e.id,r=e.name;if("string"!=typeof t||!t.trim()||"string"!=typeof r||!r.trim())return null;n.push({id:t,name:r})}return n}(e.body);return t?{...s,cachedDecks:t,status:t.length>0?"connected":"empty",decks:t,error:""}:{...s,status:"malformed",decks:[],error:"Unexpected deck list shape."}}let i="string"==typeof r.error?r.error:`HTTP ${e.status}`,o="invalid-payload"===r.code||/unexpected deck payload/i.test(i);return{...s,status:o?"malformed":"unreachable",decks:[],error:i}}({ok:r.ok,status:r.status,body:a},t,n())}function x(e,t){let n=String(e??"").trim(),r=t?t.decks.length>0?t.decks:t.cachedDecks??[]:[];return r.find(e=>e.id===n)?.name??n}function _(e){return s((e.agent??"").trim()||a)}function $(e){return!S(e)&&(function(e){let t=e.needs_deck_selection;if(!0===t||1===t)return!0;if("string"==typeof t){let e=t.trim().toLowerCase();return"1"===e||"true"===e}return!1}(e)||!(e.deck_id??"").trim())}function S(e){return"direct"===e.launch_profile}function w(e,t){if($(e)||S(e))return!1;let n=t?"connected"===t.status||"empty"===t.status?t.decks.map(e=>e.id):"unconfigured"===t.status?null:t.cachedDecks?t.cachedDecks.map(e=>e.id):null:null;return!!n&&!n.includes((e.deck_id??"").trim())}function A(e){return`Agent: ${_(e)} \xb7 Agent Deck: `}function C(e,t){let n,r=(n=S(e)?`Agent: ${_(e)} \xb7 Launch: Direct`:$(e)?`${A(e)}not selected`:A(e)+x(e.deck_id??"",t),$(e)?`${n} — select in Config`:w(e,t)?n+" (deck unavailable — see Config)":n);if($(e)||S(e))return{prefix:r,deck:"",suffix:""};let a=A(e),s=x(e.deck_id??"",t);return{prefix:a,deck:s,suffix:r.slice(a.length+s.length)}}function T(e){return`~/.botmancers/${e}`}let N=[{prefix:"[Deck handoff]",kind:"handoff",label:"Agent Deck launch"},{prefix:"[Deck run]",kind:"run",label:"Agent Deck run"},{prefix:"[Deck review]",kind:"review",label:"Agent Deck review"},{prefix:"[Deck resume]",kind:"resume",label:"Agent Deck resume"},{prefix:"[Deck result]",kind:"result",label:"Agent Deck result"},{prefix:"[Deck failed]",kind:"failed",label:"Agent Deck failed"},{prefix:"[Deck needs selection]",kind:"reselection",label:"Agent Deck needs a deck"},{prefix:"[Deck needs reselection]",kind:"reselection",label:"Agent Deck needs a deck"}];e.s(["AGENT_OPTIONS",0,i,"DECK_PLACEHOLDER",0,l,"DECK_SLOT_COPY",0,h,"NEW_BOT_WORKDIR_HINT",0,"Default: ~/.botmancers/{agentID} — {agentID} is this agent's ID, assigned at creation.","NON_LOCAL_NOTE",0,u,"SAVED_DECK_MISSING_NOTE",0,f,"SETTINGS_ENDPOINT",0,"/api/agent-deck/settings","SETTINGS_LINK_COPY",0,d,"SETTINGS_NON_LOCAL_NOTE",0,c,"SETTINGS_PATH",0,o,"botAgentLabel",0,_,"configWorkdirHint",0,function(e){return`Default: ${T(e)} — leave blank to use it.`},"deckEventDisplay",0,function(e){let t=String(e??"").trimStart(),n=N.find(e=>t.startsWith(e.prefix));return n?{label:n.label,detail:t.slice(n.prefix.length).trim()}:null},"deckLabel",0,x,"deckSlotCopy",0,b,"deckStateShowsRetry",0,v,"defaultWorkdirFor",0,T,"fetchDeckList",0,y,"formatClock",0,m,"initialDeckListState",0,p,"isDeckUnavailable",0,w,"isMigratedPending",0,$,"rosterRuntimeParts",0,C,"settingsStatusLine",0,k],74904);let D={modal:{label:"",legend:"field-legend",picks:"runtime-picks",pick:"runtime-pick",note:"runtime-note",control:"deck-control",hint:"runtime-hint",link:"runtime-link",retry:"runtime-retry"},config:{label:"block text-sm cfg-muted mt-3 mb-1",legend:"block text-sm cfg-muted mt-3 mb-1 p-0",picks:"flex flex-wrap gap-x-4 gap-y-1 text-sm cfg-muted",pick:"text-sm cfg-muted",note:"text-sm cfg-muted mt-1",control:"cfg-input text-sm",hint:"mt-1 text-xs cfg-faint",link:"cfg-link text-sm",retry:"cfg-link text-sm"}};function j({id:e,labelId:n,state:r,value:a,onChange:s,onRetry:i,savedDeckId:o,variant:u}){let c=D[u],d=b(r),h=(o??"").trim();if(null===d){let n=!!h&&!r.decks.some(e=>e.id===h);return(0,t.jsxs)("div",{"data-field":"deck","data-state":r.status,children:[(0,t.jsxs)("select",{id:e,className:c.control,"aria-required":"true","aria-describedby":n&&a===h?`${e}-saved-note`:void 0,value:a,title:a||void 0,onChange:e=>s(e.target.value),children:[(0,t.jsx)("option",{value:"",disabled:!0,children:l}),n?(0,t.jsxs)("option",{value:h,title:h,children:[h," (saved)"]}):null,r.decks.map(e=>(0,t.jsx)("option",{value:e.id,title:e.id,children:e.name},e.id))]}),n&&a===h?(0,t.jsx)("p",{id:`${e}-saved-note`,className:c.note,children:f}):null]})}return(0,t.jsxs)("div",{"data-field":"deck","data-state":r.status,role:"group","aria-labelledby":n,children:[h?(0,t.jsxs)("p",{className:c.note,children:["Saved Agent Deck: ",(0,t.jsx)("span",{title:h,children:h})]}):null,(0,t.jsxs)("p",{id:e,className:`${c.note} deck-slot`,role:"status",children:[(0,t.jsx)("span",{id:`${e}-copy`,children:d}),v(r)?(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsx)("button",{type:"button",className:c.retry,onClick:i,children:"Retry"})]}):null]})]})}e.s(["AgentDeckFields",0,function({idPrefix:e,variant:n,deckId:r,onDeckId:a,deckState:s,onRetry:i,savedDeckId:l,workingDirectory:c,onWorkingDirectory:f,workdirPlaceholder:h,workdirHint:p}){let g=D[n],m=null===b(s);return(0,t.jsxs)("div",{className:"agent-deck-fields",children:[(0,t.jsx)("label",{className:g.label,id:`${e}-deck-label`,htmlFor:m?`${e}-deck`:void 0,children:"Agent Deck"}),(0,t.jsx)(j,{id:`${e}-deck`,labelId:`${e}-deck-label`,state:s,value:r,onChange:a,onRetry:i,savedDeckId:l,variant:n}),(0,t.jsx)("a",{href:o,className:g.link,children:d}),(0,t.jsx)("label",{className:g.label,htmlFor:`${e}-workdir`,children:"Working directory (optional)"}),(0,t.jsx)("input",{id:`${e}-workdir`,type:"text",className:"config"===n?g.control:void 0,"data-field":"workdir","aria-describedby":`${e}-workdir-hint ${e}-workdir-note`,value:c,placeholder:h,onChange:e=>f(e.target.value)}),(0,t.jsx)("p",{id:`${e}-workdir-hint`,className:g.hint,children:p}),(0,t.jsx)("p",{id:`${e}-workdir-note`,className:g.hint,children:u})]})},"RosterRuntimeLine",0,function({bot:e,state:n}){let{prefix:r,deck:a,suffix:s}=C(e,n);return(0,t.jsxs)("div",{className:"bot-runtime",title:r+a+s,children:[r,a?(0,t.jsx)("span",{className:"bot-runtime-deck",children:a}):null,s]})},"SettingsStatus",0,function({state:e,onRetry:n}){return(0,t.jsxs)("div",{"data-field":"status","data-state":e.status,children:[(0,t.jsx)("p",{className:"connected"===e.status?"text-sm cfg-ok":"text-sm cfg-muted",role:"status",children:k(e)}),v(e)?(0,t.jsx)("button",{type:"button",onClick:n,className:"mt-2 cfg-btn-ghost text-sm w-full sm:w-auto",children:"Retry"}):null,"connected"===e.status?(0,t.jsx)("p",{className:"mt-1 text-xs cfg-faint break-words",children:e.decks.map(e=>e.name).join(" · ")}):null,(0,t.jsx)("p",{className:"mt-2 text-xs cfg-faint",children:c})]})}],10331);var E=e.i(71645);let L="botmancers.agentDeck.lastDecks";function O(e){return"object"==typeof e&&null!==e&&"string"==typeof e.id&&"string"==typeof e.name}let R=(e,t)=>{let n=new AbortController,r=setTimeout(()=>n.abort(),1e4);return fetch(e,{cache:"no-store",signal:n.signal,...t}).finally(()=>clearTimeout(r))};e.s(["useDeckList",0,function(e=!0){let[t,n]=(0,E.useState)(()=>p()),[r,a]=(0,E.useState)(0),s=(0,E.useRef)(null);return(0,E.useEffect)(()=>{if(!e)return;let t=!1;return y(R,p(s.current??function(){try{let e=window.localStorage.getItem(L);if(!e)return null;let t=JSON.parse(e);return Array.isArray(t)&&t.every(O)?t:null}catch{return null}}())).then(e=>{if(!t){s.current=e.cachedDecks;var r=e.cachedDecks;if(r)try{window.localStorage.setItem(L,JSON.stringify(r))}catch{}n(e)}}),()=>{t=!0}},[r,e]),{state:t,retry:(0,E.useCallback)(()=>{n(e=>({...e,status:"loading",decks:[],error:""})),a(e=>e+1)},[])}}],4335)},13255,63352,50814,e=>{"use strict";var t=e.i(43476),n=e.i(71645),r=e.i(22016);function a(e){return`${new Date(e).toISOString().slice(0,16).replace("T"," ")} UTC`}let s="Not reported";function i(e){return e.toFixed(1).replace(/\.0$/,"")}function o(e){return e.toLocaleString("en-US")}function l(e){return 0===e?"$0.00":e>=.01?`$${e.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}`:e<1e-4?"<$0.0001":`$${e.toFixed(4)}`}let u={input_tokens:"Input tokens",output_tokens:"Output tokens",cost_usd:"Cost"};function c(e,t,n){return"cost_usd"===e?l(t):n?o(t):t<1e3?String(t):t<999950?`${i(t/1e3)}k`:t<99995e4?`${i(t/1e6)}M`:`${i(t/1e9)}B`}function d(e){return`${e} ${1===e?"run":"runs"}`}function f(e,t,n=!1){let r=u[e];if(!t||"unavailable"===t.quality||null===t.sum)return{name:r,text:s,quality:"unavailable",coverage:t&&t.total>0?`0 of ${d(t.total)} reported`:"No runs recorded",label:`${r}: not reported`};let a=c(e,t.sum,n),i=c(e,t.sum,!0);return"partial"===t.quality?{name:r,text:a,quality:"partial",coverage:`Partial: ${t.known} of ${d(t.total)} reported`,label:`${r}: at least ${i}, partial, reported by ${t.known} of ${d(t.total)}`}:{name:r,text:a,quality:"complete",coverage:`All ${d(t.total)} reported`,label:`${r}: ${i}, reported by all ${d(t.total)}`}}e.s(["SESSION_FILTER_OPTIONS",0,[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"ended",label:"Ended"}],"attemptLabel",0,function(e){let t="source"===e.role?"Started the session":"Resumed the session";return`${t} \xb7 ${e.outcome??"running"}`},"emptySessionsCopy",0,function(e,t){return"active"===e?`${t} has no active sessions.`:"ended"===e?`${t} has no ended sessions.`:`${t} has no sessions yet. One appears after a coding run keeps its runtime context.`},"formatSessionDate",0,a,"runtimeLabel",0,function(e){return e.agent.transport?`${e.agent.adapter} \xb7 ${e.agent.transport}`:e.agent.adapter},"sessionStateTags",0,function(e){let t=[];return(e.home&&t.push("Home"),e.state?.availability==="missing")?[...t,"Missing"]:(e.state?.lifecycle==="archived"&&t.push("Archived"),e.state?.busy&&t.push("Busy"),(e.resumable||e.state?.resumable===!0)&&t.push("Resumable"),t)},"sessionUsageLine",0,function(e){let t=f("input_tokens",e?.input_tokens),n=f("output_tokens",e?.output_tokens),r=f("cost_usd",e?.cost_usd),a=[t,n,r];if(a.every(e=>"unavailable"===e.quality))return{text:s,label:"Usage: not reported",quality:"unavailable",partial:!1};let i=["unavailable"===t.quality?"input not reported":`${t.text} in`,"unavailable"===n.quality?"output not reported":`${n.text} out`,"unavailable"===r.quality?"cost not reported":r.text].join(" · "),o=a.some(e=>"partial"===e.quality),l=o||a.some(e=>"unavailable"===e.quality)?"partial":"complete";return{text:i,label:`Reported usage: ${a.map(e=>e.label).join("; ")}`,quality:l,partial:o}},"statusLabel",0,function(e){return"active"===e.status?"Active":"Ended"},"usageMetricView",0,f,"usageSampleLabel",0,function(e,t){let n="turn"===e.kind?"start"===e.turn_kind?"provider turn, started":"provider turn":"resume"===e.turn_kind?"resumed":"started";return`Run ${t+1} \xb7 ${n}`},"usageSampleValues",0,function(e){return{input:null===e.input_tokens?s:o(e.input_tokens),output:null===e.output_tokens?s:o(e.output_tokens),cost:null===e.cost_usd?s:l(e.cost_usd)}},"workRequestLabel",0,function(e){var t;let n=e.origin.work_request;return n?`${(t=n.execution_kind)?t[0].toUpperCase()+t.slice(1):t} \xb7 ${n.state}`:null}],63352);let h={ask:"Ask from this context",resume:"Resume work here",handoff:"Hand off to…"},p=["queued","extracting","delivering","completed","failed","cancelled"],g=["completed","failed","cancelled"];function m(e){return"ask"===e?"Ask":"Continue"}function k(e,t){switch(t){case"queued":return"Queued";case"extracting":return"ask"===e?"Asking the session":"Extracting handoff";case"delivering":return"Delivering handoff";case"completed":return"ask"===e?"Answered":"Handed off";case"failed":return"Failed";case"cancelled":return"Cancelled"}}function b(e){var t;return e.cancel_requested&&(t=e.state,!g.includes(t))?"Cancelling…":k(e.mode,e.state)}function v(e){return"completed"===e?"done":"failed"===e||"cancelled"===e?"stopped":"active"}function y(e,t=140){let n=String(e??"").split("\n").map(e=>e.trim()).filter(e=>e.length>0).join(" ");return n.length>t?`${n.slice(0,t-1).trimEnd()}…`:n}function x(e){return a(e)}function _(e){return`${e.source.agent_name}'s session “${e.source.session_title}”`}function $(e){return"ask"===e.mode?`You → ${e.source.agent_name}`:`${e.source.agent_name} → ${e.destination?.agent_name??"another Agent"}`}function S(e){return"ask"===e?"Question":"Objective"}function w(e){if("completed"===e.state){if("ask"===e.mode){let t=e.origin?.label??"the origin thread";return e.outcome.answer?`Answer in ${t}: ${y(e.outcome.answer,200)}`:`Answered in ${t}.`}let t=e.destination?.agent_name??"The destination Agent";return e.outcome.reply?`${t} picked it up in a new session: ${y(e.outcome.reply,200)}`:`${t} picked it up in a new session.`}return"failed"===e.state?e.failure?.message||"The exchange failed.":"cancelled"===e.state?"Cancelled before it finished. Nothing more will run.":null}function A(e){if("failed"!==e.state)return null;switch(e.failure?.code){case"packet_invalid":case"packet_missing":return"The source session did not return a usable handoff. Start a new Continue with a clearer objective.";case"destination_session_invalid":return"The destination did not start a fresh session. Check its runtime, then start a new Continue.";case"destination_turn_failed":return"Check the destination Agent’s runtime, then start a new Continue from the source session.";case"source_turn_failed":return"Check the source Agent’s runtime, then start a new exchange from its Sessions.";default:return"Start a new exchange from the session to try again."}}function C(e){return`/exchanges?id=${encodeURIComponent(e)}`}function T(e,t){return t.updated_at-e.updated_at||t.created_at-e.created_at||(e.id<t.id?-1:+(e.id>t.id))}e.s(["DEFAULT_LEDGER_FILTER",0,{mode:"all",state:"all",agentId:""},"INSTRUCTION_LIMIT",0,4e3,"MODE_FILTER_OPTIONS",0,[{value:"all",label:"All"},{value:"ask",label:"Ask"},{value:"continue",label:"Continue"}],"STATE_FILTER_OPTIONS",0,[{value:"all",label:"Any status"},{value:"active",label:"In progress"},{value:"queued",label:"Queued"},{value:"extracting",label:"Asking / extracting"},{value:"delivering",label:"Delivering"},{value:"completed",label:"Completed"},{value:"failed",label:"Failed"},{value:"cancelled",label:"Cancelled"}],"detailsHref",0,C,"eventLabel",0,function(e,t){let n=e.data??{},r=t.source.agent_name,a=t.destination?.agent_name??"the destination Agent",s="string"==typeof n.hop?n.hop:null;switch(e.type){case"created":return"ask"===t.mode?`You asked ${r}'s session a question`:`You handed ${r}'s session to ${a}`;case"hop_queued":if("deliver"===s)return`Handoff queued for ${a}'s new session`;return"extract"===s?`Handoff extraction queued in ${r}'s session`:`Question queued for ${r}'s session`;case"hop_started":if("deliver"===s)return`${a} started a new session`;return"extract"===s?`${r}'s session started extracting the handoff`:`${r}'s session started answering`;case"state_changed":{let e="string"==typeof n.to&&p.includes(n.to)?n.to:null;return e?`Now ${k(t.mode,e).toLowerCase()}`:"State changed"}case"answer_returned":return`Answer returned to ${t.origin?.label??"the origin thread"}${n.truncated?" (shortened)":""}`;case"packet_extracted":return"Handoff packet extracted";case"packet_rejected":return`Handoff packet refused${"string"==typeof n.reason?`: ${n.reason}`:""}`;case"destination_replied":return`${a} replied in ${t.destination?.conversation?.label??"its thread"}`;case"destination_session_rejected":return`${a}'s session was not new; the handoff stopped`;case"cancel_requested":return"You asked to cancel";case"hop_result_discarded":return"A late result was discarded";default:return e.type.replace(/_/g," ")}},"excerpt",0,y,"exchangeRequestBody",0,function(e,t,n){let r={mode:e.mode,idempotency_key:n,origin_conversation_id:e.originConversationId,source:{agent_id:t.agentId,session_ref:t.sessionRef},instruction:e.instruction.trim()};return"continue"===e.mode&&(r.destination={agent_id:e.destinationAgentId}),r},"failureAdvice",0,A,"formatExchangeTime",0,x,"instructionHeading",0,S,"ledgerAgents",0,function(e){let t=new Map;for(let n of e)t.set(n.source.agent_id,n.source.agent_name),n.destination&&t.set(n.destination.agent_id,n.destination.agent_name);return[...t.entries()].map(([e,t])=>({id:e,name:t})).sort((e,t)=>e.name.localeCompare(t.name)||e.id.localeCompare(t.id))},"ledgerRows",0,function(e,t){return e.filter(e=>("all"===t.mode||e.mode===t.mode)&&("active"!==t.state||!e.terminal)&&("all"===t.state||"active"===t.state||e.state===t.state)&&(!t.agentId||e.source.agent_id===t.agentId||e.destination?.agent_id===t.agentId)).sort(T)},"ledgerView",0,function(e,t,n){return null===e?t?"error":"loading":0===e.length?"empty":0===n.length?"filtered-out":"rows"},"linkRoleLabel",0,function(e){let t={origin:"Started here",source:"Source session",destination:"Destination"};return e.map(e=>t[e]).join(" · ")},"liveStateLabel",0,b,"modeLabel",0,m,"outcomeLine",0,w,"participantsLabel",0,$,"pinRequestBody",0,function(e,t,n,r,a){return{action:e,content:t.trim(),conversation_id:n,idempotency_key:a,..."resume"===e?{approve_write:r}:{}}},"sessionDialogMode",0,function(e){return"handoff"===e?"continue":e},"sessionDialogTitle",0,function(e){return h["continue"===e?"handoff":e]},"sessionDialogUsesPin",0,function(e,t){return"resume"===e||"ask"===e&&"provider"===t},"sessionLabel",0,_,"sessionRowActions",0,function(e){let t;if(e.actions)t=e.actions;else{let n="ended"===e.status?{available:!1,reason:"Ask from this context and Hand off to… are unavailable: this session has ended. Its history stays here."}:e.resumable?{available:!0}:{available:!1,reason:`Ask from this context and Hand off to… are unavailable: Botmancers can’t resume this session under ${e.agent.name}’s current runtime.`},r=n.available?{available:!0}:{available:!1,code:"ended"===e.status?"session_ended":"session_not_resumable",reason:n.reason,recovery:"choose_session"};t={ask:r,resume:{available:!1,code:"action_unavailable",reason:`${h.resume} is unavailable: this runtime can’t resume a session with edits.`,recovery:"choose_action"},handoff:r}}return["ask","resume","handoff"].map(e=>({action:e,label:h[e],availability:t[e]}))},"stateTone",0,v,"submitErrorMessage",0,function(e,t){switch(e){case"session_ended":return"This session has ended and can’t be resumed.";case"session_not_resumable":return"Botmancers can’t resume this session under the Agent’s current runtime.";case"source_session_busy":return"This session already has an exchange in progress. Wait for it or cancel it from its card.";case"agent_unavailable":return t||"That Agent has no Agent Deck selected.";case"idempotency_conflict":return"This request changed while it was being sent. Send again.";case"session_missing":return"The runtime no longer has this session. Its history stays here; choose another session.";case"approval_required":return"Resume work here needs your approval of edits. Tick the approval, then send again.";case"authority_not_allowed":return t||"This Agent’s policy doesn’t allow edits in a resumed session. Change it in Config.";case"action_unavailable":return t||"This runtime can’t do that in this session. Choose another action.";case"provider_failed":return"The runtime failed this turn. Nothing moved to another session; try again later.";default:return t||"The exchange could not be started. Your draft is kept; try again."}},"threadHref",0,function(e,t){let n=new URLSearchParams;if(e.thread_agent_id)return n.set("agent",e.thread_agent_id),t&&n.set("exchange",t),`/?${n.toString()}`;if("group"!==e.kind)return null;t&&n.set("exchange",t);let r=n.toString();return`/threads/${encodeURIComponent(e.id)}${r?`?${r}`:""}`},"validateDraft",0,function(e){let t={},n=e.instruction.trim(),r="ask"===e.mode?"a question":"an objective";return n?e.instruction.length>4e3&&(t.instruction="Keep it under 4000 characters."):t.instruction=`Enter ${r}.`,e.originConversationId||(t.origin="Choose the thread that follows this exchange."),"continue"!==e.mode||e.destinationAgentId||(t.destination="Choose the Agent who continues the work."),t},"validateResumeDraft",0,function(e,t){let n={};return e.trim()?e.length>4e3&&(n.instruction="Keep it under 4000 characters."):n.instruction="Enter what to work on.",t||(n.approval="Approve edits in this session to resume work here."),n}],50814),e.s(["default",0,function({summary:e,onChanged:a}){let[s,i]=(0,n.useState)(!1),[o,l]=(0,n.useState)(""),u=v(e.state),c=w(e),d=A(e),f=`exchange-${e.id}-title`,h=async()=>{if(!s){i(!0),l("");try{let t=await fetch(`/api/exchanges/${encodeURIComponent(e.id)}/cancel`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"});if(!t.ok){let e=await t.json().catch(()=>null);l("string"==typeof e?.error?.message?e.error.message:"Could not cancel. Try again.")}}catch{l("Could not cancel. Try again.")}finally{i(!1),a?.()}}};return(0,t.jsxs)("article",{id:`exchange-${e.id}`,className:`exchange-card is-${u} is-${e.state}`,"data-exchange-id":e.id,"data-exchange-state":e.state,"aria-labelledby":f,tabIndex:-1,children:[(0,t.jsxs)("p",{className:"exchange-card-line",children:[(0,t.jsx)("span",{className:"exchange-card-mode",children:m(e.mode)}),(0,t.jsx)("span",{id:f,className:"exchange-card-title",children:$(e)}),(0,t.jsx)("span",{className:"exchange-card-state",role:"status",children:b(e)})]}),(0,t.jsx)("p",{className:"exchange-card-session",children:_(e)}),(0,t.jsxs)("p",{className:"exchange-card-instruction",children:[(0,t.jsx)("span",{className:"exchange-card-key",children:S(e.mode)})," ",y(e.instruction,220)]}),c?(0,t.jsx)("p",{className:"failed"===e.state?"exchange-card-outcome is-failure":"exchange-card-outcome",children:c}):null,d?(0,t.jsx)("p",{className:"exchange-card-advice",children:d}):null,o?(0,t.jsx)("p",{className:"exchange-card-error",role:"alert",children:o}):null,(0,t.jsxs)("p",{className:"exchange-card-foot",children:[(0,t.jsxs)("span",{className:"exchange-card-time",children:["Updated ",x(e.updated_at)]}),(0,t.jsx)(r.default,{className:"exchange-card-link",href:C(e.id),"aria-label":`Details: ${m(e.mode)} ${$(e)}`,children:"Details"}),e.can_cancel?(0,t.jsx)("button",{type:"button",className:"exchange-card-cancel",disabled:s,onClick:()=>{h()},children:s?"Cancelling…":"Cancel"}):null]})]})}],13255)},22016,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return k},useLinkStatus:function(){return v}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let s=e.r(90809),i=e.r(43476),o=s._(e.r(71645)),l=e.r(95057),u=e.r(8372),c=e.r(18581),d=e.r(18967),f=e.r(5550),h=e.r(88540),p=e.r(91949),g=e.r(73668),m=e.r(9396);function k(t){var n;let r,a,s,[k,v]=(0,o.useOptimistic)(p.IDLE_LINK_STATUS),y=(0,o.useRef)(null),{href:x,as:_,children:$,prefetch:S=null,passHref:w,replace:A,shallow:C,scroll:T,onClick:N,onMouseEnter:D,onTouchStart:j,legacyBehavior:E=!1,onNavigate:L,transitionTypes:O,ref:R,unstable_dynamicOnHover:I,...P}=t;r=$,E&&("string"==typeof r||"number"==typeof r)&&(r=(0,i.jsx)("a",{children:r}));let U=o.default.useContext(u.AppRouterContext),q=!1!==S,M=!1===S?"none":!0===S?"full":"auto",F="none"!==M?"auto"===M?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,B="string"==typeof(n=_||x)?n:(0,l.formatUrl)(n);if(E){if(r?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});a=o.default.Children.only(r)}let H=E?a&&"object"==typeof a&&a.ref:R,K,G=o.default.useCallback(e=>(null!==U&&(y.current=(0,p.mountLinkInstance)(e,B,U,F,q,v,K)),()=>{y.current&&((0,p.unmountLinkForCurrentNavigation)(y.current),y.current=null),(0,p.unmountPrefetchableInstance)(e)}),[q,B,U,F,v,K]),W={ref:(0,c.useMergedRef)(G,H),onClick(t){E||"function"!=typeof N||N(t),E&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!U||t.defaultPrevented||function(t,n,r,a,s,i,l,u="none"){if("u">typeof window){let c,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,g.isLocalURL)(n)){a&&(t.preventDefault(),location.replace(n));return}if(t.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(99781);o.default.startTransition(()=>{f(n,a?"replace":"push",!1===s?h.ScrollBehavior.NoScroll:h.ScrollBehavior.Default,r.current,l,u)})}}(t,B,y,A,T,L,O,M)},onMouseEnter(e){E||"function"!=typeof D||D(e),E&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),U&&q&&(0,p.onNavigationIntent)(e.currentTarget,!0===I)},onTouchStart:function(e){E||"function"!=typeof j||j(e),E&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),U&&q&&(0,p.onNavigationIntent)(e.currentTarget,!0===I)}};return(0,d.isAbsoluteUrl)(B)?W.href=B:E&&!w&&("a"!==a.type||"href"in a.props)||(W.href=(0,f.addBasePath)(B)),s=E?o.default.cloneElement(a,W):(0,i.jsx)("a",{...P,...W,children:r}),(0,i.jsx)(b.Provider,{value:k,children:s})}let b=(0,o.createContext)(p.IDLE_LINK_STATUS),v=()=>(0,o.useContext)(b);("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},18581,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"useMergedRef",{enumerable:!0,get:function(){return a}});let r=e.r(71645);function a(e,t){let n=(0,r.useRef)(null),a=(0,r.useRef)(null);return(0,r.useCallback)(r=>{if(null===r){let e=n.current;e&&(n.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(n.current=s(e,r)),t&&(a.current=s(t,r))},[e,t])}function s(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let n=e(t);return"function"==typeof n?n:()=>e(null)}}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},73668,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"isLocalURL",{enumerable:!0,get:function(){return s}});let r=e.r(18967),a=e.r(52817);function s(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,a.hasBasePath)(n.pathname)}catch(e){return!1}}},98183,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={assign:function(){return l},searchParamsToUrlQuery:function(){return s},urlQueryToSearchParams:function(){return o}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});function s(e){let t={};for(let[n,r]of e.entries()){let e=t[n];void 0===e?t[n]=r:Array.isArray(e)?e.push(r):t[n]=[e,r]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(n,i(e));else t.set(n,i(r));return t}function l(e,...t){for(let n of t){for(let t of n.keys())e.delete(t);for(let[t,r]of n.entries())e.append(t,r)}return e}},95057,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={formatUrl:function(){return o},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let s=e.r(90809)._(e.r(98183)),i=/https?|ftp|gopher|file/;function o(e){let{auth:t,hostname:n}=e,r=e.protocol||"",a=e.pathname||"",o=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:n&&(u=t+(~n.indexOf(":")?`[${n}]`:n),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(s.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||i.test(r))&&!1!==u?(u="//"+(u||""),a&&"/"!==a[0]&&(a="/"+a)):u||(u=""),o&&"#"!==o[0]&&(o="#"+o),c&&"?"!==c[0]&&(c="?"+c),a=a.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${r}${u}${a}${c}${o}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return o(e)}},18967,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={DecodeError:function(){return k},MiddlewareNotFoundError:function(){return x},MissingStaticPage:function(){return y},NormalizeError:function(){return b},PageNotFoundError:function(){return v},SP:function(){return g},ST:function(){return m},WEB_VITALS:function(){return s},execOnce:function(){return i},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return _}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let s=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,n=!1;return(...r)=>(n||(n=!0,t=e(...r)),t)}let o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&o.test(e)};function u(){let{protocol:e,hostname:t,port:n}=window.location;return`${e}//${t}${n?":"+n:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function h(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function p(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&f(n))return r;if(!r)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${r}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return r}let g="u">typeof performance,m=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class k extends Error{}class b extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class y extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class x extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function _(e){return JSON.stringify({message:e.message,stack:e.stack})}}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,32545,e=>{"use strict";var t=e.i(43476),s=e.i(71645),r=e.i(22016),a=e.i(10331),n=e.i(4335),l=e.i(74904);async function c(e){try{let t=await e.json();if(t.error)return t.error}catch{}return"request failed"}e.s(["default",0,function(){let{state:e,retry:i}=(0,n.useDeckList)(),[o,d]=(0,s.useState)(null),[u,f]=(0,s.useState)(""),[m,h]=(0,s.useState)(!1),[x,g]=(0,s.useState)(0),[v,j]=(0,s.useState)("clean"),[N,p]=(0,s.useState)(""),[b,k]=(0,s.useState)(0);(0,s.useEffect)(()=>{let e=!1;return fetch(l.SETTINGS_ENDPOINT,{cache:"no-store"}).then(async t=>{if(!t.ok)throw Error(await c(t));let s=await t.json();if(e)return;let r="string"==typeof s.server_url?s.server_url:"";d(r),f(r),h(!1)}).catch(()=>{e||h(!0)}),()=>{e=!0}},[x]);let w=null!==o&&u!==o;async function y(){j("saving"),p("");try{let e=await fetch(l.SETTINGS_ENDPOINT,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({server_url:u})});if(!e.ok)throw Error(await c(e));let t=await e.json();d(t.server_url),f(t.server_url),j("confirmed"),k(Date.now()),setTimeout(()=>{j(e=>"confirmed"===e?"clean":e)},5e3),i()}catch(e){j("error"),p(e instanceof Error?e.message:"request failed")}}(0,s.useEffect)(()=>{if(!w)return;let e=e=>{e.preventDefault()};return window.addEventListener("beforeunload",e),()=>window.removeEventListener("beforeunload",e)},[w]);let S="saving"===v?(0,t.jsx)("span",{className:"text-sm cfg-faint",children:"Saving…"}):w||"error"===v?(0,t.jsxs)("span",{className:"text-sm cfg-dirty",children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full cfg-dot-amber mr-1"}),"Unsaved changes"]}):"confirmed"===v?(0,t.jsxs)("span",{className:"text-sm cfg-faint",children:["Saved ",(0,l.formatClock)(b)]}):(0,t.jsx)("span",{className:"text-sm cfg-faint",children:"Saved"});return(0,t.jsx)("div",{className:"cfg-page",children:(0,t.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,t.jsx)(r.default,{href:"/",onClick:function(e){w&&!window.confirm("You have unsaved changes. Leave without saving?")&&e.preventDefault()},className:"cfg-link cfg-back text-sm",children:"← Back to chat"}),(0,t.jsxs)("header",{className:"mt-3 mb-6",children:[(0,t.jsx)("h1",{className:"text-xl font-bold",children:"Settings"}),(0,t.jsx)("p",{className:"text-sm cfg-faint",children:"Workspace settings for every agent in this Botmancers."})]}),(0,t.jsxs)("section",{className:"cfg-card",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsx)("h2",{className:"cfg-title",children:"Agent Deck server"}),null!==o?S:null]}),m&&null===o?(0,t.jsxs)("p",{className:"text-sm cfg-muted",children:["Couldn't load this section."," ",(0,t.jsx)("button",{onClick:()=>g(e=>e+1),className:"cfg-link",children:"Retry"})]}):null===o?(0,t.jsx)("div",{className:"h-10 rounded-lg animate-pulse cfg-skel"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("label",{className:"block text-sm cfg-muted mb-1",htmlFor:"settings-server-url",children:"Server URL"}),(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row gap-2",children:[(0,t.jsx)("input",{id:"settings-server-url",type:"url",value:u,onChange:e=>{f(e.target.value),"error"===v&&j("clean")},onKeyDown:e=>{"Enter"===e.key&&w&&(e.preventDefault(),y())},placeholder:"http://127.0.0.1:1111",className:"cfg-input text-sm sm:flex-1"}),(0,t.jsx)("button",{onClick:()=>{y()},disabled:!w||"saving"===v,className:"cfg-btn-primary text-sm",children:"saving"===v?"Saving…":"Save"}),w?(0,t.jsx)("button",{onClick:function(){f(o??""),j("clean"),p("")},disabled:"saving"===v,className:"cfg-btn-ghost text-sm",children:"Discard"}):null]}),"error"===v&&(0,t.jsxs)("p",{className:"mt-2 text-sm cfg-error",children:["Couldn't save: ",N," ",(0,t.jsx)("button",{onClick:()=>{y()},className:"underline hover:no-underline",children:"Retry"})]}),(0,t.jsx)("p",{className:"mt-2 text-xs cfg-faint",children:"The only Agent Deck server for this workspace. Bots pick their deck from this server."})]}),(0,t.jsx)("div",{className:"mt-4 pt-4 border-t cfg-line",children:(0,t.jsx)(a.SettingsStatus,{state:e,onRetry:i})})]})]})})}])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,10331,3136,74904,4335,e=>{"use strict";var t=e.i(43476);let r=["hermes","cursor","claude","codex","muse"],n={hermes:"Hermes",cursor:"Cursor",claude:"Claude",codex:"Codex",muse:"Muse Code"},i="hermes";function o(e){return r.includes(String(e))?n[e]:String(e??"")}r.join("|"),e.s(["AGENTS",0,r,"AGENT_LABELS",0,n,"DEFAULT_AGENT",0,i,"agentLabel",0,o],3136);let s=r.map(e=>({value:e,label:n[e]})),a="/settings",c="Select an Agent Deck…",l="Runs use the configured Agent Deck server. Remote execution is unconfirmed — see Settings for the configured server.",u="Runs use the server above. Remote execution is unconfirmed.",d="Configure the Agent Deck server in Settings",f="Saved Agent Deck not on this server — saving keeps it unless you pick another.",p={loading:"Loading decks…",empty:"No decks on this server — add one there, then retry.",malformed:"The deck list came back unreadable. Retry — or fix the server, then retry.",unreachable:"Can't reach the Agent Deck server — fix it in Settings, then retry.",unconfigured:"No Agent Deck server set — add it in Settings."};function h(e=null){return{status:"loading",decks:[],cachedDecks:e,serverUrl:"",checkedAt:0,error:""}}function g(e){return String(e).padStart(2,"0")}function m(e){let t=new Date(e);return`${g(t.getHours())}:${g(t.getMinutes())}:${g(t.getSeconds())}`}function k(e){switch(e.status){case"loading":return"Status: ○ Checking the Agent Deck server…";case"connected":return`Status: ● Connected \xb7 ${e.decks.length} ${1===e.decks.length?"deck":"decks"} \xb7 checked ${m(e.checkedAt)}`;case"empty":return"Status: ○ Connected — no decks on this server.";case"malformed":return"Status: ○ The server returned decks this app can't read.";case"unreachable":return"Status: ○ Can't reach the Agent Deck server.";case"unconfigured":return"Status: ○ No Agent Deck server set."}}function y(e){return"connected"===e.status?null:p[e.status]}function b(e){return"empty"===e.status||"malformed"===e.status||"unreachable"===e.status}async function v(e,t,r=Date.now){let n,i;try{n=await e("/api/agent-deck/decks",{cache:"no-store"})}catch(e){return{status:"unreachable",decks:[],cachedDecks:t.cachedDecks,serverUrl:t.serverUrl,checkedAt:r(),error:e instanceof Error?e.message:String(e)}}try{i=await n.json()}catch{i=void 0}return function(e,t,r){let n="object"==typeof e.body&&null!==e.body?e.body:{},i="string"==typeof n.server_url?n.server_url:t.serverUrl,o={cachedDecks:t.cachedDecks,serverUrl:i,checkedAt:r};if("string"==typeof n.server_url&&!n.server_url.trim())return{...o,status:"unconfigured",decks:[],error:""};if(e.ok){let t=function(e){if("object"!=typeof e||null===e)return null;let t=e.decks;if(!Array.isArray(t))return null;let r=[];for(let e of t){if("object"!=typeof e||null===e)return null;let t=e.id,n=e.name;if("string"!=typeof t||!t.trim()||"string"!=typeof n||!n.trim())return null;r.push({id:t,name:n})}return r}(e.body);return t?{...o,cachedDecks:t,status:t.length>0?"connected":"empty",decks:t,error:""}:{...o,status:"malformed",decks:[],error:"Unexpected deck list shape."}}let s="string"==typeof n.error?n.error:`HTTP ${e.status}`,a="invalid-payload"===n.code||/unexpected deck payload/i.test(s);return{...o,status:a?"malformed":"unreachable",decks:[],error:s}}({ok:n.ok,status:n.status,body:i},t,r())}function x(e,t){let r=String(e??"").trim(),n=t?t.decks.length>0?t.decks:t.cachedDecks??[]:[];return n.find(e=>e.id===r)?.name??r}function S(e){return o((e.agent??"").trim()||i)}function D(e){return!_(e)&&(function(e){let t=e.needs_deck_selection;if(!0===t||1===t)return!0;if("string"==typeof t){let e=t.trim().toLowerCase();return"1"===e||"true"===e}return!1}(e)||!(e.deck_id??"").trim())}function _(e){return"direct"===e.launch_profile}function N(e,t){if(D(e)||_(e))return!1;let r=t?"connected"===t.status||"empty"===t.status?t.decks.map(e=>e.id):"unconfigured"===t.status?null:t.cachedDecks?t.cachedDecks.map(e=>e.id):null:null;return!!r&&!r.includes((e.deck_id??"").trim())}function j(e){return`Agent: ${S(e)} \xb7 Agent Deck: `}function A(e,t){let r,n=(r=_(e)?`Agent: ${S(e)} \xb7 Launch: Direct`:D(e)?`${j(e)}not selected`:j(e)+x(e.deck_id??"",t),D(e)?`${r} — select in Config`:N(e,t)?r+" (deck unavailable — see Config)":r);if(D(e)||_(e))return{prefix:n,deck:"",suffix:""};let i=j(e),o=x(e.deck_id??"",t);return{prefix:i,deck:o,suffix:n.slice(i.length+o.length)}}function E(e){return`~/.botmancers/${e}`}let C=[{prefix:"[Deck handoff]",kind:"handoff",label:"Agent Deck launch"},{prefix:"[Deck run]",kind:"run",label:"Agent Deck run"},{prefix:"[Deck review]",kind:"review",label:"Agent Deck review"},{prefix:"[Deck resume]",kind:"resume",label:"Agent Deck resume"},{prefix:"[Deck result]",kind:"result",label:"Agent Deck result"},{prefix:"[Deck failed]",kind:"failed",label:"Agent Deck failed"},{prefix:"[Deck needs selection]",kind:"reselection",label:"Agent Deck needs a deck"},{prefix:"[Deck needs reselection]",kind:"reselection",label:"Agent Deck needs a deck"}];e.s(["AGENT_OPTIONS",0,s,"DECK_PLACEHOLDER",0,c,"DECK_SLOT_COPY",0,p,"NEW_BOT_WORKDIR_HINT",0,"Default: ~/.botmancers/{agentID} — {agentID} is this agent's ID, assigned at creation.","NON_LOCAL_NOTE",0,l,"SAVED_DECK_MISSING_NOTE",0,f,"SETTINGS_ENDPOINT",0,"/api/agent-deck/settings","SETTINGS_LINK_COPY",0,d,"SETTINGS_NON_LOCAL_NOTE",0,u,"SETTINGS_PATH",0,a,"botAgentLabel",0,S,"configWorkdirHint",0,function(e){return`Default: ${E(e)} — leave blank to use it.`},"deckEventDisplay",0,function(e){let t=String(e??"").trimStart(),r=C.find(e=>t.startsWith(e.prefix));return r?{label:r.label,detail:t.slice(r.prefix.length).trim()}:null},"deckLabel",0,x,"deckSlotCopy",0,y,"deckStateShowsRetry",0,b,"defaultWorkdirFor",0,E,"fetchDeckList",0,v,"formatClock",0,m,"initialDeckListState",0,h,"isDeckUnavailable",0,N,"isMigratedPending",0,D,"rosterRuntimeParts",0,A,"settingsStatusLine",0,k],74904);let T={modal:{label:"",legend:"field-legend",picks:"runtime-picks",pick:"runtime-pick",note:"runtime-note",control:"deck-control",hint:"runtime-hint",link:"runtime-link",retry:"runtime-retry"},config:{label:"block text-sm cfg-muted mt-3 mb-1",legend:"block text-sm cfg-muted mt-3 mb-1 p-0",picks:"flex flex-wrap gap-x-4 gap-y-1 text-sm cfg-muted",pick:"text-sm cfg-muted",note:"text-sm cfg-muted mt-1",control:"cfg-input text-sm",hint:"mt-1 text-xs cfg-faint",link:"cfg-link text-sm",retry:"cfg-link text-sm"}};function O({id:e,labelId:r,state:n,value:i,onChange:o,onRetry:s,savedDeckId:a,variant:l}){let u=T[l],d=y(n),p=(a??"").trim();if(null===d){let r=!!p&&!n.decks.some(e=>e.id===p);return(0,t.jsxs)("div",{"data-field":"deck","data-state":n.status,children:[(0,t.jsxs)("select",{id:e,className:u.control,"aria-required":"true","aria-describedby":r&&i===p?`${e}-saved-note`:void 0,value:i,title:i||void 0,onChange:e=>o(e.target.value),children:[(0,t.jsx)("option",{value:"",disabled:!0,children:c}),r?(0,t.jsxs)("option",{value:p,title:p,children:[p," (saved)"]}):null,n.decks.map(e=>(0,t.jsx)("option",{value:e.id,title:e.id,children:e.name},e.id))]}),r&&i===p?(0,t.jsx)("p",{id:`${e}-saved-note`,className:u.note,children:f}):null]})}return(0,t.jsxs)("div",{"data-field":"deck","data-state":n.status,role:"group","aria-labelledby":r,children:[p?(0,t.jsxs)("p",{className:u.note,children:["Saved Agent Deck: ",(0,t.jsx)("span",{title:p,children:p})]}):null,(0,t.jsxs)("p",{id:e,className:`${u.note} deck-slot`,role:"status",children:[(0,t.jsx)("span",{id:`${e}-copy`,children:d}),b(n)?(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsx)("button",{type:"button",className:u.retry,onClick:s,children:"Retry"})]}):null]})]})}e.s(["AgentDeckFields",0,function({idPrefix:e,variant:r,deckId:n,onDeckId:i,deckState:o,onRetry:s,savedDeckId:c,workingDirectory:u,onWorkingDirectory:f,workdirPlaceholder:p,workdirHint:h}){let g=T[r],m=null===y(o);return(0,t.jsxs)("div",{className:"agent-deck-fields",children:[(0,t.jsx)("label",{className:g.label,id:`${e}-deck-label`,htmlFor:m?`${e}-deck`:void 0,children:"Agent Deck"}),(0,t.jsx)(O,{id:`${e}-deck`,labelId:`${e}-deck-label`,state:o,value:n,onChange:i,onRetry:s,savedDeckId:c,variant:r}),(0,t.jsx)("a",{href:a,className:g.link,children:d}),(0,t.jsx)("label",{className:g.label,htmlFor:`${e}-workdir`,children:"Working directory (optional)"}),(0,t.jsx)("input",{id:`${e}-workdir`,type:"text",className:"config"===r?g.control:void 0,"data-field":"workdir","aria-describedby":`${e}-workdir-hint ${e}-workdir-note`,value:u,placeholder:p,onChange:e=>f(e.target.value)}),(0,t.jsx)("p",{id:`${e}-workdir-hint`,className:g.hint,children:h}),(0,t.jsx)("p",{id:`${e}-workdir-note`,className:g.hint,children:l})]})},"RosterRuntimeLine",0,function({bot:e,state:r}){let{prefix:n,deck:i,suffix:o}=A(e,r);return(0,t.jsxs)("div",{className:"bot-runtime",title:n+i+o,children:[n,i?(0,t.jsx)("span",{className:"bot-runtime-deck",children:i}):null,o]})},"SettingsStatus",0,function({state:e,onRetry:r}){return(0,t.jsxs)("div",{"data-field":"status","data-state":e.status,children:[(0,t.jsx)("p",{className:"connected"===e.status?"text-sm cfg-ok":"text-sm cfg-muted",role:"status",children:k(e)}),b(e)?(0,t.jsx)("button",{type:"button",onClick:r,className:"mt-2 cfg-btn-ghost text-sm w-full sm:w-auto",children:"Retry"}):null,"connected"===e.status?(0,t.jsx)("p",{className:"mt-1 text-xs cfg-faint break-words",children:e.decks.map(e=>e.name).join(" · ")}):null,(0,t.jsx)("p",{className:"mt-2 text-xs cfg-faint",children:u})]})}],10331);var P=e.i(71645);let w="botmancers.agentDeck.lastDecks";function $(e){return"object"==typeof e&&null!==e&&"string"==typeof e.id&&"string"==typeof e.name}let L=(e,t)=>{let r=new AbortController,n=setTimeout(()=>r.abort(),1e4);return fetch(e,{cache:"no-store",signal:r.signal,...t}).finally(()=>clearTimeout(n))};e.s(["useDeckList",0,function(e=!0){let[t,r]=(0,P.useState)(()=>h()),[n,i]=(0,P.useState)(0),o=(0,P.useRef)(null);return(0,P.useEffect)(()=>{if(!e)return;let t=!1;return v(L,h(o.current??function(){try{let e=window.localStorage.getItem(w);if(!e)return null;let t=JSON.parse(e);return Array.isArray(t)&&t.every($)?t:null}catch{return null}}())).then(e=>{if(!t){o.current=e.cachedDecks;var n=e.cachedDecks;if(n)try{window.localStorage.setItem(w,JSON.stringify(n))}catch{}r(e)}}),()=>{t=!0}},[n,e]),{state:t,retry:(0,P.useCallback)(()=>{r(e=>({...e,status:"loading",decks:[],error:""})),i(e=>e+1)},[])}}],4335)},22016,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return k},useLinkStatus:function(){return b}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(90809),s=e.r(43476),a=o._(e.r(71645)),c=e.r(95057),l=e.r(8372),u=e.r(18581),d=e.r(18967),f=e.r(5550),p=e.r(88540),h=e.r(91949),g=e.r(73668),m=e.r(9396);function k(t){var r;let n,i,o,[k,b]=(0,a.useOptimistic)(h.IDLE_LINK_STATUS),v=(0,a.useRef)(null),{href:x,as:S,children:D,prefetch:_=null,passHref:N,replace:j,shallow:A,scroll:E,onClick:C,onMouseEnter:T,onTouchStart:O,legacyBehavior:P=!1,onNavigate:w,transitionTypes:$,ref:L,unstable_dynamicOnHover:R,...I}=t;n=D,P&&("string"==typeof n||"number"==typeof n)&&(n=(0,s.jsx)("a",{children:n}));let U=a.default.useContext(l.AppRouterContext),M=!1!==_,F=!1===_?"none":!0===_?"full":"auto",B="none"!==F?"auto"===F?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,K="string"==typeof(r=S||x)?r:(0,c.formatUrl)(r);if(P){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});i=a.default.Children.only(n)}let G=P?i&&"object"==typeof i&&i.ref:L,W,H=a.default.useCallback(e=>(null!==U&&(v.current=(0,h.mountLinkInstance)(e,K,U,B,M,b,W)),()=>{v.current&&((0,h.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,h.unmountPrefetchableInstance)(e)}),[M,K,U,B,b,W]),z={ref:(0,u.useMergedRef)(H,G),onClick(t){P||"function"!=typeof C||C(t),P&&i.props&&"function"==typeof i.props.onClick&&i.props.onClick(t),!U||t.defaultPrevented||function(t,r,n,i,o,s,c,l="none"){if("u">typeof window){let u,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,g.isLocalURL)(r)){i&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),s){let e=!1;if(s({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(99781);a.default.startTransition(()=>{f(r,i?"replace":"push",!1===o?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,n.current,c,l)})}}(t,K,v,j,E,w,$,F)},onMouseEnter(e){P||"function"!=typeof T||T(e),P&&i.props&&"function"==typeof i.props.onMouseEnter&&i.props.onMouseEnter(e),U&&M&&(0,h.onNavigationIntent)(e.currentTarget,!0===R)},onTouchStart:function(e){P||"function"!=typeof O||O(e),P&&i.props&&"function"==typeof i.props.onTouchStart&&i.props.onTouchStart(e),U&&M&&(0,h.onNavigationIntent)(e.currentTarget,!0===R)}};return(0,d.isAbsoluteUrl)(K)?z.href=K:P&&!N&&("a"!==i.type||"href"in i.props)||(z.href=(0,f.addBasePath)(K)),o=P?a.default.cloneElement(i,z):(0,s.jsx)("a",{...I,...z,children:n}),(0,s.jsx)(y.Provider,{value:k,children:o})}let y=(0,a.createContext)(h.IDLE_LINK_STATUS),b=()=>(0,a.useContext)(y);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return i}});let n=e.r(71645);function i(e,t){let r=(0,n.useRef)(null),i=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(r.current=o(e,n)),t&&(i.current=o(t,n))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let n=e.r(18967),i=e.r(52817);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,i.hasBasePath)(r.pathname)}catch(e){return!1}}},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return c},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return a}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});function o(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function s(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function a(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,s(e));else t.set(r,s(n));return t}function c(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95057,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return a},formatWithValidation:function(){return l},urlObjectKeys:function(){return c}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(90809)._(e.r(98183)),s=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,n=e.protocol||"",i=e.pathname||"",a=e.hash||"",c=e.query||"",l=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?l=t+e.host:r&&(l=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(l+=":"+e.port)),c&&"object"==typeof c&&(c=String(o.urlQueryToSearchParams(c)));let u=e.search||c&&`?${c}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||s.test(n))&&!1!==l?(l="//"+(l||""),i&&"/"!==i[0]&&(i="/"+i)):l||(l=""),a&&"#"!==a[0]&&(a="#"+a),u&&"?"!==u[0]&&(u="?"+u),i=i.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${n}${l}${i}${u}${a}`}let c=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function l(e){return a(e)}},18967,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return k},MiddlewareNotFoundError:function(){return x},MissingStaticPage:function(){return v},NormalizeError:function(){return y},PageNotFoundError:function(){return b},SP:function(){return g},ST:function(){return m},WEB_VITALS:function(){return o},execOnce:function(){return s},getDisplayName:function(){return d},getLocationOrigin:function(){return l},getURL:function(){return u},isAbsoluteUrl:function(){return c},isResSent:function(){return f},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return S}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let a=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,c=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&a.test(e)};function l(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function u(){let{href:e}=window.location,t=l();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let g="u">typeof performance,m=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class k extends Error{}class y extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class v extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class x extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function S(e){return JSON.stringify({message:e.message,stack:e.stack})}}]);