botmancers 0.4.2 → 0.6.1

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 (1045) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/README.md +26 -17
  3. package/app/.next/BUILD_ID +1 -1
  4. package/app/.next/app-path-routes-manifest.json +16 -0
  5. package/app/.next/build-manifest.json +3 -3
  6. package/app/.next/node_modules/@slack/socket-mode-77e8cba3b9ba4738/index.js +1 -0
  7. package/app/.next/node_modules/@slack/socket-mode-77e8cba3b9ba4738/package.json +1 -0
  8. package/app/.next/node_modules/@slack/web-api-d6dbe405b6902642/index.js +1 -0
  9. package/app/.next/node_modules/@slack/web-api-d6dbe405b6902642/package.json +1 -0
  10. package/app/.next/prerender-manifest.json +5 -5
  11. package/app/.next/required-server-files.json +8 -3
  12. package/app/.next/routes-manifest.json +122 -0
  13. package/app/.next/server/app/_global-error/page.js +1 -1
  14. package/app/.next/server/app/_global-error/page.js.nft.json +1 -1
  15. package/app/.next/server/app/_global-error.html +1 -1
  16. package/app/.next/server/app/_global-error.rsc +1 -1
  17. package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  18. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  19. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  20. package/app/.next/server/app/_not-found/page.js +1 -1
  21. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  22. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  23. package/app/.next/server/app/_not-found.html +1 -1
  24. package/app/.next/server/app/_not-found.rsc +2 -2
  25. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  26. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  27. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  28. package/app/.next/server/app/api/agent-deck/decks/route.js +3 -3
  29. package/app/.next/server/app/api/agent-deck/decks/route.js.nft.json +1 -1
  30. package/app/.next/server/app/api/agent-deck/settings/route.js +3 -3
  31. package/app/.next/server/app/api/agent-deck/settings/route.js.nft.json +1 -1
  32. package/app/.next/server/app/api/bots/[id]/config/route.js +3 -3
  33. package/app/.next/server/app/api/bots/[id]/config/route.js.nft.json +1 -1
  34. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route/app-paths-manifest.json +3 -0
  35. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route/build-manifest.json +12 -0
  36. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route/server-reference-manifest.json +4 -0
  37. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route.js +11 -0
  38. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route.js.nft.json +1 -0
  39. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route_client-reference-manifest.js +3 -0
  40. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/route.js +3 -3
  41. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/route.js.nft.json +1 -1
  42. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route/app-paths-manifest.json +3 -0
  43. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route/build-manifest.json +12 -0
  44. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route/server-reference-manifest.json +4 -0
  45. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route.js +11 -0
  46. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route.js.nft.json +1 -0
  47. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route_client-reference-manifest.js +3 -0
  48. package/app/.next/server/app/api/bots/[id]/sessions/route.js +6 -4
  49. package/app/.next/server/app/api/bots/[id]/sessions/route.js.nft.json +1 -1
  50. package/app/.next/server/app/api/bots/[id]/share-policy/route/app-paths-manifest.json +3 -0
  51. package/app/.next/server/app/api/bots/[id]/share-policy/route/build-manifest.json +12 -0
  52. package/app/.next/server/app/api/bots/[id]/share-policy/route/server-reference-manifest.json +4 -0
  53. package/app/.next/server/app/api/bots/[id]/share-policy/route.js +11 -0
  54. package/app/.next/server/app/api/bots/[id]/share-policy/route.js.nft.json +1 -0
  55. package/app/.next/server/app/api/bots/[id]/share-policy/route_client-reference-manifest.js +3 -0
  56. package/app/.next/server/app/api/bots/[id]/skill/route.js +3 -3
  57. package/app/.next/server/app/api/bots/[id]/skill/route.js.nft.json +1 -1
  58. package/app/.next/server/app/api/bots/availability/route.js +2 -2
  59. package/app/.next/server/app/api/bots/availability/route.js.nft.json +1 -1
  60. package/app/.next/server/app/api/bots/delete-preview/route.js +3 -3
  61. package/app/.next/server/app/api/bots/delete-preview/route.js.nft.json +1 -1
  62. package/app/.next/server/app/api/bots/import/route.js +3 -3
  63. package/app/.next/server/app/api/bots/import/route.js.nft.json +1 -1
  64. package/app/.next/server/app/api/bots/manage/route.js +3 -3
  65. package/app/.next/server/app/api/bots/manage/route.js.nft.json +1 -1
  66. package/app/.next/server/app/api/bots/name-migrations/route.js +3 -3
  67. package/app/.next/server/app/api/bots/name-migrations/route.js.nft.json +1 -1
  68. package/app/.next/server/app/api/bots/route.js +6 -6
  69. package/app/.next/server/app/api/bots/route.js.nft.json +1 -1
  70. package/app/.next/server/app/api/conversations/[id]/approve/route.js +3 -3
  71. package/app/.next/server/app/api/conversations/[id]/approve/route.js.nft.json +1 -1
  72. package/app/.next/server/app/api/conversations/[id]/deny/route.js +3 -3
  73. package/app/.next/server/app/api/conversations/[id]/deny/route.js.nft.json +1 -1
  74. package/app/.next/server/app/api/conversations/[id]/draft/route.js +3 -3
  75. package/app/.next/server/app/api/conversations/[id]/draft/route.js.nft.json +1 -1
  76. package/app/.next/server/app/api/conversations/[id]/messages/[messageId]/stop/route.js +3 -3
  77. package/app/.next/server/app/api/conversations/[id]/messages/[messageId]/stop/route.js.nft.json +1 -1
  78. package/app/.next/server/app/api/conversations/[id]/messages/route.js +6 -6
  79. package/app/.next/server/app/api/conversations/[id]/messages/route.js.nft.json +1 -1
  80. package/app/.next/server/app/api/conversations/[id]/route.js +3 -3
  81. package/app/.next/server/app/api/conversations/[id]/route.js.nft.json +1 -1
  82. package/app/.next/server/app/api/conversations/[id]/stop/route.js +6 -6
  83. package/app/.next/server/app/api/conversations/[id]/stop/route.js.nft.json +1 -1
  84. package/app/.next/server/app/api/conversations/route.js +3 -3
  85. package/app/.next/server/app/api/conversations/route.js.nft.json +1 -1
  86. package/app/.next/server/app/api/exchanges/[id]/cancel/route.js +5 -5
  87. package/app/.next/server/app/api/exchanges/[id]/cancel/route.js.nft.json +1 -1
  88. package/app/.next/server/app/api/exchanges/[id]/route.js +5 -5
  89. package/app/.next/server/app/api/exchanges/[id]/route.js.nft.json +1 -1
  90. package/app/.next/server/app/api/exchanges/route.js +5 -5
  91. package/app/.next/server/app/api/exchanges/route.js.nft.json +1 -1
  92. package/app/.next/server/app/api/files/[name]/route.js +3 -2
  93. package/app/.next/server/app/api/files/[name]/route.js.nft.json +1 -1
  94. package/app/.next/server/app/api/groups/route.js +3 -3
  95. package/app/.next/server/app/api/groups/route.js.nft.json +1 -1
  96. package/app/.next/server/app/api/health/route.js +6 -2
  97. package/app/.next/server/app/api/health/route.js.nft.json +1 -1
  98. package/app/.next/server/app/api/import-capabilities/route.js +1 -1
  99. package/app/.next/server/app/api/import-capabilities/route.js.nft.json +1 -1
  100. package/app/.next/server/app/api/marketplace-handoff/route.js +1 -1
  101. package/app/.next/server/app/api/marketplace-handoff/route.js.nft.json +1 -1
  102. package/app/.next/server/app/api/marketplace-handoff/status/route.js +1 -1
  103. package/app/.next/server/app/api/marketplace-handoff/status/route.js.nft.json +1 -1
  104. package/app/.next/server/app/api/mcp/route.js +3 -3
  105. package/app/.next/server/app/api/mcp/route.js.nft.json +1 -1
  106. package/app/.next/server/app/api/messages/[id]/between/route.js +3 -3
  107. package/app/.next/server/app/api/messages/[id]/between/route.js.nft.json +1 -1
  108. package/app/.next/server/app/api/runtime-connections/route/app-paths-manifest.json +3 -0
  109. package/app/.next/server/app/api/runtime-connections/route/build-manifest.json +12 -0
  110. package/app/.next/server/app/api/runtime-connections/route/server-reference-manifest.json +4 -0
  111. package/app/.next/server/app/api/runtime-connections/route.js +9 -0
  112. package/app/.next/server/app/api/runtime-connections/route.js.nft.json +1 -0
  113. package/app/.next/server/app/api/runtime-connections/route_client-reference-manifest.js +3 -0
  114. package/app/.next/server/app/api/service-grants/route.js +3 -3
  115. package/app/.next/server/app/api/service-grants/route.js.nft.json +1 -1
  116. package/app/.next/server/app/api/shares/[shareRef]/revoke/route/app-paths-manifest.json +3 -0
  117. package/app/.next/server/app/api/shares/[shareRef]/revoke/route/build-manifest.json +12 -0
  118. package/app/.next/server/app/api/shares/[shareRef]/revoke/route/server-reference-manifest.json +4 -0
  119. package/app/.next/server/app/api/shares/[shareRef]/revoke/route.js +11 -0
  120. package/app/.next/server/app/api/shares/[shareRef]/revoke/route.js.nft.json +1 -0
  121. package/app/.next/server/app/api/shares/[shareRef]/revoke/route_client-reference-manifest.js +3 -0
  122. package/app/.next/server/app/api/shares/route/app-paths-manifest.json +3 -0
  123. package/app/.next/server/app/api/shares/route/build-manifest.json +12 -0
  124. package/app/.next/server/app/api/shares/route/server-reference-manifest.json +4 -0
  125. package/app/.next/server/app/api/shares/route.js +11 -0
  126. package/app/.next/server/app/api/shares/route.js.nft.json +1 -0
  127. package/app/.next/server/app/api/shares/route_client-reference-manifest.js +3 -0
  128. package/app/.next/server/app/api/v0/agents/[agentId]/conversations/[conversationId]/route.js +6 -6
  129. package/app/.next/server/app/api/v0/agents/[agentId]/conversations/[conversationId]/route.js.nft.json +1 -1
  130. package/app/.next/server/app/api/v0/agents/[agentId]/conversations/route.js +6 -6
  131. package/app/.next/server/app/api/v0/agents/[agentId]/conversations/route.js.nft.json +1 -1
  132. package/app/.next/server/app/api/v0/agents/[agentId]/messages/route.js +5 -5
  133. package/app/.next/server/app/api/v0/agents/[agentId]/messages/route.js.nft.json +1 -1
  134. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route/app-paths-manifest.json +3 -0
  135. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route/build-manifest.json +12 -0
  136. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route/server-reference-manifest.json +4 -0
  137. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route.js +11 -0
  138. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route.js.nft.json +1 -0
  139. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route_client-reference-manifest.js +3 -0
  140. package/app/.next/server/app/api/v0/agents/[agentId]/route.js +6 -6
  141. package/app/.next/server/app/api/v0/agents/[agentId]/route.js.nft.json +1 -1
  142. package/app/.next/server/app/api/v0/agents/[agentId]/sessions/[ref]/route.js +6 -6
  143. package/app/.next/server/app/api/v0/agents/[agentId]/sessions/[ref]/route.js.nft.json +1 -1
  144. package/app/.next/server/app/api/v0/agents/[agentId]/sessions/route.js +6 -6
  145. package/app/.next/server/app/api/v0/agents/[agentId]/sessions/route.js.nft.json +1 -1
  146. package/app/.next/server/app/api/v0/agents/route.js +6 -6
  147. package/app/.next/server/app/api/v0/agents/route.js.nft.json +1 -1
  148. package/app/.next/server/app/api/v0/capabilities/route.js +6 -6
  149. package/app/.next/server/app/api/v0/capabilities/route.js.nft.json +1 -1
  150. package/app/.next/server/app/api/v0/conversations/[id]/route.js +5 -5
  151. package/app/.next/server/app/api/v0/conversations/[id]/route.js.nft.json +1 -1
  152. package/app/.next/server/app/api/v0/exchanges/[id]/cancel/route.js +6 -6
  153. package/app/.next/server/app/api/v0/exchanges/[id]/cancel/route.js.nft.json +1 -1
  154. package/app/.next/server/app/api/v0/exchanges/[id]/route.js +6 -6
  155. package/app/.next/server/app/api/v0/exchanges/[id]/route.js.nft.json +1 -1
  156. package/app/.next/server/app/api/v0/exchanges/route.js +6 -6
  157. package/app/.next/server/app/api/v0/exchanges/route.js.nft.json +1 -1
  158. package/app/.next/server/app/api/v0/mcp/route.js +6 -6
  159. package/app/.next/server/app/api/v0/mcp/route.js.nft.json +1 -1
  160. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route/app-paths-manifest.json +3 -0
  161. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route/build-manifest.json +12 -0
  162. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route/server-reference-manifest.json +4 -0
  163. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route.js +11 -0
  164. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route.js.nft.json +1 -0
  165. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route_client-reference-manifest.js +3 -0
  166. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route/app-paths-manifest.json +3 -0
  167. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route/build-manifest.json +12 -0
  168. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route/server-reference-manifest.json +4 -0
  169. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route.js +11 -0
  170. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route.js.nft.json +1 -0
  171. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route_client-reference-manifest.js +3 -0
  172. package/app/.next/server/app/api/v0/pins/[pinRef]/route/app-paths-manifest.json +3 -0
  173. package/app/.next/server/app/api/v0/pins/[pinRef]/route/build-manifest.json +12 -0
  174. package/app/.next/server/app/api/v0/pins/[pinRef]/route/server-reference-manifest.json +4 -0
  175. package/app/.next/server/app/api/v0/pins/[pinRef]/route.js +11 -0
  176. package/app/.next/server/app/api/v0/pins/[pinRef]/route.js.nft.json +1 -0
  177. package/app/.next/server/app/api/v0/pins/[pinRef]/route_client-reference-manifest.js +3 -0
  178. package/app/.next/server/app/api/v0/requests/[id]/route.js +5 -5
  179. package/app/.next/server/app/api/v0/requests/[id]/route.js.nft.json +1 -1
  180. package/app/.next/server/app/api/v0/sessions/[ref]/messages/route.js +6 -6
  181. package/app/.next/server/app/api/v0/sessions/[ref]/messages/route.js.nft.json +1 -1
  182. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route/app-paths-manifest.json +3 -0
  183. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route/build-manifest.json +12 -0
  184. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route/server-reference-manifest.json +4 -0
  185. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route.js +11 -0
  186. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route.js.nft.json +1 -0
  187. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route_client-reference-manifest.js +3 -0
  188. package/app/.next/server/app/api/v0/sessions/[ref]/shares/route/app-paths-manifest.json +3 -0
  189. package/app/.next/server/app/api/v0/sessions/[ref]/shares/route/build-manifest.json +12 -0
  190. package/app/.next/server/app/api/v0/sessions/[ref]/shares/route/server-reference-manifest.json +4 -0
  191. package/app/.next/server/app/api/v0/sessions/[ref]/shares/route.js +11 -0
  192. package/app/.next/server/app/api/v0/sessions/[ref]/shares/route.js.nft.json +1 -0
  193. package/app/.next/server/app/api/v0/sessions/[ref]/shares/route_client-reference-manifest.js +3 -0
  194. package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route/app-paths-manifest.json +3 -0
  195. package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route/build-manifest.json +12 -0
  196. package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route/server-reference-manifest.json +4 -0
  197. package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route.js +11 -0
  198. package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route.js.nft.json +1 -0
  199. package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route_client-reference-manifest.js +3 -0
  200. package/app/.next/server/app/api/v0/shares/[shareRef]/route/app-paths-manifest.json +3 -0
  201. package/app/.next/server/app/api/v0/shares/[shareRef]/route/build-manifest.json +12 -0
  202. package/app/.next/server/app/api/v0/shares/[shareRef]/route/server-reference-manifest.json +4 -0
  203. package/app/.next/server/app/api/v0/shares/[shareRef]/route.js +11 -0
  204. package/app/.next/server/app/api/v0/shares/[shareRef]/route.js.nft.json +1 -0
  205. package/app/.next/server/app/api/v0/shares/[shareRef]/route_client-reference-manifest.js +3 -0
  206. package/app/.next/server/app/api/v0/shares/current/route/app-paths-manifest.json +3 -0
  207. package/app/.next/server/app/api/v0/shares/current/route/build-manifest.json +12 -0
  208. package/app/.next/server/app/api/v0/shares/current/route/server-reference-manifest.json +4 -0
  209. package/app/.next/server/app/api/v0/shares/current/route.js +11 -0
  210. package/app/.next/server/app/api/v0/shares/current/route.js.nft.json +1 -0
  211. package/app/.next/server/app/api/v0/shares/current/route_client-reference-manifest.js +3 -0
  212. package/app/.next/server/app/api/v0/shares/route/app-paths-manifest.json +3 -0
  213. package/app/.next/server/app/api/v0/shares/route/build-manifest.json +12 -0
  214. package/app/.next/server/app/api/v0/shares/route/server-reference-manifest.json +4 -0
  215. package/app/.next/server/app/api/v0/shares/route.js +11 -0
  216. package/app/.next/server/app/api/v0/shares/route.js.nft.json +1 -0
  217. package/app/.next/server/app/api/v0/shares/route_client-reference-manifest.js +3 -0
  218. package/app/.next/server/app/api/wake-grants/[id]/revoke/route.js +5 -5
  219. package/app/.next/server/app/api/wake-grants/[id]/revoke/route.js.nft.json +1 -1
  220. package/app/.next/server/app/api/wakes/[id]/decision/route.js +5 -5
  221. package/app/.next/server/app/api/wakes/[id]/decision/route.js.nft.json +1 -1
  222. package/app/.next/server/app/api/wakes/[id]/retry/route.js +5 -5
  223. package/app/.next/server/app/api/wakes/[id]/retry/route.js.nft.json +1 -1
  224. package/app/.next/server/app/bots/[id]/config/page.js +1 -1
  225. package/app/.next/server/app/bots/[id]/config/page.js.nft.json +1 -1
  226. package/app/.next/server/app/bots/[id]/config/page_client-reference-manifest.js +1 -1
  227. package/app/.next/server/app/exchanges/page.js +1 -1
  228. package/app/.next/server/app/exchanges/page.js.nft.json +1 -1
  229. package/app/.next/server/app/exchanges/page_client-reference-manifest.js +1 -1
  230. package/app/.next/server/app/exchanges.html +1 -1
  231. package/app/.next/server/app/exchanges.rsc +3 -3
  232. package/app/.next/server/app/exchanges.segments/_full.segment.rsc +3 -3
  233. package/app/.next/server/app/exchanges.segments/_tree.segment.rsc +2 -2
  234. package/app/.next/server/app/exchanges.segments/exchanges/__PAGE__.segment.rsc +3 -3
  235. package/app/.next/server/app/index.html +1 -1
  236. package/app/.next/server/app/index.rsc +3 -3
  237. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  238. package/app/.next/server/app/index.segments/_full.segment.rsc +3 -3
  239. package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  240. package/app/.next/server/app/page.js +1 -1
  241. package/app/.next/server/app/page.js.nft.json +1 -1
  242. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  243. package/app/.next/server/app/settings/page.js +1 -1
  244. package/app/.next/server/app/settings/page.js.nft.json +1 -1
  245. package/app/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  246. package/app/.next/server/app/settings.html +1 -1
  247. package/app/.next/server/app/settings.rsc +3 -3
  248. package/app/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  249. package/app/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  250. package/app/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +3 -3
  251. package/app/.next/server/app/threads/[id]/page.js +1 -1
  252. package/app/.next/server/app/threads/[id]/page.js.nft.json +1 -1
  253. package/app/.next/server/app/threads/[id]/page_client-reference-manifest.js +1 -1
  254. package/app/.next/server/app-paths-manifest.json +16 -0
  255. package/app/.next/server/chunks/1oeh_server_app_api_bots_[id]_sessions_[ref]_pins_route_actions_0e1st6o.js +3 -0
  256. package/app/.next/server/chunks/1oeh_server_app_api_bots_[id]_sessions_[ref]_shares_route_actions_1jr6f0v.js +3 -0
  257. package/app/.next/server/chunks/[externals]_@slack_0owayck._.js +3 -0
  258. package/app/.next/server/chunks/[externals]__17bolvp._.js +3 -0
  259. package/app/.next/server/chunks/{[externals]__06lqs5i._.js → [externals]__1eaoma8._.js} +1 -1
  260. package/app/.next/server/chunks/[root-of-the-server]__0-vcyi-._.js +3 -0
  261. package/app/.next/server/chunks/[root-of-the-server]__0-w_t2y._.js +3 -0
  262. package/app/.next/server/chunks/{[root-of-the-server]__17oz13o._.js → [root-of-the-server]__029-_9t._.js} +3 -3
  263. package/app/.next/server/chunks/[root-of-the-server]__02kssr-._.js +3 -0
  264. package/app/.next/server/chunks/[root-of-the-server]__02vrtib._.js +4 -0
  265. package/app/.next/server/chunks/[root-of-the-server]__04b3ml2._.js +3 -0
  266. package/app/.next/server/chunks/[root-of-the-server]__06w5xhe._.js +3 -0
  267. package/app/.next/server/chunks/[root-of-the-server]__07q5mnr._.js +3 -0
  268. package/app/.next/server/chunks/[root-of-the-server]__0888o0_._.js +3 -0
  269. package/app/.next/server/chunks/[root-of-the-server]__0aincj4._.js +3 -0
  270. package/app/.next/server/chunks/[root-of-the-server]__0e_agq4._.js +3 -0
  271. package/app/.next/server/chunks/[root-of-the-server]__0ey3_2x._.js +3 -0
  272. package/app/.next/server/chunks/[root-of-the-server]__0fku-bw._.js +3 -0
  273. package/app/.next/server/chunks/[root-of-the-server]__0iqh5ta._.js +3 -0
  274. package/app/.next/server/chunks/[root-of-the-server]__0ivjcgs._.js +4 -0
  275. package/app/.next/server/chunks/[root-of-the-server]__0j4pjyg._.js +3 -0
  276. package/app/.next/server/chunks/[root-of-the-server]__0kgnysc._.js +3 -0
  277. package/app/.next/server/chunks/[root-of-the-server]__0lwsto-._.js +5 -0
  278. package/app/.next/server/chunks/[root-of-the-server]__0mo_kn3._.js +48 -0
  279. package/app/.next/server/chunks/[root-of-the-server]__0mp8bap._.js +3 -0
  280. package/app/.next/server/chunks/[root-of-the-server]__0o9ijih._.js +3 -0
  281. package/app/.next/server/chunks/[root-of-the-server]__0qaiqut._.js +44 -0
  282. package/app/.next/server/chunks/[root-of-the-server]__0s1enbp._.js +3 -0
  283. package/app/.next/server/chunks/[root-of-the-server]__0wg992i._.js +3 -0
  284. package/app/.next/server/chunks/[root-of-the-server]__0zrx1iz._.js +3 -0
  285. package/app/.next/server/chunks/[root-of-the-server]__10b5-i-._.js +3 -0
  286. package/app/.next/server/chunks/[root-of-the-server]__17mum5-._.js +3 -0
  287. package/app/.next/server/chunks/[root-of-the-server]__17xl_55._.js +3 -0
  288. package/app/.next/server/chunks/[root-of-the-server]__1bhzfu_._.js +7 -0
  289. package/app/.next/server/chunks/[root-of-the-server]__1dxr858._.js +3 -0
  290. package/app/.next/server/chunks/[root-of-the-server]__1eps2a4._.js +3 -0
  291. package/app/.next/server/chunks/[root-of-the-server]__1g_n99l._.js +3 -0
  292. package/app/.next/server/chunks/[root-of-the-server]__1ggmit0._.js +4 -0
  293. package/app/.next/server/chunks/[root-of-the-server]__1hwy3jx._.js +3 -0
  294. package/app/.next/server/chunks/[root-of-the-server]__1i388e2._.js +3 -0
  295. package/app/.next/server/chunks/[root-of-the-server]__1i8glt4._.js +4 -0
  296. package/app/.next/server/chunks/{[root-of-the-server]__0j0i8xz._.js → [root-of-the-server]__1igzl05._.js} +1 -1
  297. package/app/.next/server/chunks/[root-of-the-server]__1kczttr._.js +3 -0
  298. package/app/.next/server/chunks/{[root-of-the-server]__1c3e2ds._.js → [root-of-the-server]__1kik2zt._.js} +1 -1
  299. package/app/.next/server/chunks/[root-of-the-server]__1t4ybp2._.js +48 -0
  300. package/app/.next/server/chunks/[root-of-the-server]__1v3ikuo._.js +3 -0
  301. package/app/.next/server/chunks/{[root-of-the-server]__0-45blq._.js → [root-of-the-server]__1z5l5cg._.js} +2 -2
  302. package/app/.next/server/chunks/[root-of-the-server]__200ep0k._.js +3 -0
  303. package/app/.next/server/chunks/_0061c2q._.js +50 -0
  304. package/app/.next/server/chunks/_04e2bgj._.js +3 -0
  305. package/app/.next/server/chunks/_05po7b4._.js +3 -0
  306. package/app/.next/server/chunks/_06sxx0e._.js +3 -0
  307. package/app/.next/server/chunks/_0a2do3x._.js +1 -1
  308. package/app/.next/server/chunks/_0ar2ooe._.js +3 -0
  309. package/app/.next/server/chunks/_0fmotaz._.js +3 -0
  310. package/app/.next/server/chunks/_0i8_xso._.js +3 -0
  311. package/app/.next/server/chunks/_0kpfto_._.js +3 -0
  312. package/app/.next/server/chunks/_0lm6uis._.js +3 -0
  313. package/app/.next/server/chunks/_0mpu5tl._.js +3 -0
  314. package/app/.next/server/chunks/_0qv-4by._.js +3 -0
  315. package/app/.next/server/chunks/_0u9cfq9._.js +3 -0
  316. package/app/.next/server/chunks/_0ul8k7g._.js +3 -0
  317. package/app/.next/server/chunks/_1-5mthb._.js +1 -1
  318. package/app/.next/server/chunks/_1-60d3o._.js +3 -0
  319. package/app/.next/server/chunks/_11-q8k1._.js +3 -0
  320. package/app/.next/server/chunks/_133y3b0._.js +3 -0
  321. package/app/.next/server/chunks/_167960a._.js +3 -0
  322. package/app/.next/server/chunks/_17vgjlt._.js +3 -0
  323. package/app/.next/server/chunks/_1amx9_4._.js +3 -0
  324. package/app/.next/server/chunks/_1b01v-_._.js +3 -0
  325. package/app/.next/server/chunks/_1c-g4gq._.js +3 -0
  326. package/app/.next/server/chunks/_1ess5if._.js +3 -0
  327. package/app/.next/server/chunks/_1ey6l4p._.js +3 -0
  328. package/app/.next/server/chunks/_1i0zod4._.js +3 -0
  329. package/app/.next/server/chunks/_1nlg4x_._.js +3 -0
  330. package/app/.next/server/chunks/_1x4dqzv._.js +3 -0
  331. package/app/.next/server/chunks/_1z0qbzc._.js +3 -0
  332. package/app/.next/server/chunks/_next-internal_server_app_api_bots_[id]_share-policy_route_actions_0x-p250.js +3 -0
  333. package/app/.next/server/chunks/_next-internal_server_app_api_runtime-connections_route_actions_06rulng.js +3 -0
  334. package/app/.next/server/chunks/_next-internal_server_app_api_shares_[shareRef]_revoke_route_actions_1cu5kah.js +3 -0
  335. package/app/.next/server/chunks/_next-internal_server_app_api_shares_route_actions_0wk7x1r.js +3 -0
  336. package/app/.next/server/chunks/_next-internal_server_app_api_v0_agents_[agentId]_pins_route_actions_08uftk9.js +3 -0
  337. package/app/.next/server/chunks/_next-internal_server_app_api_v0_pins_[pinRef]_detach_route_actions_0nk3268.js +3 -0
  338. package/app/.next/server/chunks/_next-internal_server_app_api_v0_pins_[pinRef]_messages_route_actions_1wenu96.js +3 -0
  339. package/app/.next/server/chunks/_next-internal_server_app_api_v0_pins_[pinRef]_route_actions_0z7fu_c.js +3 -0
  340. package/app/.next/server/chunks/_next-internal_server_app_api_v0_sessions_[ref]_pins_route_actions_0y3ere3.js +3 -0
  341. package/app/.next/server/chunks/_next-internal_server_app_api_v0_sessions_[ref]_shares_route_actions_11fh--7.js +3 -0
  342. package/app/.next/server/chunks/_next-internal_server_app_api_v0_shares_[shareRef]_revoke_route_actions_00rzyj9.js +3 -0
  343. package/app/.next/server/chunks/_next-internal_server_app_api_v0_shares_[shareRef]_route_actions_0i1t5qb.js +3 -0
  344. package/app/.next/server/chunks/_next-internal_server_app_api_v0_shares_current_route_actions_1w_bpas.js +3 -0
  345. package/app/.next/server/chunks/_next-internal_server_app_api_v0_shares_route_actions_1b38was.js +3 -0
  346. package/app/.next/server/chunks/lib_0kik6bx._.js +1 -1
  347. package/app/.next/server/chunks/lib_0pe3tiv._.js +1 -1
  348. package/app/.next/server/chunks/lib_0v4d9w0._.js +339 -0
  349. package/app/.next/server/chunks/lib_0zzo6zb._.js +339 -0
  350. package/app/.next/server/chunks/lib_15adnlz._.js +2189 -0
  351. package/app/.next/server/chunks/lib_1_u7n-u._.js +339 -0
  352. package/app/.next/server/chunks/lib_1muhwn7._.js +339 -0
  353. package/app/.next/server/chunks/lib_1xnxg-q._.js +339 -0
  354. package/app/.next/server/chunks/lib_1zc7-gl._.js +2189 -0
  355. package/app/.next/server/chunks/lib_agent-api_ts_0iv52-o._.js +3 -0
  356. package/app/.next/server/chunks/lib_db_ts_1ttuckb._.js +1951 -0
  357. package/app/.next/server/chunks/lib_service-api-http_ts_0xzqhny._.js +5 -5
  358. package/app/.next/server/chunks/lib_slack-runtime_ts_0fgsejy._.js +63 -0
  359. package/app/.next/server/chunks/ssr/{[root-of-the-server]__03186rx._.js → [root-of-the-server]__1smmfpx._.js} +1 -1
  360. package/app/.next/server/chunks/ssr/_0_fa0na._.js +3 -0
  361. package/app/.next/server/chunks/ssr/_0epgorw._.js +3 -0
  362. package/app/.next/server/chunks/ssr/_1cvuhjt._.js +3 -0
  363. package/app/.next/server/chunks/ssr/_1i02yyi._.js +3 -0
  364. package/app/.next/server/chunks/ssr/_1n5mvo5._.js +3 -0
  365. package/app/.next/server/chunks/ssr/_1o94bnv._.js +1 -1
  366. package/app/.next/server/chunks/ssr/app_bots_[id]_config_page_tsx_1e0uue9._.js +1 -1
  367. package/app/.next/server/chunks/ssr/app_components_AgentDeckRuntime_tsx_024janf._.js +1 -1
  368. package/app/.next/server/chunks/ssr/app_exchanges_page_tsx_0j-n2a1._.js +3 -0
  369. package/app/.next/server/chunks/ssr/node_modules_@swc_helpers_cjs__interop_require_default_cjs_1ztp13a._.js +3 -0
  370. package/app/.next/server/instrumentation.js +4 -0
  371. package/app/.next/server/middleware-build-manifest.js +3 -3
  372. package/app/.next/server/middleware.js +1 -1
  373. package/app/.next/server/pages/404.html +1 -1
  374. package/app/.next/server/pages/500.html +1 -1
  375. package/app/.next/server/server-reference-manifest.js +1 -1
  376. package/app/.next/server/server-reference-manifest.json +1 -1
  377. package/app/.next/static/chunks/0jon21u-9j2aw.css +3 -0
  378. package/app/.next/static/chunks/14k6cvywgknx2.js +3 -0
  379. package/app/.next/static/chunks/1ku9himlsx-hn.js +1 -0
  380. package/app/.next/static/chunks/1r5tqd-7h1xjn.js +1 -0
  381. package/app/.next/static/chunks/21aqekm5z0j47.js +1 -0
  382. package/app/.next/static/chunks/22xbkclbkct3s.js +1 -0
  383. package/app/.next/static/chunks/2c953okoei6ip.js +1 -0
  384. package/app/.next/static/chunks/2t_2gf3xoxz_m.js +1 -0
  385. package/app/.next/static/chunks/34vnvo1qssbaj.js +1 -0
  386. package/app/BUILD_INFO.json +2 -2
  387. package/app/node_modules/@slack/logger/dist/index.js +94 -0
  388. package/app/node_modules/@slack/logger/package.json +43 -0
  389. package/app/node_modules/@slack/socket-mode/dist/package.json +67 -0
  390. package/app/node_modules/@slack/socket-mode/dist/src/SlackWebSocket.js +242 -0
  391. package/app/node_modules/@slack/socket-mode/dist/src/SocketModeClient.js +363 -0
  392. package/app/node_modules/@slack/socket-mode/dist/src/UnrecoverableSocketModeStartError.js +14 -0
  393. package/app/node_modules/@slack/socket-mode/dist/src/errors.js +68 -0
  394. package/app/node_modules/@slack/socket-mode/dist/src/index.js +13 -0
  395. package/app/node_modules/@slack/socket-mode/dist/src/logger.js +26 -0
  396. package/app/node_modules/@slack/socket-mode/package.json +67 -0
  397. package/app/node_modules/@slack/types/dist/block-kit/block-elements.js +4 -0
  398. package/app/node_modules/@slack/types/dist/block-kit/blocks.js +3 -0
  399. package/app/node_modules/@slack/types/dist/block-kit/composition-objects.js +4 -0
  400. package/app/node_modules/@slack/types/dist/block-kit/extensions.js +3 -0
  401. package/app/node_modules/@slack/types/dist/calls.js +6 -0
  402. package/app/node_modules/@slack/types/dist/chunk.js +3 -0
  403. package/app/node_modules/@slack/types/dist/dialog.js +3 -0
  404. package/app/node_modules/@slack/types/dist/events/app.js +3 -0
  405. package/app/node_modules/@slack/types/dist/events/assistant.js +3 -0
  406. package/app/node_modules/@slack/types/dist/events/call.js +3 -0
  407. package/app/node_modules/@slack/types/dist/events/channel.js +3 -0
  408. package/app/node_modules/@slack/types/dist/events/dnd.js +3 -0
  409. package/app/node_modules/@slack/types/dist/events/email.js +3 -0
  410. package/app/node_modules/@slack/types/dist/events/emoji.js +3 -0
  411. package/app/node_modules/@slack/types/dist/events/file.js +4 -0
  412. package/app/node_modules/@slack/types/dist/events/function.js +3 -0
  413. package/app/node_modules/@slack/types/dist/events/grid-migration.js +3 -0
  414. package/app/node_modules/@slack/types/dist/events/group.js +3 -0
  415. package/app/node_modules/@slack/types/dist/events/im.js +3 -0
  416. package/app/node_modules/@slack/types/dist/events/index.js +43 -0
  417. package/app/node_modules/@slack/types/dist/events/invite.js +3 -0
  418. package/app/node_modules/@slack/types/dist/events/link-shared.js +3 -0
  419. package/app/node_modules/@slack/types/dist/events/member.js +3 -0
  420. package/app/node_modules/@slack/types/dist/events/message-metadata.js +3 -0
  421. package/app/node_modules/@slack/types/dist/events/message.js +3 -0
  422. package/app/node_modules/@slack/types/dist/events/pin.js +3 -0
  423. package/app/node_modules/@slack/types/dist/events/reaction.js +3 -0
  424. package/app/node_modules/@slack/types/dist/events/shared-channel.js +3 -0
  425. package/app/node_modules/@slack/types/dist/events/star.js +3 -0
  426. package/app/node_modules/@slack/types/dist/events/steps-from-apps.js +3 -0
  427. package/app/node_modules/@slack/types/dist/events/subteam.js +3 -0
  428. package/app/node_modules/@slack/types/dist/events/team.js +3 -0
  429. package/app/node_modules/@slack/types/dist/events/token.js +3 -0
  430. package/app/node_modules/@slack/types/dist/events/user.js +3 -0
  431. package/app/node_modules/@slack/types/dist/index.js +28 -0
  432. package/app/node_modules/@slack/types/dist/message-attachments.js +3 -0
  433. package/app/node_modules/@slack/types/dist/message-metadata.js +27 -0
  434. package/app/node_modules/@slack/types/dist/views.js +3 -0
  435. package/app/node_modules/@slack/types/package.json +47 -0
  436. package/app/node_modules/@slack/web-api/dist/WebClient.js +818 -0
  437. package/app/node_modules/@slack/web-api/dist/chat-stream.js +178 -0
  438. package/app/node_modules/@slack/web-api/dist/errors.js +80 -0
  439. package/app/node_modules/@slack/web-api/dist/file-upload.js +360 -0
  440. package/app/node_modules/@slack/web-api/dist/helpers.js +14 -0
  441. package/app/node_modules/@slack/web-api/dist/index.js +39 -0
  442. package/app/node_modules/@slack/web-api/dist/instrument.js +87 -0
  443. package/app/node_modules/@slack/web-api/dist/logger.js +29 -0
  444. package/app/node_modules/@slack/web-api/dist/methods.js +1647 -0
  445. package/app/node_modules/@slack/web-api/dist/retry-policies.js +34 -0
  446. package/app/node_modules/@slack/web-api/dist/types/helpers.js +3 -0
  447. package/app/node_modules/@slack/web-api/dist/types/request/admin/analytics.js +3 -0
  448. package/app/node_modules/@slack/web-api/dist/types/request/admin/apps.js +3 -0
  449. package/app/node_modules/@slack/web-api/dist/types/request/admin/auth.js +3 -0
  450. package/app/node_modules/@slack/web-api/dist/types/request/admin/barriers.js +3 -0
  451. package/app/node_modules/@slack/web-api/dist/types/request/admin/conversations.js +3 -0
  452. package/app/node_modules/@slack/web-api/dist/types/request/admin/emoji.js +3 -0
  453. package/app/node_modules/@slack/web-api/dist/types/request/admin/functions.js +3 -0
  454. package/app/node_modules/@slack/web-api/dist/types/request/admin/inviteRequests.js +3 -0
  455. package/app/node_modules/@slack/web-api/dist/types/request/admin/roles.js +3 -0
  456. package/app/node_modules/@slack/web-api/dist/types/request/admin/teams.js +3 -0
  457. package/app/node_modules/@slack/web-api/dist/types/request/admin/usergroups.js +3 -0
  458. package/app/node_modules/@slack/web-api/dist/types/request/admin/users.js +3 -0
  459. package/app/node_modules/@slack/web-api/dist/types/request/admin/workflows.js +3 -0
  460. package/app/node_modules/@slack/web-api/dist/types/request/api.js +3 -0
  461. package/app/node_modules/@slack/web-api/dist/types/request/apps.js +3 -0
  462. package/app/node_modules/@slack/web-api/dist/types/request/assistant.js +3 -0
  463. package/app/node_modules/@slack/web-api/dist/types/request/auth.js +3 -0
  464. package/app/node_modules/@slack/web-api/dist/types/request/bookmarks.js +3 -0
  465. package/app/node_modules/@slack/web-api/dist/types/request/bots.js +3 -0
  466. package/app/node_modules/@slack/web-api/dist/types/request/calls.js +3 -0
  467. package/app/node_modules/@slack/web-api/dist/types/request/canvas.js +3 -0
  468. package/app/node_modules/@slack/web-api/dist/types/request/chat.js +3 -0
  469. package/app/node_modules/@slack/web-api/dist/types/request/common.js +4 -0
  470. package/app/node_modules/@slack/web-api/dist/types/request/conversations.js +3 -0
  471. package/app/node_modules/@slack/web-api/dist/types/request/dialog.js +3 -0
  472. package/app/node_modules/@slack/web-api/dist/types/request/dnd.js +3 -0
  473. package/app/node_modules/@slack/web-api/dist/types/request/emoji.js +3 -0
  474. package/app/node_modules/@slack/web-api/dist/types/request/entity.js +3 -0
  475. package/app/node_modules/@slack/web-api/dist/types/request/files.js +3 -0
  476. package/app/node_modules/@slack/web-api/dist/types/request/functions.js +3 -0
  477. package/app/node_modules/@slack/web-api/dist/types/request/index.js +3 -0
  478. package/app/node_modules/@slack/web-api/dist/types/request/manifest.js +3 -0
  479. package/app/node_modules/@slack/web-api/dist/types/request/migration.js +3 -0
  480. package/app/node_modules/@slack/web-api/dist/types/request/oauth.js +3 -0
  481. package/app/node_modules/@slack/web-api/dist/types/request/openid.js +3 -0
  482. package/app/node_modules/@slack/web-api/dist/types/request/pins.js +3 -0
  483. package/app/node_modules/@slack/web-api/dist/types/request/reactions.js +3 -0
  484. package/app/node_modules/@slack/web-api/dist/types/request/reminders.js +3 -0
  485. package/app/node_modules/@slack/web-api/dist/types/request/rtm.js +3 -0
  486. package/app/node_modules/@slack/web-api/dist/types/request/search.js +3 -0
  487. package/app/node_modules/@slack/web-api/dist/types/request/slackLists.js +3 -0
  488. package/app/node_modules/@slack/web-api/dist/types/request/stars.js +3 -0
  489. package/app/node_modules/@slack/web-api/dist/types/request/team.js +3 -0
  490. package/app/node_modules/@slack/web-api/dist/types/request/tooling.js +3 -0
  491. package/app/node_modules/@slack/web-api/dist/types/request/usergroups.js +3 -0
  492. package/app/node_modules/@slack/web-api/dist/types/request/users.js +3 -0
  493. package/app/node_modules/@slack/web-api/dist/types/request/views.js +3 -0
  494. package/app/node_modules/@slack/web-api/dist/types/request/workflows.js +3 -0
  495. package/app/node_modules/@slack/web-api/dist/types/response/AdminAnalyticsGetFileResponse.js +3 -0
  496. package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsActivitiesListResponse.js +11 -0
  497. package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsApproveResponse.js +11 -0
  498. package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsApprovedListResponse.js +11 -0
  499. package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsClearResolutionResponse.js +11 -0
  500. package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsConfigLookupResponse.js +11 -0
  501. package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsConfigSetResponse.js +11 -0
  502. package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsRequestsCancelResponse.js +11 -0
  503. package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsRequestsListResponse.js +11 -0
  504. package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsRestrictResponse.js +11 -0
  505. package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsRestrictedListResponse.js +11 -0
  506. package/app/node_modules/@slack/web-api/dist/types/response/AdminAppsUninstallResponse.js +11 -0
  507. package/app/node_modules/@slack/web-api/dist/types/response/AdminAuthPolicyAssignEntitiesResponse.js +11 -0
  508. package/app/node_modules/@slack/web-api/dist/types/response/AdminAuthPolicyGetEntitiesResponse.js +11 -0
  509. package/app/node_modules/@slack/web-api/dist/types/response/AdminAuthPolicyRemoveEntitiesResponse.js +11 -0
  510. package/app/node_modules/@slack/web-api/dist/types/response/AdminBarriersCreateResponse.js +11 -0
  511. package/app/node_modules/@slack/web-api/dist/types/response/AdminBarriersDeleteResponse.js +11 -0
  512. package/app/node_modules/@slack/web-api/dist/types/response/AdminBarriersListResponse.js +11 -0
  513. package/app/node_modules/@slack/web-api/dist/types/response/AdminBarriersUpdateResponse.js +11 -0
  514. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsArchiveResponse.js +11 -0
  515. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsBulkArchiveResponse.js +11 -0
  516. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsBulkDeleteResponse.js +11 -0
  517. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsBulkMoveResponse.js +11 -0
  518. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsConvertToPrivateResponse.js +11 -0
  519. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsConvertToPublicResponse.js +11 -0
  520. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsCreateResponse.js +11 -0
  521. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsDeleteResponse.js +11 -0
  522. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsDisconnectSharedResponse.js +11 -0
  523. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsEkmListOriginalConnectedChannelInfoResponse.js +11 -0
  524. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsGetConversationPrefsResponse.js +11 -0
  525. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsGetCustomRetentionResponse.js +11 -0
  526. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsGetTeamsResponse.js +11 -0
  527. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsInviteResponse.js +11 -0
  528. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsLookupResponse.js +11 -0
  529. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsRemoveCustomRetentionResponse.js +11 -0
  530. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsRenameResponse.js +11 -0
  531. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsRestrictAccessAddGroupResponse.js +11 -0
  532. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsRestrictAccessListGroupsResponse.js +11 -0
  533. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsRestrictAccessRemoveGroupResponse.js +11 -0
  534. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsSearchResponse.js +11 -0
  535. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsSetConversationPrefsResponse.js +11 -0
  536. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsSetCustomRetentionResponse.js +11 -0
  537. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsSetTeamsResponse.js +11 -0
  538. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsUnarchiveResponse.js +11 -0
  539. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsWhitelistAddResponse.js +11 -0
  540. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsWhitelistListGroupsLinkedToChannelResponse.js +11 -0
  541. package/app/node_modules/@slack/web-api/dist/types/response/AdminConversationsWhitelistRemoveResponse.js +11 -0
  542. package/app/node_modules/@slack/web-api/dist/types/response/AdminEmojiAddAliasResponse.js +11 -0
  543. package/app/node_modules/@slack/web-api/dist/types/response/AdminEmojiAddResponse.js +11 -0
  544. package/app/node_modules/@slack/web-api/dist/types/response/AdminEmojiListResponse.js +11 -0
  545. package/app/node_modules/@slack/web-api/dist/types/response/AdminEmojiRemoveResponse.js +11 -0
  546. package/app/node_modules/@slack/web-api/dist/types/response/AdminEmojiRenameResponse.js +11 -0
  547. package/app/node_modules/@slack/web-api/dist/types/response/AdminFunctionsListResponse.js +11 -0
  548. package/app/node_modules/@slack/web-api/dist/types/response/AdminFunctionsPermissionsLookupResponse.js +11 -0
  549. package/app/node_modules/@slack/web-api/dist/types/response/AdminFunctionsPermissionsSetResponse.js +11 -0
  550. package/app/node_modules/@slack/web-api/dist/types/response/AdminInviteRequestsApproveResponse.js +11 -0
  551. package/app/node_modules/@slack/web-api/dist/types/response/AdminInviteRequestsApprovedListResponse.js +11 -0
  552. package/app/node_modules/@slack/web-api/dist/types/response/AdminInviteRequestsDeniedListResponse.js +11 -0
  553. package/app/node_modules/@slack/web-api/dist/types/response/AdminInviteRequestsDenyResponse.js +11 -0
  554. package/app/node_modules/@slack/web-api/dist/types/response/AdminInviteRequestsListResponse.js +11 -0
  555. package/app/node_modules/@slack/web-api/dist/types/response/AdminRolesAddAssignmentsResponse.js +11 -0
  556. package/app/node_modules/@slack/web-api/dist/types/response/AdminRolesListAssignmentsResponse.js +11 -0
  557. package/app/node_modules/@slack/web-api/dist/types/response/AdminRolesRemoveAssignmentsResponse.js +11 -0
  558. package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsAdminsListResponse.js +11 -0
  559. package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsCreateResponse.js +11 -0
  560. package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsListResponse.js +11 -0
  561. package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsOwnersListResponse.js +11 -0
  562. package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsSettingsInfoResponse.js +11 -0
  563. package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsSettingsSetDefaultChannelsResponse.js +11 -0
  564. package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsSettingsSetDescriptionResponse.js +11 -0
  565. package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsSettingsSetDiscoverabilityResponse.js +11 -0
  566. package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsSettingsSetIconResponse.js +11 -0
  567. package/app/node_modules/@slack/web-api/dist/types/response/AdminTeamsSettingsSetNameResponse.js +11 -0
  568. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsergroupsAddChannelsResponse.js +11 -0
  569. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsergroupsAddTeamsResponse.js +11 -0
  570. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsergroupsListChannelsResponse.js +11 -0
  571. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsergroupsRemoveChannelsResponse.js +11 -0
  572. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersAssignResponse.js +11 -0
  573. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersInviteResponse.js +11 -0
  574. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersListResponse.js +11 -0
  575. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersRemoveResponse.js +11 -0
  576. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSessionClearSettingsResponse.js +11 -0
  577. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSessionGetSettingsResponse.js +11 -0
  578. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSessionInvalidateResponse.js +11 -0
  579. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSessionListResponse.js +11 -0
  580. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSessionResetBulkResponse.js +11 -0
  581. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSessionResetResponse.js +11 -0
  582. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSessionSetSettingsResponse.js +11 -0
  583. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSetAdminResponse.js +11 -0
  584. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSetExpirationResponse.js +11 -0
  585. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSetOwnerResponse.js +11 -0
  586. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersSetRegularResponse.js +11 -0
  587. package/app/node_modules/@slack/web-api/dist/types/response/AdminUsersUnsupportedVersionsExportResponse.js +11 -0
  588. package/app/node_modules/@slack/web-api/dist/types/response/AdminWorkflowsCollaboratorsAddResponse.js +11 -0
  589. package/app/node_modules/@slack/web-api/dist/types/response/AdminWorkflowsCollaboratorsRemoveResponse.js +11 -0
  590. package/app/node_modules/@slack/web-api/dist/types/response/AdminWorkflowsPermissionsLookupResponse.js +11 -0
  591. package/app/node_modules/@slack/web-api/dist/types/response/AdminWorkflowsSearchResponse.js +11 -0
  592. package/app/node_modules/@slack/web-api/dist/types/response/AdminWorkflowsUnpublishResponse.js +11 -0
  593. package/app/node_modules/@slack/web-api/dist/types/response/ApiTestResponse.js +11 -0
  594. package/app/node_modules/@slack/web-api/dist/types/response/AppsConnectionsOpenResponse.js +11 -0
  595. package/app/node_modules/@slack/web-api/dist/types/response/AppsEventAuthorizationsListResponse.js +11 -0
  596. package/app/node_modules/@slack/web-api/dist/types/response/AppsManifestCreateResponse.js +11 -0
  597. package/app/node_modules/@slack/web-api/dist/types/response/AppsManifestDeleteResponse.js +11 -0
  598. package/app/node_modules/@slack/web-api/dist/types/response/AppsManifestExportResponse.js +11 -0
  599. package/app/node_modules/@slack/web-api/dist/types/response/AppsManifestUpdateResponse.js +11 -0
  600. package/app/node_modules/@slack/web-api/dist/types/response/AppsManifestValidateResponse.js +11 -0
  601. package/app/node_modules/@slack/web-api/dist/types/response/AppsPermissionsInfoResponse.js +11 -0
  602. package/app/node_modules/@slack/web-api/dist/types/response/AppsPermissionsRequestResponse.js +11 -0
  603. package/app/node_modules/@slack/web-api/dist/types/response/AppsPermissionsResourcesListResponse.js +11 -0
  604. package/app/node_modules/@slack/web-api/dist/types/response/AppsPermissionsScopesListResponse.js +11 -0
  605. package/app/node_modules/@slack/web-api/dist/types/response/AppsPermissionsUsersListResponse.js +11 -0
  606. package/app/node_modules/@slack/web-api/dist/types/response/AppsPermissionsUsersRequestResponse.js +11 -0
  607. package/app/node_modules/@slack/web-api/dist/types/response/AppsUninstallResponse.js +11 -0
  608. package/app/node_modules/@slack/web-api/dist/types/response/AppsUserConnectionUpdateResponse.js +11 -0
  609. package/app/node_modules/@slack/web-api/dist/types/response/AssistantThreadsSetStatusResponse.js +11 -0
  610. package/app/node_modules/@slack/web-api/dist/types/response/AssistantThreadsSetSuggestedPromptsResponse.js +11 -0
  611. package/app/node_modules/@slack/web-api/dist/types/response/AssistantThreadsSetTitleResponse.js +11 -0
  612. package/app/node_modules/@slack/web-api/dist/types/response/AuthRevokeResponse.js +11 -0
  613. package/app/node_modules/@slack/web-api/dist/types/response/AuthTeamsListResponse.js +11 -0
  614. package/app/node_modules/@slack/web-api/dist/types/response/AuthTestResponse.js +11 -0
  615. package/app/node_modules/@slack/web-api/dist/types/response/BookmarksAddResponse.js +11 -0
  616. package/app/node_modules/@slack/web-api/dist/types/response/BookmarksEditResponse.js +11 -0
  617. package/app/node_modules/@slack/web-api/dist/types/response/BookmarksListResponse.js +11 -0
  618. package/app/node_modules/@slack/web-api/dist/types/response/BookmarksRemoveResponse.js +11 -0
  619. package/app/node_modules/@slack/web-api/dist/types/response/BotsInfoResponse.js +11 -0
  620. package/app/node_modules/@slack/web-api/dist/types/response/CallsAddResponse.js +11 -0
  621. package/app/node_modules/@slack/web-api/dist/types/response/CallsEndResponse.js +11 -0
  622. package/app/node_modules/@slack/web-api/dist/types/response/CallsInfoResponse.js +11 -0
  623. package/app/node_modules/@slack/web-api/dist/types/response/CallsParticipantsAddResponse.js +11 -0
  624. package/app/node_modules/@slack/web-api/dist/types/response/CallsParticipantsRemoveResponse.js +11 -0
  625. package/app/node_modules/@slack/web-api/dist/types/response/CallsUpdateResponse.js +11 -0
  626. package/app/node_modules/@slack/web-api/dist/types/response/CanvasesAccessDeleteResponse.js +11 -0
  627. package/app/node_modules/@slack/web-api/dist/types/response/CanvasesAccessSetResponse.js +11 -0
  628. package/app/node_modules/@slack/web-api/dist/types/response/CanvasesCreateResponse.js +11 -0
  629. package/app/node_modules/@slack/web-api/dist/types/response/CanvasesDeleteResponse.js +11 -0
  630. package/app/node_modules/@slack/web-api/dist/types/response/CanvasesEditResponse.js +11 -0
  631. package/app/node_modules/@slack/web-api/dist/types/response/CanvasesSectionsLookupResponse.js +11 -0
  632. package/app/node_modules/@slack/web-api/dist/types/response/ChannelsArchiveResponse.js +11 -0
  633. package/app/node_modules/@slack/web-api/dist/types/response/ChannelsCreateResponse.js +11 -0
  634. package/app/node_modules/@slack/web-api/dist/types/response/ChannelsHistoryResponse.js +11 -0
  635. package/app/node_modules/@slack/web-api/dist/types/response/ChannelsInfoResponse.js +11 -0
  636. package/app/node_modules/@slack/web-api/dist/types/response/ChannelsInviteResponse.js +11 -0
  637. package/app/node_modules/@slack/web-api/dist/types/response/ChannelsJoinResponse.js +11 -0
  638. package/app/node_modules/@slack/web-api/dist/types/response/ChannelsKickResponse.js +11 -0
  639. package/app/node_modules/@slack/web-api/dist/types/response/ChannelsLeaveResponse.js +11 -0
  640. package/app/node_modules/@slack/web-api/dist/types/response/ChannelsListResponse.js +11 -0
  641. package/app/node_modules/@slack/web-api/dist/types/response/ChannelsMarkResponse.js +11 -0
  642. package/app/node_modules/@slack/web-api/dist/types/response/ChannelsRenameResponse.js +11 -0
  643. package/app/node_modules/@slack/web-api/dist/types/response/ChannelsRepliesResponse.js +11 -0
  644. package/app/node_modules/@slack/web-api/dist/types/response/ChannelsSetPurposeResponse.js +11 -0
  645. package/app/node_modules/@slack/web-api/dist/types/response/ChannelsSetTopicResponse.js +11 -0
  646. package/app/node_modules/@slack/web-api/dist/types/response/ChannelsUnarchiveResponse.js +11 -0
  647. package/app/node_modules/@slack/web-api/dist/types/response/ChatAppendStreamResponse.js +3 -0
  648. package/app/node_modules/@slack/web-api/dist/types/response/ChatDeleteResponse.js +11 -0
  649. package/app/node_modules/@slack/web-api/dist/types/response/ChatDeleteScheduledMessageResponse.js +11 -0
  650. package/app/node_modules/@slack/web-api/dist/types/response/ChatGetPermalinkResponse.js +11 -0
  651. package/app/node_modules/@slack/web-api/dist/types/response/ChatMeMessageResponse.js +11 -0
  652. package/app/node_modules/@slack/web-api/dist/types/response/ChatPostEphemeralResponse.js +11 -0
  653. package/app/node_modules/@slack/web-api/dist/types/response/ChatPostMessageResponse.js +67 -0
  654. package/app/node_modules/@slack/web-api/dist/types/response/ChatScheduleMessageResponse.js +48 -0
  655. package/app/node_modules/@slack/web-api/dist/types/response/ChatScheduledMessagesListResponse.js +11 -0
  656. package/app/node_modules/@slack/web-api/dist/types/response/ChatStartStreamResponse.js +3 -0
  657. package/app/node_modules/@slack/web-api/dist/types/response/ChatStopStreamResponse.js +3 -0
  658. package/app/node_modules/@slack/web-api/dist/types/response/ChatUnfurlResponse.js +11 -0
  659. package/app/node_modules/@slack/web-api/dist/types/response/ChatUpdateResponse.js +48 -0
  660. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsAcceptSharedInviteResponse.js +11 -0
  661. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsApproveSharedInviteResponse.js +11 -0
  662. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsArchiveResponse.js +11 -0
  663. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsCanvasesCreateResponse.js +11 -0
  664. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsCloseResponse.js +11 -0
  665. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsCreateResponse.js +11 -0
  666. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsDeclineSharedInviteResponse.js +11 -0
  667. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsExternalInvitePermissionsSetResponse.js +11 -0
  668. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsHistoryResponse.js +67 -0
  669. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsInfoResponse.js +11 -0
  670. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsInviteResponse.js +11 -0
  671. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsInviteSharedResponse.js +11 -0
  672. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsJoinResponse.js +11 -0
  673. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsKickResponse.js +11 -0
  674. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsLeaveResponse.js +11 -0
  675. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsListConnectInvitesResponse.js +11 -0
  676. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsListResponse.js +11 -0
  677. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsMarkResponse.js +11 -0
  678. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsMembersResponse.js +11 -0
  679. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsOpenResponse.js +48 -0
  680. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsRenameResponse.js +11 -0
  681. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsRepliesResponse.js +67 -0
  682. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsRequestSharedInviteApproveResponse.js +11 -0
  683. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsRequestSharedInviteDenyResponse.js +11 -0
  684. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsRequestSharedInviteListResponse.js +11 -0
  685. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsSetPurposeResponse.js +11 -0
  686. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsSetTopicResponse.js +11 -0
  687. package/app/node_modules/@slack/web-api/dist/types/response/ConversationsUnarchiveResponse.js +11 -0
  688. package/app/node_modules/@slack/web-api/dist/types/response/DialogOpenResponse.js +11 -0
  689. package/app/node_modules/@slack/web-api/dist/types/response/DndEndDndResponse.js +11 -0
  690. package/app/node_modules/@slack/web-api/dist/types/response/DndEndSnoozeResponse.js +11 -0
  691. package/app/node_modules/@slack/web-api/dist/types/response/DndInfoResponse.js +11 -0
  692. package/app/node_modules/@slack/web-api/dist/types/response/DndSetSnoozeResponse.js +11 -0
  693. package/app/node_modules/@slack/web-api/dist/types/response/DndTeamInfoResponse.js +11 -0
  694. package/app/node_modules/@slack/web-api/dist/types/response/EmojiListResponse.js +11 -0
  695. package/app/node_modules/@slack/web-api/dist/types/response/EntityPresentDetailsResponse.js +11 -0
  696. package/app/node_modules/@slack/web-api/dist/types/response/FilesCommentsAddResponse.js +11 -0
  697. package/app/node_modules/@slack/web-api/dist/types/response/FilesCommentsDeleteResponse.js +11 -0
  698. package/app/node_modules/@slack/web-api/dist/types/response/FilesCommentsEditResponse.js +11 -0
  699. package/app/node_modules/@slack/web-api/dist/types/response/FilesCompleteUploadExternalResponse.js +11 -0
  700. package/app/node_modules/@slack/web-api/dist/types/response/FilesDeleteResponse.js +11 -0
  701. package/app/node_modules/@slack/web-api/dist/types/response/FilesGetUploadURLExternalResponse.js +11 -0
  702. package/app/node_modules/@slack/web-api/dist/types/response/FilesInfoResponse.js +37 -0
  703. package/app/node_modules/@slack/web-api/dist/types/response/FilesListResponse.js +37 -0
  704. package/app/node_modules/@slack/web-api/dist/types/response/FilesRemoteAddResponse.js +37 -0
  705. package/app/node_modules/@slack/web-api/dist/types/response/FilesRemoteInfoResponse.js +37 -0
  706. package/app/node_modules/@slack/web-api/dist/types/response/FilesRemoteListResponse.js +37 -0
  707. package/app/node_modules/@slack/web-api/dist/types/response/FilesRemoteRemoveResponse.js +11 -0
  708. package/app/node_modules/@slack/web-api/dist/types/response/FilesRemoteShareResponse.js +37 -0
  709. package/app/node_modules/@slack/web-api/dist/types/response/FilesRemoteUpdateResponse.js +37 -0
  710. package/app/node_modules/@slack/web-api/dist/types/response/FilesRevokePublicURLResponse.js +37 -0
  711. package/app/node_modules/@slack/web-api/dist/types/response/FilesSharedPublicURLResponse.js +37 -0
  712. package/app/node_modules/@slack/web-api/dist/types/response/FilesUploadResponse.js +37 -0
  713. package/app/node_modules/@slack/web-api/dist/types/response/FunctionsCompleteErrorResponse.js +11 -0
  714. package/app/node_modules/@slack/web-api/dist/types/response/FunctionsCompleteSuccessResponse.js +11 -0
  715. package/app/node_modules/@slack/web-api/dist/types/response/GroupsArchiveResponse.js +11 -0
  716. package/app/node_modules/@slack/web-api/dist/types/response/GroupsCloseResponse.js +11 -0
  717. package/app/node_modules/@slack/web-api/dist/types/response/GroupsCreateChildResponse.js +11 -0
  718. package/app/node_modules/@slack/web-api/dist/types/response/GroupsCreateResponse.js +11 -0
  719. package/app/node_modules/@slack/web-api/dist/types/response/GroupsHistoryResponse.js +11 -0
  720. package/app/node_modules/@slack/web-api/dist/types/response/GroupsInfoResponse.js +11 -0
  721. package/app/node_modules/@slack/web-api/dist/types/response/GroupsInviteResponse.js +11 -0
  722. package/app/node_modules/@slack/web-api/dist/types/response/GroupsKickResponse.js +11 -0
  723. package/app/node_modules/@slack/web-api/dist/types/response/GroupsLeaveResponse.js +11 -0
  724. package/app/node_modules/@slack/web-api/dist/types/response/GroupsListResponse.js +11 -0
  725. package/app/node_modules/@slack/web-api/dist/types/response/GroupsMarkResponse.js +11 -0
  726. package/app/node_modules/@slack/web-api/dist/types/response/GroupsOpenResponse.js +11 -0
  727. package/app/node_modules/@slack/web-api/dist/types/response/GroupsRenameResponse.js +11 -0
  728. package/app/node_modules/@slack/web-api/dist/types/response/GroupsRepliesResponse.js +11 -0
  729. package/app/node_modules/@slack/web-api/dist/types/response/GroupsSetPurposeResponse.js +11 -0
  730. package/app/node_modules/@slack/web-api/dist/types/response/GroupsSetTopicResponse.js +11 -0
  731. package/app/node_modules/@slack/web-api/dist/types/response/GroupsUnarchiveResponse.js +11 -0
  732. package/app/node_modules/@slack/web-api/dist/types/response/ImCloseResponse.js +11 -0
  733. package/app/node_modules/@slack/web-api/dist/types/response/ImHistoryResponse.js +11 -0
  734. package/app/node_modules/@slack/web-api/dist/types/response/ImListResponse.js +11 -0
  735. package/app/node_modules/@slack/web-api/dist/types/response/ImMarkResponse.js +11 -0
  736. package/app/node_modules/@slack/web-api/dist/types/response/ImOpenResponse.js +11 -0
  737. package/app/node_modules/@slack/web-api/dist/types/response/ImRepliesResponse.js +11 -0
  738. package/app/node_modules/@slack/web-api/dist/types/response/MigrationExchangeResponse.js +11 -0
  739. package/app/node_modules/@slack/web-api/dist/types/response/MpimCloseResponse.js +11 -0
  740. package/app/node_modules/@slack/web-api/dist/types/response/MpimHistoryResponse.js +11 -0
  741. package/app/node_modules/@slack/web-api/dist/types/response/MpimListResponse.js +11 -0
  742. package/app/node_modules/@slack/web-api/dist/types/response/MpimMarkResponse.js +11 -0
  743. package/app/node_modules/@slack/web-api/dist/types/response/MpimOpenResponse.js +11 -0
  744. package/app/node_modules/@slack/web-api/dist/types/response/MpimRepliesResponse.js +11 -0
  745. package/app/node_modules/@slack/web-api/dist/types/response/OauthAccessResponse.js +11 -0
  746. package/app/node_modules/@slack/web-api/dist/types/response/OauthTokenResponse.js +11 -0
  747. package/app/node_modules/@slack/web-api/dist/types/response/OauthV2AccessResponse.js +11 -0
  748. package/app/node_modules/@slack/web-api/dist/types/response/OauthV2ExchangeResponse.js +11 -0
  749. package/app/node_modules/@slack/web-api/dist/types/response/OpenIDConnectTokenResponse.js +11 -0
  750. package/app/node_modules/@slack/web-api/dist/types/response/OpenIDConnectUserInfoResponse.js +11 -0
  751. package/app/node_modules/@slack/web-api/dist/types/response/PinsAddResponse.js +11 -0
  752. package/app/node_modules/@slack/web-api/dist/types/response/PinsListResponse.js +37 -0
  753. package/app/node_modules/@slack/web-api/dist/types/response/PinsRemoveResponse.js +11 -0
  754. package/app/node_modules/@slack/web-api/dist/types/response/ReactionsAddResponse.js +11 -0
  755. package/app/node_modules/@slack/web-api/dist/types/response/ReactionsGetResponse.js +48 -0
  756. package/app/node_modules/@slack/web-api/dist/types/response/ReactionsListResponse.js +67 -0
  757. package/app/node_modules/@slack/web-api/dist/types/response/ReactionsRemoveResponse.js +11 -0
  758. package/app/node_modules/@slack/web-api/dist/types/response/RemindersAddResponse.js +11 -0
  759. package/app/node_modules/@slack/web-api/dist/types/response/RemindersCompleteResponse.js +11 -0
  760. package/app/node_modules/@slack/web-api/dist/types/response/RemindersDeleteResponse.js +11 -0
  761. package/app/node_modules/@slack/web-api/dist/types/response/RemindersInfoResponse.js +11 -0
  762. package/app/node_modules/@slack/web-api/dist/types/response/RemindersListResponse.js +11 -0
  763. package/app/node_modules/@slack/web-api/dist/types/response/RtmConnectResponse.js +11 -0
  764. package/app/node_modules/@slack/web-api/dist/types/response/RtmStartResponse.js +77 -0
  765. package/app/node_modules/@slack/web-api/dist/types/response/SearchAllResponse.js +82 -0
  766. package/app/node_modules/@slack/web-api/dist/types/response/SearchFilesResponse.js +63 -0
  767. package/app/node_modules/@slack/web-api/dist/types/response/SearchMessagesResponse.js +67 -0
  768. package/app/node_modules/@slack/web-api/dist/types/response/SlackListsAccessDeleteResponse.js +3 -0
  769. package/app/node_modules/@slack/web-api/dist/types/response/SlackListsAccessSetResponse.js +3 -0
  770. package/app/node_modules/@slack/web-api/dist/types/response/SlackListsCreateResponse.js +3 -0
  771. package/app/node_modules/@slack/web-api/dist/types/response/SlackListsDownloadGetResponse.js +3 -0
  772. package/app/node_modules/@slack/web-api/dist/types/response/SlackListsDownloadStartResponse.js +3 -0
  773. package/app/node_modules/@slack/web-api/dist/types/response/SlackListsItemsCreateResponse.js +3 -0
  774. package/app/node_modules/@slack/web-api/dist/types/response/SlackListsItemsDeleteMultipleResponse.js +3 -0
  775. package/app/node_modules/@slack/web-api/dist/types/response/SlackListsItemsDeleteResponse.js +3 -0
  776. package/app/node_modules/@slack/web-api/dist/types/response/SlackListsItemsInfoResponse.js +3 -0
  777. package/app/node_modules/@slack/web-api/dist/types/response/SlackListsItemsListResponse.js +3 -0
  778. package/app/node_modules/@slack/web-api/dist/types/response/SlackListsItemsUpdateResponse.js +3 -0
  779. package/app/node_modules/@slack/web-api/dist/types/response/SlackListsUpdateResponse.js +3 -0
  780. package/app/node_modules/@slack/web-api/dist/types/response/StarsAddResponse.js +11 -0
  781. package/app/node_modules/@slack/web-api/dist/types/response/StarsListResponse.js +11 -0
  782. package/app/node_modules/@slack/web-api/dist/types/response/StarsRemoveResponse.js +11 -0
  783. package/app/node_modules/@slack/web-api/dist/types/response/TeamAccessLogsResponse.js +11 -0
  784. package/app/node_modules/@slack/web-api/dist/types/response/TeamBillableInfoResponse.js +11 -0
  785. package/app/node_modules/@slack/web-api/dist/types/response/TeamBillingInfoResponse.js +11 -0
  786. package/app/node_modules/@slack/web-api/dist/types/response/TeamExternalTeamsDisconnectResponse.js +11 -0
  787. package/app/node_modules/@slack/web-api/dist/types/response/TeamExternalTeamsListResponse.js +11 -0
  788. package/app/node_modules/@slack/web-api/dist/types/response/TeamInfoResponse.js +11 -0
  789. package/app/node_modules/@slack/web-api/dist/types/response/TeamIntegrationLogsResponse.js +11 -0
  790. package/app/node_modules/@slack/web-api/dist/types/response/TeamPreferencesListResponse.js +11 -0
  791. package/app/node_modules/@slack/web-api/dist/types/response/TeamProfileGetResponse.js +11 -0
  792. package/app/node_modules/@slack/web-api/dist/types/response/ToolingTokensRotateResponse.js +11 -0
  793. package/app/node_modules/@slack/web-api/dist/types/response/UsergroupsCreateResponse.js +11 -0
  794. package/app/node_modules/@slack/web-api/dist/types/response/UsergroupsDisableResponse.js +11 -0
  795. package/app/node_modules/@slack/web-api/dist/types/response/UsergroupsEnableResponse.js +11 -0
  796. package/app/node_modules/@slack/web-api/dist/types/response/UsergroupsListResponse.js +11 -0
  797. package/app/node_modules/@slack/web-api/dist/types/response/UsergroupsUpdateResponse.js +11 -0
  798. package/app/node_modules/@slack/web-api/dist/types/response/UsergroupsUsersListResponse.js +11 -0
  799. package/app/node_modules/@slack/web-api/dist/types/response/UsergroupsUsersUpdateResponse.js +11 -0
  800. package/app/node_modules/@slack/web-api/dist/types/response/UsersConversationsResponse.js +11 -0
  801. package/app/node_modules/@slack/web-api/dist/types/response/UsersDeletePhotoResponse.js +11 -0
  802. package/app/node_modules/@slack/web-api/dist/types/response/UsersDiscoverableContactsLookupResponse.js +11 -0
  803. package/app/node_modules/@slack/web-api/dist/types/response/UsersGetPresenceResponse.js +11 -0
  804. package/app/node_modules/@slack/web-api/dist/types/response/UsersIdentityResponse.js +11 -0
  805. package/app/node_modules/@slack/web-api/dist/types/response/UsersInfoResponse.js +11 -0
  806. package/app/node_modules/@slack/web-api/dist/types/response/UsersListResponse.js +11 -0
  807. package/app/node_modules/@slack/web-api/dist/types/response/UsersLookupByEmailResponse.js +11 -0
  808. package/app/node_modules/@slack/web-api/dist/types/response/UsersProfileGetResponse.js +11 -0
  809. package/app/node_modules/@slack/web-api/dist/types/response/UsersProfileSetResponse.js +11 -0
  810. package/app/node_modules/@slack/web-api/dist/types/response/UsersSetActiveResponse.js +11 -0
  811. package/app/node_modules/@slack/web-api/dist/types/response/UsersSetPhotoResponse.js +11 -0
  812. package/app/node_modules/@slack/web-api/dist/types/response/UsersSetPresenceResponse.js +11 -0
  813. package/app/node_modules/@slack/web-api/dist/types/response/ViewsOpenResponse.js +31 -0
  814. package/app/node_modules/@slack/web-api/dist/types/response/ViewsPublishResponse.js +31 -0
  815. package/app/node_modules/@slack/web-api/dist/types/response/ViewsPushResponse.js +31 -0
  816. package/app/node_modules/@slack/web-api/dist/types/response/ViewsUpdateResponse.js +31 -0
  817. package/app/node_modules/@slack/web-api/dist/types/response/WorkflowsFeaturedAddResponse.js +3 -0
  818. package/app/node_modules/@slack/web-api/dist/types/response/WorkflowsFeaturedListResponse.js +3 -0
  819. package/app/node_modules/@slack/web-api/dist/types/response/WorkflowsFeaturedRemoveResponse.js +3 -0
  820. package/app/node_modules/@slack/web-api/dist/types/response/WorkflowsFeaturedSetResponse.js +3 -0
  821. package/app/node_modules/@slack/web-api/dist/types/response/WorkflowsStepCompletedResponse.js +11 -0
  822. package/app/node_modules/@slack/web-api/dist/types/response/WorkflowsStepFailedResponse.js +11 -0
  823. package/app/node_modules/@slack/web-api/dist/types/response/WorkflowsUpdateStepResponse.js +11 -0
  824. package/app/node_modules/@slack/web-api/dist/types/response/index.js +3 -0
  825. package/app/node_modules/@slack/web-api/package.json +75 -0
  826. package/app/node_modules/agent-base/dist/src/index.js +203 -0
  827. package/app/node_modules/agent-base/dist/src/promisify.js +18 -0
  828. package/app/node_modules/agent-base/package.json +64 -0
  829. package/app/node_modules/asynckit/index.js +6 -0
  830. package/app/node_modules/asynckit/lib/abort.js +29 -0
  831. package/app/node_modules/asynckit/lib/async.js +34 -0
  832. package/app/node_modules/asynckit/lib/defer.js +26 -0
  833. package/app/node_modules/asynckit/lib/iterate.js +75 -0
  834. package/app/node_modules/asynckit/lib/state.js +37 -0
  835. package/app/node_modules/asynckit/lib/terminator.js +29 -0
  836. package/app/node_modules/asynckit/package.json +63 -0
  837. package/app/node_modules/asynckit/parallel.js +43 -0
  838. package/app/node_modules/asynckit/serial.js +17 -0
  839. package/app/node_modules/asynckit/serialOrdered.js +75 -0
  840. package/app/node_modules/axios/dist/node/axios.cjs +6808 -0
  841. package/app/node_modules/axios/package.json +203 -0
  842. package/app/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  843. package/app/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  844. package/app/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  845. package/app/node_modules/call-bind-apply-helpers/index.js +15 -0
  846. package/app/node_modules/call-bind-apply-helpers/package.json +85 -0
  847. package/app/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  848. package/app/node_modules/combined-stream/lib/combined_stream.js +208 -0
  849. package/app/node_modules/combined-stream/package.json +25 -0
  850. package/app/node_modules/debug/package.json +64 -0
  851. package/app/node_modules/debug/src/browser.js +272 -0
  852. package/app/node_modules/debug/src/common.js +292 -0
  853. package/app/node_modules/debug/src/index.js +10 -0
  854. package/app/node_modules/debug/src/node.js +263 -0
  855. package/app/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  856. package/app/node_modules/delayed-stream/package.json +27 -0
  857. package/app/node_modules/dunder-proto/get.js +30 -0
  858. package/app/node_modules/dunder-proto/package.json +76 -0
  859. package/app/node_modules/es-define-property/index.js +14 -0
  860. package/app/node_modules/es-define-property/package.json +81 -0
  861. package/app/node_modules/es-errors/eval.js +4 -0
  862. package/app/node_modules/es-errors/index.js +4 -0
  863. package/app/node_modules/es-errors/package.json +80 -0
  864. package/app/node_modules/es-errors/range.js +4 -0
  865. package/app/node_modules/es-errors/ref.js +4 -0
  866. package/app/node_modules/es-errors/syntax.js +4 -0
  867. package/app/node_modules/es-errors/type.js +4 -0
  868. package/app/node_modules/es-errors/uri.js +4 -0
  869. package/app/node_modules/es-object-atoms/index.js +4 -0
  870. package/app/node_modules/es-object-atoms/package.json +79 -0
  871. package/app/node_modules/es-set-tostringtag/index.js +35 -0
  872. package/app/node_modules/es-set-tostringtag/package.json +78 -0
  873. package/app/node_modules/eventemitter3/index.js +336 -0
  874. package/app/node_modules/eventemitter3/package.json +62 -0
  875. package/app/node_modules/follow-redirects/debug.js +15 -0
  876. package/app/node_modules/follow-redirects/index.js +709 -0
  877. package/app/node_modules/follow-redirects/package.json +58 -0
  878. package/app/node_modules/form-data/lib/browser.js +4 -0
  879. package/app/node_modules/form-data/lib/form_data.js +506 -0
  880. package/app/node_modules/form-data/lib/populate.js +10 -0
  881. package/app/node_modules/form-data/package.json +82 -0
  882. package/app/node_modules/function-bind/implementation.js +84 -0
  883. package/app/node_modules/function-bind/index.js +5 -0
  884. package/app/node_modules/function-bind/package.json +87 -0
  885. package/app/node_modules/get-intrinsic/index.js +378 -0
  886. package/app/node_modules/get-intrinsic/package.json +97 -0
  887. package/app/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  888. package/app/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  889. package/app/node_modules/get-proto/index.js +27 -0
  890. package/app/node_modules/get-proto/package.json +81 -0
  891. package/app/node_modules/gopd/gOPD.js +4 -0
  892. package/app/node_modules/gopd/index.js +15 -0
  893. package/app/node_modules/gopd/package.json +77 -0
  894. package/app/node_modules/has-flag/index.js +8 -0
  895. package/app/node_modules/has-flag/package.json +46 -0
  896. package/app/node_modules/has-symbols/index.js +14 -0
  897. package/app/node_modules/has-symbols/package.json +111 -0
  898. package/app/node_modules/has-symbols/shams.js +45 -0
  899. package/app/node_modules/has-tostringtag/package.json +108 -0
  900. package/app/node_modules/has-tostringtag/shams.js +8 -0
  901. package/app/node_modules/hasown/index.js +8 -0
  902. package/app/node_modules/hasown/package.json +91 -0
  903. package/app/node_modules/https-proxy-agent/dist/agent.js +177 -0
  904. package/app/node_modules/https-proxy-agent/dist/index.js +14 -0
  905. package/app/node_modules/https-proxy-agent/dist/parse-proxy-response.js +66 -0
  906. package/app/node_modules/https-proxy-agent/package.json +56 -0
  907. package/app/node_modules/is-electron/index.js +21 -0
  908. package/app/node_modules/is-electron/package.json +34 -0
  909. package/app/node_modules/is-stream/index.js +28 -0
  910. package/app/node_modules/is-stream/package.json +42 -0
  911. package/app/node_modules/math-intrinsics/abs.js +4 -0
  912. package/app/node_modules/math-intrinsics/floor.js +4 -0
  913. package/app/node_modules/math-intrinsics/isNaN.js +6 -0
  914. package/app/node_modules/math-intrinsics/max.js +4 -0
  915. package/app/node_modules/math-intrinsics/min.js +4 -0
  916. package/app/node_modules/math-intrinsics/package.json +86 -0
  917. package/app/node_modules/math-intrinsics/pow.js +4 -0
  918. package/app/node_modules/math-intrinsics/round.js +4 -0
  919. package/app/node_modules/math-intrinsics/sign.js +11 -0
  920. package/app/node_modules/mime-db/db.json +8519 -0
  921. package/app/node_modules/mime-db/index.js +12 -0
  922. package/app/node_modules/mime-db/package.json +60 -0
  923. package/app/node_modules/mime-types/index.js +188 -0
  924. package/app/node_modules/mime-types/package.json +44 -0
  925. package/app/node_modules/ms/index.js +162 -0
  926. package/app/node_modules/ms/package.json +38 -0
  927. package/app/node_modules/p-finally/index.js +15 -0
  928. package/app/node_modules/p-finally/package.json +42 -0
  929. package/app/node_modules/p-queue/dist/index.js +279 -0
  930. package/app/node_modules/p-queue/dist/lower-bound.js +21 -0
  931. package/app/node_modules/p-queue/dist/priority-queue.js +32 -0
  932. package/app/node_modules/p-queue/node_modules/eventemitter3/index.js +336 -0
  933. package/app/node_modules/p-queue/node_modules/eventemitter3/package.json +56 -0
  934. package/app/node_modules/p-queue/package.json +92 -0
  935. package/app/node_modules/p-retry/index.js +85 -0
  936. package/app/node_modules/p-retry/package.json +51 -0
  937. package/app/node_modules/p-timeout/index.js +57 -0
  938. package/app/node_modules/p-timeout/package.json +45 -0
  939. package/app/node_modules/retry/index.js +1 -0
  940. package/app/node_modules/retry/lib/retry.js +100 -0
  941. package/app/node_modules/retry/lib/retry_operation.js +162 -0
  942. package/app/node_modules/retry/package.json +36 -0
  943. package/app/node_modules/supports-color/index.js +135 -0
  944. package/app/node_modules/supports-color/package.json +53 -0
  945. package/app/node_modules/ws/index.js +22 -0
  946. package/app/node_modules/ws/lib/buffer-util.js +131 -0
  947. package/app/node_modules/ws/lib/constants.js +19 -0
  948. package/app/node_modules/ws/lib/event-target.js +292 -0
  949. package/app/node_modules/ws/lib/extension.js +203 -0
  950. package/app/node_modules/ws/lib/limiter.js +55 -0
  951. package/app/node_modules/ws/lib/permessage-deflate.js +530 -0
  952. package/app/node_modules/ws/lib/receiver.js +743 -0
  953. package/app/node_modules/ws/lib/sender.js +607 -0
  954. package/app/node_modules/ws/lib/stream.js +161 -0
  955. package/app/node_modules/ws/lib/subprotocol.js +62 -0
  956. package/app/node_modules/ws/lib/validation.js +152 -0
  957. package/app/node_modules/ws/lib/websocket-server.js +562 -0
  958. package/app/node_modules/ws/lib/websocket.js +1421 -0
  959. package/app/node_modules/ws/package.json +74 -0
  960. package/app/package.json +1 -1
  961. package/app/server.js +1 -1
  962. package/dist/cli.d.ts +1 -1
  963. package/dist/cli.js +7 -4
  964. package/dist/clients.js +7 -3
  965. package/dist/config.d.ts +2 -1
  966. package/dist/config.js +5 -4
  967. package/dist/contract.d.ts +1 -0
  968. package/dist/contract.js +5 -0
  969. package/dist/home.d.ts +1 -1
  970. package/dist/home.js +1 -1
  971. package/dist/index.d.ts +1 -1
  972. package/dist/index.js +1 -1
  973. package/dist/product.d.ts +8 -0
  974. package/dist/product.js +70 -4
  975. package/dist/upstream.js +2 -2
  976. package/package.json +2 -2
  977. package/schemas/botmancers.mcp.v2.tools.json +2353 -4
  978. package/skills/botmancers-collaboration/SKILL.md +25 -6
  979. package/skills/botmancers-collaboration/references/workflows.md +93 -0
  980. package/app/.next/server/chunks/[root-of-the-server]__0ab4e_k._.js +0 -3
  981. package/app/.next/server/chunks/[root-of-the-server]__0izjfmr._.js +0 -1656
  982. package/app/.next/server/chunks/[root-of-the-server]__0qozubc._.js +0 -3
  983. package/app/.next/server/chunks/[root-of-the-server]__0wtzcge._.js +0 -3
  984. package/app/.next/server/chunks/[root-of-the-server]__10m3szc._.js +0 -3
  985. package/app/.next/server/chunks/[root-of-the-server]__15hknun._.js +0 -3
  986. package/app/.next/server/chunks/[root-of-the-server]__16ikszu._.js +0 -3
  987. package/app/.next/server/chunks/[root-of-the-server]__1afl75n._.js +0 -3
  988. package/app/.next/server/chunks/[root-of-the-server]__1kvvdpx._.js +0 -7
  989. package/app/.next/server/chunks/[root-of-the-server]__1qoa704._.js +0 -7
  990. package/app/.next/server/chunks/[root-of-the-server]__1slu7d7._.js +0 -7
  991. package/app/.next/server/chunks/_06rti77._.js +0 -30
  992. package/app/.next/server/chunks/_09k38l1._.js +0 -3
  993. package/app/.next/server/chunks/_0dlg5kj._.js +0 -30
  994. package/app/.next/server/chunks/_0dyculb._.js +0 -30
  995. package/app/.next/server/chunks/_0eig2jc._.js +0 -30
  996. package/app/.next/server/chunks/_0ggf7vy._.js +0 -3
  997. package/app/.next/server/chunks/_0gtqbub._.js +0 -3
  998. package/app/.next/server/chunks/_0i7ga8c._.js +0 -3
  999. package/app/.next/server/chunks/_0kghtb6._.js +0 -3
  1000. package/app/.next/server/chunks/_0orubev._.js +0 -3
  1001. package/app/.next/server/chunks/_0sfpe9z._.js +0 -3
  1002. package/app/.next/server/chunks/_0th2j4w._.js +0 -3
  1003. package/app/.next/server/chunks/_0uz7r06._.js +0 -30
  1004. package/app/.next/server/chunks/_0x05ts4._.js +0 -3
  1005. package/app/.next/server/chunks/_0y3geoj._.js +0 -30
  1006. package/app/.next/server/chunks/_12tq5uv._.js +0 -30
  1007. package/app/.next/server/chunks/_147-4gl._.js +0 -3
  1008. package/app/.next/server/chunks/_14ky6a2._.js +0 -30
  1009. package/app/.next/server/chunks/_16kbxdt._.js +0 -30
  1010. package/app/.next/server/chunks/_1963m2f._.js +0 -30
  1011. package/app/.next/server/chunks/_1_34_h3._.js +0 -30
  1012. package/app/.next/server/chunks/_1cc-2mx._.js +0 -3
  1013. package/app/.next/server/chunks/_1ee4ej2._.js +0 -3
  1014. package/app/.next/server/chunks/_1esxu1s._.js +0 -3
  1015. package/app/.next/server/chunks/_1gn7eh7._.js +0 -3
  1016. package/app/.next/server/chunks/_1gw7qwf._.js +0 -3
  1017. package/app/.next/server/chunks/_1inyx08._.js +0 -3
  1018. package/app/.next/server/chunks/_1kjsnlr._.js +0 -3
  1019. package/app/.next/server/chunks/_1nurj3f._.js +0 -30
  1020. package/app/.next/server/chunks/_1p2rf_n._.js +0 -30
  1021. package/app/.next/server/chunks/_1p8rola._.js +0 -3
  1022. package/app/.next/server/chunks/_1u6tw78._.js +0 -30
  1023. package/app/.next/server/chunks/app_api_import-capabilities_route_ts_013w1kt._.js +0 -3
  1024. package/app/.next/server/chunks/lib_0t3s3rj._.js +0 -30
  1025. package/app/.next/server/chunks/lib_0zxi6rx._.js +0 -148
  1026. package/app/.next/server/chunks/lib_12udr7g._.js +0 -148
  1027. package/app/.next/server/chunks/lib_draft_ts_1atoius._.js +0 -3
  1028. package/app/.next/server/chunks/lib_session-catalog_ts_1i7f38f._.js +0 -30
  1029. package/app/.next/server/chunks/ssr/_00ysoah._.js +0 -3
  1030. package/app/.next/server/chunks/ssr/_157wnb_._.js +0 -3
  1031. package/app/.next/server/chunks/ssr/app_1-nwnha._.js +0 -3
  1032. package/app/.next/server/chunks/ssr/app_components_0bhuhd-._.js +0 -3
  1033. package/app/.next/server/chunks/ssr/app_components_0w2_b3t._.js +0 -3
  1034. package/app/.next/server/chunks/ssr/node_modules_next_dist_client_components_server-async-storage_0t1dato.js +0 -3
  1035. package/app/.next/static/chunks/0774d7ob6aze_.js +0 -1
  1036. package/app/.next/static/chunks/0d3ein53nlgja.js +0 -1
  1037. package/app/.next/static/chunks/1i5xroz391zkb.js +0 -1
  1038. package/app/.next/static/chunks/1vz50l951sr9e.css +0 -3
  1039. package/app/.next/static/chunks/24ggj819yt3y6.js +0 -1
  1040. package/app/.next/static/chunks/2_8lcalraul5s.js +0 -3
  1041. package/app/.next/static/chunks/30i0-l04mmdvk.js +0 -1
  1042. package/app/.next/static/chunks/3wdlh25l1vww9.js +0 -1
  1043. /package/app/.next/static/{ewp56HqU5-d9bpFog3bli → _yrIZIFsIbXA0Gaxkytjd}/_buildManifest.js +0 -0
  1044. /package/app/.next/static/{ewp56HqU5-d9bpFog3bli → _yrIZIFsIbXA0Gaxkytjd}/_clientMiddlewareManifest.js +0 -0
  1045. /package/app/.next/static/{ewp56HqU5-d9bpFog3bli → _yrIZIFsIbXA0Gaxkytjd}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
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`}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},"statusLabel",0,function(a){return"active"===a.status?"Active":"Ended"},"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 f=["queued","extracting","delivering","completed","failed","cancelled"],g=["completed","failed","cancelled"];function h(a){return"ask"===a?"Ask":"Continue"}function i(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 j(a){var b;return a.cancel_requested&&(b=a.state,!g.includes(b))?"Cancelling…":i(a.mode,a.state)}function k(a){return"completed"===a?"done":"failed"===a||"cancelled"===a?"stopped":"active"}function l(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 m(a){return e(a)}function n(a){return`${a.source.agent_name}'s session “${a.source.session_title}”`}function o(a){return"ask"===a.mode?`You → ${a.source.agent_name}`:`${a.source.agent_name} → ${a.destination?.agent_name??"another Agent"}`}function p(a){return"ask"===a?"Question":"Objective"}function q(a){if("completed"===a.state){if("ask"===a.mode){let b=a.origin?.label??"the origin thread";return a.outcome.answer?`Answer in ${b}: ${l(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: ${l(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 r(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 s(a){return`/exchanges?id=${encodeURIComponent(a)}`}function t(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,s,"eventLabel",0,function(a,b){let c=a.data??{},d=b.source.agent_name,e=b.destination?.agent_name??"the destination Agent",g="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"===g)return`Handoff queued for ${e}'s new session`;return"extract"===g?`Handoff extraction queued in ${d}'s session`:`Question queued for ${d}'s session`;case"hop_started":if("deliver"===g)return`${e} started a new session`;return"extract"===g?`${d}'s session started extracting the handoff`:`${d}'s session started answering`;case"state_changed":{let a="string"==typeof c.to&&f.includes(c.to)?c.to:null;return a?`Now ${i(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,l,"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,r,"formatExchangeTime",0,m,"instructionHeading",0,p,"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(t)},"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,j,"modeLabel",0,h,"outcomeLine",0,q,"participantsLabel",0,o,"sessionActionAvailability",0,function(a){return"ended"===a.status?{available:!1,reason:"Ask and Continue are unavailable: this session has ended. Its history stays here."}:a.resumable?{available:!0}:{available:!1,reason:`Ask and Continue are unavailable: Botmancers can’t resume this session under ${a.agent.name}’s current runtime.`}},"sessionLabel",0,n,"stateTone",0,k,"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.";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}],35099),a.s(["default",0,function({summary:a,onChanged:e}){let[f,g]=(0,c.useState)(!1),[i,t]=(0,c.useState)(""),u=k(a.state),v=q(a),w=r(a),x=`exchange-${a.id}-title`,y=async()=>{if(!f){g(!0),t("");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);t("string"==typeof a?.error?.message?a.error.message:"Could not cancel. Try again.")}}catch{t("Could not cancel. Try again.")}finally{g(!1),e?.()}}};return(0,b.jsxs)("article",{id:`exchange-${a.id}`,className:`exchange-card is-${u} is-${a.state}`,"data-exchange-id":a.id,"data-exchange-state":a.state,"aria-labelledby":x,tabIndex:-1,children:[(0,b.jsxs)("p",{className:"exchange-card-line",children:[(0,b.jsx)("span",{className:"exchange-card-mode",children:h(a.mode)}),(0,b.jsx)("span",{id:x,className:"exchange-card-title",children:o(a)}),(0,b.jsx)("span",{className:"exchange-card-state",role:"status",children:j(a)})]}),(0,b.jsx)("p",{className:"exchange-card-session",children:n(a)}),(0,b.jsxs)("p",{className:"exchange-card-instruction",children:[(0,b.jsx)("span",{className:"exchange-card-key",children:p(a.mode)})," ",l(a.instruction,220)]}),v?(0,b.jsx)("p",{className:"failed"===a.state?"exchange-card-outcome is-failure":"exchange-card-outcome",children:v}):null,w?(0,b.jsx)("p",{className:"exchange-card-advice",children:w}):null,i?(0,b.jsx)("p",{className:"exchange-card-error",role:"alert",children:i}):null,(0,b.jsxs)("p",{className:"exchange-card-foot",children:[(0,b.jsxs)("span",{className:"exchange-card-time",children:["Updated ",m(a.updated_at)]}),(0,b.jsx)(d.default,{className:"exchange-card-link",href:s(a.id),"aria-label":`Details: ${h(a.mode)} ${o(a)}`,children:"Details"}),a.can_cancel?(0,b.jsx)("button",{type:"button",className:"exchange-card-cancel",disabled:f,onClick:()=>{y()},children:f?"Cancelling…":"Cancel"}):null]})]})}],27828)},33354,(a,b,c)=>{"use strict";c._=function(a){return a&&a.__esModule?a:{default:a}}}];
2
-
3
- //# sourceMappingURL=_157wnb_._.js.map
@@ -1,3 +0,0 @@
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`}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},"statusLabel",0,function(a){return"active"===a.status?"Active":"Ended"},"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 f=["queued","extracting","delivering","completed","failed","cancelled"],g=["completed","failed","cancelled"];function h(a){return"ask"===a?"Ask":"Continue"}function i(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 j(a){var b;return a.cancel_requested&&(b=a.state,!g.includes(b))?"Cancelling…":i(a.mode,a.state)}function k(a){return"completed"===a?"done":"failed"===a||"cancelled"===a?"stopped":"active"}function l(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 m(a){return e(a)}function n(a){return`${a.source.agent_name}'s session “${a.source.session_title}”`}function o(a){return"ask"===a.mode?`You → ${a.source.agent_name}`:`${a.source.agent_name} → ${a.destination?.agent_name??"another Agent"}`}function p(a){return"ask"===a?"Question":"Objective"}function q(a){if("completed"===a.state){if("ask"===a.mode){let b=a.origin?.label??"the origin thread";return a.outcome.answer?`Answer in ${b}: ${l(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: ${l(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 r(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 s(a){return`/exchanges?id=${encodeURIComponent(a)}`}function t(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,s,"eventLabel",0,function(a,b){let c=a.data??{},d=b.source.agent_name,e=b.destination?.agent_name??"the destination Agent",g="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"===g)return`Handoff queued for ${e}'s new session`;return"extract"===g?`Handoff extraction queued in ${d}'s session`:`Question queued for ${d}'s session`;case"hop_started":if("deliver"===g)return`${e} started a new session`;return"extract"===g?`${d}'s session started extracting the handoff`:`${d}'s session started answering`;case"state_changed":{let a="string"==typeof c.to&&f.includes(c.to)?c.to:null;return a?`Now ${i(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,l,"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,r,"formatExchangeTime",0,m,"instructionHeading",0,p,"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(t)},"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,j,"modeLabel",0,h,"outcomeLine",0,q,"participantsLabel",0,o,"sessionActionAvailability",0,function(a){return"ended"===a.status?{available:!1,reason:"Ask and Continue are unavailable: this session has ended. Its history stays here."}:a.resumable?{available:!0}:{available:!1,reason:`Ask and Continue are unavailable: Botmancers can’t resume this session under ${a.agent.name}’s current runtime.`}},"sessionLabel",0,n,"stateTone",0,k,"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.";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}],35099),a.s(["default",0,function({summary:a,onChanged:e}){let[f,g]=(0,c.useState)(!1),[i,t]=(0,c.useState)(""),u=k(a.state),v=q(a),w=r(a),x=`exchange-${a.id}-title`,y=async()=>{if(!f){g(!0),t("");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);t("string"==typeof a?.error?.message?a.error.message:"Could not cancel. Try again.")}}catch{t("Could not cancel. Try again.")}finally{g(!1),e?.()}}};return(0,b.jsxs)("article",{id:`exchange-${a.id}`,className:`exchange-card is-${u} is-${a.state}`,"data-exchange-id":a.id,"data-exchange-state":a.state,"aria-labelledby":x,tabIndex:-1,children:[(0,b.jsxs)("p",{className:"exchange-card-line",children:[(0,b.jsx)("span",{className:"exchange-card-mode",children:h(a.mode)}),(0,b.jsx)("span",{id:x,className:"exchange-card-title",children:o(a)}),(0,b.jsx)("span",{className:"exchange-card-state",role:"status",children:j(a)})]}),(0,b.jsx)("p",{className:"exchange-card-session",children:n(a)}),(0,b.jsxs)("p",{className:"exchange-card-instruction",children:[(0,b.jsx)("span",{className:"exchange-card-key",children:p(a.mode)})," ",l(a.instruction,220)]}),v?(0,b.jsx)("p",{className:"failed"===a.state?"exchange-card-outcome is-failure":"exchange-card-outcome",children:v}):null,w?(0,b.jsx)("p",{className:"exchange-card-advice",children:w}):null,i?(0,b.jsx)("p",{className:"exchange-card-error",role:"alert",children:i}):null,(0,b.jsxs)("p",{className:"exchange-card-foot",children:[(0,b.jsxs)("span",{className:"exchange-card-time",children:["Updated ",m(a.updated_at)]}),(0,b.jsx)(d.default,{className:"exchange-card-link",href:s(a.id),"aria-label":`Details: ${h(a.mode)} ${o(a)}`,children:"Details"}),a.can_cancel?(0,b.jsx)("button",{type:"button",className:"exchange-card-cancel",disabled:f,onClick:()=>{y()},children:f?"Cancelling…":"Cancel"}):null]})]})}],27828)},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 this session or Continue with… 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_1-nwnha._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[36391,5020,80219,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d=[{id:"purple",label:"Purple",hex:"#7C3AED"},{id:"blue",label:"Blue",hex:"#2563EB"},{id:"teal",label:"Teal",hex:"#0D9488"},{id:"green",label:"Green",hex:"#16A34A"},{id:"amber",label:"Amber",hex:"#B45309"},{id:"orange",label:"Orange",hex:"#EA580C"},{id:"pink",label:"Pink",hex:"#DB2777"},{id:"slate",label:"Slate",hex:"#64748B"}],e=[{id:"dots",label:"Round dots"},{id:"sleepy",label:"Sleepy"},{id:"happy",label:"Happy arcs"},{id:"wide",label:"Wide ovals"}],f=[{id:"folded",label:"Folded arms"},{id:"reaching",label:"Reaching right"},{id:"waving",label:"Waving"}],g=[{id:"none",label:"None"},{id:"crown",label:"Crown"},{id:"glasses",label:"Glasses"},{id:"headset",label:"Headset"},{id:"hat",label:"Hat"},{id:"bow",label:"Bow"}],h={color:"purple",eyes:"dots",hands:"folded",accessory:"none"},i={...h,accessory:"crown"};function j(a,b){return"string"==typeof b&&a.some(a=>a.id===b)}function k(a){let b=j(d,a.avatar_color)?a.avatar_color:h.color,c=j(e,a.avatar_eyes)?a.avatar_eyes:h.eyes;return{color:b,eyes:c,hands:j(f,a.avatar_hands)?a.avatar_hands:h.hands,accessory:j(g,a.avatar_accessory)?a.avatar_accessory:"chief-of-staff"===String(a.name??"").trim().toLowerCase()?i.accessory:h.accessory}}let l=[{x:70,y:70.5,w:38,h:6},{x:70,y:82,w:38,h:6}];function m(a){return l.map(b=>`<rect x="${b.x}" y="${b.y}" width="${b.w}" height="${b.h}" rx="${b.h/2}" ${a}/>`).join("")}function n(a,b="static"){var c,e;let f,g,h=d.find(b=>b.id===a.color)?.hex??d[0].hex,i=String(b).replace(/[^A-Za-z0-9_-]/g,"")||"static",j=`avatar-knockout-${i}`,k=`fill="none" stroke="${h}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`,l=(c=a.hands,e=a.accessory,f=[],"reaching"===c&&f.push({x1:87.6,y1:69,x2:90.4,y2:86.5,w:8}),"waving"===c&&f.push({x1:35,y1:59,x2:28,y2:72,w:10}),"crown"===e&&f.push({x1:44,y1:30,x2:76,y2:30,w:9}),"hat"===e&&f.push({x1:38,y1:34,x2:82,y2:34,w:9}),"bow"===e&&f.push({x1:60,y1:28.5,x2:84,y2:28,w:10}),"headset"===e&&(f.push({x1:42,y1:24.5,x2:78,y2:24.5,w:10}),f.push({x1:33,y1:55,x2:37,y2:64,w:8}),f.push({x1:83,y1:55,x2:87,y2:64,w:8})),"glasses"===e&&(f.push({x1:29,y1:56,x2:34,y2:62,w:8}),f.push({x1:86,y1:62,x2:91,y2:56,w:8})),f).map(a=>`<line x1="${a.x1}" y1="${a.y1}" x2="${a.x2}" y2="${a.y2}" stroke="#000000" stroke-width="${a.w}" stroke-linecap="round"/>`).join(""),o=`avatar-arms-${i}`,p="reaching"===a.hands,q=p?`<mask id="${o}"><rect x="0" y="0" width="120" height="120" fill="#ffffff"/>${m('fill="#000000" stroke="#000000" stroke-width="7"')}</mask>`:"",r=function(a,b){let c=`fill="none" stroke="${b}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`;switch(a){case"sleepy":return`<g data-avatar-layer="eyes" data-avatar-eyes="sleepy"><path d="M42 61 Q48 64 54 61" ${c}/><path d="M66 61 Q72 64 78 61" ${c}/></g>`;case"happy":return`<g data-avatar-layer="eyes" data-avatar-eyes="happy"><path d="M42 63 Q48 54 54 63" ${c}/><path d="M66 63 Q72 54 78 63" ${c}/></g>`;case"wide":return`<g data-avatar-layer="eyes" data-avatar-eyes="wide"><ellipse cx="48" cy="60" rx="5.5" ry="8" ${c}/><ellipse cx="72" cy="60" rx="5.5" ry="8" ${c}/></g>`;default:return`<g data-avatar-layer="eyes" data-avatar-eyes="dots"><circle cx="48" cy="60" r="3.5" ${c}/><circle cx="72" cy="60" r="3.5" ${c}/></g>`}}(a.eyes,h),s=function(a,b){let c=`fill="none" stroke="${b}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`;switch(a){case"crown":return`<g data-avatar-layer="accessory" data-avatar-accessory="crown"><path d="M44 31 L46.5 14 L54 24 L60 10 L66 24 L73.5 14 L76 31 Z" ${c}/></g>`;case"glasses":return`<g data-avatar-layer="accessory" data-avatar-accessory="glasses"><circle cx="48" cy="60" r="9" ${c}/><circle cx="72" cy="60" r="9" ${c}/><path d="M57 60 Q60 57 63 60" ${c}/><path d="M39 59 L32 57" ${c}/><path d="M81 59 L88 57" ${c}/></g>`;case"headset":return`<g data-avatar-layer="accessory" data-avatar-accessory="headset"><path d="M36 62 Q34 24 60 24 Q86 24 84 62" ${c}/><rect x="79" y="54" width="10" height="17" rx="5" ${c}/><path d="M84 71 Q80 84 66 84" ${c}/></g>`;case"hat":return`<g data-avatar-layer="accessory" data-avatar-accessory="hat"><path d="M38 34 Q60 40 82 34" ${c}/><path d="M46 34 Q48 14 60 14 Q72 14 74 34" ${c}/></g>`;case"bow":return`<g data-avatar-layer="accessory" data-avatar-accessory="bow"><circle cx="79" cy="29" r="3.5" ${c}/><path d="M76 27 L62 18 Q60 26 66 32 Z" ${c}/><path d="M82 27 L95 19 Q97 27 91 32 Z" ${c}/></g>`;default:return'<g data-avatar-layer="accessory" data-avatar-accessory="none"></g>'}}(a.accessory,h);return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120" role="img" data-avatar-color="${a.color}" data-avatar-eyes="${a.eyes}" data-avatar-hands="${a.hands}" data-avatar-accessory="${a.accessory}"><mask id="${j}"><rect x="0" y="0" width="120" height="120" fill="#ffffff"/>${l}</mask>`+q+`<g data-avatar-layer="body" mask="url(#${j})">`+`<path d="M60 28 C75 28 84 39 85.5 56 L91 90 C92.5 98 87 102 79 102 L41 102 C33 102 27.5 98 29 90 L34.5 56 C36 39 45 28 60 28 Z" ${k}/>`+`<path d="M54 71 Q60 75.5 66 71" ${k}/>`+`<path data-avatar-brows="straight" d="${g="wide"===a.eyes?45:46,`M42 ${g} H54 M66 ${g} H78`}" fill="none" stroke="${h}" stroke-width="4.8" stroke-linecap="round"/>`+"</g>"+(p?`<g mask="url(#${o})">${r}</g>`:r)+function(a,b){let c=`fill="none" stroke="${b}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`;switch(a){case"reaching":return'<g data-avatar-layer="hands" data-avatar-hands="reaching">'+m(c)+"</g>";case"waving":return`<g data-avatar-layer="hands" data-avatar-hands="waving"><path d="M32 68 Q24 60 22 48" ${c}/><circle cx="21" cy="41" r="5" ${c}/><path d="M11 36 Q9 46 12 54" ${c}/></g>`;default:return`<g data-avatar-layer="hands" data-avatar-hands="folded"><rect x="44" y="79" width="32" height="9" rx="4.5" ${c}/><rect x="46" y="90" width="28" height="9" rx="4.5" ${c}/></g>`}}(a.hands,h)+(p?`<g mask="url(#${o})">${s}</g>`:s)+"</svg>"}a.s(["AVATAR_ACCESSORIES",0,g,"AVATAR_COLORS",0,d,"AVATAR_EYES",0,e,"AVATAR_HANDS",0,f,"renderAvatarSvg",0,n,"resolveAvatar",0,k],5020),a.s(["default",0,function({bot:a,config:d,size:e=28,className:f,title:g}){let h=(0,c.useId)().replace(/[^A-Za-z0-9_-]/g,"")||"avatar",i=n(d??a?.avatar_config??k(a??{}),h).replace("<svg ",`<svg width="${e}" height="${e}" `);return(0,b.jsx)("span",{className:f??"bot-avatar",style:{display:"inline-flex",width:e,height:e,flex:"none"},title:g,"aria-label":g??"Agent avatar",role:"img",dangerouslySetInnerHTML:{__html:i}})}],36391);let o="imported",p=/^[A-Za-z0-9_-]{1,128}$/;function q(a){let b=new URLSearchParams(a).get(o);if(null===b)return null;let c=b.trim();return p.test(c)?c:""}function r(a){return`/bots/${encodeURIComponent(a)}/config`}async function s(a,b,c){let d=q(a);if(null===d)return{kind:"none"};if(!d)return{kind:"missing"};if(d===b)return{kind:"stay"};try{return await c(d)?{kind:"open",path:r(d)}:{kind:"missing"}}catch{return{kind:"missing"}}}a.s(["HANDOFF_STATUS_PATH",0,"/api/marketplace-handoff/status","IMPORT_RETURN_QUERY",0,o,"handoffStartPath",0,function(a,b){return`/api/marketplace-handoff?return=${encodeURIComponent(a+b)}`},"importedBotId",0,q,"importedConfigPath",0,r,"marketImportView",0,function(a){switch(a){case"checking":return{busy:!0,tone:"muted",message:"Checking Grok Marketplace…"};case"redirecting":return{busy:!0,tone:"muted",message:"Opening Grok Marketplace…"};case"unavailable":return{busy:!1,tone:"error",message:"Grok Marketplace isn't configured. Set CLONE_MARKET_URL on the Botmancers server."};case"failed":return{busy:!1,tone:"error",message:"Couldn't reach Botmancers to start the import. Try again."};case"missing":return{busy:!1,tone:"error",message:"Imported agent not found. The import may not have completed."};default:return{busy:!1,tone:"muted",message:"Imports a new agent and opens its Config. This agent is not changed."}}},"resolveImportReturn",0,s],80219)},60193,35832,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d="Permanently removes each agent with its direct conversation, messages, queue rows, approvals, launch snapshots, memories, one-shots, routines, and pending questions. There is no undo.",e="Skill files, working directories, Hermes profiles, and imported source files stay on disk.";function f(a){return"chief"===a?"Chief of Staff cannot be deleted.":"Working now — stop it or let it finish before deleting."}function g(a){return 1===a?"Delete agent":`Delete ${a} agents`}a.s(["DELETE_KEEPS_COPY",0,e,"DELETE_REMOVES_COPY",0,d,"blockedReasonCopy",0,f,"deleteConfirmLabel",0,g,"deletedStatusLine",0,function(a){return 1===a?"Deleted 1 agent.":`Deleted ${a} agents.`}],35832),a.s(["default",0,function({ids:a,onCancel:h,onDeleted:i}){let j=(0,c.useId)(),[k,l]=(0,c.useState)(null),[m,n]=(0,c.useState)(""),[o,p]=(0,c.useState)(""),[q,r]=(0,c.useState)(!1),s=(0,c.useRef)(null),t=(0,c.useRef)(null),u=a.join("\n");(0,c.useEffect)(()=>{let a=!1;return fetch("/api/bots/delete-preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:u.split("\n")})}).then(async b=>{let c=await b.json().catch(()=>null);if(!a){if(!b.ok)return void n("string"==typeof c?.error?c.error:"Could not load the deletion preview.");l(c)}}).catch(()=>{a||n("Could not load the deletion preview.")}),()=>{a=!0}},[u]),(0,c.useEffect)(()=>{s.current?.focus()},[]),(0,c.useEffect)(()=>{let a=a=>{"Escape"===a.key&&(a.stopPropagation(),q||h())};return document.addEventListener("keydown",a,!0),()=>document.removeEventListener("keydown",a,!0)},[q,h]);let v=a.length,w=!k||k.blocked.length>0||k.missing.length>0,x=async()=>{if(!q&&!w){r(!0),p("");try{let b=await fetch("/api/bots",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:a})}),c=await b.json().catch(()=>null);if(!b.ok){p("string"==typeof c?.error&&c.error?c.error:`Delete failed (${b.status}).`),r(!1),requestAnimationFrame(()=>s.current?.focus());return}i(Array.isArray(c?.deleted)?c.deleted:[])}catch{p("Delete failed: the server did not respond."),r(!1),requestAnimationFrame(()=>s.current?.focus())}}};return(0,b.jsx)("div",{className:"modal-scrim delete-scrim",onKeyDown:a=>{if("Tab"!==a.key||!t.current)return;let b=Array.from(t.current.querySelectorAll("button:not(:disabled)"));if(0===b.length)return;let c=b[0],d=b[b.length-1];a.shiftKey&&document.activeElement===c?(a.preventDefault(),d.focus()):a.shiftKey||document.activeElement!==d||(a.preventDefault(),c.focus())},children:(0,b.jsxs)("div",{ref:t,className:"delete-card",role:"alertdialog","aria-modal":"true","aria-labelledby":j,"data-testid":"delete-agents-dialog",children:[(0,b.jsx)("h2",{id:j,className:"delete-title",children:1===v?"Delete this agent permanently?":`Delete ${v} agents permanently?`}),m?(0,b.jsx)("p",{className:"delete-error",role:"alert",children:m}):null,k||m?null:(0,b.jsx)("p",{className:"delete-copy",children:"Checking what will be removed…"}),k?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("ul",{className:"delete-names","aria-label":"Agents to delete",children:[k.agents.map(a=>(0,b.jsx)("li",{children:a.name},a.id)),k.missing.map(a=>(0,b.jsxs)("li",{children:["Not found: ",a]},a))]}),k.blocked.length>0?(0,b.jsxs)("div",{className:"delete-blocked",role:"alert",children:[(0,b.jsx)("p",{children:"Nothing can be deleted until these are deselected:"}),(0,b.jsx)("ul",{children:k.blocked.map(a=>(0,b.jsxs)("li",{children:[a.name," — ",f(a.reason)]},a.id))})]}):null,(0,b.jsx)("p",{className:"delete-copy",children:d}),(0,b.jsx)("p",{className:"delete-copy delete-keeps",children:e})]}):null,o?(0,b.jsx)("p",{className:"delete-error",role:"alert",children:o}):null,(0,b.jsxs)("div",{className:"form-actions delete-actions",children:[(0,b.jsx)("button",{ref:s,type:"button",className:"cancel-btn",onClick:h,disabled:q,children:"Cancel"}),(0,b.jsx)("button",{type:"button",className:"delete-btn",onClick:()=>{x()},disabled:q||w,children:q?"Deleting…":g(v)})]})]})})}],60193)}];
2
-
3
- //# sourceMappingURL=app_components_0bhuhd-._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[36391,5020,80219,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d=[{id:"purple",label:"Purple",hex:"#7C3AED"},{id:"blue",label:"Blue",hex:"#2563EB"},{id:"teal",label:"Teal",hex:"#0D9488"},{id:"green",label:"Green",hex:"#16A34A"},{id:"amber",label:"Amber",hex:"#B45309"},{id:"orange",label:"Orange",hex:"#EA580C"},{id:"pink",label:"Pink",hex:"#DB2777"},{id:"slate",label:"Slate",hex:"#64748B"}],e=[{id:"dots",label:"Round dots"},{id:"sleepy",label:"Sleepy"},{id:"happy",label:"Happy arcs"},{id:"wide",label:"Wide ovals"}],f=[{id:"folded",label:"Folded arms"},{id:"reaching",label:"Reaching right"},{id:"waving",label:"Waving"}],g=[{id:"none",label:"None"},{id:"crown",label:"Crown"},{id:"glasses",label:"Glasses"},{id:"headset",label:"Headset"},{id:"hat",label:"Hat"},{id:"bow",label:"Bow"}],h={color:"purple",eyes:"dots",hands:"folded",accessory:"none"},i={...h,accessory:"crown"};function j(a,b){return"string"==typeof b&&a.some(a=>a.id===b)}function k(a){let b=j(d,a.avatar_color)?a.avatar_color:h.color,c=j(e,a.avatar_eyes)?a.avatar_eyes:h.eyes;return{color:b,eyes:c,hands:j(f,a.avatar_hands)?a.avatar_hands:h.hands,accessory:j(g,a.avatar_accessory)?a.avatar_accessory:"chief-of-staff"===String(a.name??"").trim().toLowerCase()?i.accessory:h.accessory}}let l=[{x:70,y:70.5,w:38,h:6},{x:70,y:82,w:38,h:6}];function m(a){return l.map(b=>`<rect x="${b.x}" y="${b.y}" width="${b.w}" height="${b.h}" rx="${b.h/2}" ${a}/>`).join("")}function n(a,b="static"){var c,e;let f,g,h=d.find(b=>b.id===a.color)?.hex??d[0].hex,i=String(b).replace(/[^A-Za-z0-9_-]/g,"")||"static",j=`avatar-knockout-${i}`,k=`fill="none" stroke="${h}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`,l=(c=a.hands,e=a.accessory,f=[],"reaching"===c&&f.push({x1:87.6,y1:69,x2:90.4,y2:86.5,w:8}),"waving"===c&&f.push({x1:35,y1:59,x2:28,y2:72,w:10}),"crown"===e&&f.push({x1:44,y1:30,x2:76,y2:30,w:9}),"hat"===e&&f.push({x1:38,y1:34,x2:82,y2:34,w:9}),"bow"===e&&f.push({x1:60,y1:28.5,x2:84,y2:28,w:10}),"headset"===e&&(f.push({x1:42,y1:24.5,x2:78,y2:24.5,w:10}),f.push({x1:33,y1:55,x2:37,y2:64,w:8}),f.push({x1:83,y1:55,x2:87,y2:64,w:8})),"glasses"===e&&(f.push({x1:29,y1:56,x2:34,y2:62,w:8}),f.push({x1:86,y1:62,x2:91,y2:56,w:8})),f).map(a=>`<line x1="${a.x1}" y1="${a.y1}" x2="${a.x2}" y2="${a.y2}" stroke="#000000" stroke-width="${a.w}" stroke-linecap="round"/>`).join(""),o=`avatar-arms-${i}`,p="reaching"===a.hands,q=p?`<mask id="${o}"><rect x="0" y="0" width="120" height="120" fill="#ffffff"/>${m('fill="#000000" stroke="#000000" stroke-width="7"')}</mask>`:"",r=function(a,b){let c=`fill="none" stroke="${b}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`;switch(a){case"sleepy":return`<g data-avatar-layer="eyes" data-avatar-eyes="sleepy"><path d="M42 61 Q48 64 54 61" ${c}/><path d="M66 61 Q72 64 78 61" ${c}/></g>`;case"happy":return`<g data-avatar-layer="eyes" data-avatar-eyes="happy"><path d="M42 63 Q48 54 54 63" ${c}/><path d="M66 63 Q72 54 78 63" ${c}/></g>`;case"wide":return`<g data-avatar-layer="eyes" data-avatar-eyes="wide"><ellipse cx="48" cy="60" rx="5.5" ry="8" ${c}/><ellipse cx="72" cy="60" rx="5.5" ry="8" ${c}/></g>`;default:return`<g data-avatar-layer="eyes" data-avatar-eyes="dots"><circle cx="48" cy="60" r="3.5" ${c}/><circle cx="72" cy="60" r="3.5" ${c}/></g>`}}(a.eyes,h),s=function(a,b){let c=`fill="none" stroke="${b}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`;switch(a){case"crown":return`<g data-avatar-layer="accessory" data-avatar-accessory="crown"><path d="M44 31 L46.5 14 L54 24 L60 10 L66 24 L73.5 14 L76 31 Z" ${c}/></g>`;case"glasses":return`<g data-avatar-layer="accessory" data-avatar-accessory="glasses"><circle cx="48" cy="60" r="9" ${c}/><circle cx="72" cy="60" r="9" ${c}/><path d="M57 60 Q60 57 63 60" ${c}/><path d="M39 59 L32 57" ${c}/><path d="M81 59 L88 57" ${c}/></g>`;case"headset":return`<g data-avatar-layer="accessory" data-avatar-accessory="headset"><path d="M36 62 Q34 24 60 24 Q86 24 84 62" ${c}/><rect x="79" y="54" width="10" height="17" rx="5" ${c}/><path d="M84 71 Q80 84 66 84" ${c}/></g>`;case"hat":return`<g data-avatar-layer="accessory" data-avatar-accessory="hat"><path d="M38 34 Q60 40 82 34" ${c}/><path d="M46 34 Q48 14 60 14 Q72 14 74 34" ${c}/></g>`;case"bow":return`<g data-avatar-layer="accessory" data-avatar-accessory="bow"><circle cx="79" cy="29" r="3.5" ${c}/><path d="M76 27 L62 18 Q60 26 66 32 Z" ${c}/><path d="M82 27 L95 19 Q97 27 91 32 Z" ${c}/></g>`;default:return'<g data-avatar-layer="accessory" data-avatar-accessory="none"></g>'}}(a.accessory,h);return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120" role="img" data-avatar-color="${a.color}" data-avatar-eyes="${a.eyes}" data-avatar-hands="${a.hands}" data-avatar-accessory="${a.accessory}"><mask id="${j}"><rect x="0" y="0" width="120" height="120" fill="#ffffff"/>${l}</mask>`+q+`<g data-avatar-layer="body" mask="url(#${j})">`+`<path d="M60 28 C75 28 84 39 85.5 56 L91 90 C92.5 98 87 102 79 102 L41 102 C33 102 27.5 98 29 90 L34.5 56 C36 39 45 28 60 28 Z" ${k}/>`+`<path d="M54 71 Q60 75.5 66 71" ${k}/>`+`<path data-avatar-brows="straight" d="${g="wide"===a.eyes?45:46,`M42 ${g} H54 M66 ${g} H78`}" fill="none" stroke="${h}" stroke-width="4.8" stroke-linecap="round"/>`+"</g>"+(p?`<g mask="url(#${o})">${r}</g>`:r)+function(a,b){let c=`fill="none" stroke="${b}" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"`;switch(a){case"reaching":return'<g data-avatar-layer="hands" data-avatar-hands="reaching">'+m(c)+"</g>";case"waving":return`<g data-avatar-layer="hands" data-avatar-hands="waving"><path d="M32 68 Q24 60 22 48" ${c}/><circle cx="21" cy="41" r="5" ${c}/><path d="M11 36 Q9 46 12 54" ${c}/></g>`;default:return`<g data-avatar-layer="hands" data-avatar-hands="folded"><rect x="44" y="79" width="32" height="9" rx="4.5" ${c}/><rect x="46" y="90" width="28" height="9" rx="4.5" ${c}/></g>`}}(a.hands,h)+(p?`<g mask="url(#${o})">${s}</g>`:s)+"</svg>"}a.s(["AVATAR_ACCESSORIES",0,g,"AVATAR_COLORS",0,d,"AVATAR_EYES",0,e,"AVATAR_HANDS",0,f,"renderAvatarSvg",0,n,"resolveAvatar",0,k],5020),a.s(["default",0,function({bot:a,config:d,size:e=28,className:f,title:g}){let h=(0,c.useId)().replace(/[^A-Za-z0-9_-]/g,"")||"avatar",i=n(d??a?.avatar_config??k(a??{}),h).replace("<svg ",`<svg width="${e}" height="${e}" `);return(0,b.jsx)("span",{className:f??"bot-avatar",style:{display:"inline-flex",width:e,height:e,flex:"none"},title:g,"aria-label":g??"Agent avatar",role:"img",dangerouslySetInnerHTML:{__html:i}})}],36391);let o="imported",p=/^[A-Za-z0-9_-]{1,128}$/;function q(a){let b=new URLSearchParams(a).get(o);if(null===b)return null;let c=b.trim();return p.test(c)?c:""}function r(a){return`/bots/${encodeURIComponent(a)}/config`}async function s(a,b,c){let d=q(a);if(null===d)return{kind:"none"};if(!d)return{kind:"missing"};if(d===b)return{kind:"stay"};try{return await c(d)?{kind:"open",path:r(d)}:{kind:"missing"}}catch{return{kind:"missing"}}}a.s(["HANDOFF_STATUS_PATH",0,"/api/marketplace-handoff/status","IMPORT_RETURN_QUERY",0,o,"handoffStartPath",0,function(a,b){return`/api/marketplace-handoff?return=${encodeURIComponent(a+b)}`},"importedBotId",0,q,"importedConfigPath",0,r,"marketImportView",0,function(a){switch(a){case"checking":return{busy:!0,tone:"muted",message:"Checking Grok Marketplace…"};case"redirecting":return{busy:!0,tone:"muted",message:"Opening Grok Marketplace…"};case"unavailable":return{busy:!1,tone:"error",message:"Grok Marketplace isn't configured. Set CLONE_MARKET_URL on the Botmancers server."};case"failed":return{busy:!1,tone:"error",message:"Couldn't reach Botmancers to start the import. Try again."};case"missing":return{busy:!1,tone:"error",message:"Imported agent not found. The import may not have completed."};default:return{busy:!1,tone:"muted",message:"Imports a new agent and opens its Config. This agent is not changed."}}},"resolveImportReturn",0,s],80219)},60193,35832,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d="Permanently removes each agent with its direct conversation, messages, queue rows, approvals, launch snapshots, memories, one-shots, routines, and pending questions. There is no undo.",e="Skill files, working directories, Hermes profiles, and imported source files stay on disk.";function f(a){return"chief"===a?"Chief of Staff cannot be deleted.":"Working now — stop it or let it finish before deleting."}function g(a){return 1===a?"Delete agent":`Delete ${a} agents`}a.s(["DELETE_KEEPS_COPY",0,e,"DELETE_REMOVES_COPY",0,d,"blockedReasonCopy",0,f,"deleteConfirmLabel",0,g,"deletedStatusLine",0,function(a){return 1===a?"Deleted 1 agent.":`Deleted ${a} agents.`}],35832),a.s(["default",0,function({ids:a,onCancel:h,onDeleted:i}){let j=(0,c.useId)(),[k,l]=(0,c.useState)(null),[m,n]=(0,c.useState)(""),[o,p]=(0,c.useState)(""),[q,r]=(0,c.useState)(!1),s=(0,c.useRef)(null),t=(0,c.useRef)(null),u=a.join("\n");(0,c.useEffect)(()=>{let a=!1;return fetch("/api/bots/delete-preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:u.split("\n")})}).then(async b=>{let c=await b.json().catch(()=>null);if(!a){if(!b.ok)return void n("string"==typeof c?.error?c.error:"Could not load the deletion preview.");l(c)}}).catch(()=>{a||n("Could not load the deletion preview.")}),()=>{a=!0}},[u]),(0,c.useEffect)(()=>{s.current?.focus()},[]),(0,c.useEffect)(()=>{let a=a=>{"Escape"===a.key&&(a.stopPropagation(),q||h())};return document.addEventListener("keydown",a,!0),()=>document.removeEventListener("keydown",a,!0)},[q,h]);let v=a.length,w=!k||k.blocked.length>0||k.missing.length>0,x=async()=>{if(!q&&!w){r(!0),p("");try{let b=await fetch("/api/bots",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:a})}),c=await b.json().catch(()=>null);if(!b.ok){p("string"==typeof c?.error&&c.error?c.error:`Delete failed (${b.status}).`),r(!1),requestAnimationFrame(()=>s.current?.focus());return}i(Array.isArray(c?.deleted)?c.deleted:[])}catch{p("Delete failed: the server did not respond."),r(!1),requestAnimationFrame(()=>s.current?.focus())}}};return(0,b.jsx)("div",{className:"modal-scrim delete-scrim",onKeyDown:a=>{if("Tab"!==a.key||!t.current)return;let b=Array.from(t.current.querySelectorAll("button:not(:disabled)"));if(0===b.length)return;let c=b[0],d=b[b.length-1];a.shiftKey&&document.activeElement===c?(a.preventDefault(),d.focus()):a.shiftKey||document.activeElement!==d||(a.preventDefault(),c.focus())},children:(0,b.jsxs)("div",{ref:t,className:"delete-card",role:"alertdialog","aria-modal":"true","aria-labelledby":j,"data-testid":"delete-agents-dialog",children:[(0,b.jsx)("h2",{id:j,className:"delete-title",children:1===v?"Delete this agent permanently?":`Delete ${v} agents permanently?`}),m?(0,b.jsx)("p",{className:"delete-error",role:"alert",children:m}):null,k||m?null:(0,b.jsx)("p",{className:"delete-copy",children:"Checking what will be removed…"}),k?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("ul",{className:"delete-names","aria-label":"Agents to delete",children:[k.agents.map(a=>(0,b.jsx)("li",{children:a.name},a.id)),k.missing.map(a=>(0,b.jsxs)("li",{children:["Not found: ",a]},a))]}),k.blocked.length>0?(0,b.jsxs)("div",{className:"delete-blocked",role:"alert",children:[(0,b.jsx)("p",{children:"Nothing can be deleted until these are deselected:"}),(0,b.jsx)("ul",{children:k.blocked.map(a=>(0,b.jsxs)("li",{children:[a.name," — ",f(a.reason)]},a.id))})]}):null,(0,b.jsx)("p",{className:"delete-copy",children:d}),(0,b.jsx)("p",{className:"delete-copy delete-keeps",children:e})]}):null,o?(0,b.jsx)("p",{className:"delete-error",role:"alert",children:o}):null,(0,b.jsxs)("div",{className:"form-actions delete-actions",children:[(0,b.jsx)("button",{ref:s,type:"button",className:"cancel-btn",onClick:h,disabled:q,children:"Cancel"}),(0,b.jsx)("button",{type:"button",className:"delete-btn",onClick:()=>{x()},disabled:q||w,children:q?"Deleting…":g(v)})]})]})})}],60193)}];
2
-
3
- //# sourceMappingURL=app_components_0w2_b3t._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[69789,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={actionAsyncStorage:function(){return f.actionAsyncStorage},workAsyncStorage:function(){return g.workAsyncStorage},workUnitAsyncStorage:function(){return h.workUnitAsyncStorage}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(20635),g=a.r(56704),h=a.r(32319);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)}];
2
-
3
- //# sourceMappingURL=node_modules_next_dist_client_components_server-async-storage_0t1dato.js.map
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,13978,e=>{"use strict";var s=e.i(43476),t=e.i(71645),a=e.i(22016),n=e.i(18566),l=e.i(15983),i=e.i(10718),r=e.i(74904),c=e.i(10331),o=e.i(4335),d=e.i(87303);function m({attribute:e,label:a,options:n,current:l,onPick:i,className:r}){let c=(0,t.useId)(),o=`avatar-${e}`;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("p",{id:c,className:"avatar-group-label",children:a}),(0,s.jsx)("div",{className:r?`avatar-opt-grid ${r}`:"avatar-opt-grid",role:"radiogroup","aria-labelledby":c,children:n.map(t=>(0,s.jsxs)("label",{title:t.label,className:"avatar-opt",children:[(0,s.jsx)("input",{type:"radio",name:o,value:t.id,checked:l[e]===t.id,onChange:()=>i({[e]:t.id}),className:"avatar-opt-input"}),(0,s.jsx)("span",{className:"avatar-opt-art","aria-hidden":"true",children:(0,s.jsx)(d.default,{config:{...l,[e]:t.id},size:44})}),(0,s.jsx)("span",{children:t.label})]},t.id))})]})}var f=e.i(68541);function h({phase:e,onImport:t}){let a=(0,f.marketImportView)(e);return(0,s.jsxs)("div",{className:"mt-3","data-field":"marketplace-import",children:[(0,s.jsx)("button",{type:"button",onClick:t,disabled:a.busy,"aria-busy":a.busy,"aria-describedby":"cfg-market-import-status",className:"cfg-btn-ghost text-sm w-full sm:w-auto",children:"Import from Grok Marketplace"}),(0,s.jsx)("p",{id:"cfg-market-import-status",role:"status","aria-live":"polite",className:"error"===a.tone?"mt-2 text-sm cfg-error":"mt-2 text-xs cfg-faint",children:a.message})]})}var u=e.i(37947);let x=[{key:"avatar_accessory",label:"Avatar accessory"},{key:"avatar_color",label:"Avatar color"},{key:"avatar_eyes",label:"Avatar eyes"},{key:"avatar_hands",label:"Avatar hands"},{key:"description",label:"Description (rules)"},{key:"import_operation_id",label:"Import operation ID"},{key:"import_schema_version",label:"Import schema version"},{key:"memories",label:"Remembered facts"},{key:"name",label:"Name"},{key:"skill_content",label:"Skill content"},{key:"skill_path",label:"Skill path"},{key:"skill_present",label:"Skill present"},{key:"source_provider",label:"Source provider"},{key:"template_id",label:"Template ID"},{key:"template_url",label:"Template URL"},{key:"title",label:"Title"}];function g(e){return String(e).padStart(2,"0")}function p(e){let s=new Date(e);return`${s.getFullYear()}-${g(s.getMonth()+1)}-${g(s.getDate())} ${g(s.getHours())}:${g(s.getMinutes())}`}function j(e){let s=new Date(e);return`${g(s.getHours())}:${g(s.getMinutes())}:${g(s.getSeconds())}`}async function N(e){try{return await navigator.clipboard.writeText(e),!0}catch{return!1}}e.s(["default",0,function(){var e;let g=String((0,n.useParams)().id??""),b=(0,n.useRouter)(),[v,y]=(0,t.useState)(!1),[k,w]=(0,t.useState)(null),[S,C]=(0,t.useState)(!0),[_,E]=(0,t.useState)(!1),[R,T]=(0,t.useState)(!1),[A,D]=(0,t.useState)(0),[I,P]=(0,t.useState)(null),[O,$]=(0,t.useState)("clean"),[U,L]=(0,t.useState)(""),[F,H]=(0,t.useState)(0),[q,B]=(0,t.useState)(!1),[M,J]=(0,t.useState)(""),[V,K]=(0,t.useState)("clean"),[Y,z]=(0,t.useState)(""),[W,G]=(0,t.useState)(0),[Q,Z]=(0,t.useState)({}),[X,ee]=(0,t.useState)(""),{state:es,retry:et}=(0,o.useDeckList)(),[ea,en]=(0,t.useState)(!1),[el,ei]=(0,t.useState)(null),[er,ec]=(0,t.useState)("clean"),[eo,ed]=(0,t.useState)(""),[em,ef]=(0,t.useState)(0),[eh,eu]=(0,t.useState)(null),[ex,eg]=(0,t.useState)("clean"),[ep,ej]=(0,t.useState)(""),[eN,eb]=(0,t.useState)(0),{phase:ev,startImport:ey}=function(e){let[s,a]=(0,t.useState)("idle");return(0,t.useEffect)(()=>{let s=window.location.search;if(null===(0,f.importedBotId)(s))return;let t=new URL(window.location.href);t.searchParams.delete(f.IMPORT_RETURN_QUERY),window.history.replaceState(null,"",t.pathname+t.search);let n=!1;return(0,f.resolveImportReturn)(s,e,async e=>(await fetch(`/api/bots/${encodeURIComponent(e)}/config`,{cache:"no-store"})).ok).then(e=>{n||("open"===e.kind?window.location.replace(e.path):"missing"===e.kind&&a("missing"))}),()=>{n=!0}},[e]),{phase:s,startImport:async function(){a("checking");try{let e=await fetch(f.HANDOFF_STATUS_PATH,{cache:"no-store"}),s=await e.json().catch(()=>null);if(!e.ok)return void a("failed");if(s?.configured!==!0)return void a("unavailable");a("redirecting"),window.location.href=(0,f.handoffStartPath)(window.location.origin,window.location.pathname),setTimeout(()=>a(e=>"redirecting"===e?"idle":e),4e3)}catch{a("failed")}}}}(g);function ek(){C(!0),E(!1),D(e=>e+1)}(0,t.useEffect)(()=>{if(!g)return;let e=!1;return fetch(`/api/bots/${encodeURIComponent(g)}/config`).then(async s=>{if(e)return;if(404===s.status){T(!0),w(null);return}if(!s.ok)throw Error("request failed");let t=await s.json();e||(w(t),P(t.bot.description??""),T(!1),E(!1))}).catch(()=>{e||E(!0)}).finally(()=>{e||C(!1)}),()=>{e=!0}},[g,A]);let ew=k?.bot.description??"",eS=null!==I&&I!==ew,eC=k?.skill.content??"",e_=q&&M!==eC,eE=k?(0,r.runtimeFormFromBot)(k.bot):null,eR=ea&&null!==el&&JSON.stringify(el)!==JSON.stringify(eE),eT=k?.bot.avatar_config??(0,u.resolveAvatar)(k?.bot??{}),eA=eh??eT,eD=null!==eh&&JSON.stringify(eh)!==JSON.stringify(eT),eI=eS||e_||eR||eD;function eP(e,s){N(s).then(s=>{s&&(ee(e),setTimeout(()=>ee(s=>s===e?"":s),2e3))})}async function eO(){if(k&&null!==I){$("saving"),L("");try{let e=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:k.bot.id,description:I})});if(!e.ok){let s="request failed";try{let t=await e.json();t.error&&(s=t.error)}catch{}throw Error(s)}let s=await fetch(`/api/bots/${encodeURIComponent(g)}/config`);if(!s.ok)throw Error("request failed");w(await s.json()),$("confirmed"),H(Date.now()),setTimeout(()=>{$(e=>"confirmed"===e?"clean":e)},5e3)}catch(e){$("error"),L(e instanceof Error?e.message:"request failed")}}}function e$(){k&&(ei((0,r.runtimeFormFromBot)(k.bot)),en(!0),ec("clean"),ed(""),et())}function eU(e){ei(s=>s?{...s,...e}:s),ed(""),ec(e=>"error"===e?"clean":e)}function eL(){en(!1),ei(null),ec("clean"),ed("")}function eF(e){eu({...eh??eT,...e}),eg("clean"),ej("")}async function eH(){if(k&&eh){eg("saving"),ej("");try{let e=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:k.bot.id,avatar:eh})});if(!e.ok){let s="request failed";try{let t=await e.json();t.error&&(s=t.error)}catch{}throw Error(s)}let s=await fetch(`/api/bots/${encodeURIComponent(g)}/config`);if(!s.ok)throw Error("request failed");w(await s.json()),eu(null),eg("confirmed"),eb(Date.now()),setTimeout(()=>{eg(e=>"confirmed"===e?"clean":e)},5e3)}catch(e){eg("error"),ej(e instanceof Error?e.message:"request failed")}}}async function eq(){if(k&&el){if(!el.deckId.trim()){ec("error"),ed(r.SELECT_DECK_ERROR);return}ec("saving"),ed("");try{let e=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify((0,r.configRuntimePatchBody)(k.bot.id,el))});if(!e.ok){let s="request failed";try{let t=await e.json();t.error&&(s=t.error)}catch{}throw Error(s)}let s=await fetch(`/api/bots/${encodeURIComponent(g)}/config`);if(!s.ok)throw Error("request failed");w(await s.json()),en(!1),ei(null),ec("confirmed"),ef(Date.now()),setTimeout(()=>{ec(e=>"confirmed"===e?"clean":e)},5e3)}catch(e){ec("error"),ed(e instanceof Error?e.message:"request failed")}}}function eB(){J(k?.skill.content??""),B(!0),K("clean"),z("")}async function eM(){if(k&&(M.trim()||window.confirm("Delete this skill file?"))){K("saving"),z("");try{let e=await fetch(`/api/bots/${encodeURIComponent(g)}/skill`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:M})});if(!e.ok){let s="request failed";try{let t=await e.json();t.error&&(s=t.error)}catch{}throw Error(s)}let s=await e.json();w(e=>e?{...e,skill:s.skill,currentHash:s.currentHash}:e),B(!1),K("confirmed"),G(Date.now()),setTimeout(()=>{K(e=>"confirmed"===e?"clean":e)},5e3)}catch(e){K("error"),z(e instanceof Error?e.message:"request failed")}}}if((0,t.useEffect)(()=>{if(!eI)return;let e=e=>{e.preventDefault()};return window.addEventListener("beforeunload",e),()=>window.removeEventListener("beforeunload",e)},[eI]),R)return(0,s.jsx)("div",{className:"cfg-page flex items-center justify-center",children:(0,s.jsxs)("div",{className:"text-center",children:[(0,s.jsx)("p",{className:"mb-4",children:"Agent not found."}),(0,s.jsx)(a.default,{href:"/",className:"cfg-link",children:"← Back to chat"})]})});if(S&&!k)return(0,s.jsx)("div",{className:"cfg-page",children:(0,s.jsxs)("div",{className:"max-w-6xl mx-auto space-y-6",children:[(0,s.jsx)("div",{className:"h-6 w-32 rounded animate-pulse cfg-skel"}),(0,s.jsx)("div",{className:"h-20 rounded-lg animate-pulse cfg-skel"}),(0,s.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,s.jsx)("div",{className:"space-y-6",children:[0,1,2].map(e=>(0,s.jsx)("div",{className:"h-48 rounded-lg animate-pulse cfg-skel"},e))}),(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsx)("div",{className:"h-64 rounded-lg animate-pulse cfg-skel"}),(0,s.jsx)("div",{className:"h-80 rounded-lg animate-pulse cfg-skel"})]})]})]})});if(_&&!k)return(0,s.jsx)("div",{className:"cfg-page",children:(0,s.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,s.jsx)(a.default,{href:"/",className:"cfg-link cfg-back text-sm",children:"← Back to chat"}),(0,s.jsxs)("header",{className:"mt-3 mb-6 flex flex-wrap items-center gap-4",children:[(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("h1",{className:"text-xl font-bold truncate",children:"Agent configuration"}),(0,s.jsx)("p",{className:"text-sm cfg-faint truncate",children:"Couldn't load agent details."})]}),(0,s.jsxs)("div",{className:"ml-auto text-right",children:[(0,s.jsxs)("p",{className:"text-sm cfg-muted",children:["Current config hash: ",(0,s.jsx)("code",{className:"cfg-code",children:"—"})]}),(0,s.jsx)("p",{className:"text-sm mt-1",children:(0,s.jsx)("span",{className:"cfg-faint",children:"○ Not loaded"})})]})]}),(0,s.jsx)("div",{className:"grid gap-6 lg:grid-cols-2 items-start",children:[["Skills","Rules","Agent","Template source"],["Launch snapshots","Avatar"]].map(e=>(0,s.jsx)("div",{className:"min-w-0 space-y-6",children:e.map(e=>(0,s.jsxs)("div",{className:"cfg-card",children:[(0,s.jsx)("h2",{className:"cfg-title mb-2",children:e}),(0,s.jsxs)("p",{className:"text-sm cfg-muted",children:["Couldn't load this section."," ",(0,s.jsx)("button",{onClick:ek,className:"cfg-link",children:"Retry"})]})]},e))},e[0]))})]})});if(!k)return null;let{bot:eJ,skill:eV,currentHash:eK,snapshots:eY}=k,ez=!!(eJ.source_provider||eJ.template_id||eJ.template_url||eJ.import_schema_version||eJ.import_operation_id),eW="saving"===O?(0,s.jsx)("span",{className:"text-sm cfg-faint",children:"Saving…"}):eS||"error"===O?(0,s.jsxs)("span",{className:"text-sm cfg-dirty",children:[(0,s.jsx)("span",{className:"inline-block w-2 h-2 rounded-full cfg-dot-amber mr-1"}),"Unsaved changes"]}):"confirmed"===O?(0,s.jsxs)("span",{className:"text-sm cfg-faint",children:["Saved ",j(F)]}):(0,s.jsx)("span",{className:"text-sm cfg-faint",children:"Saved"}),eG="saving"===V?(0,s.jsx)("span",{className:"text-sm cfg-faint",children:"Saving…"}):e_||"error"===V?(0,s.jsxs)("span",{className:"text-sm cfg-dirty",children:[(0,s.jsx)("span",{className:"inline-block w-2 h-2 rounded-full cfg-dot-amber mr-1"}),"Unsaved changes"]}):"confirmed"===V?(0,s.jsxs)("span",{className:"text-sm cfg-faint",children:["Saved ",j(W)]}):(0,s.jsx)("span",{className:"text-sm cfg-faint",children:"Saved"}),eQ="saving"===er?(0,s.jsx)("span",{className:"text-sm cfg-faint",children:"Saving…"}):eR||"error"===er?(0,s.jsxs)("span",{className:"text-sm cfg-dirty",children:[(0,s.jsx)("span",{className:"inline-block w-2 h-2 rounded-full cfg-dot-amber mr-1"}),"Unsaved changes"]}):"confirmed"===er?(0,s.jsxs)("span",{className:"text-sm cfg-faint",children:["Saved ",j(em)]}):(0,s.jsx)("span",{className:"text-sm cfg-faint",children:"Saved"}),eZ="saving"===ex?(0,s.jsx)("span",{className:"text-sm cfg-faint",children:"Saving…"}):eD||"error"===ex?(0,s.jsxs)("span",{className:"text-sm cfg-dirty",children:[(0,s.jsx)("span",{className:"inline-block w-2 h-2 rounded-full cfg-dot-amber mr-1"}),"Unsaved changes"]}):"confirmed"===ex?(0,s.jsxs)("span",{className:"text-sm cfg-faint",children:["Saved ",j(eN)]}):(0,s.jsx)("span",{className:"text-sm cfg-faint",children:"Saved"});return(0,s.jsxs)("div",{className:"cfg-page",children:[(0,s.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,s.jsx)(a.default,{href:"/",onClick:function(e){eI&&!window.confirm("You have unsaved changes. Leave without saving?")&&e.preventDefault()},className:"cfg-link cfg-back text-sm",children:"← Back to chat"}),(0,s.jsxs)("header",{className:"mt-3 mb-6 flex flex-wrap items-center gap-4",children:[(0,s.jsx)(d.default,{bot:eJ,size:48,title:`${eJ.name} avatar`}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("h1",{className:"text-xl font-bold truncate",children:eJ.name}),(0,s.jsx)("p",{className:"text-sm cfg-faint truncate",children:eJ.title||" "})]}),(0,s.jsxs)("div",{className:"ml-auto text-right",children:[(0,s.jsxs)("p",{className:"text-sm cfg-muted",children:["Current config hash:"," ",(0,s.jsx)("code",{className:"cfg-code",title:eK,children:eK.slice(0,8)})," ",(0,s.jsx)("button",{onClick:()=>eP("header",eK),className:"cfg-link text-sm",children:"header"===X?"Copied":"Copy"})]}),(0,s.jsx)("p",{className:"text-sm mt-1",children:eI?(0,s.jsxs)("span",{className:"cfg-dirty",children:[(0,s.jsx)("span",{className:"inline-block w-2 h-2 rounded-full cfg-dot-amber mr-1"}),"Unsaved changes"]}):(0,s.jsx)("span",{className:"cfg-faint",children:"● Saved"})})]})]}),(0,s.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2 items-start","data-cfg-layout":"columns",children:[(0,s.jsxs)("div",{className:"min-w-0 space-y-6","data-cfg-column":"primary",children:[(0,s.jsxs)("section",{className:"cfg-card",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,s.jsx)("h2",{className:"cfg-title",children:"Skills"}),eG]}),"unsupported"===eV.status?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("p",{className:"text-sm cfg-muted mb-3",children:"Unsupported name"}),(0,s.jsx)("p",{className:"text-sm cfg-muted",children:"Skill files need an agent name matching /^[A-Za-z0-9_-]+$/ — this name cannot map to a skill path."})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("p",{className:"text-sm cfg-muted mb-3",children:[eV.path," · ","present"===eV.status?"Present":"Not present"]}),q?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("textarea",{value:M,onChange:e=>J(e.target.value),rows:8,className:"cfg-input text-sm"}),"error"===V&&(0,s.jsxs)("p",{className:"mt-2 text-sm cfg-error",children:["Couldn't save: ",Y,"."," ",(0,s.jsx)("button",{onClick:eM,className:"underline hover:no-underline",children:"Retry"})]}),(0,s.jsxs)("div",{className:"mt-3 flex gap-2",children:[(0,s.jsx)("button",{onClick:eM,disabled:!e_||"saving"===V,className:"flex-1 sm:flex-none cfg-btn-primary text-sm",children:"saving"===V?"Saving…":"Save"}),(0,s.jsx)("button",{onClick:function(){B(!1),K("clean"),z("")},disabled:!e_||"saving"===V,className:"flex-1 sm:flex-none cfg-btn-ghost text-sm",children:"Discard"})]})]}):"present"===eV.status?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("pre",{className:"text-sm cfg-pre max-h-64 overflow-y-auto",children:eV.content}),(0,s.jsx)("button",{onClick:eB,className:"mt-3 cfg-btn-ghost text-sm w-full sm:w-auto",children:"Edit"})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("p",{className:"text-sm cfg-muted",children:"No skill file yet. Create SKILL.md to give this agent standing instructions."}),(0,s.jsx)("button",{onClick:eB,className:"mt-3 cfg-btn-ghost text-sm w-full sm:w-auto",children:"Create"})]}),(0,s.jsx)("p",{className:"mt-3 text-xs cfg-faint",children:"Appended verbatim as a system message at launch."})]})]}),(0,s.jsxs)("section",{className:"cfg-card",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,s.jsx)("h2",{className:"cfg-title",children:"Rules"}),eW]}),(0,s.jsx)("textarea",{value:I??"",onChange:e=>P(e.target.value),rows:8,className:"cfg-input cfg-input-sans text-sm"}),(0,s.jsx)("p",{className:"mt-2 text-xs cfg-faint",children:"Sent verbatim as the standing-rules system message on every turn. This beats the user's request for detail or length."}),"error"===O&&(0,s.jsxs)("p",{className:"mt-2 text-sm cfg-error",children:["Couldn't save: ",U,"."," ",(0,s.jsx)("button",{onClick:eO,className:"underline hover:no-underline",children:"Retry"})]}),(0,s.jsxs)("div",{className:"mt-3 flex gap-2",children:[(0,s.jsx)("button",{onClick:eO,disabled:!eS||"saving"===O,className:"flex-1 sm:flex-none cfg-btn-primary text-sm",children:"saving"===O?"Saving…":"Save"}),(0,s.jsx)("button",{onClick:function(){P(ew),$("clean"),L("")},disabled:!eS||"saving"===O,className:"flex-1 sm:flex-none cfg-btn-ghost text-sm",children:"Discard"})]})]}),(0,s.jsxs)("section",{className:"cfg-card",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,s.jsx)("h2",{className:"cfg-title",children:"Agent"}),eQ]}),(()=>{if(!ea||!el){let e=(0,r.configRuntimeView)(eJ,es);return(0,s.jsxs)("div",{"data-field":"runtime-read",children:[(0,s.jsx)("p",{className:"text-sm cfg-muted break-words",children:e.summary}),e.workingDirectory?(0,s.jsx)("p",{className:"text-sm cfg-muted mt-1 break-all",children:e.workingDirectory}):null,e.notices.map(e=>(0,s.jsxs)("p",{className:"text-sm cfg-dirty mt-2",children:[e," ",/Settings/.test(e)?(0,s.jsx)(a.default,{href:"/settings",className:"cfg-link",children:"Open Settings"}):null]},e)),(0,s.jsx)("button",{onClick:e$,className:"mt-3 cfg-btn-ghost text-sm w-full sm:w-auto",children:e.action})]})}let e=(0,r.runtimeFormView)(el,es,{includeName:!1}),t=(0,r.isMigratedPending)(eJ)?null:eJ.deck_id;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.AgentSection,{idPrefix:"cfg",variant:"config",form:el,onChange:eU,deckState:es,onRetry:et,savedDeckId:t,workdirPlaceholder:(0,r.defaultWorkdirFor)(eJ.id),workdirHint:(0,r.configWorkdirHint)(eJ.id)}),"error"===er&&(0,s.jsxs)("p",{className:"mt-2 text-sm cfg-error",children:[eo===r.SELECT_DECK_ERROR?eo:`Couldn't save: ${eo}.`," ",eo===r.SELECT_DECK_ERROR?null:(0,s.jsx)("button",{onClick:eq,className:"underline hover:no-underline",children:"Retry"})]}),(0,s.jsxs)("div",{className:"mt-3 flex gap-2",children:[(0,s.jsx)("button",{onClick:eq,disabled:!eR||"saving"===er||e.submitDisabled,className:"flex-1 sm:flex-none cfg-btn-primary text-sm",children:"saving"===er?"Saving…":"Save"}),(0,s.jsx)("button",{onClick:eL,disabled:"saving"===er,className:"flex-1 sm:flex-none cfg-btn-ghost text-sm",children:eR?"Discard":"Cancel"})]})]})})()]}),(0,s.jsxs)("section",{className:"cfg-card",children:[(0,s.jsx)("h2",{className:"cfg-title mb-3",children:"Template source"}),!ez&&(0,s.jsx)("p",{className:"text-sm cfg-muted mb-3",children:"Created manually in Botmancers — no template source."}),(0,s.jsxs)("dl",{className:"text-sm",children:[(0,s.jsxs)("div",{className:"flex justify-between gap-4 py-1 border-t cfg-line",children:[(0,s.jsx)("dt",{className:"cfg-faint",children:"Source provider"}),(0,s.jsx)("dd",{className:"text-right",children:eJ.source_provider??"—"})]}),(0,s.jsxs)("div",{className:"flex justify-between gap-4 py-1 border-t cfg-line",children:[(0,s.jsx)("dt",{className:"cfg-faint",children:"Template ID"}),(0,s.jsx)("dd",{className:"text-right",children:eJ.template_id??"—"})]}),(0,s.jsxs)("div",{className:"flex justify-between gap-4 py-1 border-t cfg-line",children:[(0,s.jsx)("dt",{className:"cfg-faint",children:"Template URL"}),(0,s.jsx)("dd",{className:"text-right break-all",children:eJ.template_url?(e=eJ.template_url).startsWith("http://")||e.startsWith("https://")?(0,s.jsx)("a",{href:eJ.template_url,className:"cfg-link",children:eJ.template_url}):eJ.template_url:"—"})]}),(0,s.jsxs)("div",{className:"flex justify-between gap-4 py-1 border-t cfg-line",children:[(0,s.jsx)("dt",{className:"cfg-faint",children:"Import schema version"}),(0,s.jsx)("dd",{className:"text-right",children:eJ.import_schema_version??"—"})]}),(0,s.jsxs)("div",{className:"flex justify-between gap-4 py-1 border-t cfg-line",children:[(0,s.jsx)("dt",{className:"cfg-faint",children:"Import operation ID"}),(0,s.jsx)("dd",{className:"text-right break-all",children:eJ.import_operation_id??"—"})]}),(0,s.jsxs)("div",{className:"flex justify-between gap-4 py-1 border-y cfg-line",children:[(0,s.jsx)("dt",{className:"cfg-faint",children:"Imported at"}),(0,s.jsx)("dd",{className:"text-right",children:eJ.import_timestamp?p(eJ.import_timestamp):"—"})]})]}),(0,s.jsx)(h,{phase:ev,onImport:()=>{ey()}})]})]}),(0,s.jsxs)("div",{className:"min-w-0 space-y-6","data-cfg-column":"secondary",children:[(0,s.jsxs)("section",{className:"cfg-card",children:[(0,s.jsx)("h2",{className:"cfg-title mb-3",children:"Launch snapshots"}),0===eY.length?(0,s.jsx)("p",{className:"text-sm cfg-muted",children:"No launches recorded yet."}):(0,s.jsx)("ul",{className:"space-y-3",children:eY.map(e=>{let t=e.hash===eK,a=!!Q[e.id];return(0,s.jsxs)("li",{className:"cfg-row",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,s.jsxs)("p",{className:"text-sm",children:[p(e.created_at)," · ",e.id.slice(0,4),e.transport?` \xb7 ${e.transport}`:null]}),(0,s.jsx)("button",{onClick:()=>Z(s=>({...s,[e.id]:!s[e.id]})),"aria-label":a?"Collapse snapshot detail":"Expand snapshot detail",className:"cfg-chevron px-1",children:a?"▾":"▸"})]}),(0,s.jsxs)("p",{className:"mt-1 text-sm",children:[(0,s.jsx)("code",{className:"cfg-code",children:e.hash.slice(0,12)})," ",(0,s.jsx)("button",{onClick:()=>eP(e.id,e.hash),className:"cfg-link text-sm",children:X===e.id?"Copied":"Copy"})]}),(0,s.jsx)("p",{className:"mt-1 text-sm",children:t?(0,s.jsx)("span",{className:"cfg-ok",children:"● Matches current config"}):(0,s.jsx)("span",{className:"cfg-faint",children:"○ Config changed since"})}),a&&(0,s.jsxs)("div",{className:"mt-3 pt-3 border-t cfg-line text-sm",children:[(0,s.jsxs)("p",{className:"cfg-muted break-all",children:[(0,s.jsx)("span",{className:"font-medium",children:"Launch ID:"})," ",e.id]}),(0,s.jsxs)("p",{className:"mt-1 cfg-muted break-all",children:[(0,s.jsx)("span",{className:"font-medium",children:"Hash:"})," ",(0,s.jsx)("code",{className:"cfg-code",children:e.hash})]}),(0,s.jsx)("dl",{className:"mt-2",children:x.map(t=>{let a=e.snapshot[t.key];return(0,s.jsxs)("div",{className:"py-1 border-t cfg-line",children:[(0,s.jsx)("dt",{className:"cfg-faint",children:t.label}),(0,s.jsx)("dd",{className:"whitespace-pre-wrap break-words",children:null==a?(0,s.jsx)("span",{className:"cfg-faint",children:"null"}):Array.isArray(a)?0===a.length?(0,s.jsx)("span",{className:"cfg-faint",children:"(none)"}):(0,s.jsx)("span",{className:"block max-h-32 overflow-y-auto",children:a.map(e=>`- ${e}`).join("\n")}):"boolean"==typeof a?String(a):""===a?(0,s.jsx)("span",{className:"cfg-faint",children:"(empty)"}):(0,s.jsx)("span",{className:"block max-h-32 overflow-y-auto",children:a})})]},t.key)})})]})]},e.id)})})]}),(0,s.jsxs)("section",{className:"cfg-card",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,s.jsx)("h2",{className:"cfg-title",children:"Avatar"}),eZ]}),(0,s.jsxs)("div",{className:"flex items-center gap-4 mb-4",children:[(0,s.jsx)(d.default,{config:eA,size:96,title:"Avatar live preview"}),(0,s.jsx)("p",{className:"text-sm cfg-muted",children:"Outline style: the color is the line color, nothing is filled. Pick an option to preview, then Save."})]}),(0,s.jsx)(m,{attribute:"color",label:"Color",options:u.AVATAR_COLORS,current:eA,onPick:eF,className:"mb-3"}),(0,s.jsx)(m,{attribute:"eyes",label:"Eyes",options:u.AVATAR_EYES,current:eA,onPick:eF,className:"mb-3"}),(0,s.jsx)(m,{attribute:"hands",label:"Hands",options:u.AVATAR_HANDS,current:eA,onPick:eF,className:"mb-3"}),(0,s.jsx)(m,{attribute:"accessory",label:"Accessory",options:u.AVATAR_ACCESSORIES,current:eA,onPick:eF}),"error"===ex&&(0,s.jsxs)("p",{className:"mt-2 text-sm cfg-error",children:["Couldn't save: ",ep,"."," ",(0,s.jsx)("button",{onClick:eH,className:"underline hover:no-underline",children:"Retry"})]}),(0,s.jsxs)("div",{className:"mt-3 flex gap-2",children:[(0,s.jsx)("button",{onClick:eH,disabled:!eD||"saving"===ex,className:"flex-1 sm:flex-none cfg-btn-primary text-sm",children:"saving"===ex?"Saving…":"Save"}),(0,s.jsx)("button",{onClick:function(){eu(null),eg("clean"),ej("")},disabled:!eD||"saving"===ex,className:"flex-1 sm:flex-none cfg-btn-ghost text-sm",children:"Discard"})]})]}),(0,s.jsxs)("section",{className:"cfg-card cfg-danger","aria-labelledby":"cfg-danger-title",children:[(0,s.jsx)("h2",{id:"cfg-danger-title",className:"cfg-title mb-3",children:"Danger zone"}),(0,s.jsx)("p",{className:"text-sm cfg-muted",children:i.DELETE_REMOVES_COPY}),(0,s.jsx)("p",{className:"text-sm cfg-faint mt-2",children:i.DELETE_KEEPS_COPY}),(0,s.jsx)("button",{type:"button",onClick:()=>y(!0),className:"mt-3 delete-btn text-sm w-full sm:w-auto",children:"Delete agent"})]})]})]})]}),v?(0,s.jsx)(l.default,{ids:[eJ.id],onCancel:()=>y(!1),onDeleted:e=>b.push(`/?deleted=${Math.max(e.length,1)}`)}):null]})}],13978)},18566,(e,s,t)=>{s.exports=e.r(76562)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,10331,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"},s="hermes";r.join("|");let i=r.map(e=>({value:e,label:n[e]})),a="/settings",c="Select an Agent Deck…",o="Runs use the configured Agent Deck server. Remote execution is unconfirmed — see Settings for the configured server.",l="Runs use the server above. Remote execution is unconfirmed.",u="Configure the Agent Deck server in Settings",d="Saved Agent Deck not on this server — saving keeps it unless you pick another.",f={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 g(e=null){return{status:"loading",decks:[],cachedDecks:e,serverUrl:"",checkedAt:0,error:""}}function h(e){return String(e).padStart(2,"0")}function m(e){let t=new Date(e);return`${h(t.getHours())}:${h(t.getMinutes())}:${h(t.getSeconds())}`}function p(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 k(e){return"connected"===e.status?null:f[e.status]}function y(e){return"empty"===e.status||"malformed"===e.status||"unreachable"===e.status}async function v(e,t,r=Date.now){let n,s;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{s=await n.json()}catch{s=void 0}return function(e,t,r){let n="object"==typeof e.body&&null!==e.body?e.body:{},s="string"==typeof n.server_url?n.server_url:t.serverUrl,i={cachedDecks:t.cachedDecks,serverUrl:s,checkedAt:r};if("string"==typeof n.server_url&&!n.server_url.trim())return{...i,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?{...i,cachedDecks:t,status:t.length>0?"connected":"empty",decks:t,error:""}:{...i,status:"malformed",decks:[],error:"Unexpected deck list shape."}}let a="string"==typeof n.error?n.error:`HTTP ${e.status}`,c="invalid-payload"===n.code||/unexpected deck payload/i.test(a);return{...i,status:c?"malformed":"unreachable",decks:[],error:a}}({ok:n.ok,status:n.status,body:s},t,r())}function b(e){return e?"connected"===e.status||"empty"===e.status?e.decks.map(e=>e.id):"unconfigured"===e.status?null:e.cachedDecks?e.cachedDecks.map(e=>e.id):null:null}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){var t;return t=(e.agent??"").trim()||s,r.includes(String(t))?n[t]:String(t??"")}function j(e){return 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 N(e,t){if(j(e))return!1;let r=b(t);return!!r&&!r.includes((e.deck_id??"").trim())}function D(e){return`Agent: ${S(e)} \xb7 Agent Deck: `}function w(e,t){return j(e)?`${D(e)}not selected`:D(e)+x(e.deck_id??"",t)}function _(e,t){let r,n=(r=w(e,t),j(e)?`${r} — select in Config`:N(e,t)?r+" (deck unavailable — see Config)":r);if(j(e))return{prefix:n,deck:"",suffix:""};let s=D(e),i=x(e.deck_id??"",t);return{prefix:s,deck:i,suffix:n.slice(s.length+i.length)}}function E(e){return`~/.botmancers/${e}`}function C(e){let t=(e.working_directory??"").trim();return!t||e.id&&t===E(e.id)?null:t}let T=[{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,c,"DEFAULT_RUNTIME_FORM",0,{agent:s,deckId:"",workingDirectory:""},"NEW_BOT_WORKDIR_HINT",0,"Default: ~/.botmancers/{agentID} — {agentID} is this agent's ID, assigned at creation.","NON_LOCAL_NOTE",0,o,"SAVED_DECK_MISSING_NOTE",0,d,"SELECT_DECK_ERROR",0,"Select an Agent Deck for this agent.","SETTINGS_ENDPOINT",0,"/api/agent-deck/settings","SETTINGS_LINK_COPY",0,u,"SETTINGS_NON_LOCAL_NOTE",0,l,"SETTINGS_PATH",0,a,"botAgentLabel",0,S,"configRuntimePatchBody",0,function(e,t){let r=t.workingDirectory.trim();return{id:e,agent:t.agent,deck_id:t.deckId.trim(),working_directory:r&&r!==E(e)?r:""}},"configRuntimeView",0,function(e,t){let r,n=[],s=w(e,t);if(j(e)){let t=(e.deck_name??"").trim();n.push(`No Agent Deck selected${t?` (was "${t}")`:""}. Pick a deck from the configured server before this agent can run.`)}else N(e,t)?(s+=" (deck unavailable)",n.push("This deck isn't on the configured server right now. Pick another deck, or fix the server in Settings.")):t&&"unconfigured"===t.status?n.push("No Agent Deck server set — add it in Settings."):t&&("unreachable"===t.status||"malformed"===t.status)&&!b(t)&&n.push("Can't reach the Agent Deck server, so this deck couldn't be checked — fix it in Settings, then retry.");return t&&t.serverUrl&&!function(e){let t;try{t=new URL("string"==typeof e?e.trim():"")}catch{return!1}let r=t.hostname.trim().toLowerCase().replace(/^\[|\]$/g,"");return"localhost"===r||"::1"===r||"::ffff:127.0.0.1"===r||/^127\.\d+\.\d+\.\d+$/.test(r)}(t.serverUrl)&&n.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:s,workingDirectory:(r=C(e))?`Working directory: ${r} (custom)`:`Working directory: ${E(e.id??"{agentID}")}`,notices:n,action:"Edit"}},"configWorkdirHint",0,function(e){return`Default: ${E(e)} — leave blank to use it.`},"deckEventDisplay",0,function(e){let t=String(e??"").trimStart(),r=T.find(e=>t.startsWith(e.prefix));return r?{label:r.label,detail:t.slice(r.prefix.length).trim()}:null},"deckLabel",0,x,"deckSlotCopy",0,k,"deckStateShowsRetry",0,y,"defaultWorkdirFor",0,E,"fetchDeckList",0,v,"formatClock",0,m,"initialDeckListState",0,g,"isMigratedPending",0,j,"newBotSubmitBody",0,function(e){let t={name:String(e.name??"").trim(),agent:e.agent,deck_id:e.deckId.trim()},r=e.workingDirectory.trim();return r&&(t.working_directory=r),t},"rosterRuntimeParts",0,_,"runtimeFormFromBot",0,function(e){let t=(e.agent??"").trim();return{agent:r.includes(t)?t:s,deckId:j(e)?"":(e.deck_id??"").trim(),workingDirectory:C(e)??""}},"runtimeFormView",0,function(e,t,r){let n=r?.includeName===!1?["agent","deck","workdir"]:["name","agent","deck","workdir"];return"loading"===t.status?{fields:n,submitDisabled:!0,blocker:""}:"connected"===t.status?{fields:n,submitDisabled:!1,blocker:""}:{fields:n,submitDisabled:!0,blocker:f[t.status]}},"settingsStatusLine",0,p],74904);let A={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 P({value:e,onChange:r,name:n,variant:s,legendId:a}){let c=A[s];return(0,t.jsxs)("fieldset",{className:"agent-fieldset","data-field":"agent",children:[(0,t.jsx)("legend",{id:a,className:c.legend,children:"Agent"}),(0,t.jsx)("div",{className:c.picks,role:"radiogroup","aria-labelledby":a,"aria-required":"true",children:i.map(s=>(0,t.jsxs)("label",{className:c.pick,children:[(0,t.jsx)("input",{type:"radio",name:n,value:s.value,checked:e===s.value,onChange:()=>r(s.value)})," "+s.label]},s.value))})]})}function R({id:e,labelId:r,state:n,value:s,onChange:i,onRetry:a,savedDeckId:o,variant:l}){let u=A[l],f=k(n),g=(o??"").trim();if(null===f){let r=!!g&&!n.decks.some(e=>e.id===g);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&&s===g?`${e}-saved-note`:void 0,value:s,title:s||void 0,onChange:e=>i(e.target.value),children:[(0,t.jsx)("option",{value:"",disabled:!0,children:c}),r?(0,t.jsxs)("option",{value:g,title:g,children:[g," (saved)"]}):null,n.decks.map(e=>(0,t.jsx)("option",{value:e.id,title:e.id,children:e.name},e.id))]}),r&&s===g?(0,t.jsx)("p",{id:`${e}-saved-note`,className:u.note,children:d}):null]})}return(0,t.jsxs)("div",{"data-field":"deck","data-state":n.status,role:"group","aria-labelledby":r,children:[g?(0,t.jsxs)("p",{className:u.note,children:["Saved Agent Deck: ",(0,t.jsx)("span",{title:g,children:g})]}):null,(0,t.jsxs)("p",{id:e,className:`${u.note} deck-slot`,role:"status",children:[(0,t.jsx)("span",{id:`${e}-copy`,children:f}),y(n)?(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsx)("button",{type:"button",className:u.retry,onClick:a,children:"Retry"})]}):null]})]})}function O({idPrefix:e,variant:r,deckId:n,onDeckId:s,deckState:i,onRetry:c,savedDeckId:l,workingDirectory:d,onWorkingDirectory:f,workdirPlaceholder:g,workdirHint:h}){let m=A[r],p=null===k(i);return(0,t.jsxs)("div",{className:"agent-deck-fields",children:[(0,t.jsx)("label",{className:m.label,id:`${e}-deck-label`,htmlFor:p?`${e}-deck`:void 0,children:"Agent Deck"}),(0,t.jsx)(R,{id:`${e}-deck`,labelId:`${e}-deck-label`,state:i,value:n,onChange:s,onRetry:c,savedDeckId:l,variant:r}),(0,t.jsx)("a",{href:a,className:m.link,children:u}),(0,t.jsx)("label",{className:m.label,htmlFor:`${e}-workdir`,children:"Working directory (optional)"}),(0,t.jsx)("input",{id:`${e}-workdir`,type:"text",className:"config"===r?m.control:void 0,"data-field":"workdir","aria-describedby":`${e}-workdir-hint ${e}-workdir-note`,value:d,placeholder:g,onChange:e=>f(e.target.value)}),(0,t.jsx)("p",{id:`${e}-workdir-hint`,className:m.hint,children:h}),(0,t.jsx)("p",{id:`${e}-workdir-note`,className:m.hint,children:o})]})}e.s(["AgentSection",0,function({idPrefix:e,variant:r,form:n,onChange:s,deckState:i,onRetry:a,savedDeckId:c,workdirPlaceholder:o,workdirHint:l}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(P,{value:n.agent,onChange:e=>s({agent:e}),name:`${e}-agent`,variant:r,legendId:`${e}-agent-label`}),(0,t.jsx)(O,{idPrefix:e,variant:r,deckId:n.deckId,onDeckId:e=>s({deckId:e}),deckState:i,onRetry:a,savedDeckId:c,workingDirectory:n.workingDirectory,onWorkingDirectory:e=>s({workingDirectory:e}),workdirPlaceholder:o,workdirHint:l})]})},"RosterRuntimeLine",0,function({bot:e,state:r}){let{prefix:n,deck:s,suffix:i}=_(e,r);return(0,t.jsxs)("div",{className:"bot-runtime",title:n+s+i,children:[n,s?(0,t.jsx)("span",{className:"bot-runtime-deck",children:s}):null,i]})},"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:p(e)}),y(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:l})]})}],10331);var $=e.i(71645);let I="botmancers.agentDeck.lastDecks";function L(e){return"object"==typeof e&&null!==e&&"string"==typeof e.id&&"string"==typeof e.name}let U=(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(){let[e,t]=(0,$.useState)(()=>g()),[r,n]=(0,$.useState)(0),s=(0,$.useRef)(null);return(0,$.useEffect)(()=>{let e=!1;return v(U,g(s.current??function(){try{let e=window.localStorage.getItem(I);if(!e)return null;let t=JSON.parse(e);return Array.isArray(t)&&t.every(L)?t:null}catch{return null}}())).then(r=>{if(!e){s.current=r.cachedDecks;var n=r.cachedDecks;if(n)try{window.localStorage.setItem(I,JSON.stringify(n))}catch{}t(r)}}),()=>{e=!0}},[r]),{state:e,retry:(0,$.useCallback)(()=>{t(e=>({...e,status:"loading",decks:[],error:""})),n(e=>e+1)},[])}}],4335)},32545,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(22016),s=e.i(10331),i=e.i(4335),a=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:o}=(0,i.useDeckList)(),[l,u]=(0,r.useState)(null),[d,f]=(0,r.useState)(""),[g,h]=(0,r.useState)(!1),[m,p]=(0,r.useState)(0),[k,y]=(0,r.useState)("clean"),[v,b]=(0,r.useState)(""),[x,S]=(0,r.useState)(0);(0,r.useEffect)(()=>{let e=!1;return fetch(a.SETTINGS_ENDPOINT,{cache:"no-store"}).then(async t=>{if(!t.ok)throw Error(await c(t));let r=await t.json();if(e)return;let n="string"==typeof r.server_url?r.server_url:"";u(n),f(n),h(!1)}).catch(()=>{e||h(!0)}),()=>{e=!0}},[m]);let j=null!==l&&d!==l;async function N(){y("saving"),b("");try{let e=await fetch(a.SETTINGS_ENDPOINT,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({server_url:d})});if(!e.ok)throw Error(await c(e));let t=await e.json();u(t.server_url),f(t.server_url),y("confirmed"),S(Date.now()),setTimeout(()=>{y(e=>"confirmed"===e?"clean":e)},5e3),o()}catch(e){y("error"),b(e instanceof Error?e.message:"request failed")}}(0,r.useEffect)(()=>{if(!j)return;let e=e=>{e.preventDefault()};return window.addEventListener("beforeunload",e),()=>window.removeEventListener("beforeunload",e)},[j]);let D="saving"===k?(0,t.jsx)("span",{className:"text-sm cfg-faint",children:"Saving…"}):j||"error"===k?(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"===k?(0,t.jsxs)("span",{className:"text-sm cfg-faint",children:["Saved ",(0,a.formatClock)(x)]}):(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)(n.default,{href:"/",onClick:function(e){j&&!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!==l?D:null]}),g&&null===l?(0,t.jsxs)("p",{className:"text-sm cfg-muted",children:["Couldn't load this section."," ",(0,t.jsx)("button",{onClick:()=>p(e=>e+1),className:"cfg-link",children:"Retry"})]}):null===l?(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:d,onChange:e=>{f(e.target.value),"error"===k&&y("clean")},onKeyDown:e=>{"Enter"===e.key&&j&&(e.preventDefault(),N())},placeholder:"http://127.0.0.1:1111",className:"cfg-input text-sm sm:flex-1"}),(0,t.jsx)("button",{onClick:()=>{N()},disabled:!j||"saving"===k,className:"cfg-btn-primary text-sm",children:"saving"===k?"Saving…":"Save"}),j?(0,t.jsx)("button",{onClick:function(){f(l??""),y("clean"),b("")},disabled:"saving"===k,className:"cfg-btn-ghost text-sm",children:"Discard"}):null]}),"error"===k&&(0,t.jsxs)("p",{className:"mt-2 text-sm cfg-error",children:["Couldn't save: ",v," ",(0,t.jsx)("button",{onClick:()=>{N()},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)(s.SettingsStatus,{state:e,onRetry:o})})]})]})})}])},22016,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return k},useLinkStatus:function(){return v}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let i=e.r(90809),a=e.r(43476),c=i._(e.r(71645)),o=e.r(95057),l=e.r(8372),u=e.r(18581),d=e.r(18967),f=e.r(5550),g=e.r(88540),h=e.r(91949),m=e.r(73668),p=e.r(9396);function k(t){var r;let n,s,i,[k,v]=(0,c.useOptimistic)(h.IDLE_LINK_STATUS),b=(0,c.useRef)(null),{href:x,as:S,children:j,prefetch:N=null,passHref:D,replace:w,shallow:_,scroll:E,onClick:C,onMouseEnter:T,onTouchStart:A,legacyBehavior:P=!1,onNavigate:R,transitionTypes:O,ref:$,unstable_dynamicOnHover:I,...L}=t;n=j,P&&("string"==typeof n||"number"==typeof n)&&(n=(0,a.jsx)("a",{children:n}));let U=c.default.useContext(l.AppRouterContext),F=!1!==N,M=!1===N?"none":!0===N?"full":"auto",B="none"!==M?"auto"===M?p.FetchStrategy.PPR:p.FetchStrategy.Full:p.FetchStrategy.PPR,K="string"==typeof(r=S||x)?r:(0,o.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});s=c.default.Children.only(n)}let W=P?s&&"object"==typeof s&&s.ref:$,G,H=c.default.useCallback(e=>(null!==U&&(b.current=(0,h.mountLinkInstance)(e,K,U,B,F,v,G)),()=>{b.current&&((0,h.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,h.unmountPrefetchableInstance)(e)}),[F,K,U,B,v,G]),q={ref:(0,u.useMergedRef)(H,W),onClick(t){P||"function"!=typeof C||C(t),P&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!U||t.defaultPrevented||function(t,r,n,s,i,a,o,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,m.isLocalURL)(r)){s&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),a){let e=!1;if(a({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(99781);c.default.startTransition(()=>{f(r,s?"replace":"push",!1===i?g.ScrollBehavior.NoScroll:g.ScrollBehavior.Default,n.current,o,l)})}}(t,K,b,w,E,R,O,M)},onMouseEnter(e){P||"function"!=typeof T||T(e),P&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),U&&F&&(0,h.onNavigationIntent)(e.currentTarget,!0===I)},onTouchStart:function(e){P||"function"!=typeof A||A(e),P&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),U&&F&&(0,h.onNavigationIntent)(e.currentTarget,!0===I)}};return(0,d.isAbsoluteUrl)(K)?q.href=K:P&&!D&&("a"!==s.type||"href"in s.props)||(q.href=(0,f.addBasePath)(K)),i=P?c.default.cloneElement(s,q):(0,a.jsx)("a",{...L,...q,children:n}),(0,a.jsx)(y.Provider,{value:k,children:i})}let y=(0,c.createContext)(h.IDLE_LINK_STATUS),v=()=>(0,c.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 s}});let n=e.r(71645);function s(e,t){let r=(0,n.useRef)(null),s=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=s.current;t&&(s.current=null,t())}else e&&(r.current=i(e,n)),t&&(s.current=i(t,n))},[e,t])}function i(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 i}});let n=e.r(18967),s=e.r(52817);function i(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,s.hasBasePath)(r.pathname)}catch(e){return!1}}},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return o},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return c}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});function i(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 a(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function c(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,a(e));else t.set(r,a(n));return t}function o(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 c},formatWithValidation:function(){return l},urlObjectKeys:function(){return o}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let i=e.r(90809)._(e.r(98183)),a=/https?|ftp|gopher|file/;function c(e){let{auth:t,hostname:r}=e,n=e.protocol||"",s=e.pathname||"",c=e.hash||"",o=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)),o&&"object"==typeof o&&(o=String(i.urlQueryToSearchParams(o)));let u=e.search||o&&`?${o}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||a.test(n))&&!1!==l?(l="//"+(l||""),s&&"/"!==s[0]&&(s="/"+s)):l||(l=""),c&&"#"!==c[0]&&(c="#"+c),u&&"?"!==u[0]&&(u="?"+u),s=s.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${n}${l}${s}${u}${c}`}let o=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function l(e){return c(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 b},NormalizeError:function(){return y},PageNotFoundError:function(){return v},SP:function(){return m},ST:function(){return p},WEB_VITALS:function(){return i},execOnce:function(){return a},getDisplayName:function(){return d},getLocationOrigin:function(){return l},getURL:function(){return u},isAbsoluteUrl:function(){return o},isResSent:function(){return f},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return g},stringifyError:function(){return S}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function a(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let c=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,o=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&c.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 g(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 m="u">typeof performance,p=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class k extends Error{}class y extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class b 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})}}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,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`}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},"statusLabel",0,function(e){return"active"===e.status?"Active":"Ended"},"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 s=["queued","extracting","delivering","completed","failed","cancelled"],i=["completed","failed","cancelled"];function o(e){return"ask"===e?"Ask":"Continue"}function l(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 c(e){var t;return e.cancel_requested&&(t=e.state,!i.includes(t))?"Cancelling…":l(e.mode,e.state)}function u(e){return"completed"===e?"done":"failed"===e||"cancelled"===e?"stopped":"active"}function d(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 f(e){return a(e)}function h(e){return`${e.source.agent_name}'s session “${e.source.session_title}”`}function g(e){return"ask"===e.mode?`You → ${e.source.agent_name}`:`${e.source.agent_name} → ${e.destination?.agent_name??"another Agent"}`}function p(e){return"ask"===e?"Question":"Objective"}function m(e){if("completed"===e.state){if("ask"===e.mode){let t=e.origin?.label??"the origin thread";return e.outcome.answer?`Answer in ${t}: ${d(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: ${d(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 y(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 b(e){return`/exchanges?id=${encodeURIComponent(e)}`}function x(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,b,"eventLabel",0,function(e,t){let n=e.data??{},r=t.source.agent_name,a=t.destination?.agent_name??"the destination Agent",i="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"===i)return`Handoff queued for ${a}'s new session`;return"extract"===i?`Handoff extraction queued in ${r}'s session`:`Question queued for ${r}'s session`;case"hop_started":if("deliver"===i)return`${a} started a new session`;return"extract"===i?`${r}'s session started extracting the handoff`:`${r}'s session started answering`;case"state_changed":{let e="string"==typeof n.to&&s.includes(n.to)?n.to:null;return e?`Now ${l(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,d,"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,y,"formatExchangeTime",0,f,"instructionHeading",0,p,"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(x)},"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,c,"modeLabel",0,o,"outcomeLine",0,m,"participantsLabel",0,g,"sessionActionAvailability",0,function(e){return"ended"===e.status?{available:!1,reason:"Ask and Continue are unavailable: this session has ended. Its history stays here."}:e.resumable?{available:!0}:{available:!1,reason:`Ask and Continue are unavailable: Botmancers can’t resume this session under ${e.agent.name}’s current runtime.`}},"sessionLabel",0,h,"stateTone",0,u,"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.";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}],50814),e.s(["default",0,function({summary:e,onChanged:a}){let[s,i]=(0,n.useState)(!1),[l,x]=(0,n.useState)(""),v=u(e.state),_=m(e),j=y(e),$=`exchange-${e.id}-title`,w=async()=>{if(!s){i(!0),x("");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);x("string"==typeof e?.error?.message?e.error.message:"Could not cancel. Try again.")}}catch{x("Could not cancel. Try again.")}finally{i(!1),a?.()}}};return(0,t.jsxs)("article",{id:`exchange-${e.id}`,className:`exchange-card is-${v} is-${e.state}`,"data-exchange-id":e.id,"data-exchange-state":e.state,"aria-labelledby":$,tabIndex:-1,children:[(0,t.jsxs)("p",{className:"exchange-card-line",children:[(0,t.jsx)("span",{className:"exchange-card-mode",children:o(e.mode)}),(0,t.jsx)("span",{id:$,className:"exchange-card-title",children:g(e)}),(0,t.jsx)("span",{className:"exchange-card-state",role:"status",children:c(e)})]}),(0,t.jsx)("p",{className:"exchange-card-session",children:h(e)}),(0,t.jsxs)("p",{className:"exchange-card-instruction",children:[(0,t.jsx)("span",{className:"exchange-card-key",children:p(e.mode)})," ",d(e.instruction,220)]}),_?(0,t.jsx)("p",{className:"failed"===e.state?"exchange-card-outcome is-failure":"exchange-card-outcome",children:_}):null,j?(0,t.jsx)("p",{className:"exchange-card-advice",children:j}):null,l?(0,t.jsx)("p",{className:"exchange-card-error",role:"alert",children:l}):null,(0,t.jsxs)("p",{className:"exchange-card-foot",children:[(0,t.jsxs)("span",{className:"exchange-card-time",children:["Updated ",f(e.updated_at)]}),(0,t.jsx)(r.default,{className:"exchange-card-link",href:b(e.id),"aria-label":`Details: ${o(e.mode)} ${g(e)}`,children:"Details"}),e.can_cancel?(0,t.jsx)("button",{type:"button",className:"exchange-card-cancel",disabled:s,onClick:()=>{w()},children:s?"Cancelling…":"Cancel"}):null]})]})}],13255)},61138,e=>{"use strict";var t=e.i(43476),n=e.i(71645),r=e.i(22016),a=e.i(18566),s=e.i(13255);e.s(["default",0,function(){let e=String((0,a.useParams)().id??""),[i,o]=(0,n.useState)(null),[l,c]=(0,n.useState)([]),[u,d]=(0,n.useState)([]),[f,h]=(0,n.useState)(""),[g,p]=(0,n.useState)(0),m=(0,n.useRef)(null);(0,n.useEffect)(()=>{m.current=new URLSearchParams(window.location.search).get("exchange")},[]),(0,n.useEffect)(()=>{if(!e)return;let t=!1,n=async()=>{try{let[n,r,a]=await Promise.all([fetch(`/api/conversations/${encodeURIComponent(e)}`,{cache:"no-store"}),fetch(`/api/conversations/${encodeURIComponent(e)}/messages`,{cache:"no-store"}),fetch(`/api/exchanges?conversation=${encodeURIComponent(e)}`,{cache:"no-store"})]);if(t)return;if(!n.ok)return void h(404===n.status?"This thread no longer exists.":"Could not load this thread.");let s=await n.json(),i=await r.json().catch(()=>null),l=await a.json().catch(()=>null);if(t)return;let u=s?.details??null,f=Array.isArray(u?.members)?u.members.map(e=>e?.name).filter(Boolean):[];o({label:u?.name?`Group ${u.name}`:"Group thread",members:f}),r.ok&&Array.isArray(i)&&c(i),a.ok&&Array.isArray(l?.exchanges)&&d(l.exchanges),h("")}catch{t||h("Could not load this thread.")}};n();let r=setInterval(n,2e3);return()=>{t=!0,clearInterval(r)}},[e,g]),(0,n.useEffect)(()=>{let e=m.current;if(!e)return;let t=document.getElementById(`exchange-${e}`);t&&(m.current=null,t.scrollIntoView({block:"center"}),t.focus({preventScroll:!0}))},[u]);let y=new Set,b=e=>(0,t.jsx)("li",{className:"msg-status",children:(0,t.jsx)(s.default,{summary:e,onChanged:()=>p(e=>e+1)})},`exchange-${e.id}`),x=e=>{let t=u.filter(t=>!y.has(t.id)&&t.created_at<e).sort((e,t)=>e.created_at-t.created_at||(e.id<t.id?-1:1));return t.forEach(e=>y.add(e.id)),t.map(b)};return(0,t.jsxs)("div",{className:"ledger-page group-thread-page",children:[(0,t.jsxs)("header",{className:"ledger-head",children:[(0,t.jsxs)("nav",{className:"group-thread-nav","aria-label":"Thread navigation",children:[(0,t.jsx)(r.default,{href:"/",className:"cfg-link ledger-back",children:"← Back to chat"}),(0,t.jsx)(r.default,{href:"/exchanges",className:"cfg-link ledger-back",children:"Agent Exchanges"})]}),(0,t.jsx)("h1",{className:"ledger-title",children:i?.label??"Group thread"}),i&&i.members.length>0?(0,t.jsxs)("p",{className:"ledger-sub",children:["With ",i.members.join(", ")]}):null]}),(0,t.jsx)("main",{className:"group-thread-main","aria-label":"Thread",children:f?(0,t.jsxs)("div",{className:"ledger-state",role:"alert",children:[(0,t.jsx)("p",{className:"delete-error",children:f}),(0,t.jsx)("button",{type:"button",className:"pin-word",onClick:()=>p(e=>e+1),children:"Retry"})]}):i?(0,t.jsxs)("ol",{className:"group-thread-list","aria-label":"Messages and exchanges",children:[l.map(e=>(0,t.jsxs)(n.Fragment,{children:[x(e.created_at),(0,t.jsxs)("li",{className:"user"===e.sender_type?"msg-you":"msg-bot",children:[(0,t.jsx)("div",{className:"user"===e.sender_type?"msg-name msg-name-you":"msg-name",children:"user"===e.sender_type?"You":e.sender_name||"Agent"}),(0,t.jsx)("div",{className:"msg-body group-thread-body",children:e.content.replace(/^\s*\[Message from [^\]]+\]\s*(?:\r?\n)?/,"").replace(/^\s+/,"")})]})]},e.id)),x(1/0),0===l.length&&0===u.length?(0,t.jsx)("li",{className:"ledger-state",children:"No messages in this thread yet."}):null]}):(0,t.jsx)("p",{className:"ledger-state",role:"status",children:"Loading thread…"})})]})}])},22016,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return y},useLinkStatus:function(){return x}};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),c=e.r(8372),u=e.r(18581),d=e.r(18967),f=e.r(5550),h=e.r(88540),g=e.r(91949),p=e.r(73668),m=e.r(9396);function y(t){var n;let r,a,s,[y,x]=(0,o.useOptimistic)(g.IDLE_LINK_STATUS),v=(0,o.useRef)(null),{href:_,as:j,children:$,prefetch:w=null,passHref:C,replace:S,shallow:k,scroll:N,onClick:T,onMouseEnter:A,onTouchStart:E,legacyBehavior:I=!1,onNavigate:P,transitionTypes:R,ref:O,unstable_dynamicOnHover:L,...U}=t;r=$,I&&("string"==typeof r||"number"==typeof r)&&(r=(0,i.jsx)("a",{children:r}));let M=o.default.useContext(c.AppRouterContext),D=!1!==w,F=!1===w?"none":!0===w?"full":"auto",B="none"!==F?"auto"===F?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,q="string"==typeof(n=j||_)?n:(0,l.formatUrl)(n);if(I){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 K=I?a&&"object"==typeof a&&a.ref:O,H,Q=o.default.useCallback(e=>(null!==M&&(v.current=(0,g.mountLinkInstance)(e,q,M,B,D,x,H)),()=>{v.current&&((0,g.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,g.unmountPrefetchableInstance)(e)}),[D,q,M,B,x,H]),z={ref:(0,u.useMergedRef)(Q,K),onClick(t){I||"function"!=typeof T||T(t),I&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!M||t.defaultPrevented||function(t,n,r,a,s,i,l,c="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,p.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,c)})}}(t,q,v,S,N,P,R,F)},onMouseEnter(e){I||"function"!=typeof A||A(e),I&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),M&&D&&(0,g.onNavigationIntent)(e.currentTarget,!0===L)},onTouchStart:function(e){I||"function"!=typeof E||E(e),I&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),M&&D&&(0,g.onNavigationIntent)(e.currentTarget,!0===L)}};return(0,d.isAbsoluteUrl)(q)?z.href=q:I&&!C&&("a"!==a.type||"href"in a.props)||(z.href=(0,f.addBasePath)(q)),s=I?o.default.cloneElement(a,z):(0,i.jsx)("a",{...U,...z,children:r}),(0,i.jsx)(b.Provider,{value:y,children:s})}let b=(0,o.createContext)(g.IDLE_LINK_STATUS),x=()=>(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 c},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||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:n&&(c=t+(~n.indexOf(":")?`[${n}]`:n),e.port&&(c+=":"+e.port)),l&&"object"==typeof l&&(l=String(s.urlQueryToSearchParams(l)));let u=e.search||l&&`?${l}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||i.test(r))&&!1!==c?(c="//"+(c||""),a&&"/"!==a[0]&&(a="/"+a)):c||(c=""),o&&"#"!==o[0]&&(o="#"+o),u&&"?"!==u[0]&&(u="?"+u),a=a.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${r}${c}${a}${u}${o}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return o(e)}},18967,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return _},MissingStaticPage:function(){return v},NormalizeError:function(){return b},PageNotFoundError:function(){return x},SP:function(){return p},ST:function(){return m},WEB_VITALS:function(){return s},execOnce:function(){return i},getDisplayName:function(){return d},getLocationOrigin:function(){return c},getURL:function(){return u},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return g},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return j}};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 c(){let{protocol:e,hostname:t,port:n}=window.location;return`${e}//${t}${n?":"+n:""}`}function u(){let{href:e}=window.location,t=c();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 g(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await g(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 p="u">typeof performance,m=p&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class b extends Error{}class x 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 _ extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function j(e){return JSON.stringify({message:e.message,stack:e.stack})}},18566,(e,t,n)=>{t.exports=e.r(76562)}]);
@@ -1,3 +0,0 @@
1
- @font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
2
- @font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
3
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-3xl:48rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-bold:700;--radius-lg:.5rem;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-1{margin:var(--spacing)}.m-2{margin:calc(var(--spacing) * 2)}.m-3{margin:calc(var(--spacing) * 3)}.m-4{margin:calc(var(--spacing) * 4)}.m-5{margin:calc(var(--spacing) * 5)}.m-9{margin:calc(var(--spacing) * 9)}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mr-1{margin-right:var(--spacing)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:var(--spacing)}.h-2{height:calc(var(--spacing) * 2)}.h-6{height:calc(var(--spacing) * 6)}.h-10{height:calc(var(--spacing) * 10)}.h-20{height:calc(var(--spacing) * 20)}.h-48{height:calc(var(--spacing) * 48)}.h-64{height:calc(var(--spacing) * 64)}.h-80{height:calc(var(--spacing) * 80)}.h-full{height:100%}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-64{max-height:calc(var(--spacing) * 64)}.min-h-full{min-height:100%}.w-2{width:calc(var(--spacing) * 2)}.w-32{width:calc(var(--spacing) * 32)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink{flex-shrink:1}.animate-pulse{animation:var(--animate-pulse)}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:var(--spacing)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.p-0{padding:0}.px-1{padding-inline:var(--spacing)}.py-1{padding-block:var(--spacing)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-pre-wrap{white-space:pre-wrap}.lowercase{text-transform:lowercase}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[person\:owner\]{person:owner}@media (hover:hover){.hover\:no-underline:hover{text-decoration-line:none}}@media (min-width:40rem){.sm\:w-auto{width:auto}.sm\:flex-1{flex:1}.sm\:flex-none{flex:none}.sm\:flex-row{flex-direction:row}}@media (min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}:root{--field:#0e120c;--card:#1a2118;--hairline:#3a4436;--ink:#d5d0c3;--ink-muted:#9d9c90;--ink-faint:#8e8e82;--accent:#8b9a4a;--ink-on-accent:#0e120c;--composer:#141a12;--danger:#e85d75;--chrome:"Avenir Next", Avenir, "Helvetica Neue", system-ui;--mono:Monaco, "SF Mono", Menlo, Consolas, monospace}html,body{background:var(--field);min-height:100%;color:var(--ink);font-family:var(--chrome);margin:0}button,input,textarea{font:inherit;color:inherit}.field{background:var(--field);min-height:100vh;color:var(--ink);flex-direction:column;display:flex}.rail{flex-direction:column;flex:none;display:flex}.pane{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}@media (max-width:799px){.field{height:100dvh;overflow:hidden}.rail{flex:none;max-height:38vh;overflow:auto}.pane{overflow:hidden}.thread{height:100%;min-height:0}}@media (min-width:800px){.field{flex-direction:row;align-items:stretch;height:100vh;min-height:0;overflow:hidden}.rail{border-right:1px solid var(--hairline);width:max-content;max-width:280px;height:100vh;overflow:auto}.pane{height:100vh;min-height:0}}.bar{justify-content:space-between;align-items:center;padding:16px;display:flex}.brand{flex-direction:row;align-items:center;gap:10px;padding:20px 16px 4px;display:flex}.logo-shape{flex:none;width:40px;height:40px;line-height:0}.logo-shape img{width:40px;height:40px;display:block}.logo-shape.is-settling{animation:.4s ease-out both logo-drop}@keyframes logo-drop{0%{transform:translateY(-6px)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.logo-shape.is-settling{animation:none}}.logo-word{font-family:var(--chrome);letter-spacing:.02em;white-space:nowrap;color:#d5d0c3;margin:0;font-size:16px;font-weight:600;line-height:1.2}@media (max-width:799px){.brand{gap:8px;padding:12px 16px 0}.logo-shape,.logo-shape img{width:32px;height:32px}.logo-word{font-size:15px}}.welcome{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:24px;min-height:0;padding:32px 16px;display:flex}.welcome-mark{width:144px;height:144px;display:block}@media (max-width:799px){.welcome{gap:16px;padding:24px 16px}.welcome-mark{width:128px;height:128px}}.wordmark{font-family:var(--chrome);color:var(--ink);margin:0;font-size:20px;font-weight:500;line-height:1.2}.chrome-btn{font-family:var(--chrome);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;line-height:1}.add-btn,.send-btn,.create-btn{font-family:var(--chrome);color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px}.cancel-btn,.back-btn{font-family:var(--chrome);color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0}.back-btn{font-size:16px}.empty-line{font-family:var(--chrome);color:var(--ink);margin:0;padding:0 16px;font-size:16px}.roster{flex-direction:column;gap:12px;padding:0 16px 16px;display:flex}.card{box-sizing:border-box;text-align:left;background:var(--card);border:1px solid var(--hairline);width:fit-content;max-width:100%;color:var(--ink);cursor:pointer;border-radius:16px;align-self:flex-start;padding:16px;display:block;position:relative}.row-head{align-items:center;gap:8px;display:flex}.bot-row{color:#d5d0c3;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:10px;width:100%;max-width:240px;margin:0;padding:0;display:flex;position:relative}.bot-lead{cursor:pointer;background:0 0;border:0;border-radius:0;width:fit-content;max-width:100%;margin:0;padding:0;display:block;position:relative}.bot-lead .bot-name{font-size:26px}.bot-row.is-open,.bot-lead.is-open{background:#d5d0c314;border-radius:8px;margin-left:-8px;margin-right:-8px;padding:6px 8px}.bot-copy{flex:auto;min-width:0}.bot-name{color:#d5d0c3;background:0 0;border:0;outline:none;margin:0;padding:0;font-family:system-ui,sans-serif;font-size:15px;font-weight:400;line-height:1.25}.bot-preview{max-width:100%;color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-family:system-ui,sans-serif;font-size:12px;line-height:1.3;overflow:hidden}.bot-runtime{max-width:100%;color:var(--ink-faint);-webkit-line-clamp:3;line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:2px 0 0;font-family:system-ui,sans-serif;font-size:12px;line-height:1.3;display:-webkit-box;overflow:hidden}.bot-runtime-deck{white-space:nowrap;text-overflow:ellipsis;vertical-align:bottom;max-width:100%;display:inline-block;overflow:hidden}.mark{flex:0 0 28px;width:28px;height:34px;position:relative}.mark-tri{border-bottom:28px solid;border-left:14px solid #0000;border-right:14px solid #0000;width:0;height:0;position:absolute;top:3px;left:0}.mark-dot{background:#2ebd4e;border-radius:50%;width:8px;height:8px;animation:1.1s ease-in-out infinite mark-pulse;position:absolute;top:0;right:-2px;box-shadow:0 0 0 2px #0e120c}@keyframes mark-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.55)}}.card-preview{max-width:220px;font-family:var(--mono);color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:12px;line-height:1.3;overflow:hidden}.row-tip{z-index:3;background:var(--card);border:1px solid var(--hairline);border-radius:10px;min-width:148px;padding:8px 10px;display:none;position:absolute;top:calc(100% - 6px);left:12px}.card:hover .row-tip,.card:focus-within .row-tip,.bot-row:hover .row-tip,.bot-row:focus-within .row-tip,.bot-lead:hover .row-tip,.bot-lead:focus-within .row-tip{display:block}.roster.menu-open .row-tip{display:none}.row-tip{pointer-events:none}.row-open{text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;max-width:100%;display:block;overflow:hidden}.row-open:after{content:"";z-index:1;border-radius:8px;position:absolute;inset:0}.bot-row .row-open:after{inset:-4px -8px}.bot-row.is-open .row-open:after{inset:0}.card .row-open:after{border-radius:16px}.row-open:focus-visible:after{outline:2px solid var(--accent);outline-offset:2px}.row-actions{z-index:2;min-width:24px;min-height:24px;font-family:var(--mono);color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;align-self:center;margin-left:auto;padding:0 4px;font-size:16px;line-height:1;position:relative}.row-actions:hover,.row-actions[aria-expanded=true]{color:var(--ink)}.row-actions:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card-lead{padding:28px 22px}.card-lead .card-name{font-size:26px}.card-pic{object-fit:cover;border-radius:8px;width:28px;height:28px;margin-bottom:8px;display:block}.card-lead .card-pic{width:36px;height:36px}.card-lead .card-role{font-size:15px}.row-name{width:8em;font-family:var(--mono);background:0 0;border:0;outline:none;margin:0;padding:0;font-size:16px;line-height:1.3;display:block}.pin-word{font-family:var(--mono);color:var(--ink);cursor:pointer;background:0 0;border:0;margin-top:8px;padding:0;font-size:12px;display:block}.row-menu{z-index:20;background:var(--card);border:1px solid var(--hairline);border-radius:10px;min-width:168px;padding:8px 10px;position:fixed}.row-menu [role=menuitem]{text-align:left;width:100%;font-family:var(--mono);color:var(--ink);cursor:pointer;background:0 0;border:0;margin-top:8px;padding:0;font-size:12px;text-decoration:none;display:block}.row-menu [role=menuitem]:first-child{margin-top:0}.confirm-card{background:var(--card);border:1px solid var(--hairline);border-radius:16px;width:280px;margin:48px;padding:16px}.confirm-card p{font-family:var(--mono);margin:0 0 16px;font-size:14px}.card-name,.thread-name{font-family:var(--mono);color:var(--ink);font-size:16px;line-height:1.3}button.thread-name{cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.avatar-pic{border:1px solid var(--hairline);background:var(--card);cursor:pointer;border-radius:12px;width:48px;height:48px;margin-top:8px;padding:0;display:block;overflow:hidden}.avatar-pic img{object-fit:cover;width:100%;height:100%;display:block}.avatar-step{flex-wrap:wrap;align-items:center;gap:16px;padding:0 16px 12px;display:flex}.avatar-phone{display:none}@media (max-width:799px){.avatar-desk{display:none}.avatar-phone{display:flex}}.avatar-step input{opacity:0;width:1px;height:1px;position:absolute}.card-role,.thread-role{font-family:var(--mono);color:var(--ink-muted);margin-top:4px;font-size:12px;line-height:1.3}.thread{flex-direction:column;flex:1;min-height:0;display:flex}@media (min-width:800px){.thread{height:100%;min-height:0}}.thread-bar{align-items:flex-start;gap:16px;padding:16px;display:flex}.messages{flex-direction:column;flex:auto;gap:12px;min-height:0;padding:0 16px 16px;display:flex;overflow-y:auto}.thread-empty{flex-direction:column;flex:1 0 auto;justify-content:flex-end;gap:4px;padding-bottom:8px;display:flex}.thread-empty-title,.thread-empty-hint,.thread-note{font-family:var(--chrome);margin:0}.thread-empty-title{color:var(--ink);font-size:16px}.thread-empty-hint,.thread-note{color:var(--ink-muted);font-size:14px}.thread-note-error{color:var(--ink)}.msg-you{text-align:right;max-width:80%;color:var(--ink);background:0 0;border:0;border-radius:0;align-self:flex-end;padding:0}.msg-bot{box-sizing:border-box;background:var(--card);border:1px solid var(--hairline);width:100%;color:var(--ink);border-radius:16px;align-self:flex-start;padding:16px}.msg-name{font-family:var(--mono);color:var(--ink);margin-bottom:6px;font-size:14px}.msg-name-you{color:var(--accent)}.msg-body{font-family:var(--mono);color:var(--ink);white-space:pre-wrap;font-size:14px;line-height:1.45}.msg-status{align-self:stretch;width:100%}.runtime-failure{box-sizing:border-box;border:1px solid var(--hairline);border-left:4px solid var(--danger);background:var(--field);color:var(--ink);font-family:var(--chrome);border-radius:8px;padding:12px 16px;font-size:14px;line-height:1.45}.runtime-failure-title,.runtime-failure-recovery{margin:0}.runtime-failure-title{flex-wrap:wrap;align-items:baseline;gap:8px;font-weight:600;display:flex}.runtime-failure-severity{text-transform:uppercase;letter-spacing:.04em;color:var(--danger);font-size:12px;font-weight:600}.runtime-failure-recovery{color:var(--ink-muted);margin-top:4px}.runtime-failure-details{margin-top:8px}.runtime-failure-details summary{cursor:pointer;color:var(--ink-muted)}.runtime-failure-detail{font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;font-size:13px;display:block}.runtime-failure-copy{border:1px solid var(--hairline);background:var(--card);cursor:pointer;border-radius:6px;padding:4px 10px}.wake-notice{box-sizing:border-box;border:1px solid var(--hairline);border-left:4px solid var(--ink-muted);background:var(--field);color:var(--ink);font-family:var(--chrome);overflow-wrap:anywhere;border-radius:8px;padding:12px 16px;font-size:14px;line-height:1.45}.wake-notice-blocked,.wake-notice-allowed{border-left-color:var(--accent)}.wake-notice-rejected,.wake-notice-denied,.wake-notice-stopped{border-left-color:var(--danger)}.wake-notice-line{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;display:flex}.wake-notice-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);font-size:12px;font-weight:600}.wake-notice-blocked .wake-notice-label,.wake-notice-allowed .wake-notice-label{color:var(--accent)}.wake-notice-rejected .wake-notice-label,.wake-notice-denied .wake-notice-label,.wake-notice-stopped .wake-notice-label{color:var(--danger)}.wake-notice-error{color:var(--danger);margin:8px 0 0}.deck-event{font-family:var(--mono);color:var(--ink);overflow-wrap:anywhere;font-size:14px;line-height:1.45}.composer{align-items:flex-end;gap:16px;padding:16px;display:flex;position:relative}.composer-box{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.attach-names{font-family:var(--mono);color:var(--ink);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.attach-error{font-family:var(--mono);color:var(--ink);margin:0;font-size:14px}.attach-word{font-family:var(--chrome);color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px}.attach-input{opacity:0;width:1px;height:1px;position:absolute}.composer textarea{resize:none;background:var(--composer);border:1px solid var(--hairline);min-width:0;font-family:var(--mono);color:var(--ink);border-radius:12px;outline:none;flex:1;padding:10px 12px;font-size:14px}.composer textarea::placeholder{color:var(--ink-faint);opacity:1}.mention-list{background:var(--composer);border:1px solid var(--hairline);border-radius:12px;min-width:180px;max-height:220px;padding:6px;position:absolute;bottom:100%;left:16px;overflow:auto}.mention-list button{text-align:left;width:100%;color:var(--ink);font-family:var(--mono);background:0 0;border:0;padding:6px 8px;font-size:14px;display:block}.modal-scrim{z-index:10;background:#0a0a07b8;justify-content:flex-start;align-items:flex-start;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.new-agent-scrim{padding:0;display:block;overflow:hidden}.form-card.new-agent-dialog{flex-direction:column;width:min(358px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);display:flex;position:fixed;top:16px;left:16px}.new-agent-dialog .kind-row{flex:none}.new-agent-dialog .bot-form{flex-direction:column;flex:auto;min-height:0;display:flex}.new-agent-body{flex:auto;min-height:0;margin:0 -4px;padding:0 4px;overflow-y:auto}.new-agent-dialog .form-actions{flex:none;padding-top:4px}.kind-row{gap:16px;margin-bottom:12px;display:flex}.kind-word{font-family:var(--chrome);color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px}.new-agent-title{font-weight:inherit;cursor:default;margin:0}.form-error{font-family:var(--mono);color:var(--ink);margin:0 0 12px;font-size:14px}.header-settings{margin:0 16px 12px}.form-card{box-sizing:border-box;background:var(--card);border:1px solid var(--hairline);border-radius:16px;width:100%;max-width:358px;padding:16px}.form-card label{font-family:var(--chrome);color:var(--ink);margin:0 0 6px;font-size:14px;display:block}.form-card input,.form-card textarea{box-sizing:border-box;background:var(--composer);border:1px solid var(--hairline);width:100%;font-family:var(--mono);color:var(--ink);border-radius:12px;outline:none;margin:0 0 12px;padding:10px 12px;font-size:14px}.runtime-note{font-family:var(--mono);color:var(--ink);margin:0 0 12px;font-size:14px}.runtime-picks{flex-wrap:wrap;gap:12px;margin:0 0 12px;display:flex}.runtime-pick{font-family:var(--mono);color:var(--ink);font-size:14px}.form-card input[type=radio]{vertical-align:middle;width:auto;accent-color:var(--accent);margin:0 4px 0 0;padding:0}.form-card .deck-control{box-sizing:border-box;background:var(--composer);border:1px solid var(--hairline);width:100%;font-family:var(--mono);color:var(--ink);text-overflow:ellipsis;border-radius:12px;outline:none;margin:0 0 8px;padding:10px 12px;font-size:14px}.runtime-hint{font-family:var(--chrome);color:var(--ink-faint);overflow-wrap:anywhere;margin:-6px 0 12px;font-size:12px;line-height:1.3}.runtime-link{font-family:var(--chrome);color:var(--accent);margin:0 0 12px;font-size:12px;text-decoration:none;display:inline-block}.bot-form .create-btn:disabled{opacity:.4;cursor:default}.cfg-page input[type=radio]{accent-color:var(--accent)}.agent-fieldset{border:0;min-width:0;margin:0;padding:0}.form-card .field-legend{font-family:var(--chrome);color:var(--ink);margin:0 0 6px;padding:0;font-size:14px;display:block}.form-card input:focus-visible,.form-card textarea:focus-visible,.form-card .deck-control:focus-visible,.form-card button:focus-visible,.form-card a:focus-visible,.cfg-page input[type=radio]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.runtime-retry{font-family:var(--chrome);color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px}.settings-link{align-self:flex-start;text-decoration:none}.deck-event-label{color:var(--accent)}@media (max-width:799px){.bot-form .runtime-picks{flex-direction:column;gap:6px}.bot-form .form-actions{flex-direction:column-reverse;align-items:stretch;gap:12px}}.form-actions{justify-content:space-between;align-items:center;display:flex}.agent-turn{width:100%}.agent-from{font-family:var(--chrome);color:var(--ink);justify-content:center;align-items:center;gap:8px;margin:0 0 8px;font-size:14px;display:flex}.agent-mark{object-fit:cover;border-radius:50%;flex:none;width:16px;height:16px}.agent-bar{box-sizing:border-box;color:#fff;text-align:left;width:100%;font-family:var(--mono);white-space:pre-wrap;background:#2a2a2a;border:0;border-radius:16px;padding:16px;font-size:14px;line-height:1.45}.approve-control{background:var(--accent);color:var(--ink-on-accent);cursor:pointer;border:0;border-radius:8px;margin-top:10px;padding:6px 12px;display:inline-block}.file-control{background:var(--field);color:var(--ink);border:1px solid var(--hairline);font-family:var(--mono);border-radius:8px;margin-top:10px;padding:6px 12px;text-decoration:none;display:inline-block}.draft-card{font-family:var(--chrome);color:var(--ink);font-size:14px}.draft-title{font-family:var(--chrome);color:var(--ink);margin:0 0 12px;font-size:14px}.draft-card input,.draft-card textarea{box-sizing:border-box;background:var(--composer);border:1px solid var(--hairline);width:100%;font-family:var(--chrome);color:var(--ink);border-radius:12px;outline:none;margin:0 0 12px;padding:10px 12px;font-size:14px}.draft-mark{font-family:var(--chrome);color:var(--ink);margin-top:10px;margin-right:8px;font-size:14px;display:inline-block}.messages-wrap{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.computer-float{z-index:3;pointer-events:none;border-radius:16px;flex-direction:column;display:flex;position:absolute;inset:8px 16px;overflow:hidden;box-shadow:0 16px 48px #00000073}.computer-top{color:#fff;pointer-events:none;background:#121212;flex:none;justify-content:space-between;align-items:center;height:46px;padding:0 14px 0 16px;display:flex}.computer-lights{pointer-events:none;align-items:center;gap:8px;display:flex}.computer-light{pointer-events:none;border-radius:50%;width:12px;height:12px;display:block}.computer-light-red{background:#ff5f57}.computer-light-yellow{background:#febc2e}.computer-light-green{background:#28c840}.computer-teach{pointer-events:none;align-items:center;gap:10px;display:flex}.computer-teach-pill{color:#fff;pointer-events:none;border:1px solid #ffffffb8;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 7px;font-family:system-ui,sans-serif;font-size:13px;font-weight:500;line-height:1.2;display:inline-flex}.computer-teach-mark{box-sizing:border-box;border:1.5px solid #fff;border-radius:50%;width:13px;height:13px;display:block}.computer-expand{color:#fff;pointer-events:none;display:flex}.computer-band{pointer-events:none;flex:none;height:48px}.computer-band-note{flex-direction:column;justify-content:center;height:auto;min-height:48px;padding:8px 16px;display:flex}.computer-band-note .thread-empty{flex:none;padding-bottom:0}.computer-desk{pointer-events:none;background:#d9d9d9 url(/computer/wallpaper.png) 50%/cover no-repeat;flex-direction:column;flex:auto;min-height:0;display:flex}.computer-page{pointer-events:none;background:0 0;border:0;flex:auto;width:100%;min-height:0}.computer-dock{pointer-events:none;flex:none;justify-content:center;align-items:center;gap:18px;padding:8px 0 16px;display:flex}.computer-dock img{pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;display:block}.computer-dock img:first-child{height:40px}.computer-dock img:nth-child(2){height:20px}.computer-dock img:nth-child(3){height:32px}.cfg-page{background:var(--field);min-height:100vh;color:var(--ink);font-family:var(--chrome);padding:16px}@media (min-width:640px){.cfg-page{padding:24px}}.cfg-card{background:var(--card);border:1px solid var(--hairline);border-radius:16px;padding:24px}.cfg-title{font-family:var(--chrome);color:var(--ink);font-weight:600}.cfg-muted{color:var(--ink-muted)}.cfg-faint{color:var(--ink-faint)}.cfg-link{font-family:var(--chrome);color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}a.cfg-link:hover,button.cfg-link:hover{text-decoration:underline}.cfg-back{margin-bottom:4px;display:inline-block}.cfg-code{font-family:var(--mono);color:var(--ink)}.cfg-pre{background:var(--composer);border:1px solid var(--hairline);font-family:var(--mono);color:var(--ink);white-space:pre-wrap;border-radius:12px;padding:12px}.cfg-input{box-sizing:border-box;background:var(--composer);border:1px solid var(--hairline);width:100%;font-family:var(--mono);color:var(--ink);border-radius:12px;outline:none;padding:10px 12px}.cfg-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.cfg-input-sans{font-family:var(--chrome)}.cfg-btn-primary{font-family:var(--chrome);background:var(--accent);color:var(--ink-on-accent);cursor:pointer;border:0;border-radius:8px;padding:8px 16px}.cfg-btn-primary:hover:not(:disabled){filter:brightness(1.1)}.cfg-btn-primary:disabled{background:var(--composer);color:var(--ink);opacity:.55;cursor:default;filter:none}.cfg-btn-ghost{font-family:var(--chrome);background:var(--field);color:var(--ink);border:1px solid var(--hairline);cursor:pointer;border-radius:8px;padding:8px 16px;text-decoration:none}.cfg-btn-ghost:hover:not(:disabled){background:var(--composer)}.cfg-btn-ghost:disabled{opacity:.5;cursor:default}.cfg-row{border:1px solid var(--hairline);border-radius:12px;padding:12px}.cfg-line{border-color:var(--hairline)}.cfg-dirty{color:#e0a83e}.cfg-dot-amber{background:#f59e0b}.cfg-error{color:#f08080}.cfg-ok{color:#2ebd4e}.cfg-skel{background:var(--card);border:1px solid var(--hairline)}.cfg-avatar{object-fit:cover;border-radius:9999px}.cfg-chevron{color:var(--ink-faint);cursor:pointer;background:0 0;border:0}.cfg-chevron:hover{color:var(--ink)}.bot-avatar svg{width:100%;height:100%;display:block}.mark-avatar{flex:0 0 44px;width:44px;height:44px;position:relative}.mark-avatar-sm{flex-basis:36px;width:36px;height:36px}.mark-avatar .mark-dot{top:-2px;right:-2px}span.agent-mark{vertical-align:-3px;background:0 0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}button.avatar-pic{justify-content:center;align-items:center;display:flex}.avatar-group-label{color:var(--ink);margin:0 0 8px;font-size:13px;font-weight:600}.avatar-opt-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;display:grid}.avatar-opt{border:1px solid var(--hairline);cursor:pointer;color:var(--ink);background:0 0;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:11px;line-height:1.2;display:flex;position:relative}.avatar-opt-input{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.avatar-opt-art{display:flex}.avatar-opt:has(.avatar-opt-input:checked){border-color:currentColor;box-shadow:0 0 0 1px}.avatar-opt:has(.avatar-opt-input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.roster-status{font-family:var(--mono);color:var(--accent);margin:0;padding:0 16px;font-size:12px}.roster-status:empty{display:none}.roster-status:not(:empty){padding-bottom:12px}.delete-scrim{z-index:30;justify-content:center}.manage-scrim{z-index:25;justify-content:center}.delete-card,.manage-card{box-sizing:border-box;background:var(--card);border:1px solid var(--hairline);width:100%;color:var(--ink);border-radius:16px;margin-top:32px;padding:16px}.delete-card{max-width:440px}.manage-card{flex-direction:column;max-width:720px;max-height:calc(100vh - 64px);display:flex}.delete-title{font-family:var(--chrome);margin:0 0 12px;font-size:18px;font-weight:600}.delete-copy,.delete-error,.delete-blocked p{font-family:var(--mono);margin:0 0 12px;font-size:12px;line-height:1.5}.delete-keeps{color:var(--ink-muted)}.delete-error,.delete-blocked{color:var(--danger)}.delete-names,.delete-blocked ul{font-family:var(--mono);margin:0 0 12px;padding:0 0 0 18px;font-size:12px;line-height:1.5}.delete-names{max-height:160px;overflow-y:auto}.delete-btn{font-family:var(--chrome);color:var(--field);background:var(--danger);cursor:pointer;border:0;border-radius:8px;padding:6px 12px;font-size:14px}.delete-btn:disabled{opacity:.4;cursor:not-allowed}.delete-card button:focus-visible,.manage-card button:focus-visible,.manage-card input:focus-visible,.row-menu [role=menuitem]:focus-visible,.cfg-danger button:focus-visible,.bar button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.manage-head{justify-content:space-between;align-items:center;display:flex}.manage-search-label{font-family:var(--chrome);margin:0 0 6px;font-size:14px}.manage-search{box-sizing:border-box;background:var(--composer);border:1px solid var(--hairline);width:100%;font-family:var(--mono);color:var(--ink);border-radius:12px;outline:none;padding:10px 12px;font-size:14px}.manage-tools{flex-wrap:wrap;align-items:baseline;gap:16px;margin:4px 0 8px;display:flex}.manage-tools .pin-word:disabled{opacity:.4;cursor:default}.manage-count{font-family:var(--mono);color:var(--ink-muted);margin-left:auto;font-size:12px}.manage-list{border-top:1px solid var(--hairline);flex:auto;min-height:0;margin:0 0 12px;padding:0;list-style:none;overflow-y:auto}.manage-row{border-bottom:1px solid var(--hairline);align-items:flex-start;gap:12px;padding:10px 0;display:flex}.manage-row input[type=checkbox]{accent-color:var(--danger);margin-top:3px}.manage-row.is-blocked .manage-name,.manage-row.is-blocked .manage-meta{color:var(--ink-faint)}.manage-copy{flex:auto;min-width:0}.manage-name{font-family:var(--mono);cursor:pointer;overflow-wrap:anywhere;font-size:14px;display:block}.manage-tag{border:1px solid var(--hairline);color:var(--ink-muted);border-radius:6px;margin-left:8px;padding:0 4px;font-size:11px}.manage-meta{font-family:var(--mono);flex-wrap:wrap;gap:2px 16px;margin:4px 0 0;font-size:11px;display:flex}.manage-meta div{gap:4px;min-width:0;display:flex}.manage-meta dt{color:var(--ink-faint)}.manage-meta dd{overflow-wrap:anywhere;margin:0}.manage-reason{font-family:var(--mono);color:var(--danger);margin:4px 0 0;font-size:12px}.cfg-danger{border-color:var(--danger)}.sessions-scrim{z-index:25;justify-content:flex-end;padding:0;overflow:hidden}.sessions-drawer{box-sizing:border-box;background:var(--card);border-left:1px solid var(--hairline);width:100%;max-width:520px;height:100%;color:var(--ink);flex-direction:column;padding:16px;display:flex}.sessions-title{margin:0}.sessions-sub{font-family:var(--mono);color:var(--ink-muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:12px}.sessions-filter{flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 8px;display:flex}.sessions-filter-btn{font-family:var(--mono);color:var(--ink);border:1px solid var(--hairline);cursor:pointer;background:0 0;border-radius:8px;padding:4px 10px;font-size:12px}.sessions-filter-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--ink-on-accent)}.sessions-state{padding:12px 0}.sessions-list{margin-bottom:0}.session-head{flex-wrap:wrap;align-items:baseline;gap:4px 0;display:flex}.session-title{font-family:var(--mono);overflow-wrap:anywhere;margin-right:4px;font-size:14px}.session-status.is-active{color:var(--accent);border-color:var(--accent)}.session-row.is-ended .session-title{color:var(--ink-muted)}.session-link{font-family:var(--mono);color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-size:11px;text-decoration:underline}.session-toggle{margin-top:6px}.session-detail{font-family:var(--mono);margin-top:8px;font-size:11px}.session-attempts{margin:0 0 8px;padding:0 0 0 18px;line-height:1.5}.session-debug summary{cursor:pointer;color:var(--ink-muted)}.session-debug-note{color:var(--ink-faint);margin:4px 0}.session-debug-value{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.session-debug-value code{overflow-wrap:anywhere;color:var(--ink)}.session-debug-value .pin-word{margin-top:0}.sessions-drawer button:focus-visible,.sessions-drawer summary:focus-visible,.thread-bar .attach-word:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rail-nav{padding:0 16px 12px}.rail-nav-link{text-decoration:none}.rail-nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.session-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.session-action{font-family:var(--mono);color:var(--ink);border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:8px;padding:4px 10px;font-size:12px}.session-unavailable{font-family:var(--mono);color:var(--ink-muted);margin:8px 0 0;font-size:11px;line-height:1.5}.exchange-started:not(:empty){font-family:var(--mono);color:var(--accent);margin:0 0 8px;font-size:12px;line-height:1.5}.exchange-scrim{z-index:35;justify-content:center}.form-card.exchange-dialog{max-width:480px;color:var(--ink);margin-top:32px}.exchange-source{border:1px solid var(--hairline);border-left:4px solid var(--accent);background:var(--field);border-radius:8px;margin:0 0 16px;padding:8px 12px}.exchange-source p{overflow-wrap:anywhere;margin:0}.exchange-source-agent{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-size:12px;font-weight:600}.exchange-source-title{font-family:var(--mono);margin-top:2px;font-size:14px}.exchange-source-meta{font-family:var(--mono);color:var(--ink-muted);margin-top:4px;font-size:11px}.exchange-select{box-sizing:border-box;background:var(--composer);border:1px solid var(--hairline);width:100%;font-family:var(--chrome);color:var(--ink);border-radius:12px;margin:0 0 12px;padding:8px 10px;font-size:14px}.form-card.exchange-dialog textarea{margin-bottom:8px}.form-card.exchange-dialog [aria-invalid=true],.exchange-select[aria-invalid=true]{border-color:var(--danger)}.exchange-field-error,.exchange-server-error{font-family:var(--mono);color:var(--danger);margin:0 0 8px;font-size:12px;line-height:1.5}.exchange-hint{color:var(--ink-muted);margin:0 0 12px;font-size:13px;line-height:1.5}.exchange-sending{font-family:var(--mono);color:var(--ink-muted);margin:0;font-size:12px}.exchange-sending:not(:empty){margin-bottom:8px}.exchange-dialog .create-btn:disabled{opacity:.5;cursor:progress}.exchange-dialog select:focus-visible,.session-action:focus-visible,.exchange-card a:focus-visible,.exchange-card button:focus-visible,.ledger-page a:focus-visible,.ledger-page button:focus-visible,.ledger-page select:focus-visible,.ledger-detail-title:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.exchange-card{box-sizing:border-box;border:1px solid var(--hairline);border-left:4px solid var(--accent);background:var(--field);color:var(--ink);font-family:var(--chrome);overflow-wrap:anywhere;border-radius:8px;padding:12px 16px;font-size:14px;line-height:1.45}.exchange-card:focus{outline:2px solid var(--accent);outline-offset:2px}.exchange-card.is-stopped{border-left-color:var(--danger)}.exchange-card.is-done{border-left-color:var(--ink-muted)}.exchange-card p{margin:0}.exchange-card p+p{margin-top:4px}.exchange-card-line{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.exchange-card-mode{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-size:12px;font-weight:600}.exchange-card-title{font-weight:600}.exchange-card-state{font-family:var(--mono);border:1px solid var(--hairline);color:var(--ink);border-radius:6px;padding:0 6px;font-size:12px}.exchange-card.is-active .exchange-card-state{border-color:var(--accent);color:var(--accent)}.exchange-card.is-stopped .exchange-card-state{border-color:var(--danger);color:var(--danger)}.exchange-card-session,.exchange-card-time{font-family:var(--mono);color:var(--ink-muted);font-size:12px}.exchange-card-key{color:var(--ink-muted)}.exchange-card-outcome.is-failure,.exchange-card-error{color:var(--danger)}.exchange-card-advice{color:var(--ink-muted)}.exchange-card-foot{flex-wrap:wrap;align-items:baseline;gap:4px 16px;display:flex}.exchange-card-link{color:var(--accent)}.exchange-card-cancel{font-family:var(--chrome);color:var(--danger);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;text-decoration:underline}.exchange-card-cancel:disabled{cursor:progress;opacity:.6}.ledger-page{box-sizing:border-box;background:var(--field);min-height:100dvh;color:var(--ink);font-family:var(--chrome);flex-direction:column;padding:16px;display:flex}.ledger-head{flex:none;margin-bottom:16px}.ledger-title{margin:12px 0 4px;font-size:20px;font-weight:700}.ledger-sub{color:var(--ink-muted);margin:0;font-size:13px}.ledger-main{flex-direction:column;flex:auto;gap:16px;min-height:0;display:flex}.ledger-pane-title{margin:0 0 8px;font-size:16px;font-weight:600}.ledger-filters{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.ledger-mode{margin:0}.ledger-selects{flex-wrap:wrap;gap:8px 12px;display:flex}.ledger-select-label{min-width:0;color:var(--ink-muted);flex-direction:column;flex:140px;gap:4px;font-size:13px;display:flex}.ledger-select-label .exchange-select,.ledger-count{margin:0}.ledger-state{font-family:var(--mono);color:var(--ink-muted);margin:0;padding:12px 0;font-size:12px;line-height:1.5}.ledger-state p{margin:0}.ledger-list{border-top:1px solid var(--hairline);margin:0;padding:0;list-style:none}.ledger-row-item{border-bottom:1px solid var(--hairline)}.ledger-row{box-sizing:border-box;text-align:left;width:100%;color:var(--ink);cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;border-left:3px solid #0000;flex-direction:column;gap:2px;padding:10px 8px;display:flex}.ledger-row[aria-current=true]{background:var(--card);border-left-color:var(--accent)}.ledger-row-line{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.ledger-row-who{font-size:14px;font-weight:600}.ledger-row-state{font-family:var(--mono);color:var(--accent);font-size:12px}.ledger-row.is-stopped .ledger-row-state{color:var(--danger)}.ledger-row.is-done .ledger-row-state{color:var(--ink-muted)}.ledger-row-session{font-family:var(--mono);font-size:13px}.ledger-row-meta{font-family:var(--mono);color:var(--ink-muted);font-size:11px}.ledger-detail{flex-direction:column;gap:12px;min-width:0;display:flex}.ledger-detail-back{align-self:flex-start;margin-top:0}.ledger-detail-title{overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:600}.ledger-section{border-top:1px solid var(--hairline);padding-top:8px}.ledger-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin:0 0 6px;font-size:12px;font-weight:600}.ledger-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.5}.ledger-packet-list{margin-top:8px}.ledger-packet-title{margin:0;font-size:13px;font-weight:600}.ledger-packet-list ul,.ledger-links{overflow-wrap:anywhere;margin:4px 0 0;padding:0 0 0 18px;font-size:13px;line-height:1.5}.ledger-links{padding:0;list-style:none}.ledger-thread-link{font-size:13px}.ledger-link-role{font-family:var(--mono);color:var(--ink-muted);font-size:11px}.ledger-timeline{margin:0;padding:0 0 0 18px;font-size:13px;line-height:1.5}.ledger-timeline li{overflow-wrap:anywhere;margin-bottom:4px}.ledger-timeline-time{font-family:var(--mono);color:var(--ink-muted);font-size:11px;display:block}.ledger-foot{font-family:var(--mono);color:var(--ink-faint);overflow-wrap:anywhere;margin:0;font-size:11px}@media (max-width:799px){.ledger-page.has-detail .ledger-list-pane,.ledger-page:not(.has-detail) .ledger-detail-pane{display:none}}@media (min-width:800px){.ledger-page{height:100vh;padding:24px}.ledger-main{flex-direction:row;gap:24px}.ledger-list-pane{flex:0 0 22rem;min-height:0;padding-right:4px;overflow-y:auto}.ledger-detail-pane{border-left:1px solid var(--hairline);flex:auto;min-width:0;max-width:56rem;min-height:0;padding-left:24px;overflow-y:auto}.ledger-detail-back{display:none}}.group-thread-nav{flex-wrap:wrap;gap:4px 16px;display:flex}.group-thread-main{flex:auto;min-width:0;max-width:56rem}.group-thread-list{margin:0;padding:0;list-style:none}.group-thread-body{white-space:pre-wrap;overflow-wrap:anywhere}@media (min-width:800px){.group-thread-page{height:auto}}@media (prefers-reduced-motion:reduce){.exchange-card,.ledger-row,.session-action{scroll-behavior:auto;transition:none;animation:none}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}