botmancers 0.9.2 → 0.9.3

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 (215) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +5 -5
  3. package/app/.next/BUILD_ID +1 -1
  4. package/app/.next/app-path-routes-manifest.json +1 -0
  5. package/app/.next/build-manifest.json +6 -6
  6. package/app/.next/prerender-manifest.json +3 -3
  7. package/app/.next/required-server-files.json +2 -2
  8. package/app/.next/routes-manifest.json +8 -0
  9. package/app/.next/server/app/_global-error/page/build-manifest.json +3 -3
  10. package/app/.next/server/app/_global-error.html +1 -1
  11. package/app/.next/server/app/_global-error.rsc +1 -1
  12. package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  13. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/app/.next/server/app/_not-found/page/build-manifest.json +3 -3
  16. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  17. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/_not-found.html +1 -1
  19. package/app/.next/server/app/_not-found.rsc +2 -2
  20. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  21. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  22. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  23. package/app/.next/server/app/agents/[id]/activity/page/build-manifest.json +3 -3
  24. package/app/.next/server/app/agents/[id]/activity/page.js.nft.json +1 -1
  25. package/app/.next/server/app/agents/[id]/activity/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/agents/[id]/config/page/app-paths-manifest.json +3 -0
  27. package/app/.next/server/app/agents/[id]/config/page/build-manifest.json +20 -0
  28. package/app/.next/server/app/agents/[id]/config/page/next-font-manifest.json +11 -0
  29. package/app/.next/server/app/agents/[id]/config/page/react-loadable-manifest.json +1 -0
  30. package/app/.next/server/app/agents/[id]/config/page/server-reference-manifest.json +4 -0
  31. package/app/.next/server/app/agents/[id]/config/page.js +14 -0
  32. package/app/.next/server/app/agents/[id]/config/page.js.nft.json +1 -0
  33. package/app/.next/server/app/agents/[id]/config/page_client-reference-manifest.js +3 -0
  34. package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page/build-manifest.json +3 -3
  35. package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page.js.nft.json +1 -1
  36. package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/agents/[id]/conversations/page/build-manifest.json +3 -3
  38. package/app/.next/server/app/agents/[id]/conversations/page.js.nft.json +1 -1
  39. package/app/.next/server/app/agents/[id]/conversations/page_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/agents/[id]/page/build-manifest.json +3 -3
  41. package/app/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  42. package/app/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  43. package/app/.next/server/app/agents/[id]/sessions/page/build-manifest.json +3 -3
  44. package/app/.next/server/app/agents/[id]/sessions/page.js.nft.json +1 -1
  45. package/app/.next/server/app/agents/[id]/sessions/page_client-reference-manifest.js +1 -1
  46. package/app/.next/server/app/agents/[id]/slack/page/build-manifest.json +3 -3
  47. package/app/.next/server/app/agents/[id]/slack/page.js.nft.json +1 -1
  48. package/app/.next/server/app/agents/[id]/slack/page_client-reference-manifest.js +1 -1
  49. package/app/.next/server/app/api/bots/[id]/activity/route.js.nft.json +1 -1
  50. package/app/.next/server/app/api/bots/[id]/config/route.js.nft.json +1 -1
  51. package/app/.next/server/app/api/bots/[id]/conversations/[conversationId]/route.js.nft.json +1 -1
  52. package/app/.next/server/app/api/bots/[id]/conversations/route.js.nft.json +1 -1
  53. package/app/.next/server/app/api/bots/[id]/overview/route.js.nft.json +1 -1
  54. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route.js.nft.json +1 -1
  55. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/route.js.nft.json +1 -1
  56. package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route.js.nft.json +1 -1
  57. package/app/.next/server/app/api/bots/[id]/sessions/route.js.nft.json +1 -1
  58. package/app/.next/server/app/api/bots/[id]/sessions/sync/route.js.nft.json +1 -1
  59. package/app/.next/server/app/api/bots/[id]/share-policy/route.js.nft.json +1 -1
  60. package/app/.next/server/app/api/bots/[id]/skill/route.js.nft.json +1 -1
  61. package/app/.next/server/app/api/bots/availability/route.js.nft.json +1 -1
  62. package/app/.next/server/app/api/bots/delete-preview/route.js.nft.json +1 -1
  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.nft.json +1 -1
  65. package/app/.next/server/app/api/bots/name-migrations/route.js.nft.json +1 -1
  66. package/app/.next/server/app/api/bots/route.js.nft.json +1 -1
  67. package/app/.next/server/app/api/conversations/[id]/approve/route.js.nft.json +1 -1
  68. package/app/.next/server/app/api/conversations/[id]/deny/route.js.nft.json +1 -1
  69. package/app/.next/server/app/api/conversations/[id]/draft/route.js.nft.json +1 -1
  70. package/app/.next/server/app/api/conversations/[id]/messages/[messageId]/stop/route.js.nft.json +1 -1
  71. package/app/.next/server/app/api/conversations/[id]/messages/route.js.nft.json +1 -1
  72. package/app/.next/server/app/api/conversations/[id]/route.js.nft.json +1 -1
  73. package/app/.next/server/app/api/conversations/[id]/stop/route.js.nft.json +1 -1
  74. package/app/.next/server/app/api/conversations/route.js.nft.json +1 -1
  75. package/app/.next/server/app/api/exchanges/[id]/cancel/route.js.nft.json +1 -1
  76. package/app/.next/server/app/api/exchanges/[id]/route.js.nft.json +1 -1
  77. package/app/.next/server/app/api/exchanges/route.js.nft.json +1 -1
  78. package/app/.next/server/app/api/files/[name]/route.js.nft.json +1 -1
  79. package/app/.next/server/app/api/groups/route.js.nft.json +1 -1
  80. package/app/.next/server/app/api/health/route.js.nft.json +1 -1
  81. package/app/.next/server/app/api/import-capabilities/route.js +1 -1
  82. package/app/.next/server/app/api/import-capabilities/route.js.nft.json +1 -1
  83. package/app/.next/server/app/api/marketplace-handoff/route.js +1 -1
  84. package/app/.next/server/app/api/marketplace-handoff/route.js.nft.json +1 -1
  85. package/app/.next/server/app/api/marketplace-handoff/status/route.js +1 -1
  86. package/app/.next/server/app/api/marketplace-handoff/status/route.js.nft.json +1 -1
  87. package/app/.next/server/app/api/mcp/route.js.nft.json +1 -1
  88. package/app/.next/server/app/api/messages/[id]/between/route.js.nft.json +1 -1
  89. package/app/.next/server/app/api/runtime-connections/route.js.nft.json +1 -1
  90. package/app/.next/server/app/api/service-grants/route.js.nft.json +1 -1
  91. package/app/.next/server/app/api/shares/[shareRef]/revoke/route.js.nft.json +1 -1
  92. package/app/.next/server/app/api/shares/route.js.nft.json +1 -1
  93. package/app/.next/server/app/api/v0/agents/[agentId]/conversations/[conversationId]/route.js.nft.json +1 -1
  94. package/app/.next/server/app/api/v0/agents/[agentId]/conversations/route.js.nft.json +1 -1
  95. package/app/.next/server/app/api/v0/agents/[agentId]/messages/route.js.nft.json +1 -1
  96. package/app/.next/server/app/api/v0/agents/[agentId]/pins/route.js.nft.json +1 -1
  97. package/app/.next/server/app/api/v0/agents/[agentId]/route.js.nft.json +1 -1
  98. package/app/.next/server/app/api/v0/agents/[agentId]/sessions/[ref]/route.js.nft.json +1 -1
  99. package/app/.next/server/app/api/v0/agents/[agentId]/sessions/route.js.nft.json +1 -1
  100. package/app/.next/server/app/api/v0/agents/route.js.nft.json +1 -1
  101. package/app/.next/server/app/api/v0/capabilities/route.js.nft.json +1 -1
  102. package/app/.next/server/app/api/v0/conversations/[id]/route.js.nft.json +1 -1
  103. package/app/.next/server/app/api/v0/exchanges/[id]/cancel/route.js.nft.json +1 -1
  104. package/app/.next/server/app/api/v0/exchanges/[id]/route.js.nft.json +1 -1
  105. package/app/.next/server/app/api/v0/exchanges/route.js.nft.json +1 -1
  106. package/app/.next/server/app/api/v0/mcp/route.js.nft.json +1 -1
  107. package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route.js.nft.json +1 -1
  108. package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route.js.nft.json +1 -1
  109. package/app/.next/server/app/api/v0/pins/[pinRef]/route.js.nft.json +1 -1
  110. package/app/.next/server/app/api/v0/requests/[id]/route.js.nft.json +1 -1
  111. package/app/.next/server/app/api/v0/sessions/[ref]/messages/route.js.nft.json +1 -1
  112. package/app/.next/server/app/api/v0/sessions/[ref]/pins/route.js.nft.json +1 -1
  113. package/app/.next/server/app/api/v0/sessions/[ref]/shares/route.js.nft.json +1 -1
  114. package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route.js.nft.json +1 -1
  115. package/app/.next/server/app/api/v0/shares/[shareRef]/route.js.nft.json +1 -1
  116. package/app/.next/server/app/api/v0/shares/current/route.js.nft.json +1 -1
  117. package/app/.next/server/app/api/v0/shares/route.js.nft.json +1 -1
  118. package/app/.next/server/app/api/wake-grants/[id]/revoke/route.js.nft.json +1 -1
  119. package/app/.next/server/app/api/wakes/[id]/decision/route.js.nft.json +1 -1
  120. package/app/.next/server/app/api/wakes/[id]/retry/route.js.nft.json +1 -1
  121. package/app/.next/server/app/bots/[id]/config/page/build-manifest.json +3 -3
  122. package/app/.next/server/app/bots/[id]/config/page.js.nft.json +1 -1
  123. package/app/.next/server/app/bots/[id]/config/page_client-reference-manifest.js +1 -1
  124. package/app/.next/server/app/exchanges/page/build-manifest.json +3 -3
  125. package/app/.next/server/app/exchanges/page.js.nft.json +1 -1
  126. package/app/.next/server/app/exchanges/page_client-reference-manifest.js +1 -1
  127. package/app/.next/server/app/exchanges.html +1 -1
  128. package/app/.next/server/app/exchanges.rsc +2 -2
  129. package/app/.next/server/app/exchanges.segments/_full.segment.rsc +2 -2
  130. package/app/.next/server/app/exchanges.segments/_tree.segment.rsc +2 -2
  131. package/app/.next/server/app/exchanges.segments/exchanges/__PAGE__.segment.rsc +2 -2
  132. package/app/.next/server/app/index.html +1 -1
  133. package/app/.next/server/app/index.rsc +3 -3
  134. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  135. package/app/.next/server/app/index.segments/_full.segment.rsc +3 -3
  136. package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  137. package/app/.next/server/app/page/build-manifest.json +3 -3
  138. package/app/.next/server/app/page.js.nft.json +1 -1
  139. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/settings/page/build-manifest.json +3 -3
  141. package/app/.next/server/app/settings/page.js.nft.json +1 -1
  142. package/app/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  143. package/app/.next/server/app/settings.html +1 -1
  144. package/app/.next/server/app/settings.rsc +2 -2
  145. package/app/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  146. package/app/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  147. package/app/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  148. package/app/.next/server/app/threads/[id]/route.js.nft.json +1 -1
  149. package/app/.next/server/app-paths-manifest.json +1 -0
  150. package/app/.next/server/chunks/[root-of-the-server]__0anfwiu._.js +1 -1
  151. package/app/.next/server/chunks/{[root-of-the-server]__1z5l5cg._.js → [root-of-the-server]__0p1hgpt._.js} +1 -1
  152. package/app/.next/server/chunks/{[root-of-the-server]__1kik2zt._.js → [root-of-the-server]__0v3ksno._.js} +1 -1
  153. package/app/.next/server/chunks/{[root-of-the-server]__1igzl05._.js → [root-of-the-server]__1eugxjw._.js} +1 -1
  154. package/app/.next/server/chunks/[root-of-the-server]__1jxwu9_._.js +1 -1
  155. package/app/.next/server/chunks/_0061c2q._.js +1 -1
  156. package/app/.next/server/chunks/ssr/[root-of-the-server]__1tudi1e._.js +3 -0
  157. package/app/.next/server/chunks/ssr/{_14d-lxn._.js → _01ngpwj._.js} +22 -2
  158. package/app/.next/server/chunks/ssr/_06qzsne._.js +23 -0
  159. package/app/.next/server/chunks/ssr/{app_1-nwnha._.js → _0iywd5g._.js} +22 -2
  160. package/app/.next/server/chunks/ssr/{_17ngohj._.js → _0jvl76a._.js} +22 -2
  161. package/app/.next/server/chunks/ssr/_0mxifu3._.js +23 -0
  162. package/app/.next/server/chunks/ssr/_0u7urta._.js +1 -1
  163. package/app/.next/server/chunks/ssr/_next-internal_server_app_agents_[id]_config_page_actions_1cq16xp.js +3 -0
  164. package/app/.next/server/chunks/ssr/app_agents_[id]_0sr4fdg._.js +1 -1
  165. package/app/.next/server/chunks/ssr/app_agents_[id]_config_page_tsx_1f_gu1l._.js +3 -0
  166. package/app/.next/server/chunks/ssr/app_agents_[id]_sessions_page_tsx_0tfup-2._.js +1 -1
  167. package/app/.next/server/chunks/ssr/app_agents_[id]_slack_AgentSlackPage_tsx_20njhs1._.js +1 -1
  168. package/app/.next/server/chunks/ssr/app_components_0bhuhd-._.js +3 -0
  169. package/app/.next/server/chunks/ssr/app_page_tsx_0pxmutw._.js +1 -1
  170. package/app/.next/server/chunks/ssr/lib_0pfn9gs._.js +1 -1
  171. package/app/.next/server/chunks/ssr/lib_agent-registration-ui_ts_1z582mm._.js +1 -1
  172. package/app/.next/server/chunks/ssr/lib_share-view_ts_08psw5o._.js +1 -1
  173. package/app/.next/server/chunks/ssr/{_0gzxfz3._.js → node_modules_next_0x3i8za._.js} +2 -2
  174. package/app/.next/server/chunks/ssr/node_modules_next_dist_0kq7z60._.js +3 -0
  175. package/app/.next/server/middleware-build-manifest.js +6 -6
  176. package/app/.next/server/next-font-manifest.js +1 -1
  177. package/app/.next/server/next-font-manifest.json +4 -0
  178. package/app/.next/server/pages/404.html +1 -1
  179. package/app/.next/server/pages/500.html +1 -1
  180. package/app/.next/server/server-reference-manifest.js +1 -1
  181. package/app/.next/server/server-reference-manifest.json +1 -1
  182. package/app/.next/static/chunks/{1ttvnc6qdye8s.js → 04nfr73lkk7pz.js} +1 -1
  183. package/app/.next/static/chunks/{1dhk3pcv7yvm6.js → 0eqgs3167zj2j.js} +1 -1
  184. package/app/.next/static/chunks/10i-rrea371m2.js +1 -0
  185. package/app/.next/static/chunks/1n8wfulak4ltx.js +1 -0
  186. package/app/.next/static/chunks/1ob-de9xo9m2e.css +3 -0
  187. package/app/.next/static/chunks/1zryovio86f1z.js +1 -0
  188. package/app/.next/static/chunks/2dtkykrnob8wk.js +1 -0
  189. package/app/.next/static/chunks/2ebpfmg4vni8e.js +3 -0
  190. package/app/.next/static/chunks/2mmpezlrfmbu5.js +1 -0
  191. package/app/.next/static/chunks/{3y5bo6syunkzn.js → 326jto9l-m8vj.js} +1 -1
  192. package/app/.next/static/chunks/{2sspuxg0tql04.js → 3m-2-98qud-hf.js} +1 -1
  193. package/app/.next/static/chunks/3un1mb5bx4x8k.js +22 -0
  194. package/app/.next/static/chunks/{06i_6p0-ipitj.js → 3x56k5qa012au.js} +1 -1
  195. package/app/.next/static/chunks/{turbopack-03rfayxv7ep_b.js → turbopack-2yajevry3z_n6.js} +1 -1
  196. package/app/BUILD_INFO.json +2 -2
  197. package/app/package.json +1 -1
  198. package/app/server.js +1 -1
  199. package/package.json +1 -1
  200. package/app/.next/server/chunks/ssr/_0_u9-u6._.js +0 -3
  201. package/app/.next/server/chunks/ssr/_0rvu-il._.js +0 -131
  202. package/app/.next/server/chunks/ssr/_1iq-7cn._.js +0 -3
  203. package/app/.next/server/chunks/ssr/app_bots_[id]_config_page_tsx_1e0uue9._.js +0 -3
  204. package/app/.next/server/chunks/ssr/node_modules_1nkgb45._.js +0 -23
  205. package/app/.next/static/chunks/19mx3mg6lkumu.js +0 -1
  206. package/app/.next/static/chunks/1ka9dp1l6c0ga.js +0 -3
  207. package/app/.next/static/chunks/2n1u8a2efnt88.js +0 -1
  208. package/app/.next/static/chunks/2z-e6jheq0ftu.js +0 -22
  209. package/app/.next/static/chunks/3aasli1i-eiio.js +0 -1
  210. package/app/.next/static/chunks/3glqqyr0w46cr.css +0 -3
  211. package/app/.next/static/chunks/3p_p4gnr0d2-x.js +0 -1
  212. package/app/.next/static/chunks/3s9t477v-z09o.js +0 -1
  213. /package/app/.next/static/{HdrhALSm_DBB2VGy3oPxg → 0BJMiZPkEfFOd56nhl62e}/_buildManifest.js +0 -0
  214. /package/app/.next/static/{HdrhALSm_DBB2VGy3oPxg → 0BJMiZPkEfFOd56nhl62e}/_clientMiddlewareManifest.js +0 -0
  215. /package/app/.next/static/{HdrhALSm_DBB2VGy3oPxg → 0BJMiZPkEfFOd56nhl62e}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/3s6nzrbk-8mnv.js","static/chunks/19mx3mg6lkumu.js","static/chunks/3g4px251sg85e.js","static/chunks/2z-e6jheq0ftu.js"],runtimeModuleIds:[94553]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;var t,r=function(){if(null!=self.TURBOPACK_ASSET_SUFFIX)return self.TURBOPACK_ASSET_SUFFIX;let e=document?.currentScript?.getAttribute?.("src")??"",t=e.indexOf("?");return t>=0?e.slice(t):""}(),n=((t=n||{})[t.Runtime=0]="Runtime",t[t.Parent=1]="Parent",t[t.Update=2]="Update",t);let o=new WeakMap;function l(e,t){this.m=e,this.e=t}let i=l.prototype,u=Object.prototype.hasOwnProperty,s="u">typeof Symbol&&Symbol.toStringTag;function c(e,t,r){u.call(e,t)||Object.defineProperty(e,t,r)}function a(e,t){let r=e[t];return r||(r=f(t),e[t]=r),r}function f(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function p(e,t,r){c(e,"__esModule",{value:!0}),s&&c(e,s,{value:"Module"});let n=0;for(;n<t.length;){let r=t[n++],o=t[n++];if("number"==typeof o)if(0===o)c(e,r,{value:t[n++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[n]?c(e,r,{get:o,set:t[n++],enumerable:!0}):c(e,r,{get:o,enumerable:!0})}r||Object.seal(e)}function h(e,t){(null!=t?a(this.c,t):this.m).exports=e}i.s=function(e,t,r){let n,o;null!=t?o=(n=a(this.c,t)).exports:(n=this.m,o=this.e),n.namespaceObject=o,p(o,e,r)},i.j=function(e,t){let r,n;null!=t?n=(r=a(this.c,t)).exports:(r=this.m,n=this.e);let l=function(e,t){let r=o.get(e);if(!r){o.set(e,r=[]);let n=e=>{if("default"!==e){for(let t of r)if(u.call(t,e))return t}};e.exports=e.namespaceObject=new Proxy(t,{get(e,t){if(u.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);let r=n(t);return r&&Reflect.get(r,t)},set:()=>!1,defineProperty:()=>!1,deleteProperty:()=>!1,has:(e,t)=>!!Reflect.has(e,t)||"default"!==t&&"__esModule"!==t&&void 0!==n(t),ownKeys(e){let t=Reflect.ownKeys(e);for(let e of r)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t},getOwnPropertyDescriptor(e,t){let r=Reflect.getOwnPropertyDescriptor(e,t);if(r||"default"===t||"__esModule"===t)return r;let o=n(t);if(o)return{enumerable:!0,configurable:!0,get:()=>Reflect.get(o,t)}}})}return r}(r,n);"object"==typeof e&&null!==e&&l.push(e)},i.v=h,i.n=function(e,t){let r;(r=null!=t?a(this.c,t):this.m).exports=r.namespaceObject=e};let d=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,m=[null,d({}),d([]),d(d)];function y(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!m.includes(t);t=d(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),p(t,n),t}function g(e){let t=K(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=y(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function b(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}i.i=g,i.A=function(e){return this.r(e)(g.bind(this))},i.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},i.r=function(e){return K(e,this.m).exports},i.f=function(e){function t(t){if(t=b(t),u.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=b(t),u.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let O=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function w(e,t){throw Error(`Invariant: ${t(e)}`)}O.prototype=URL.prototype,i.U=O,i.z=function(e){throw Error("dynamic usage of require is not supported")},i.g=globalThis;let k=l.prototype,R="string"==typeof TURBOPACK_CHUNK_BASE_PATH?TURBOPACK_CHUNK_BASE_PATH:"/_next/",U=new Map;i.M=U;let v=new Map,_=new Map,P=new Map;async function C(e,t,r){let n;if("string"==typeof r)return function(e,t,r){return A(e,t,r)}(e,t,E(r));let o=r.included||[],l=o.map(e=>!!U.has(e)||v.get(e));if(l.length>0&&l.every(e=>e))return void await Promise.all(l);for(let l of(n=A(e,t,E(r.path)),o))v.has(l)||v.set(l,n);await n}k.l=function(e){return C(n.Parent,this.m.id,e)};let j=Promise.resolve(void 0),$=new WeakMap;function A(t,r,o){let l=e.loadChunkCached(t,o),i=$.get(l);if(void 0===i){let e=$.set.bind($,l,j);i=l.then(e).catch(e=>{let l;switch(t){case n.Runtime:l=`as a runtime dependency of chunk ${r}`;break;case n.Parent:l=`from module ${r}`;break;case n.Update:l="from an HMR update";break;default:w(t,e=>`Unknown source type: ${e}`)}let i=Error(`Failed to load chunk ${o} ${l}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw i.name="ChunkLoadError",i}),$.set(l,i)}return i}k.L=function(e){var t,r;return t=n.Parent,r=this.m.id,A(t,r,e)};k.R=function(e){let t=this.r(e);return t?.default??t},k.P=function(e){return`/ROOT/${e??""}`},k.F=function(e){return e?`file:///ROOT/${e.split("/").map(encodeURIComponent).join("/")}`:"file:///ROOT/"},k.q=function(e,t){h.call(this,`${e}${r}`,t)};let T=/[^A-Za-z0-9\-_.!~*'()/]/;function E(e,t=R){let n=T.test(e)?e.split("/").map(encodeURIComponent).join("/"):e;return`${t}${n}${r}`}function S(e,t){let r,n=e.indexOf("?");if(-1!==n)r=n;else{let t=e.indexOf("#");r=-1!==t?t:e.length}return r>=t.length&&e.startsWith(t,r-t.length)}k.b=R,k.X=r,k.h=E;function x(e){return S(e,".css")}let M={};i.c=M;let K=(e,t)=>{let r=M[e];if(r){if(r.error)throw r.error;return r}return N(e,n.Parent,t.id)};function N(e,t,r){let n=U.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:w(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let o=f(e),i=o.exports;M[e]=o;let u=new l(o,i);try{n(u,o,i)}catch(e){throw o.error=e,e}return o.namespaceObject&&o.exports!==o.namespaceObject&&y(o.exports,o.namespaceObject),o}function B(t){let r;if(!Array.isArray(t))return e.registerChunk(void 0,t);let n=function(e){if("string"==typeof e)return e;if(e)return{src:e.getAttribute("src")};if("u">typeof TURBOPACK_NEXT_CHUNK_URLS)return{src:TURBOPACK_NEXT_CHUNK_URLS.pop()};throw Error("chunk path empty but not in a worker")}(t[0]);return 2===t.length?r=t[1]:(r=void 0,!function(e,t){let r=1;for(;r<e.length;){let n,o=r+1;for(;o<e.length&&"function"!=typeof e[o];)o++;if(o===e.length)throw Error("malformed chunk format, expected a factory function");let l=e[o];for(let l=r;l<o;l++){let r=e[l],o=t.get(r);if(o){n=o;break}}let i=n??l,u=!1;for(let n=r;n<o;n++){let r=e[n];t.has(r)||(u||(i===l&&Object.defineProperty(l,"name",{value:"module evaluation"}),u=!0),t.set(r,i))}r=o+1}}(t,U)),e.registerChunk(n,r)}let L=new Map;function I(e){let t=L.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,retryAttempts:0,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},L.set(e,t)}return t}function q(e,t,r,n,o){!(null==n||n instanceof DOMException&&"NetworkError"===n.name)||r.retryAttempts>=1||L.get(t)!==r?(L.get(t)===r&&L.delete(t),r.reject(n)):(r.retryAttempts++,setTimeout(()=>{r.resolved||L.get(t)!==r||(o?o():(r.loadingStarted=!1,H(e,t)))},200+Math.floor(401*Math.random())))}function H(e,t){let r=I(t);if(r.loadingStarted)return r.promise;if(e===n.Runtime)return r.loadingStarted=!0,x(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(x(t));else if(S(t,".js")){self.TURBOPACK_NEXT_CHUNK_URLS.push(t);try{importScripts(t)}catch(n){q(e,t,r,n)}}else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let n=decodeURI(t);if(x(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${n}"],link[rel=stylesheet][href^="${n}?"]`).length>0)r.resolve();else{let n=()=>{let o=document.createElement("link");return o.rel="stylesheet",o.crossOrigin=null,o.href=t,o.onerror=()=>{let l=document.createComment("");o.replaceWith(l),q(e,t,r,void 0,()=>l.replaceWith(n()))},o.onload=()=>{r.resolve()},o};document.head.appendChild(n())}else if(S(t,".js")){let o=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${n}"],script[src^="${n}?"]`);if(o.length>0)for(let n of Array.from(o))n.addEventListener("error",()=>{n.remove(),q(e,t,r)},{once:!0});else{let n=document.createElement("script");n.crossOrigin=null,n.src=t,n.onerror=()=>{n.remove(),q(e,t,r)},document.head.appendChild(n)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise}e={async registerChunk(e,t){let r;if(null!=e&&(r=function(e){if("string"==typeof e)return e;let t=decodeURIComponent(e.src.replace(/[?#].*$/,""));return t.startsWith(R)?t.slice(R.length):t}(e),I("string"==typeof e?E(e):e.src).resolve()),null!=t){for(let e of t.otherChunks)I(E("string"==typeof e?e:e.path));if(await Promise.all(t.otherChunks.map(e=>{var t;return t=r,C(n.Runtime,t,e)})),t.runtimeModuleIds.length>0)for(let e of t.runtimeModuleIds)!function(e,t){let r=M[t];if(r){if(r.error)throw r.error;return}N(t,n.Runtime,e)}(r,e)}},loadChunkCached:(e,t)=>H(e,t)};var F=globalThis.TURBOPACK;globalThis.TURBOPACK={push:B},F.forEach(B)})();
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/3s6nzrbk-8mnv.js","static/chunks/2mmpezlrfmbu5.js","static/chunks/3g4px251sg85e.js","static/chunks/3un1mb5bx4x8k.js"],runtimeModuleIds:[94553]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;var t,r=function(){if(null!=self.TURBOPACK_ASSET_SUFFIX)return self.TURBOPACK_ASSET_SUFFIX;let e=document?.currentScript?.getAttribute?.("src")??"",t=e.indexOf("?");return t>=0?e.slice(t):""}(),n=((t=n||{})[t.Runtime=0]="Runtime",t[t.Parent=1]="Parent",t[t.Update=2]="Update",t);let o=new WeakMap;function l(e,t){this.m=e,this.e=t}let i=l.prototype,u=Object.prototype.hasOwnProperty,s="u">typeof Symbol&&Symbol.toStringTag;function c(e,t,r){u.call(e,t)||Object.defineProperty(e,t,r)}function a(e,t){let r=e[t];return r||(r=f(t),e[t]=r),r}function f(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function p(e,t,r){c(e,"__esModule",{value:!0}),s&&c(e,s,{value:"Module"});let n=0;for(;n<t.length;){let r=t[n++],o=t[n++];if("number"==typeof o)if(0===o)c(e,r,{value:t[n++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[n]?c(e,r,{get:o,set:t[n++],enumerable:!0}):c(e,r,{get:o,enumerable:!0})}r||Object.seal(e)}function h(e,t){(null!=t?a(this.c,t):this.m).exports=e}i.s=function(e,t,r){let n,o;null!=t?o=(n=a(this.c,t)).exports:(n=this.m,o=this.e),n.namespaceObject=o,p(o,e,r)},i.j=function(e,t){let r,n;null!=t?n=(r=a(this.c,t)).exports:(r=this.m,n=this.e);let l=function(e,t){let r=o.get(e);if(!r){o.set(e,r=[]);let n=e=>{if("default"!==e){for(let t of r)if(u.call(t,e))return t}};e.exports=e.namespaceObject=new Proxy(t,{get(e,t){if(u.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);let r=n(t);return r&&Reflect.get(r,t)},set:()=>!1,defineProperty:()=>!1,deleteProperty:()=>!1,has:(e,t)=>!!Reflect.has(e,t)||"default"!==t&&"__esModule"!==t&&void 0!==n(t),ownKeys(e){let t=Reflect.ownKeys(e);for(let e of r)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t},getOwnPropertyDescriptor(e,t){let r=Reflect.getOwnPropertyDescriptor(e,t);if(r||"default"===t||"__esModule"===t)return r;let o=n(t);if(o)return{enumerable:!0,configurable:!0,get:()=>Reflect.get(o,t)}}})}return r}(r,n);"object"==typeof e&&null!==e&&l.push(e)},i.v=h,i.n=function(e,t){let r;(r=null!=t?a(this.c,t):this.m).exports=r.namespaceObject=e};let d=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,m=[null,d({}),d([]),d(d)];function y(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!m.includes(t);t=d(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),p(t,n),t}function g(e){let t=K(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=y(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function b(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}i.i=g,i.A=function(e){return this.r(e)(g.bind(this))},i.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},i.r=function(e){return K(e,this.m).exports},i.f=function(e){function t(t){if(t=b(t),u.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=b(t),u.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let O=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function w(e,t){throw Error(`Invariant: ${t(e)}`)}O.prototype=URL.prototype,i.U=O,i.z=function(e){throw Error("dynamic usage of require is not supported")},i.g=globalThis;let k=l.prototype,R="string"==typeof TURBOPACK_CHUNK_BASE_PATH?TURBOPACK_CHUNK_BASE_PATH:"/_next/",U=new Map;i.M=U;let v=new Map,_=new Map,P=new Map;async function C(e,t,r){let n;if("string"==typeof r)return function(e,t,r){return A(e,t,r)}(e,t,E(r));let o=r.included||[],l=o.map(e=>!!U.has(e)||v.get(e));if(l.length>0&&l.every(e=>e))return void await Promise.all(l);for(let l of(n=A(e,t,E(r.path)),o))v.has(l)||v.set(l,n);await n}k.l=function(e){return C(n.Parent,this.m.id,e)};let j=Promise.resolve(void 0),$=new WeakMap;function A(t,r,o){let l=e.loadChunkCached(t,o),i=$.get(l);if(void 0===i){let e=$.set.bind($,l,j);i=l.then(e).catch(e=>{let l;switch(t){case n.Runtime:l=`as a runtime dependency of chunk ${r}`;break;case n.Parent:l=`from module ${r}`;break;case n.Update:l="from an HMR update";break;default:w(t,e=>`Unknown source type: ${e}`)}let i=Error(`Failed to load chunk ${o} ${l}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw i.name="ChunkLoadError",i}),$.set(l,i)}return i}k.L=function(e){var t,r;return t=n.Parent,r=this.m.id,A(t,r,e)};k.R=function(e){let t=this.r(e);return t?.default??t},k.P=function(e){return`/ROOT/${e??""}`},k.F=function(e){return e?`file:///ROOT/${e.split("/").map(encodeURIComponent).join("/")}`:"file:///ROOT/"},k.q=function(e,t){h.call(this,`${e}${r}`,t)};let T=/[^A-Za-z0-9\-_.!~*'()/]/;function E(e,t=R){let n=T.test(e)?e.split("/").map(encodeURIComponent).join("/"):e;return`${t}${n}${r}`}function S(e,t){let r,n=e.indexOf("?");if(-1!==n)r=n;else{let t=e.indexOf("#");r=-1!==t?t:e.length}return r>=t.length&&e.startsWith(t,r-t.length)}k.b=R,k.X=r,k.h=E;function x(e){return S(e,".css")}let M={};i.c=M;let K=(e,t)=>{let r=M[e];if(r){if(r.error)throw r.error;return r}return N(e,n.Parent,t.id)};function N(e,t,r){let n=U.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:w(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let o=f(e),i=o.exports;M[e]=o;let u=new l(o,i);try{n(u,o,i)}catch(e){throw o.error=e,e}return o.namespaceObject&&o.exports!==o.namespaceObject&&y(o.exports,o.namespaceObject),o}function B(t){let r;if(!Array.isArray(t))return e.registerChunk(void 0,t);let n=function(e){if("string"==typeof e)return e;if(e)return{src:e.getAttribute("src")};if("u">typeof TURBOPACK_NEXT_CHUNK_URLS)return{src:TURBOPACK_NEXT_CHUNK_URLS.pop()};throw Error("chunk path empty but not in a worker")}(t[0]);return 2===t.length?r=t[1]:(r=void 0,!function(e,t){let r=1;for(;r<e.length;){let n,o=r+1;for(;o<e.length&&"function"!=typeof e[o];)o++;if(o===e.length)throw Error("malformed chunk format, expected a factory function");let l=e[o];for(let l=r;l<o;l++){let r=e[l],o=t.get(r);if(o){n=o;break}}let i=n??l,u=!1;for(let n=r;n<o;n++){let r=e[n];t.has(r)||(u||(i===l&&Object.defineProperty(l,"name",{value:"module evaluation"}),u=!0),t.set(r,i))}r=o+1}}(t,U)),e.registerChunk(n,r)}let L=new Map;function I(e){let t=L.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,retryAttempts:0,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},L.set(e,t)}return t}function H(e,t,r,n,o){!(null==n||n instanceof DOMException&&"NetworkError"===n.name)||r.retryAttempts>=1||L.get(t)!==r?(L.get(t)===r&&L.delete(t),r.reject(n)):(r.retryAttempts++,setTimeout(()=>{r.resolved||L.get(t)!==r||(o?o():(r.loadingStarted=!1,q(e,t)))},200+Math.floor(401*Math.random())))}function q(e,t){let r=I(t);if(r.loadingStarted)return r.promise;if(e===n.Runtime)return r.loadingStarted=!0,x(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(x(t));else if(S(t,".js")){self.TURBOPACK_NEXT_CHUNK_URLS.push(t);try{importScripts(t)}catch(n){H(e,t,r,n)}}else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let n=decodeURI(t);if(x(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${n}"],link[rel=stylesheet][href^="${n}?"]`).length>0)r.resolve();else{let n=()=>{let o=document.createElement("link");return o.rel="stylesheet",o.crossOrigin=null,o.href=t,o.onerror=()=>{let l=document.createComment("");o.replaceWith(l),H(e,t,r,void 0,()=>l.replaceWith(n()))},o.onload=()=>{r.resolve()},o};document.head.appendChild(n())}else if(S(t,".js")){let o=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${n}"],script[src^="${n}?"]`);if(o.length>0)for(let n of Array.from(o))n.addEventListener("error",()=>{n.remove(),H(e,t,r)},{once:!0});else{let n=document.createElement("script");n.crossOrigin=null,n.src=t,n.onerror=()=>{n.remove(),H(e,t,r)},document.head.appendChild(n)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise}e={async registerChunk(e,t){let r;if(null!=e&&(r=function(e){if("string"==typeof e)return e;let t=decodeURIComponent(e.src.replace(/[?#].*$/,""));return t.startsWith(R)?t.slice(R.length):t}(e),I("string"==typeof e?E(e):e.src).resolve()),null!=t){for(let e of t.otherChunks)I(E("string"==typeof e?e:e.path));if(await Promise.all(t.otherChunks.map(e=>{var t;return t=r,C(n.Runtime,t,e)})),t.runtimeModuleIds.length>0)for(let e of t.runtimeModuleIds)!function(e,t){let r=M[t];if(r){if(r.error)throw r.error;return}N(t,n.Runtime,e)}(r,e)}},loadChunkCached:(e,t)=>q(e,t)};var F=globalThis.TURBOPACK;globalThis.TURBOPACK={push:B},F.forEach(B)})();
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "botmancers",
3
- "version": "0.9.2",
4
- "commit": "979ed76c4b4515f7b29bc041ffff9f5c5e2e5017",
3
+ "version": "0.9.3",
4
+ "commit": "82719b01ec49ab59cc6cb3ca836f8fc45413746c",
5
5
  "dirty": false,
6
6
  "next": "16.3.8"
7
7
  }
package/app/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "botmancers-app",
3
- "version": "0.9.2",
3
+ "version": "0.9.3",
4
4
  "private": true,
5
5
  "type": "commonjs"
6
6
  }
package/app/server.js CHANGED
@@ -9,7 +9,7 @@ const currentPort = parseInt(process.env.PORT, 10) || 3000
9
9
  const hostname = process.env.HOSTNAME || '0.0.0.0'
10
10
 
11
11
  let keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)
12
- const nextConfig = {"env":{"BOTMANCERS_BUILD_VERSION":"0.9.2","BOTMANCERS_BUILD_COMMIT":"979ed76c4b4515f7b29bc041ffff9f5c5e2e5017"},"webpack":null,"typescript":{"ignoreBuildErrors":false},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"instrumentationClientInject":[],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":true,"customCacheHandler":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{"serverFunctions":true,"browserToTerminal":"warn"},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":__dirname,"enablePrerenderSourceMaps":true,"cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"appNewScrollHandler":true,"coldCacheBadge":false,"devValidationWorker":true,"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"cachedNavigations":false,"dynamicOnHover":false,"useOffline":false,"varyParams":true,"optimisticRouting":true,"instrumentationClientRouterTransitionEvents":false,"prefetchInlining":{"maxSize":2048,"maxBundleSize":10240},"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":9,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptOperationCache":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"devMemoryThresholdRestart":true,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"requestInsights":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"strictRouteTypes":false,"useTypeScriptCli":true,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":true,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":true,"serverComponentsHmrCache":true,"serverComponentsHmrCancellation":false,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"gestureTransition":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":"warn","lockDistDir":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":true,"turbopackInferModuleSideEffects":true,"turbopackPluginRuntimeStrategy":"childProcesses","turbopackMemoryEvictionMode":"auto","optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"useCacheTimeout":54,"instantInsights":{"validationLevel":"warning"},"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.ts","serverExternalPackages":["@slack/socket-mode","@slack/web-api"],"repoRoot":__dirname,"turbopack":{"root":__dirname},"distDirRoot":".next","_originalRewrites":{"beforeFiles":[],"afterFiles":[{"source":"/favicon.ico","destination":"/brand/botmancers-logo-filled-64.png"}],"fallback":[]}}
12
+ const nextConfig = {"env":{"BOTMANCERS_BUILD_VERSION":"0.9.3","BOTMANCERS_BUILD_COMMIT":"82719b01ec49ab59cc6cb3ca836f8fc45413746c"},"webpack":null,"typescript":{"ignoreBuildErrors":false},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"instrumentationClientInject":[],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":true,"customCacheHandler":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{"serverFunctions":true,"browserToTerminal":"warn"},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":__dirname,"enablePrerenderSourceMaps":true,"cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"appNewScrollHandler":true,"coldCacheBadge":false,"devValidationWorker":true,"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"cachedNavigations":false,"dynamicOnHover":false,"useOffline":false,"varyParams":true,"optimisticRouting":true,"instrumentationClientRouterTransitionEvents":false,"prefetchInlining":{"maxSize":2048,"maxBundleSize":10240},"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":9,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptOperationCache":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"devMemoryThresholdRestart":true,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"requestInsights":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"strictRouteTypes":false,"useTypeScriptCli":true,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":true,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":true,"serverComponentsHmrCache":true,"serverComponentsHmrCancellation":false,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"gestureTransition":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":"warn","lockDistDir":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":true,"turbopackInferModuleSideEffects":true,"turbopackPluginRuntimeStrategy":"childProcesses","turbopackMemoryEvictionMode":"auto","optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"useCacheTimeout":54,"instantInsights":{"validationLevel":"warning"},"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.ts","serverExternalPackages":["@slack/socket-mode","@slack/web-api"],"repoRoot":__dirname,"turbopack":{"root":__dirname},"distDirRoot":".next","_originalRewrites":{"beforeFiles":[],"afterFiles":[{"source":"/favicon.ico","destination":"/brand/botmancers-logo-filled-64.png"}],"fallback":[]}}
13
13
 
14
14
  process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)
15
15
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "botmancers",
3
- "version": "0.9.2",
3
+ "version": "0.9.3",
4
4
  "description": "Botmancers: the UI, core engine, and authenticated MCP bridge (contracts botmancers.mcp.v1 and botmancers.mcp.v2) as one CLI-managed product. `botmancers start` runs it all; bare `botmancers` runs the bridge only.",
5
5
  "keywords": [
6
6
  "botmancers",
@@ -1,3 +0,0 @@
1
- module.exports=[20851,22151,a=>{"use strict";let b=["hermes","cursor","claude","codex","muse"],c={hermes:"Hermes",cursor:"Cursor",claude:"Claude",codex:"Codex",muse:"Muse Code"},d="hermes";function e(a){return b.includes(String(a))?c[a]:String(a??"")}b.join("|"),a.s(["AGENTS",0,b,"AGENT_LABELS",0,c,"DEFAULT_AGENT",0,d,"agentLabel",0,e],22151);let f=b.map(a=>({value:a,label:c[a]}));function g(a){return e((a.agent??"").trim()||d)}function h(a){let b=a.runtime_connection;return b&&b.label.trim()?b.label.trim():(a.runtime_connection_id??"").trim()?(a.runtime_connection_id??"").trim():null}function i(a){return`~/.botmancers/${a}`}let j="~/.botmancers/{agentID}",k=`Default: ${j} — {agentID} is this agent's ID, assigned at creation.`;function l(a){return String(a).padStart(2,"0")}let m=[{prefix:"[Agent failed]",kind:"failed",label:"Agent failed"},{prefix:"[Deck handoff]",kind:"handoff",label:"Agent launch"},{prefix:"[Deck run]",kind:"run",label:"Agent run"},{prefix:"[Deck review]",kind:"review",label:"Agent review"},{prefix:"[Deck resume]",kind:"resume",label:"Agent resume"},{prefix:"[Deck result]",kind:"result",label:"Agent result"},{prefix:"[Deck failed]",kind:"failed",label:"Agent failed"},{prefix:"[Deck needs selection]",kind:"reselection",label:"Agent needs setup"},{prefix:"[Deck needs reselection]",kind:"reselection",label:"Agent needs setup"}];a.s(["AGENT_OPTIONS",0,f,"NEW_AGENT_WORKSPACE_HINT",0,k,"WORKSPACE_TEMPLATE",0,j,"agentEventDisplay",0,function(a){let b=String(a??"").trimStart(),c=m.find(a=>b.startsWith(a.prefix));return c?{label:c.label,detail:b.slice(c.prefix.length).trim()}:null},"botAgentLabel",0,g,"botConnectionLabel",0,h,"configWorkspaceHint",0,function(a){return`Default: ${i(a)} — leave blank to use it.`},"defaultWorkdirFor",0,i,"formatClock",0,function(a){let b=new Date(a);return`${l(b.getHours())}:${l(b.getMinutes())}:${l(b.getSeconds())}`},"rosterRuntimeLine",0,function(a){let b=`Agent: ${g(a)} \xb7 `+(h(a)??"No connection");return!1===a.launchable?b+" — see Config":b}],20851)},23464,a=>{"use strict";var b=a.i(65221),c=a.i(35099);function d(a){return"active"===a.state}let e=/^T[A-Z0-9]{2,20}$/,f=/^[CG][A-Z0-9]{2,20}$/;a.s(["SHARE_DURATIONS",0,[{label:"5 minutes",seconds:300},{label:"1 hour",seconds:3600},{label:"8 hours",seconds:28800},{label:"24 hours",seconds:86400}],"SHARE_STATUS_LABELS",0,{active:"Active",exhausted:"Questions used",answering:"Answering",recovering:"Recovering",expired:"Expired",revoked:"Revoked"},"audienceInputError",0,function(a,b,c){let d=a.trim(),g=b.trim();return e.test(d)?f.test(g)?c.some(a=>a.team_id===d&&a.channel_id===g)?"That channel is already on the allowlist.":null:"Channel ID must look like C0123ABCD (a public or private channel ID; no wildcards).":"Workspace ID must look like T0123ABCD (a Slack team ID; no wildcards)."},"audienceLabel",0,function(a){return`Slack channel ${a.channel_id} \xb7 workspace ${a.team_id}`},"createdByLabel",0,function(a){return"owner"===a.created_by?"Shared by you":"current_session"===a.created_by?"Shared from a turn of this session":"Shared by a service"},"expiryLabel",0,function(a,c=Date.now()){return"revoked"===a.state?`Revoked ${(0,b.formatSessionDate)(a.revoked_at??a.expires_at)}`:"expired"===a.state||a.expires_at<=c?`Expired ${(0,b.formatSessionDate)(a.expires_at)}`:`Expires ${(0,b.formatSessionDate)(a.expires_at)} (in ${function(a){let b=Math.max(1,Math.round(a/6e4));if(b<60)return`${b} min`;let c=Math.floor(b/60),d=b%60;return d?`${c} h ${d} min`:`${c} h`}(a.expires_at-c)})`},"sessionShares",0,function(a,b){let c=a.filter(a=>a.session_ref===b);return[...c.filter(d).sort((a,b)=>b.created_at-a.created_at),...c.filter(a=>!d(a)).sort((a,b)=>(b.revoked_at??b.expires_at)-(a.revoked_at??a.expires_at))]},"shareCreateAvailability",0,function(a,b){let d=`/bots/${encodeURIComponent(a.agent.id)}/config#session-sharing`;if(!b)return{available:!1,reason:"Share to Slack is unavailable: the share policy could not be loaded.",configHref:null};let e=(0,c.sessionRowActions)(a).find(a=>"ask"===a.action);return e&&!e.availability.available?{available:!1,reason:e.availability.reason.replace(/^Ask from this context is unavailable:/,"Share to Slack is unavailable:"),configHref:null}:"invalid"===b.state?{available:!1,reason:"Share to Slack is unavailable: the share policy file is invalid. Fix it in Config.",configHref:d}:0===b.audiences.length?{available:!1,reason:"Share to Slack needs a Slack channel on the share allowlist. Add one in Config.",configHref:d}:{available:!0}},"shareCreateBody",0,function(a,b,c,d){return{audience:{team_id:a.team_id,channel_id:a.channel_id},ttl_seconds:b,max_turns:c,idempotency_key:d}},"shareFromTurnNote",0,function(a){return a.agent.share_current.supported?a.agent.share_from_turn?"On: a turn Botmancers launches for this Agent can share its own session to an allowlisted channel. Turning it off revokes every live turn context at once.":"Off: no turn of this Agent can share its own session. Sessions can still be shared from the Agent Sessions page.":a.agent.share_current.reason??"This runtime cannot share its own session from a turn."},"shareIsLive",0,d,"shareStatusNote",0,function(a){switch(a.status){case"active":return"Slack replies in its thread ask this session (read-only).";case"answering":return"A Slack question is being answered now. The next one waits until it finishes.";case"recovering":return"A question was interrupted by a Botmancers restart. The next Slack question clears it.";case"exhausted":return`All ${a.max_turns} questions are used. Slack questions get the limit notice; create a new share to keep going.`;case"expired":return"Expired: Slack questions get the expired notice. Its history stays here.";case"revoked":return"Revoked: Slack questions get the revoked notice. Its history stays here."}},"threadLabel",0,function(a){return a.thread.posted?`Slack thread posted ${(0,b.formatSessionDate)(a.thread.posted_at??0)}`:"active"===a.state?"Waiting for the Slack relay to post the thread":"No Slack thread was posted"},"turnsLabel",0,function(a){return`${a.turns_used} of ${a.max_turns} question${1===a.max_turns?"":"s"} used`}])},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=_0_u9-u6._.js.map
@@ -1,131 +0,0 @@
1
- module.exports=[36391,5020,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)},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)},3326,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DynamicServerError:function(){return g},isDynamicServerError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="DYNAMIC_SERVER_USAGE";class g extends Error{constructor(a){super(`Dynamic server usage: ${a}`),this.description=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&"string"==typeof a.digest&&a.digest===f}("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)},99392,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={StaticGenBailoutError:function(){return g},isStaticGenBailoutError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="NEXT_STATIC_GEN_BAILOUT";class g extends Error{constructor(...a){super(...a),this.code=f}}function h(a){return"object"==typeof a&&null!==a&&"code"in a&&a.code===f}("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)},22099,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getRedirectError:function(){return i},getRedirectStatusCodeFromError:function(){return n},getRedirectTypeFromError:function(){return m},getURLFromRedirectError:function(){return l},permanentRedirect:function(){return k},redirect:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(15128),g=a.r(11026),h=a.r(69789);function i(a,b,c=f.RedirectStatusCode.TemporaryRedirect){let d=Object.defineProperty(Error(g.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d.digest=`${g.REDIRECT_ERROR_CODE};${b};${a};${c};`,d}function j(a,b){throw i(a,b??=h.actionAsyncStorage?.getStore()?.isAction?"push":"replace",f.RedirectStatusCode.TemporaryRedirect)}function k(a,b="replace"){throw i(a,b,f.RedirectStatusCode.PermanentRedirect)}function l(a){return(0,g.isRedirectError)(a)?a.digest.split(";").slice(2,-2).join(";"):null}function m(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return a.digest.split(";",2)[1]}function n(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(a.digest.split(";").at(-2))}("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)},8535,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={HTTPAccessErrorStatus:function(){return f},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return h},getAccessFallbackErrorTypeByStatus:function(){return k},getAccessFallbackHTTPStatus:function(){return j},isHTTPAccessFallbackError:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},g=new Set(Object.values(f)),h="NEXT_HTTP_ERROR_FALLBACK";function i(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===h&&g.has(Number(c))}function j(a){return Number(a.digest.split(";")[1])}function k(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("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)},28102,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"notFound",{enumerable:!0,get:function(){return f}});let d=a.r(8535),e=`${d.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function f(){let a=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw a.digest=e,a}("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)},64177,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"forbidden",{enumerable:!0,get:function(){return d}}),a.r(8535).HTTP_ERROR_FALLBACK_ERROR_CODE,("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)},88213,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unauthorized",{enumerable:!0,get:function(){return d}}),a.r(8535).HTTP_ERROR_FALLBACK_ERROR_CODE,("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)},31101,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isPostpone",{enumerable:!0,get:function(){return e}});let d=Symbol.for("react.postpone");function e(a){return"object"==typeof a&&null!==a&&a.$$typeof===d}},77747,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isNextRouterError",{enumerable:!0,get:function(){return f}});let d=a.r(8535),e=a.r(11026);function f(a){return(0,e.isRedirectError)(a)||(0,d.isHTTPAccessFallbackError)(a)}("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)},47083,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=a.r(35710),e=a.r(31101),f=a.r(41997),g=a.r(77747),h=a.r(54110),i=a.r(3326);("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)},21066,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return f.ReadonlyURLSearchParams},RedirectType:function(){return m},forbidden:function(){return i.forbidden},notFound:function(){return h.notFound},permanentRedirect:function(){return g.permanentRedirect},redirect:function(){return g.redirect},unauthorized:function(){return j.unauthorized},unstable_isUnrecognizedActionError:function(){return l},unstable_rethrow:function(){return k.unstable_rethrow}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(75718),g=a.r(22099),h=a.r(28102),i=a.r(64177),j=a.r(88213),k=a.r(47083);function l(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let m={push:"push",replace:"replace"};("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)},74137,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return h.ReadonlyURLSearchParams},RedirectType:function(){return m.RedirectType},ServerInsertedHTMLContext:function(){return k.ServerInsertedHTMLContext},forbidden:function(){return m.forbidden},notFound:function(){return m.notFound},permanentRedirect:function(){return m.permanentRedirect},redirect:function(){return m.redirect},unauthorized:function(){return m.unauthorized},unstable_isUnrecognizedActionError:function(){return l.unstable_isUnrecognizedActionError},unstable_rethrow:function(){return m.unstable_rethrow},useParams:function(){return t},usePathname:function(){return r},useRouter:function(){return s},useSearchParams:function(){return q},useSelectedLayoutSegment:function(){return v},useSelectedLayoutSegments:function(){return u},useServerInsertedHTML:function(){return k.useServerInsertedHTML}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(46058)._(a.r(72131)),g=a.r(9270),h=a.r(36313),i=a.r(39118),j=a.r(49842),k=a.r(18341),l=a.r(57997),m=a.r(21066),{instrumentParamsForClientValidation:n,instrumentSearchParamsForClientValidation:o,expectCompleteParamsInClientValidation:p}={};function q(){j.useDynamicSearchParams?.("useSearchParams()");let a=(0,f.useContext)(h.SearchParamsContext);return(0,f.useMemo)(()=>a?new h.ReadonlyURLSearchParams(a):null,[a])}function r(){return j.useDynamicRouteParams?.("usePathname()"),(0,f.useContext)(h.PathnameContext)}function s(){let a=(0,f.useContext)(g.AppRouterContext);if(null===a)throw Object.defineProperty(Error("invariant expected app router to be mounted"),"__NEXT_ERROR_CODE",{value:"E238",enumerable:!1,configurable:!0});let b=(0,f.useContext)(g.LayoutRouterContext),c=b?.parentCacheNode.bfcacheId??0;return(0,f.useMemo)(()=>({back:a.back,forward:a.forward,refresh:a.refresh,hmrRefresh:a.hmrRefresh,push:a.push,replace:a.replace,prefetch:a.prefetch,experimental_gesturePush:a.experimental_gesturePush,bfcacheId:"_b_"+c+"_"}),[a,c])}function t(){return j.useDynamicRouteParams?.("useParams()"),(0,f.useContext)(h.PathParamsContext)}function u(a="children"){j.useDynamicRouteParams?.("useSelectedLayoutSegments()");let b=(0,f.useContext)(g.LayoutRouterContext);return b?(0,i.getSelectedLayoutSegmentPath)(b.parentTree,a):null}function v(a="children"){j.useDynamicRouteParams?.("useSelectedLayoutSegment()"),(0,f.useContext)(h.NavigationPromisesContext);let b=u(a);return(0,i.computeSelectedLayoutSegment)(b,a)}("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)},50944,(a,b,c)=>{b.exports=a.r(74137)},57997,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={UnrecognizedActionError:function(){return f},unstable_isUnrecognizedActionError:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});class f extends Error{constructor(...a){super(...a),this.name="UnrecognizedActionError"}}function g(a){return!!(a&&"object"==typeof a&&a instanceof f)}("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)},75718,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return e}});class d extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1174",enumerable:!1,configurable:!0})}}class e extends URLSearchParams{append(){throw new d}delete(){throw new d}set(){throw new d}sort(){throw new d}}("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)},15128,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"RedirectStatusCode",{enumerable:!0,get:function(){return e}});var d,e=((d={})[d.SeeOther=303]="SeeOther",d[d.TemporaryRedirect=307]="TemporaryRedirect",d[d.PermanentRedirect=308]="PermanentRedirect",d);("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)},11026,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={REDIRECT_ERROR_CODE:function(){return g},isRedirectError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(15128),g="NEXT_REDIRECT";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),h=Number(b.at(-2));return c===g&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(h)&&h in f.RedirectStatusCode}("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)},54110,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e,f,g={DynamicHoleKind:function(){return af},Postpone:function(){return H},PreludeState:function(){return am},abortAndThrowOnSynchronousRequestDataAccess:function(){return G},abortOnSynchronousPlatformIOAccess:function(){return F},accessedDynamicData:function(){return P},annotateDynamicAccess:function(){return V},consumeDynamicAccess:function(){return Q},createDynamicTrackingState:function(){return x},createDynamicValidationState:function(){return y},createHangingInputAbortSignal:function(){return T},createInstantValidationState:function(){return ag},createRenderInBrowserAbortSignal:function(){return S},formatDynamicAPIAccesses:function(){return R},getFirstDynamicReason:function(){return A},getNavigationDisallowedDynamicReasons:function(){return ar},getStaticShellDisallowedDynamicReasons:function(){return aq},isDynamicPostpone:function(){return K},isPrerenderInterruptedError:function(){return O},logDisallowedDynamicError:function(){return an},markCurrentScopeAsDynamic:function(){return B},postponeWithTracking:function(){return I},throwIfDisallowedDynamic:function(){return ap},throwIfSyncIOUsed:function(){return ao},throwToInterruptStaticGeneration:function(){return C},trackAllowedDynamicAccess:function(){return ae},trackDynamicDataInDynamicRender:function(){return D},trackDynamicHoleInNavigation:function(){return ah},trackDynamicHoleInRuntimeShell:function(){return aj},trackDynamicHoleInStaticShell:function(){return ak},trackThrownErrorInNavigation:function(){return ai},useDynamicRouteParams:function(){return W},useDynamicSearchParams:function(){return X}};for(var h in g)Object.defineProperty(c,h,{enumerable:!0,get:g[h]});let i=(d=a.r(72131))&&d.__esModule?d:{default:d},j=a.r(3326),k=a.r(99392),l=a.r(32319),m=a.r(56704),n=a.r(35710),o=a.r(83590),p=a.r(36785),q=a.r(41997),r=a.r(8117),s=a.r(88644),t=a.r(21177),u=a.r(83521),v=a.r(14827),w="function"==typeof i.default.unstable_postpone;function x(a){return{isDebugDynamicAccesses:a,dynamicAccesses:[],syncDynamicErrorWithStack:null,syncDynamicErrorWithStackPostMicrotask:!1}}function y(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function z(a){return a.syncDynamicErrorWithStackPostMicrotask?null:a.syncDynamicErrorWithStack}function A(a){var b;return null==(b=a.dynamicAccesses[0])?void 0:b.expression}function B(a,b,c){if(b)switch(b.type){case"cache":case"unstable-cache":case"private-cache":return}if(!a.forceDynamic&&!a.forceStatic){if(a.dynamicShouldError)throw Object.defineProperty(new k.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${c}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(b)switch(b.type){case"prerender-ppr":return I(a.route,c,b.dynamicTracking);case"prerender-legacy":b.revalidate=0;let d=Object.defineProperty(new j.DynamicServerError(`Route ${a.route} couldn't be rendered statically because it used ${c}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw a.dynamicUsageDescription=c,a.dynamicUsageStack=d.stack,d}}}function C(a,b,c){let d=Object.defineProperty(new j.DynamicServerError(`Route ${b.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.revalidate=0,b.dynamicUsageDescription=a,b.dynamicUsageStack=d.stack,d}function D(a){switch(a.type){case"cache":case"unstable-cache":case"private-cache":return}}function E(a,b,c){let d=N(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`);c.controller.abort(d);let e=c.dynamicTracking;e&&e.dynamicAccesses.push({stack:e.isDebugDynamicAccesses?Error().stack:void 0,expression:b})}function F(a,b,c,d){let e=d.dynamicTracking;e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c,queueMicrotask(()=>{e.syncDynamicErrorWithStackPostMicrotask=!0})),E(a,b,d)}function G(a,b,c,d){if((0,n.trackRuntimeDataAccessed)(d),!1===d.controller.signal.aborted){E(a,b,d);let e=d.dynamicTracking;e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}throw N(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`)}function H({reason:a,route:b}){let c=l.workUnitAsyncStorage.getStore();I(b,a,c&&"prerender-ppr"===c.type?c.dynamicTracking:null)}function I(a,b,c){(function(){if(!w)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:b}),i.default.unstable_postpone(J(a,b))}function J(a,b){return`Route ${a} needs to bail out of prerendering at this point because it used ${b}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function K(a){return"object"==typeof a&&null!==a&&"string"==typeof a.message&&L(a.message)}function L(a){return a.includes("needs to bail out of prerendering at this point because it used")&&a.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===L(J("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let M="NEXT_PRERENDER_INTERRUPTED";function N(a){let b=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return b.digest=M,b}function O(a){return"object"==typeof a&&null!==a&&a.digest===M&&"name"in a&&"message"in a&&a instanceof Error}function P(a){return a.length>0}function Q(a,b){return a.dynamicAccesses.push(...b.dynamicAccesses),a.dynamicAccesses}function R(a){return a.filter(a=>"string"==typeof a.stack&&a.stack.length>0).map(({expression:a,stack:b})=>(b=b.split("\n").slice(4).filter(a=>!(a.includes("node_modules/next/")||a.includes(" (<anonymous>)")||a.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${a}:
2
- ${b}`))}function S(){let a=new AbortController;return a.abort(Object.defineProperty(new q.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),a.signal}function T(a){switch(a.type){case"prerender":case"prerender-runtime":let b=new AbortController;if(a.cacheSignal)a.cacheSignal.inputReady().then(()=>{b.abort()});else{let c=(0,l.getStagedRenderingController)(a);c&&null!==c.finalStage?c.waitForStage(c.finalStage).then(()=>(0,p.scheduleOnNextTick)(()=>b.abort()),U):(0,p.scheduleOnNextTick)(()=>b.abort())}return b.signal;case"prerender-client":case"validation-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return}}function U(){}function V(a,b){let c=b.dynamicTracking;c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:a})}function W(a){let b=m.workAsyncStorage.getStore(),c=l.workUnitAsyncStorage.getStore();if(b&&c)switch(c.type){case"prerender-client":{let d=c.fallbackRouteParams;d&&d.size>0&&i.default.use((0,n.makeClientHookHangingPromise)(c.renderSignal,new n.ClientHookDynamicError(b.route,a)));break}case"prerender":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called from a Server Component. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"prerender-ppr":{let d=c.fallbackRouteParams;if(d&&d.size>0)return I(b.route,a,c.dynamicTracking);break}case"validation-client":case"prerender-legacy":case"request":case"unstable-cache":break;case"prerender-runtime":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called during a runtime prerender. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called in \`generateStaticParams\`. Next.js should be preventing ${a} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}function X(a){let b=m.workAsyncStorage.getStore(),c=l.workUnitAsyncStorage.getStore();if(b)switch(!c&&(0,l.throwForMissingRequestStore)(a),c.type){case"validation-client":case"request":return;case"prerender-client":i.default.use((0,n.makeClientHookHangingPromise)(c.renderSignal,new n.ClientHookDynamicError(b.route,a)));break;case"prerender-legacy":case"prerender-ppr":if(b.forceStatic)return;throw Object.defineProperty(new q.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called from a Server Component. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called in \`generateStaticParams\`. Next.js should be preventing ${a} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}let Y=/\n\s+at Suspense \(<anonymous>\)/,Z=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${o.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),$=RegExp(`\\n\\s+at ${o.METADATA_BOUNDARY_NAME}[\\n\\s]`),_=RegExp(`\\n\\s+at ${o.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),aa=RegExp(`\\n\\s+at ${o.OUTLET_BOUNDARY_NAME}[\\n\\s]`),ab=RegExp(`\\n\\s+at ${t.INSTANT_VALIDATION_BOUNDARY_NAME}[\\n\\s]`),ac=RegExp(`\\n\\s+at ${t.INSTANT_SLOT_MARKER_PREFIX}(\\d+)${t.INSTANT_SLOT_MARKER_SUFFIX}[\\n\\s]`);function ad(a,b){Z.test(a)&&(b.hasSuspenseAboveBody=!0)}function ae(a,b,c,d,e){let f=z(e);if(aa.test(c))return void ad(c,d);if($.test(c)){d.hasDynamicMetadata=!0;return}if(_.test(c)){d.hasDynamicViewport=!0;return}if(Z.test(c)){d.hasAllowedDynamic=!0,d.hasSuspenseAboveBody=!0;return}if(Y.test(c)){d.hasAllowedDynamic=!0;return}else if(f)return void d.dynamicErrors.push(f);if((0,n.isClientHookDynamicError)(a))return void d.dynamicErrors.push(al(a,c,null));let g=al((0,r.createDynamicOrRuntimeBodyError)(b.route),c,null);d.dynamicErrors.push(g)}var af=((e={})[e.Link=1]="Link",e[e.Runtime=2]="Runtime",e[e.Dynamic=3]="Dynamic",e);function ag(a){return{hasDynamicMetadata:!1,hasAllowedClientDynamicAboveBoundary:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[],validationPreventingErrors:[],thrownErrorsOutsideBoundary:[],slotStacks:a}}function ah(a,b,c,d,e,f,g){let h=z(e);if(aa.test(c))return;let i=function(a,b){let{slotStacks:c}=b;if(c.length>1){let b=ac.exec(a);if(b){let a=c[parseInt(b[1],10)+1];if(null!=a)return a}}return c[0]??null}(c,d);if($.test(c)){d.dynamicMetadata=al(1===f?(0,r.createLinkMetadataError)(b.route):2===f?(0,r.createRuntimeMetadataError)(b.route):(0,r.createDynamicMetadataError)(b.route),c,i);return}if(_.test(c)){let a=al(1===f?(0,r.createLinkViewportError)(b.route):2===f?(0,r.createRuntimeViewportError)(b.route):(0,r.createDynamicViewportError)(b.route),c,i);d.dynamicErrors.push(a);return}let j=ab.exec(c);if(j){let a=Y.exec(c);if(a&&a.index<j.index){d.hasAllowedDynamic=!0;return}}else if((0,u.allRequiredBoundariesRendered)(g)){d.hasAllowedClientDynamicAboveBoundary=!0,d.hasAllowedDynamic=!0;return}else{let a=al(Object.defineProperty(Error(`Route "${b.route}": Could not validate \`instant\` because a Client Component in a parent segment prevented the page from rendering.`),"__NEXT_ERROR_CODE",{value:"E1331",enumerable:!1,configurable:!0}),c,i);d.validationPreventingErrors.push(a);return}if(h){null!==i&&void 0===h.cause&&(h.cause=i()),d.dynamicErrors.push(h);return}if((0,n.isClientHookDynamicError)(a))return void d.dynamicErrors.push(al(a,c,i));let k=al(1===f?(0,r.createLinkBodyErrorInNavigation)(b.route):2===f?(0,r.createRuntimeBodyErrorInNavigation)(b.route):(0,r.createDynamicBodyErrorInNavigation)(b.route),c,i);d.dynamicErrors.push(k)}function ai(a,b,c,d){let e=ab.exec(d);if(e){let f=Y.exec(d);if(f&&f.index<e.index)return;let g=al(Object.defineProperty(Error(`Route "${a.route}": Could not validate \`instant\` because an error prevented the target segment from rendering.`,{cause:c}),"__NEXT_ERROR_CODE",{value:"E1338",enumerable:!1,configurable:!0}),d,null);b.validationPreventingErrors.push(g)}else{let a=al(Object.defineProperty(Error("An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.",{cause:c}),"__NEXT_ERROR_CODE",{value:"E1118",enumerable:!1,configurable:!0}),d,null);b.thrownErrorsOutsideBoundary.push(a)}}function aj(a,b,c,d,e){let f=z(e);if(aa.test(c))return void ad(c,d);if($.test(c)){d.dynamicMetadata=al((0,r.createDynamicMetadataError)(b.route),c,null);return}if(_.test(c)){let a=al((0,r.createDynamicViewportError)(b.route),c,null);d.dynamicErrors.push(a);return}if(Z.test(c)){d.hasAllowedDynamic=!0,d.hasSuspenseAboveBody=!0;return}if(Y.test(c)){d.hasAllowedDynamic=!0;return}else if(f)return void d.dynamicErrors.push(f);if((0,n.isClientHookDynamicError)(a))return void d.dynamicErrors.push(al(a,c,null));let g=al((0,r.createDynamicBodyError)(b.route),c,null);d.dynamicErrors.push(g)}function ak(a,b,c,d,e){let f=z(e);if(aa.test(c))return void ad(c,d);if($.test(c)){d.dynamicMetadata=al((0,r.createRuntimeMetadataError)(b.route),c,null);return}if(_.test(c)){let a=al((0,r.createRuntimeViewportError)(b.route),c,null);d.dynamicErrors.push(a);return}if(Z.test(c)){d.hasAllowedDynamic=!0,d.hasSuspenseAboveBody=!0;return}if(Y.test(c)){d.hasAllowedDynamic=!0;return}else if(f)return void d.dynamicErrors.push(f);if((0,n.isClientHookDynamicError)(a))return void d.dynamicErrors.push(al(a,c,null));let g=al((0,r.createRuntimeBodyError)(b.route),c,null);d.dynamicErrors.push(g)}function al(a,b,c){return null!==c&&(a.cause=c()),a.stack=a.name+": "+a.message+b,a}var am=((f={})[f.Full=0]="Full",f[f.Empty=1]="Empty",f[f.Errored=2]="Errored",f);function an(a,b){console.error(b),(0,r.logBuildDebugHint)(a.route)}function ao(a,b){if(b.syncDynamicErrorWithStack)throw an(a,b.syncDynamicErrorWithStack),new k.StaticGenBailoutError}function ap(a,b,c,d,e){if(ao(a,d),0===b&&!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error((0,r.createDynamicOrRuntimeMetadataError)(a.route).message),new k.StaticGenBailoutError;if(!e&&!c.hasSuspenseAboveBody&&0!==b){let d=c.dynamicErrors;if(d.length>0){for(let b=0;b<d.length;b++)an(a,d[b]);throw new k.StaticGenBailoutError}if(c.hasDynamicViewport)throw console.error((0,r.createDynamicOrRuntimeViewportError)(a.route).message),new k.StaticGenBailoutError;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new k.StaticGenBailoutError}}function aq(a,b,c,d){if(0===b&&!1===c.hasAllowedDynamic&&0===c.dynamicErrors.length&&c.dynamicMetadata)return[c.dynamicMetadata];if(d||c.hasSuspenseAboveBody)return[];if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return[Object.defineProperty(new s.InvariantError(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}return[]}function ar(a,b,c,d,e,f){if(d){let{missingSampleErrors:a}=d;if(a.length>0)return a}let{validationPreventingErrors:g}=c;if(g.length>0)return g;if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b&&!c.hasAllowedClientDynamicAboveBoundary&&(0,u.allRequiredBoundariesRendered)(e))return Object.defineProperty(new s.InvariantError(`Route "${a.route}" failed to render during instant validation and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E1055",enumerable:!1,configurable:!0})}else{let a=c.dynamicErrors;if(a.length>0)return a;if(!1===c.hasAllowedDynamic&&c.dynamicMetadata)return[c.dynamicMetadata]}if(!(0,u.allRequiredBoundariesRendered)(e)){let{thrownErrorsOutsideBoundary:b}=c,d=c.slotStacks[0];if(0===b.length){let b=[];for(let[a,c]of e.requiredIds)if(!e.renderedIds.has(a))for(let a of c){let c=a.replace(/^\[project\][\\/]?/,"").replace(process.cwd()+"/","").replace(process.cwd()+"\\","");b.push(c)}return b.sort(),(0,v.createUnrenderedSegmentError)(a.route,b)}if(1===b.length){let c=`Route "${a.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to the following error.`,e=null!==d?d():Error();return e.name="Error",e.message=c,AggregateError([e,b[0]])}{let c=`Route "${a.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,e=null!==d?d():Error();return e.name="Error",e.message=c,AggregateError([e,...b])}}return[]}},49842,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={useDynamicRouteParams:function(){return f.useDynamicRouteParams},useDynamicSearchParams:function(){return f.useDynamicSearchParams}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(54110);("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)},40656,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e,f={RENDER_STAGE_ADVANCE_ORDER:function(){return k},RenderStage:function(){return j},StagedRenderingController:function(){return o},SyncIOMode:function(){return n},getNextStage:function(){return l},isAdvanceableRenderStage:function(){return m}};for(var g in f)Object.defineProperty(c,g,{enumerable:!0,get:f[g]});let h=a.r(88644),i=a.r(54427);var j=((d={})[d.Before=1]="Before",d[d.ShellStatic=11]="ShellStatic",d[d.Static=13]="Static",d[d.ShellRuntime=21]="ShellRuntime",d[d.Runtime=23]="Runtime",d[d.Dynamic=30]="Dynamic",d[d.Abandoned=40]="Abandoned",d);let k=[11,13,21,23,30];function l(a){return k[k.indexOf(a)+1]}function m(a){return 1<a&&a<=30}var n=((e={})[e.Untracked=1]="Untracked",e[e.AllowedInRuntimeOrDynamic=2]="AllowedInRuntimeOrDynamic",e[e.AllowedInDynamic=3]="AllowedInDynamic",e);class o{constructor({abortSignal:a,abandonController:b,syncIO:c,finalStage:d}){this.currentStage=1,this.syncInterruptReason=null,this.triggers={11:q(),13:q(),21:q(),23:q(),30:q()},this.abortSignal=a,this.abandonController=b,this.syncIOMode=c,this.finalStage=d,a&&a.addEventListener("abort",()=>{let{reason:b}=a;for(let a of Object.values(this.triggers)){var c,d;c=a,d=b,"pending"===c.state&&(c.state="cancelled",c._listeners.length=0,c.promise.catch(p),c._rejectPromise(d))}},{once:!0}),b&&b.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(a,b){var c,d;c=this.triggers[a],d=b,"pending"===c.state?c._listeners.push(d):d()}shouldTrackSyncInterrupt(){if(1===this.syncIOMode)return!1;switch(this.currentStage){case 1:return!1;case 11:case 13:return!0;case 21:case 23:switch(this.syncIOMode){case 2:return!1;case 3:return!0}case 30:case 40:return!1;default:return this.currentStage,!1}}syncInterruptCurrentStageWithReason(a){let{currentStage:b}=this;if(1!==b&&30!==b&&40!==b){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=a,this.currentStage=40;return}this.syncInterruptReason=a,this.advanceStage(30)}}getSyncInterruptReason(){return this.syncInterruptReason}getStageEndTime(a){return this.triggers[l(a)].triggeredAt??1/0}abandonRender(){let{currentStage:a}=this;if(1===a)throw Object.defineProperty(new h.InvariantError("A render that hasn't started yet cannot be abandoned"),"__NEXT_ERROR_CODE",{value:"E1300",enumerable:!1,configurable:!0});if(30===a||40===a)return;let b=k.indexOf(a)+1,c=k.indexOf(30);for(let a=b;a<c;a++)this.resolveStage(k[a]);this.currentStage=40}advanceStage(a){if(null!==this.finalStage&&a>this.finalStage)throw Object.defineProperty(new h.InvariantError(`Attempted to advance to stage ${j[a]} but the render is limited to ${j[this.finalStage]}`),"__NEXT_ERROR_CODE",{value:"E1302",enumerable:!1,configurable:!0});let{currentStage:b}=this;if(30===b||40===b||a<=b)return;this.currentStage=a;let c=1===b?0:k.indexOf(b)+1,d=k.indexOf(a);for(let a=c;a<=d;a++)this.resolveStage(k[a])}resolveStage(a){var b=this.triggers[a];if("pending"===b.state){b.state="triggered",b.triggeredAt=performance.now()+performance.timeOrigin;try{let{_listeners:a}=b;for(let b=0;b<a.length;b++)a[b]();a.length=0}finally{b._resolvePromise()}}}getStagePromise(a){return this.triggers[a].promise}waitForStage(a){return this.getStagePromise(a)}delayUntilStage(a,b,c){let d=this.getStagePromise(a).then(()=>c);return this.abortSignal&&d.catch(p),d}}function p(){}function q(){let{promise:a,resolve:b,reject:c}=(0,i.createPromiseWithResolvers)();return{state:"pending",triggeredAt:null,promise:a,_listeners:[],_resolvePromise:b,_rejectPromise:c}}},35710,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ClientHookDynamicError:function(){return k},RENDER_STAGES_BY_DATA_KIND:function(){return A},applyOwnerStack:function(){return B},isClientHookDynamicError:function(){return l},isHangingPromiseRejectionError:function(){return g},makeClientHookHangingPromise:function(){return v},makeDevtoolsIOAwarePromise:function(){return z},makeDynamicHangingPromise:function(){return n},makeFallbackParamsHangingPromise:function(){return q},makePromiseFromTrigger:function(){return y},makeRuntimeHangingPromise:function(){return p},makeStageHangingPromise:function(){return r},makeUntrackedHangingPromise:function(){return o},trackFallbackParamsAccessed:function(){return t},trackRuntimeDataAccessed:function(){return s}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(40656);function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===h}a.r(32319),a.r(59043);let h="HANGING_PROMISE_REJECTION";class i extends Error{constructor(a,b){super(`During prerendering, ${b} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${b} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${a}".`),this.route=a,this.expression=b,this.digest=h}}let j="CLIENT_HOOK_DYNAMIC";class k extends Error{constructor(a,b){super(`Route "${a}": Next.js encountered URL data \`${b}\` in a Client Component outside of \`<Suspense>\`.
3
-
4
- This blocks prerendering because the value is only available at runtime.
5
-
6
- Ways to fix this:
7
- - [stream] Wrap the component in \`<Suspense fallback={...}>\` so the hook value streams in after prerendering
8
- - [block] Set \`export const instant = false\` to allow a blocking route
9
-
10
- Learn more: https://nextjs.org/docs/messages/blocking-prerender-client-hook`),this.digest=j,Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1433",enumerable:!1,configurable:!0})}}function l(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===j}let m=new WeakMap;function n(a,b,c){return w(a,new i(b,c))}function o(a,b,c){return w(a,new i(b,c))}function p(a,b,c,d){return null!==d&&s(d),w(a,new i(b,c))}function q(a,b,c,d){return null!==d&&t(d),w(a,new i(b,c))}function r(a,b,c,d){return s(d),w(a,new i(b,c))}function s(a){u(a,!1)}function t(a){u(a,!0)}function u(a,b){if("prerender"===a.type){var c;null==(c=a.runtimeDataAccessed)||c.resolve(!0);let d=a.shouldAttemptStaticPrefetch;null===d||b&&a.isFallbackUpgradeable||(d.current=!1)}}function v(a,b){return w(a,b)}function w(a,b){if(a.aborted)return Promise.reject(b);{let c=new Promise((c,d)=>{let e=d.bind(null,b),f=m.get(a);if(f)f.push(e);else{let b=[e];m.set(a,b),a.addEventListener("abort",()=>{for(let a=0;a<b.length;a++)b[a]()},{once:!0})}});return c.catch(x),c}}function x(){}function y(a,b){let c=a.then(()=>b);return c.catch(x),c}function z(a,b,c){return b.stagedRendering?b.stagedRendering.delayUntilStage(c,void 0,a):new Promise(b=>{setTimeout(()=>{b(a)},0)})}let A={sessionData:f.RenderStage.ShellRuntime,staticLinkData:f.RenderStage.Static,runtimeLinkData:f.RenderStage.Runtime};function B(a){return a}},83590,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={METADATA_BOUNDARY_NAME:function(){return f},OUTLET_BOUNDARY_NAME:function(){return h},ROOT_LAYOUT_BOUNDARY_NAME:function(){return i},VIEWPORT_BOUNDARY_NAME:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="__next_metadata_boundary__",g="__next_viewport_boundary__",h="__next_outlet_boundary__",i="__next_root_layout_boundary__"},36785,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={atLeastOneTask:function(){return h},scheduleImmediate:function(){return g},scheduleOnNextTick:function(){return f},waitAtLeastOneReactRenderTask:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a=>{Promise.resolve().then(()=>{process.nextTick(a)})},g=a=>{setImmediate(a)};function h(){return new Promise(a=>g(a))}function i(){return new Promise(a=>setImmediate(a))}},41997,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},8117,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={createDynamicBodyError:function(){return g},createDynamicBodyErrorInNavigation:function(){return j},createDynamicMetadataError:function(){return n},createDynamicOrRuntimeBodyError:function(){return k},createDynamicOrRuntimeMetadataError:function(){return s},createDynamicOrRuntimeViewportError:function(){return r},createDynamicViewportError:function(){return q},createLinkBodyErrorInNavigation:function(){return i},createLinkMetadataError:function(){return l},createLinkViewportError:function(){return o},createRuntimeBodyError:function(){return f},createRuntimeBodyErrorInNavigation:function(){return h},createRuntimeMetadataError:function(){return m},createRuntimeViewportError:function(){return p},logBuildDebugHint:function(){return t}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Object.defineProperty(Error(`Route "${a}": Next.js encountered runtime data during prerendering.
11
-
12
- \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` accessed outside of \`<Suspense>\` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.
13
-
14
- Ways to fix this:
15
- - [stream] Provide a placeholder with \`<Suspense fallback={...}>\` around the data access
16
- - [block] Set \`export const instant = false\` to allow a blocking route
17
-
18
- Learn more: https://nextjs.org/docs/messages/blocking-prerender-runtime`),"__NEXT_ERROR_CODE",{value:"E1427",enumerable:!1,configurable:!0})}function g(a){return Object.defineProperty(Error(`Route "${a}": Next.js encountered uncached data during prerendering.
19
-
20
- \`fetch(...)\` or \`connection()\` accessed outside of \`<Suspense>\` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.
21
-
22
- Ways to fix this:
23
- - [stream] Provide a placeholder with \`<Suspense fallback={...}>\` around the data access
24
- - [cache] Cache the data access with \`"use cache"\` (does not apply to \`connection()\`)
25
- - [block] Set \`export const instant = false\` to allow a blocking route
26
-
27
- Learn more: https://nextjs.org/docs/messages/blocking-prerender-dynamic`),"__NEXT_ERROR_CODE",{value:"E1440",enumerable:!1,configurable:!0})}function h(a){return Object.defineProperty(Error(`Route "${a}": Next.js encountered runtime data during prerendering or a navigation.
28
-
29
- \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` accessed outside of \`<Suspense>\` prevents the route from being prerendered or the navigation from being instant, leading to a slower user experience.
30
-
31
- Ways to fix this:
32
- - [stream] Provide a placeholder with \`<Suspense fallback={...}>\` around the data access
33
- - [block] Set \`export const instant = false\` to allow a blocking route
34
-
35
- Learn more: https://nextjs.org/docs/messages/blocking-prerender-runtime`),"__NEXT_ERROR_CODE",{value:"E1430",enumerable:!1,configurable:!0})}function i(a){return Object.defineProperty(Error(`Route "${a}": Next.js encountered URL data during prerendering or a navigation.
36
-
37
- \`params\` or \`searchParams\` accessed outside of \`<Suspense>\` may prevent the navigation from being instant, leading to a slower user experience.
38
-
39
- Ways to fix this:
40
- - [stream] Provide a placeholder with \`<Suspense fallback={...}>\` around the data access
41
- - [block] Set \`export const instant = false\` to allow a blocking route
42
-
43
- Learn more: https://nextjs.org/docs/messages/instant-shell-url-data`),"__NEXT_ERROR_CODE",{value:"E1439",enumerable:!1,configurable:!0})}function j(a){return Object.defineProperty(Error(`Route "${a}": Next.js encountered uncached data during prerendering or a navigation.
44
-
45
- \`fetch(...)\` or \`connection()\` accessed outside of \`<Suspense>\` prevents the route from being prerendered or the navigation from being instant, leading to a slower user experience.
46
-
47
- Ways to fix this:
48
- - [stream] Provide a placeholder with \`<Suspense fallback={...}>\` around the data access
49
- - [cache] Cache the data access with \`"use cache"\` (does not apply to \`connection()\`)
50
- - [block] Set \`export const instant = false\` to allow a blocking route
51
-
52
- Learn more: https://nextjs.org/docs/messages/blocking-prerender-dynamic`),"__NEXT_ERROR_CODE",{value:"E1437",enumerable:!1,configurable:!0})}function k(a){return Object.defineProperty(Error(`Route "${a}": Next.js encountered uncached or runtime data during prerendering.
53
-
54
- \`fetch(...)\`, \`cookies()\`, \`headers()\`, \`params\`, \`searchParams\`, or \`connection()\` accessed outside of \`<Suspense>\` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.
55
-
56
- Ways to fix this:
57
- - [stream] Provide a placeholder with \`<Suspense fallback={...}>\` around the data access
58
- - [cache] For uncached data (\`fetch\`, database calls): cache the access with \`"use cache"\` (does not apply to \`connection()\`)
59
- - [block] Set \`export const instant = false\` to allow a blocking route
60
-
61
- Learn more: https://nextjs.org/docs/messages/blocking-prerender-dynamic`),"__NEXT_ERROR_CODE",{value:"E1428",enumerable:!1,configurable:!0})}function l(a){return Object.defineProperty(Error(`Route "${a}": Next.js encountered URL data in \`generateMetadata()\`.
62
-
63
- This route's metadata is blocked, but the rest of its content can be prefetched. \`params\` or \`searchParams\` accessed in \`generateMetadata()\` prevent it from being prefetched.
64
-
65
- Ways to fix this:
66
- - [static] Use a static metadata export instead of \`generateMetadata()\`
67
- - [dynamic] Render a marker component that calls \`await connection()\` inside \`<Suspense>\` on the page
68
-
69
- Learn more: https://nextjs.org/docs/messages/blocking-prerender-metadata-runtime`),"__NEXT_ERROR_CODE",{value:"E1429",enumerable:!1,configurable:!0})}function m(a){return Object.defineProperty(Error(`Route "${a}": Next.js encountered runtime data in \`generateMetadata()\`.
70
-
71
- This route's metadata is blocked, but the rest of its content can be prerendered. \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` accessed in \`generateMetadata()\` cause it to run dynamically.
72
-
73
- Ways to fix this:
74
- - [static] Use a static metadata export instead of \`generateMetadata()\`
75
- - [dynamic] Render a marker component that calls \`await connection()\` inside \`<Suspense>\` on the page
76
-
77
- Learn more: https://nextjs.org/docs/messages/blocking-prerender-metadata-runtime`),"__NEXT_ERROR_CODE",{value:"E1423",enumerable:!1,configurable:!0})}function n(a){return Object.defineProperty(Error(`Route "${a}": Next.js encountered uncached data in \`generateMetadata()\`.
78
-
79
- This route's metadata is blocked, but the rest of its content can be prerendered. \`fetch(...)\` or \`connection()\` accessed in \`generateMetadata()\` cause it to run dynamically.
80
-
81
- Ways to fix this:
82
- - [cache] Cache the metadata with \`"use cache"\` in \`generateMetadata()\` (does not apply to \`connection()\`)
83
- - [dynamic] Render a marker component that calls \`await connection()\` inside \`<Suspense>\` on the page
84
-
85
- Learn more: https://nextjs.org/docs/messages/blocking-prerender-metadata-dynamic`),"__NEXT_ERROR_CODE",{value:"E1425",enumerable:!1,configurable:!0})}function o(a){return Object.defineProperty(Error(`Route "${a}": Next.js encountered URL data in \`generateViewport()\`.
86
-
87
- \`params\` or \`searchParams\` in \`generateViewport()\` prevents the page from being prerendered, leading to a slower user experience.
88
-
89
- Ways to fix this:
90
- - [static] Use a static viewport export instead of \`generateViewport()\`
91
- - [block] Set \`export const instant = false\` to allow a blocking route
92
-
93
- Learn more: https://nextjs.org/docs/messages/blocking-prerender-viewport-runtime`),"__NEXT_ERROR_CODE",{value:"E1431",enumerable:!1,configurable:!0})}function p(a){return Object.defineProperty(Error(`Route "${a}": Next.js encountered runtime data in \`generateViewport()\`.
94
-
95
- \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` in \`generateViewport()\` prevents the page from being prerendered, leading to a slower user experience.
96
-
97
- Ways to fix this:
98
- - [static] Use a static viewport export instead of \`generateViewport()\`
99
- - [block] Set \`export const instant = false\` to allow a blocking route
100
-
101
- Learn more: https://nextjs.org/docs/messages/blocking-prerender-viewport-runtime`),"__NEXT_ERROR_CODE",{value:"E1424",enumerable:!1,configurable:!0})}function q(a){return Object.defineProperty(Error(`Route "${a}": Next.js encountered uncached data in \`generateViewport()\`.
102
-
103
- \`fetch(...)\` or \`connection()\` in \`generateViewport()\` prevents the page from being prerendered, leading to a slower user experience.
104
-
105
- Ways to fix this:
106
- - [cache] Cache the viewport data with \`"use cache"\` in \`generateViewport()\` (does not apply to \`connection()\`)
107
- - [block] Set \`export const instant = false\` to allow a blocking route
108
-
109
- Learn more: https://nextjs.org/docs/messages/blocking-prerender-viewport-dynamic`),"__NEXT_ERROR_CODE",{value:"E1438",enumerable:!1,configurable:!0})}function r(a){return Object.defineProperty(Error(`Route "${a}": Next.js encountered uncached or runtime data in \`generateViewport()\`.
110
-
111
- This prevents the page from being prerendered, leading to a slower user experience. Unlike metadata, viewport cannot be streamed behind \`<Suspense>\` because it affects the initial page load.
112
-
113
- Ways to fix this:
114
- - [static] Use a static viewport export instead of \`generateViewport()\`
115
- - [cache] For uncached data (\`fetch\`, database calls): cache the viewport with \`"use cache"\` in \`generateViewport()\` (does not apply to \`connection()\`)
116
- - [block] Set \`export const instant = false\` to allow a blocking route
117
-
118
- Learn more: https://nextjs.org/docs/messages/blocking-prerender-viewport-runtime`),"__NEXT_ERROR_CODE",{value:"E1436",enumerable:!1,configurable:!0})}function s(a){return Object.defineProperty(Error(`Route "${a}": Next.js encountered uncached or runtime data in \`generateMetadata()\`.
119
-
120
- This route's metadata is blocked, but the rest of its content can be prerendered.
121
-
122
- Ways to fix this:
123
- - [static] Use a static metadata export instead of \`generateMetadata()\`
124
- - [cache] Cache the metadata with \`"use cache"\` in \`generateMetadata()\` (does not apply to \`connection()\`)
125
- - [dynamic] Render a marker component that calls \`await connection()\` inside \`<Suspense>\` on the page
126
-
127
- Learn more: https://nextjs.org/docs/messages/blocking-prerender-metadata-runtime`),"__NEXT_ERROR_CODE",{value:"E1426",enumerable:!1,configurable:!0})}function t(a){console.error(`To get a more detailed stack trace and pinpoint the issue, try one of the following:
128
- - Start the app in development mode by running \`next dev\`, then open "${a}" in your browser to investigate the error.
129
- - Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`)}},21177,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={INSTANT_SLOT_MARKER_PREFIX:function(){return g},INSTANT_SLOT_MARKER_SUFFIX:function(){return h},INSTANT_VALIDATION_BOUNDARY_NAME:function(){return f}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="__next_instant_validation_boundary__",g="__next_instant_slot_",h="__"},83521,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={allRequiredBoundariesRendered:function(){return g},createValidationBoundaryTracking:function(){return f}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(){return{requiredIds:new Map,renderedIds:new Set}}function g(a){for(let b of a.requiredIds.keys())if(!a.renderedIds.has(b))return!1;return!0}}];
130
-
131
- //# sourceMappingURL=_0rvu-il._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[15722,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(38246),e=a.i(50944),f=a.i(36391),g=a.i(10014),h=a.i(22151),i=a.i(35832);let j=(0,c.createContext)(null),k=[{label:"Overview",segment:""},{label:"Sessions",segment:"sessions"},{label:"Conversations",segment:"conversations"},{label:"Slack",segment:"slack"},{label:"Activity",segment:"activity"}];a.s(["default",0,function({children:a}){let l=String((0,e.useParams)().id??""),m=(0,e.usePathname)(),n=(0,e.useRouter)(),o=(0,e.useSearchParams)(),[p,q]=(0,c.useState)([]),[r,s]=(0,c.useState)(null),[t,u]=(0,c.useState)(!0),[v,w]=(0,c.useState)(!1),[x,y]=(0,c.useState)(!1),[z,A]=(0,c.useState)(()=>{let a=Number(o.get("deleted"))||0;return a>0?(0,i.deletedStatusLine)(a):""}),[B,C]=(0,c.useState)({serverNow:0,fetchedAt:0}),[D,E]=(0,c.useState)(()=>Date.now()),F=(0,c.useCallback)(async a=>{try{let[b,c]=await Promise.all([fetch("/api/bots",{cache:"no-store"}),fetch(`/api/bots/${encodeURIComponent(l)}/overview`,{cache:"no-store"})]),d=b.ok?await b.json():[];if(a())return;q(Array.isArray(d)?d:[]);let e=Date.parse(b.headers.get("date")||"");if(C({serverNow:Number.isNaN(e)?Date.now():e,fetchedAt:Date.now()}),404===c.status){y(!0),s(null),w(!1);return}if(!c.ok)throw Error("overview request failed");let f=await c.json();if(a())return;s(f),y(!1),w(!1)}catch{a()||w(!0)}finally{a()||u(!1)}},[l]);(0,c.useEffect)(()=>{let a=!1,b=()=>a,c=window.setTimeout(()=>{F(b)},0),d=window.setInterval(()=>{F(b)},2e3),e=window.setInterval(()=>E(Date.now()),1e3);return()=>{a=!0,window.clearTimeout(c),window.clearInterval(d),window.clearInterval(e)}},[F]);let G=r?.agent,H=r?.runtime;return(0,b.jsx)(j.Provider,{value:{id:l,agents:p,overview:r,loading:t,error:v,notFound:x},children:(0,b.jsxs)("div",{className:"field agent-field",children:[(0,b.jsx)(g.default,{agents:p,activeAgentId:l,beatClock:B,now:D,status:z,onAgentsChange:q,onNew:()=>n.push("/?new=1"),onManage:()=>n.push("/?manage=1"),onDeleted:a=>{A((0,i.deletedStatusLine)(a.length)),a.some(a=>a.id===l)&&n.replace(`/?deleted=${a.length}`)}}),(0,b.jsxs)("section",{className:"pane agent-pane",children:[(0,b.jsxs)("header",{className:"agent-shell-header",children:[(0,b.jsxs)("div",{className:"agent-shell-identity",children:[G?(0,b.jsx)(f.default,{bot:G,size:48,title:`${G.name} avatar`}):null,(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"agent-shell-kicker",children:"Agent"}),(0,b.jsx)("h1",{children:G?.name??(t?"Loading…":"Unknown Agent")}),G?(0,b.jsx)("p",{children:G.role}):null]})]}),H?(0,b.jsxs)("div",{className:"agent-shell-runtime","aria-label":"Runtime and availability",children:[(0,b.jsx)("span",{className:H.available?"availability is-available":"availability is-blocked",children:H.available?"Available":"Needs setup"}),(0,b.jsxs)("span",{children:[(0,h.agentLabel)(H.agent)," · ",H.connection||"No connection"]})]}):null]}),(0,b.jsxs)("nav",{className:"agent-tabs","aria-label":"Agent",children:[k.map(a=>{let c=`/agents/${encodeURIComponent(l)}${a.segment?`/${a.segment}`:""}`,e=m===c;return(0,b.jsx)(d.default,{href:c,"aria-current":e?"page":void 0,children:a.label},a.label)}),(0,b.jsx)(d.default,{href:`/bots/${encodeURIComponent(l)}/config`,children:"Config"})]}),(0,b.jsx)("main",{className:"agent-content",children:a})]})]})})},"useAgentOverview",0,function(){let a=(0,c.useContext)(j);if(!a)throw Error("useAgentOverview must be used inside AgentShell");return a}])},20851,22151,a=>{"use strict";let b=["hermes","cursor","claude","codex","muse"],c={hermes:"Hermes",cursor:"Cursor",claude:"Claude",codex:"Codex",muse:"Muse Code"},d="hermes";function e(a){return b.includes(String(a))?c[a]:String(a??"")}b.join("|"),a.s(["AGENTS",0,b,"AGENT_LABELS",0,c,"DEFAULT_AGENT",0,d,"agentLabel",0,e],22151);let f=b.map(a=>({value:a,label:c[a]}));function g(a){return e((a.agent??"").trim()||d)}function h(a){let b=a.runtime_connection;return b&&b.label.trim()?b.label.trim():(a.runtime_connection_id??"").trim()?(a.runtime_connection_id??"").trim():null}function i(a){return`~/.botmancers/${a}`}let j="~/.botmancers/{agentID}",k=`Default: ${j} — {agentID} is this agent's ID, assigned at creation.`;function l(a){return String(a).padStart(2,"0")}let m=[{prefix:"[Agent failed]",kind:"failed",label:"Agent failed"},{prefix:"[Deck handoff]",kind:"handoff",label:"Agent launch"},{prefix:"[Deck run]",kind:"run",label:"Agent run"},{prefix:"[Deck review]",kind:"review",label:"Agent review"},{prefix:"[Deck resume]",kind:"resume",label:"Agent resume"},{prefix:"[Deck result]",kind:"result",label:"Agent result"},{prefix:"[Deck failed]",kind:"failed",label:"Agent failed"},{prefix:"[Deck needs selection]",kind:"reselection",label:"Agent needs setup"},{prefix:"[Deck needs reselection]",kind:"reselection",label:"Agent needs setup"}];a.s(["AGENT_OPTIONS",0,f,"NEW_AGENT_WORKSPACE_HINT",0,k,"WORKSPACE_TEMPLATE",0,j,"agentEventDisplay",0,function(a){let b=String(a??"").trimStart(),c=m.find(a=>b.startsWith(a.prefix));return c?{label:c.label,detail:b.slice(c.prefix.length).trim()}:null},"botAgentLabel",0,g,"botConnectionLabel",0,h,"configWorkspaceHint",0,function(a){return`Default: ${i(a)} — leave blank to use it.`},"defaultWorkdirFor",0,i,"formatClock",0,function(a){let b=new Date(a);return`${l(b.getHours())}:${l(b.getMinutes())}:${l(b.getSeconds())}`},"rosterRuntimeLine",0,function(a){let b=`Agent: ${g(a)} \xb7 `+(h(a)??"No connection");return!1===a.launchable?b+" — see Config":b}],20851)},33354,(a,b,c)=>{"use strict";c._=function(a){return a&&a.__esModule?a:{default:a}}},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=_1iq-7cn._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[25209,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(38246),e=a.i(50944),f=a.i(60193),g=a.i(23464);function h({agentId:a,agentName:d}){let e=(0,c.useId)(),f=(0,c.useId)(),i=(0,c.useId)(),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(""),[n,o]=(0,c.useState)(0),[p,q]=(0,c.useState)("idle"),[r,s]=(0,c.useState)(""),[t,u]=(0,c.useState)(""),[v,w]=(0,c.useState)(""),[x,y]=(0,c.useState)(""),[z,A]=(0,c.useState)("");(0,c.useEffect)(()=>{let b=!1;return fetch(`/api/bots/${encodeURIComponent(a)}/share-policy`,{cache:"no-store"}).then(async a=>{let c=await a.json().catch(()=>null);b||(a.ok&&c?.policy?(m(""),k(c.policy)):m("Could not load the share policy."))}).catch(()=>{b||m("Could not load the share policy.")}),()=>{b=!0}},[a,n]);let B=()=>{s(""),q("idle"),o(a=>a+1)},C=async(b,c)=>{if(!j)return!1;q("saving"),s(""),u("");try{let d=await fetch(`/api/bots/${encodeURIComponent(a)}/share-policy`,{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({revision:j.revision,...b})}),e=await d.json().catch(()=>null);if(!d.ok||!e?.policy)return q("error"),s("string"==typeof e?.error?.message?e.error.message:"The share policy could not be saved."),!1;return k(e.policy),q("idle"),u(c("number"==typeof e.revoked_contexts?e.revoked_contexts:0)),!0}catch{return q("error"),s("The share policy could not be saved."),!1}},D=async a=>{if(a.preventDefault(),!j)return;let b=(0,g.audienceInputError)(v,x,j.audiences);if(A(b??""),b)return;let c={kind:"slack",team_id:v.trim(),channel_id:x.trim()};await C({audiences:[...j.audiences,c]},()=>`Added ${(0,g.audienceLabel)(c)}.`)&&(w(""),y(""))},E="saving"===p,F=!!j&&"invalid"!==j.state;return(0,b.jsxs)("section",{className:"cfg-card share-policy",id:"session-sharing","aria-labelledby":"cfg-sharing-title",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("h2",{id:"cfg-sharing-title",className:"cfg-title",children:"Session sharing"}),E?(0,b.jsx)("span",{className:"text-sm cfg-faint",role:"status",children:"Saving…"}):null]}),(0,b.jsxs)("p",{className:"text-sm cfg-muted mb-3",children:["A share lets people in one Slack channel ask one of ",d,"’s sessions questions, read-only, until it expires or you revoke it. Create and revoke shares from Sessions."]}),l?(0,b.jsxs)("p",{className:"text-sm cfg-error",role:"alert",children:[l," ",(0,b.jsx)("button",{type:"button",onClick:B,className:"underline hover:no-underline",children:"Retry"})]}):null,j||l?null:(0,b.jsx)("p",{className:"text-sm cfg-faint",role:"status",children:"Loading…"}),j?.state==="invalid"?(0,b.jsxs)("p",{className:"text-sm cfg-error mb-3",role:"alert",children:["The share policy file is invalid, so nothing can be shared: ",j.reason," Fix or remove config/session-shares.json, then"," ",(0,b.jsx)("button",{type:"button",onClick:B,className:"underline hover:no-underline",children:"reload"}),"."]}):null,j?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"share-policy-toggle",children:[(0,b.jsx)("input",{id:e,type:"checkbox",role:"switch",checked:j.agent.share_from_turn,"aria-checked":j.agent.share_from_turn,disabled:!F||E||!j.agent.share_current.supported&&!j.agent.share_from_turn,"data-share-policy":"share_from_turn",onChange:a=>{let b=a.target.checked;C({share_from_turn:b},a=>b?"Share from a turn is on.":`Share from a turn is off.${a?` Revoked ${a} live turn context${1===a?"":"s"}.`:""}`)}}),(0,b.jsxs)("label",{htmlFor:e,className:"text-sm",children:[(0,b.jsx)("span",{className:"font-medium",children:"Share from a turn"})," (",(0,b.jsx)("code",{className:"cfg-code",children:"share_from_turn"}),")"]})]}),(0,b.jsx)("p",{className:"text-sm cfg-faint share-policy-hint",children:(0,g.shareFromTurnNote)(j)}),j.agent.live_contexts>0?(0,b.jsxs)("p",{className:"text-sm cfg-faint share-policy-hint",children:[j.agent.live_contexts," live turn context",1===j.agent.live_contexts?"":"s"," now."]}):null,(0,b.jsx)("h3",{className:"cfg-title share-policy-sub",children:"Slack channel allowlist"}),(0,b.jsx)("p",{className:"text-sm cfg-faint",children:"Every Agent’s shares use this list. A share can only go to a channel on it."}),0===j.audiences.length?(0,b.jsx)("p",{className:"text-sm cfg-muted share-policy-empty",children:"No channel yet: nothing can be shared to Slack."}):(0,b.jsx)("ul",{className:"share-policy-list","aria-label":"Allowed Slack channels",children:j.audiences.map(a=>(0,b.jsxs)("li",{className:"share-policy-entry",children:[(0,b.jsx)("span",{className:"cfg-code",children:a.channel_id}),(0,b.jsxs)("span",{className:"cfg-faint",children:["workspace ",a.team_id]}),(0,b.jsx)("button",{type:"button",className:"cfg-link text-sm share-policy-remove",disabled:!F||E,"aria-label":`Remove ${(0,g.audienceLabel)(a)}`,onClick:()=>{j&&C({audiences:j.audiences.filter(b=>b.team_id!==a.team_id||b.channel_id!==a.channel_id)},()=>`Removed ${(0,g.audienceLabel)(a)}. Its Slack threads stop being answered.`)},children:"Remove"})]},`${a.team_id}:${a.channel_id}`))}),(0,b.jsxs)("form",{className:"share-policy-add",onSubmit:a=>{D(a)},"aria-label":"Add a Slack channel",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{htmlFor:f,className:"text-sm",children:"Workspace ID"}),(0,b.jsx)("input",{id:f,className:"cfg-input",value:v,placeholder:"T0123ABCD",autoComplete:"off",spellCheck:!1,disabled:!F||E,"aria-invalid":!!z,onChange:a=>{w(a.target.value),A("")}})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{htmlFor:i,className:"text-sm",children:"Channel ID"}),(0,b.jsx)("input",{id:i,className:"cfg-input",value:x,placeholder:"C0123ABCD",autoComplete:"off",spellCheck:!1,disabled:!F||E,"aria-invalid":!!z,onChange:a=>{y(a.target.value),A("")}})]}),(0,b.jsx)("button",{type:"submit",className:"cfg-btn-primary text-sm",disabled:!F||E||!v.trim()||!x.trim(),children:"Add channel"})]}),z?(0,b.jsx)("p",{className:"mt-2 text-sm cfg-error",role:"alert",children:z}):null,"error"===p?(0,b.jsxs)("p",{className:"mt-2 text-sm cfg-error",role:"alert",children:["Couldn't save: ",r," ",(0,b.jsx)("button",{type:"button",onClick:B,className:"underline hover:no-underline",children:"Reload"})]}):null,(0,b.jsx)("p",{className:"mt-2 text-sm cfg-ok",role:"status",children:t})]}):null]})}var i=a.i(35832),j=a.i(20851),k=a.i(1160),l=a.i(22855),m=a.i(79202),n=a.i(36391);function o({attribute:a,label:d,options:e,current:f,onPick:g,className:h}){let i=(0,c.useId)(),j=`avatar-${a}`;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{id:i,className:"avatar-group-label",children:d}),(0,b.jsx)("div",{className:h?`avatar-opt-grid ${h}`:"avatar-opt-grid",role:"radiogroup","aria-labelledby":i,children:e.map(c=>(0,b.jsxs)("label",{title:c.label,className:"avatar-opt",children:[(0,b.jsx)("input",{type:"radio",name:j,value:c.id,checked:f[a]===c.id,onChange:()=>g({[a]:c.id}),className:"avatar-opt-input"}),(0,b.jsx)("span",{className:"avatar-opt-art","aria-hidden":"true",children:(0,b.jsx)(n.default,{config:{...f,[a]:c.id},size:44})}),(0,b.jsx)("span",{children:c.label})]},c.id))})]})}var p=a.i(80219);function q({phase:a,onImport:c}){let d=(0,p.marketImportView)(a);return(0,b.jsxs)("div",{className:"mt-3","data-field":"marketplace-import",children:[(0,b.jsx)("button",{type:"button",onClick:c,disabled:d.busy,"aria-busy":d.busy,"aria-describedby":"cfg-market-import-status",className:"cfg-btn-ghost text-sm w-full sm:w-auto",children:"Import from Grok Marketplace"}),(0,b.jsx)("p",{id:"cfg-market-import-status",role:"status","aria-live":"polite",className:"error"===d.tone?"mt-2 text-sm cfg-error":"mt-2 text-xs cfg-faint",children:d.message})]})}var r=a.i(5020);let s="Fix the highlighted fields.",t=[{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 u(a){return String(a).padStart(2,"0")}function v(a){let b=new Date(a);return`${b.getFullYear()}-${u(b.getMonth()+1)}-${u(b.getDate())} ${u(b.getHours())}:${u(b.getMinutes())}`}function w(a){let b=new Date(a);return`${u(b.getHours())}:${u(b.getMinutes())}:${u(b.getSeconds())}`}async function x(a){try{return await navigator.clipboard.writeText(a),!0}catch{return!1}}a.s(["default",0,function(){var a;let g=String((0,e.useParams)().id??""),u=(0,e.useRouter)(),[y,z]=(0,c.useState)(!1),[A,B]=(0,c.useState)(null),[C,D]=(0,c.useState)(!0),[E,F]=(0,c.useState)(!1),[G,H]=(0,c.useState)(!1),[I,J]=(0,c.useState)(0),[K,L]=(0,c.useState)(null),[M,N]=(0,c.useState)("clean"),[O,P]=(0,c.useState)(""),[Q,R]=(0,c.useState)(0),[S,T]=(0,c.useState)(!1),[U,V]=(0,c.useState)(""),[W,X]=(0,c.useState)("clean"),[Y,Z]=(0,c.useState)(""),[$,_]=(0,c.useState)(0),[aa,ab]=(0,c.useState)({}),[ac,ad]=(0,c.useState)(""),[ae,af]=(0,c.useState)(!1),[ag,ah]=(0,c.useState)(null),[ai,aj]=(0,c.useState)(!1),ak=(0,m.useRuntimeConnections)(),[al,am]=(0,c.useState)(void 0),[an,ao]=(0,c.useState)("clean"),[ap,aq]=(0,c.useState)(""),[ar,as]=(0,c.useState)(0),[at,au]=(0,c.useState)(null),[av,aw]=(0,c.useState)("clean"),[ax,ay]=(0,c.useState)(""),[az,aA]=(0,c.useState)(0),{phase:aB,startImport:aC}=function(a){let[b,d]=(0,c.useState)("idle");return(0,c.useEffect)(()=>{let b=window.location.search;if(null===(0,p.importedBotId)(b))return;let c=new URL(window.location.href);c.searchParams.delete(p.IMPORT_RETURN_QUERY),window.history.replaceState(null,"",c.pathname+c.search);let e=!1;return(0,p.resolveImportReturn)(b,a,async a=>(await fetch(`/api/bots/${encodeURIComponent(a)}/config`,{cache:"no-store"})).ok).then(a=>{e||("open"===a.kind?window.location.replace(a.path):"missing"===a.kind&&d("missing"))}),()=>{e=!0}},[a]),{phase:b,startImport:async function(){d("checking");try{let a=await fetch(p.HANDOFF_STATUS_PATH,{cache:"no-store"}),b=await a.json().catch(()=>null);if(!a.ok)return void d("failed");if(b?.configured!==!0)return void d("unavailable");d("redirecting"),window.location.href=(0,p.handoffStartPath)(window.location.origin,window.location.pathname),setTimeout(()=>d(a=>"redirecting"===a?"idle":a),4e3)}catch{d("failed")}}}}(g);function aD(){D(!0),F(!1),J(a=>a+1)}(0,c.useEffect)(()=>{if(!g)return;let a=!1;return fetch(`/api/bots/${encodeURIComponent(g)}/sessions?status=all`,{cache:"no-store"}).then(a=>a.ok?a.json():null).then(b=>{a||am((b?.sessions??[]).map(a=>({ref:a.ref,title:a.title,status:a.status})))}).catch(()=>{a||am([])}),()=>{a=!0}},[g,I]),(0,c.useEffect)(()=>{if(!g)return;let a=!1;return fetch(`/api/bots/${encodeURIComponent(g)}/config`).then(async b=>{if(a)return;if(404===b.status){H(!0),B(null);return}if(!b.ok)throw Error("request failed");let c=await b.json();a||(B(c),L(c.bot.description??""),H(!1),F(!1))}).catch(()=>{a||F(!0)}).finally(()=>{a||D(!1)}),()=>{a=!0}},[g,I]);let aE=A?.bot.description??"",aF=null!==K&&K!==aE,aG=A?.skill.content??"",aH=S&&U!==aG,aI=A?(0,k.registrationFormFromBot)(A.bot):null,aJ=ae&&null!==ag&&JSON.stringify(ag)!==JSON.stringify(aI),aK=A?.bot.avatar_config??(0,r.resolveAvatar)(A?.bot??{}),aL=at??aK,aM=null!==at&&JSON.stringify(at)!==JSON.stringify(aK),aN=aF||aH||aJ||aM;function aO(a,b){x(b).then(b=>{b&&(ad(a),setTimeout(()=>ad(b=>b===a?"":b),2e3))})}async function aP(){if(A&&null!==K){N("saving"),P("");try{let a=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:A.bot.id,description:K})});if(!a.ok){let b="request failed";try{let c=await a.json();c.error&&(b=c.error)}catch{}throw Error(b)}let b=await fetch(`/api/bots/${encodeURIComponent(g)}/config`);if(!b.ok)throw Error("request failed");B(await b.json()),N("confirmed"),R(Date.now()),setTimeout(()=>{N(a=>"confirmed"===a?"clean":a)},5e3)}catch(a){N("error"),P(a instanceof Error?a.message:"request failed")}}}function aQ(){A&&(ah((0,k.registrationFormFromBot)(A.bot)),af(!0),aj(!1),ao("clean"),aq(""),ak.retry())}function aR(a){ah(b=>b?{...b,...a}:b),aq(""),ao(a=>"error"===a?"clean":a)}function aS(){af(!1),ah(null),ao("clean"),aq("")}function aT(a){au({...at??aK,...a}),aw("clean"),ay("")}async function aU(){if(A&&at){aw("saving"),ay("");try{let a=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:A.bot.id,avatar:at})});if(!a.ok){let b="request failed";try{let c=await a.json();c.error&&(b=c.error)}catch{}throw Error(b)}let b=await fetch(`/api/bots/${encodeURIComponent(g)}/config`);if(!b.ok)throw Error("request failed");B(await b.json()),au(null),aw("confirmed"),aA(Date.now()),setTimeout(()=>{aw(a=>"confirmed"===a?"clean":a)},5e3)}catch(a){aw("error"),ay(a instanceof Error?a.message:"request failed")}}}async function aV(){if(A&&ag){if((0,k.hasRegistrationErrors)((0,k.registrationFormView)(ag,ak.state))){aj(!0),ao("error"),aq(s);return}ao("saving"),aq("");try{let a=await fetch("/api/bots",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify((0,k.registrationPatchBody)(A.bot.id,ag))});if(!a.ok){let b="request failed";try{let c=await a.json();c.error&&(b=c.error)}catch{}throw Error(b)}let b=await fetch(`/api/bots/${encodeURIComponent(g)}/config`);if(!b.ok)throw Error("request failed");B(await b.json()),af(!1),ah(null),ao("confirmed"),as(Date.now()),setTimeout(()=>{ao(a=>"confirmed"===a?"clean":a)},5e3)}catch(a){ao("error"),aq(a instanceof Error?a.message:"request failed")}}}function aW(){V(A?.skill.content??""),T(!0),X("clean"),Z("")}async function aX(){if(A&&(U.trim()||window.confirm("Delete this skill file?"))){X("saving"),Z("");try{let a=await fetch(`/api/bots/${encodeURIComponent(g)}/skill`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:U})});if(!a.ok){let b="request failed";try{let c=await a.json();c.error&&(b=c.error)}catch{}throw Error(b)}let b=await a.json();B(a=>a?{...a,skill:b.skill,currentHash:b.currentHash}:a),T(!1),X("confirmed"),_(Date.now()),setTimeout(()=>{X(a=>"confirmed"===a?"clean":a)},5e3)}catch(a){X("error"),Z(a instanceof Error?a.message:"request failed")}}}if((0,c.useEffect)(()=>{if(!aN)return;let a=a=>{a.preventDefault()};return window.addEventListener("beforeunload",a),()=>window.removeEventListener("beforeunload",a)},[aN]),G)return(0,b.jsx)("div",{className:"cfg-page flex items-center justify-center",children:(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)("p",{className:"mb-4",children:"Agent not found."}),(0,b.jsx)(d.default,{href:`/agents/${encodeURIComponent(g)}`,className:"cfg-link",children:"← Back to Overview"})]})});if(C&&!A)return(0,b.jsx)("div",{className:"cfg-page",children:(0,b.jsxs)("div",{className:"max-w-6xl mx-auto space-y-6",children:[(0,b.jsx)("div",{className:"h-6 w-32 rounded animate-pulse cfg-skel"}),(0,b.jsx)("div",{className:"h-20 rounded-lg animate-pulse cfg-skel"}),(0,b.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,b.jsx)("div",{className:"space-y-6",children:[0,1,2].map(a=>(0,b.jsx)("div",{className:"h-48 rounded-lg animate-pulse cfg-skel"},a))}),(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)("div",{className:"h-64 rounded-lg animate-pulse cfg-skel"}),(0,b.jsx)("div",{className:"h-80 rounded-lg animate-pulse cfg-skel"})]})]})]})});if(E&&!A)return(0,b.jsx)("div",{className:"cfg-page",children:(0,b.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,b.jsx)(d.default,{href:`/agents/${encodeURIComponent(g)}`,className:"cfg-link cfg-back text-sm",children:"← Back to Overview"}),(0,b.jsxs)("header",{className:"mt-3 mb-6 flex flex-wrap items-center gap-4",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h1",{className:"text-xl font-bold truncate",children:"Agent configuration"}),(0,b.jsx)("p",{className:"text-sm cfg-faint truncate",children:"Couldn't load agent details."})]}),(0,b.jsxs)("div",{className:"ml-auto text-right",children:[(0,b.jsxs)("p",{className:"text-sm cfg-muted",children:["Current config hash: ",(0,b.jsx)("code",{className:"cfg-code",children:"—"})]}),(0,b.jsx)("p",{className:"text-sm mt-1",children:(0,b.jsx)("span",{className:"cfg-faint",children:"○ Not loaded"})})]})]}),(0,b.jsx)("div",{className:"grid gap-6 lg:grid-cols-2 items-start",children:[["Skills","Rules","Agent","Template source"],["Launch snapshots","Avatar"]].map(a=>(0,b.jsx)("div",{className:"min-w-0 space-y-6",children:a.map(a=>(0,b.jsxs)("div",{className:"cfg-card",children:[(0,b.jsx)("h2",{className:"cfg-title mb-2",children:a}),(0,b.jsxs)("p",{className:"text-sm cfg-muted",children:["Couldn't load this section."," ",(0,b.jsx)("button",{onClick:aD,className:"cfg-link",children:"Retry"})]})]},a))},a[0]))})]})});if(!A)return null;let{bot:aY,skill:aZ,currentHash:a$,snapshots:a_}=A,a0=!!(aY.source_provider||aY.template_id||aY.template_url||aY.import_schema_version||aY.import_operation_id),a1="saving"===M?(0,b.jsx)("span",{className:"text-sm cfg-faint",children:"Saving…"}):aF||"error"===M?(0,b.jsxs)("span",{className:"text-sm cfg-dirty",children:[(0,b.jsx)("span",{className:"inline-block w-2 h-2 rounded-full cfg-dot-amber mr-1"}),"Unsaved changes"]}):"confirmed"===M?(0,b.jsxs)("span",{className:"text-sm cfg-faint",children:["Saved ",w(Q)]}):(0,b.jsx)("span",{className:"text-sm cfg-faint",children:"Saved"}),a2="saving"===W?(0,b.jsx)("span",{className:"text-sm cfg-faint",children:"Saving…"}):aH||"error"===W?(0,b.jsxs)("span",{className:"text-sm cfg-dirty",children:[(0,b.jsx)("span",{className:"inline-block w-2 h-2 rounded-full cfg-dot-amber mr-1"}),"Unsaved changes"]}):"confirmed"===W?(0,b.jsxs)("span",{className:"text-sm cfg-faint",children:["Saved ",w($)]}):(0,b.jsx)("span",{className:"text-sm cfg-faint",children:"Saved"}),a3="saving"===an?(0,b.jsx)("span",{className:"text-sm cfg-faint",children:"Saving…"}):aJ||"error"===an?(0,b.jsxs)("span",{className:"text-sm cfg-dirty",children:[(0,b.jsx)("span",{className:"inline-block w-2 h-2 rounded-full cfg-dot-amber mr-1"}),"Unsaved changes"]}):"confirmed"===an?(0,b.jsxs)("span",{className:"text-sm cfg-faint",children:["Saved ",w(ar)]}):(0,b.jsx)("span",{className:"text-sm cfg-faint",children:"Saved"}),a4="saving"===av?(0,b.jsx)("span",{className:"text-sm cfg-faint",children:"Saving…"}):aM||"error"===av?(0,b.jsxs)("span",{className:"text-sm cfg-dirty",children:[(0,b.jsx)("span",{className:"inline-block w-2 h-2 rounded-full cfg-dot-amber mr-1"}),"Unsaved changes"]}):"confirmed"===av?(0,b.jsxs)("span",{className:"text-sm cfg-faint",children:["Saved ",w(az)]}):(0,b.jsx)("span",{className:"text-sm cfg-faint",children:"Saved"});return(0,b.jsxs)("div",{className:"cfg-page",children:[(0,b.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,b.jsx)(d.default,{href:`/agents/${encodeURIComponent(g)}`,onClick:function(a){aN&&!window.confirm("You have unsaved changes. Leave without saving?")&&a.preventDefault()},className:"cfg-link cfg-back text-sm",children:"← Back to Overview"}),(0,b.jsxs)("header",{className:"mt-3 mb-6 flex flex-wrap items-center gap-4",children:[(0,b.jsx)(n.default,{bot:aY,size:48,title:`${aY.name} avatar`}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h1",{className:"text-xl font-bold truncate",children:aY.name}),(0,b.jsx)("p",{className:"text-sm cfg-faint truncate",children:aY.title||" "})]}),(0,b.jsxs)("div",{className:"ml-auto text-right",children:[(0,b.jsxs)("p",{className:"text-sm cfg-muted",children:["Current config hash:"," ",(0,b.jsx)("code",{className:"cfg-code",title:a$,children:a$.slice(0,8)})," ",(0,b.jsx)("button",{onClick:()=>aO("header",a$),className:"cfg-link text-sm",children:"header"===ac?"Copied":"Copy"})]}),(0,b.jsx)("p",{className:"text-sm mt-1",children:aN?(0,b.jsxs)("span",{className:"cfg-dirty",children:[(0,b.jsx)("span",{className:"inline-block w-2 h-2 rounded-full cfg-dot-amber mr-1"}),"Unsaved changes"]}):(0,b.jsx)("span",{className:"cfg-faint",children:"● Saved"})})]})]}),(0,b.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2 items-start","data-cfg-layout":"columns",children:[(0,b.jsxs)("div",{className:"min-w-0 space-y-6","data-cfg-column":"primary",children:[(0,b.jsxs)("section",{className:"cfg-card",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("h2",{className:"cfg-title",children:"Skills"}),a2]}),"unsupported"===aZ.status?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"text-sm cfg-muted mb-3",children:"Unsupported name"}),(0,b.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,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"text-sm cfg-muted mb-3",children:[aZ.path," · ","present"===aZ.status?"Present":"Not present"]}),S?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("textarea",{value:U,onChange:a=>V(a.target.value),rows:8,className:"cfg-input text-sm"}),"error"===W&&(0,b.jsxs)("p",{className:"mt-2 text-sm cfg-error",children:["Couldn't save: ",Y,"."," ",(0,b.jsx)("button",{onClick:aX,className:"underline hover:no-underline",children:"Retry"})]}),(0,b.jsxs)("div",{className:"mt-3 flex gap-2",children:[(0,b.jsx)("button",{onClick:aX,disabled:!aH||"saving"===W,className:"flex-1 sm:flex-none cfg-btn-primary text-sm",children:"saving"===W?"Saving…":"Save"}),(0,b.jsx)("button",{onClick:function(){T(!1),X("clean"),Z("")},disabled:!aH||"saving"===W,className:"flex-1 sm:flex-none cfg-btn-ghost text-sm",children:"Discard"})]})]}):"present"===aZ.status?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("pre",{className:"text-sm cfg-pre max-h-64 overflow-y-auto",children:aZ.content}),(0,b.jsx)("button",{onClick:aW,className:"mt-3 cfg-btn-ghost text-sm w-full sm:w-auto",children:"Edit"})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"text-sm cfg-muted",children:"No skill file yet. Create SKILL.md to give this agent standing instructions."}),(0,b.jsx)("button",{onClick:aW,className:"mt-3 cfg-btn-ghost text-sm w-full sm:w-auto",children:"Create"})]}),(0,b.jsx)("p",{className:"mt-3 text-xs cfg-faint",children:"Appended verbatim as a system message at launch."})]})]}),(0,b.jsxs)("section",{className:"cfg-card",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("h2",{className:"cfg-title",children:"Rules"}),a1]}),(0,b.jsx)("textarea",{value:K??"",onChange:a=>L(a.target.value),rows:8,className:"cfg-input cfg-input-sans text-sm"}),(0,b.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"===M&&(0,b.jsxs)("p",{className:"mt-2 text-sm cfg-error",children:["Couldn't save: ",O,"."," ",(0,b.jsx)("button",{onClick:aP,className:"underline hover:no-underline",children:"Retry"})]}),(0,b.jsxs)("div",{className:"mt-3 flex gap-2",children:[(0,b.jsx)("button",{onClick:aP,disabled:!aF||"saving"===M,className:"flex-1 sm:flex-none cfg-btn-primary text-sm",children:"saving"===M?"Saving…":"Save"}),(0,b.jsx)("button",{onClick:function(){L(aE),N("clean"),P("")},disabled:!aF||"saving"===M,className:"flex-1 sm:flex-none cfg-btn-ghost text-sm",children:"Discard"})]})]}),(0,b.jsxs)("section",{className:"cfg-card",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("h2",{className:"cfg-title",children:"Agent"}),a3]}),(()=>{if(!ae||!ag){let a=(0,k.registrationReadView)(aY,al);return(0,b.jsxs)("div",{"data-field":"runtime-read",children:[(0,b.jsx)("dl",{className:"text-sm",children:a.rows.map(a=>(0,b.jsxs)("div",{"data-row":a.key,className:"flex flex-col sm:flex-row sm:justify-between gap-x-4 py-1 border-t cfg-line",children:[(0,b.jsx)("dt",{className:"cfg-faint",children:a.label}),(0,b.jsx)("dd",{className:"sm:text-right break-words cfg-muted",children:a.value})]},a.key))}),a.notices.map(a=>(0,b.jsx)("p",{className:"text-sm cfg-dirty mt-2",children:a},a)),(0,b.jsx)("button",{onClick:aQ,className:"mt-3 cfg-btn-ghost text-sm w-full sm:w-auto",children:"Edit"})]})}let a=(0,k.registrationFormView)(ag,ak.state);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(l.RegistrationFields,{idPrefix:"cfg",variant:"config",form:ag,onChange:aR,view:a,showErrors:ai,connections:ak.state,onRetryConnections:ak.retry,onAddConnection:ak.add,workspacePlaceholder:(0,j.defaultWorkdirFor)(aY.id),workspaceHint:(0,j.configWorkspaceHint)(aY.id),sessions:al,includeHomeSession:!0}),"error"===an&&(0,b.jsxs)("p",{className:"mt-2 text-sm cfg-error",role:"alert",children:[ap===s?ap:`Couldn't save: ${ap}.`," ",ap===s?null:(0,b.jsx)("button",{onClick:aV,className:"underline hover:no-underline",children:"Retry"})]}),(0,b.jsxs)("div",{className:"mt-3 flex gap-2",children:[(0,b.jsx)("button",{onClick:aV,disabled:!aJ||"saving"===an||a.submitDisabled,className:"flex-1 sm:flex-none cfg-btn-primary text-sm",children:"saving"===an?"Saving…":"Save"}),(0,b.jsx)("button",{onClick:aS,disabled:"saving"===an,className:"flex-1 sm:flex-none cfg-btn-ghost text-sm",children:aJ?"Discard":"Cancel"})]})]})})()]}),(0,b.jsxs)("section",{className:"cfg-card",children:[(0,b.jsx)("h2",{className:"cfg-title mb-3",children:"Template source"}),!a0&&(0,b.jsx)("p",{className:"text-sm cfg-muted mb-3",children:"Created manually in Botmancers — no template source."}),(0,b.jsxs)("dl",{className:"text-sm",children:[(0,b.jsxs)("div",{className:"flex justify-between gap-4 py-1 border-t cfg-line",children:[(0,b.jsx)("dt",{className:"cfg-faint",children:"Source provider"}),(0,b.jsx)("dd",{className:"text-right",children:aY.source_provider??"—"})]}),(0,b.jsxs)("div",{className:"flex justify-between gap-4 py-1 border-t cfg-line",children:[(0,b.jsx)("dt",{className:"cfg-faint",children:"Template ID"}),(0,b.jsx)("dd",{className:"text-right",children:aY.template_id??"—"})]}),(0,b.jsxs)("div",{className:"flex justify-between gap-4 py-1 border-t cfg-line",children:[(0,b.jsx)("dt",{className:"cfg-faint",children:"Template URL"}),(0,b.jsx)("dd",{className:"text-right break-all",children:aY.template_url?(a=aY.template_url).startsWith("http://")||a.startsWith("https://")?(0,b.jsx)("a",{href:aY.template_url,className:"cfg-link",children:aY.template_url}):aY.template_url:"—"})]}),(0,b.jsxs)("div",{className:"flex justify-between gap-4 py-1 border-t cfg-line",children:[(0,b.jsx)("dt",{className:"cfg-faint",children:"Import schema version"}),(0,b.jsx)("dd",{className:"text-right",children:aY.import_schema_version??"—"})]}),(0,b.jsxs)("div",{className:"flex justify-between gap-4 py-1 border-t cfg-line",children:[(0,b.jsx)("dt",{className:"cfg-faint",children:"Import operation ID"}),(0,b.jsx)("dd",{className:"text-right break-all",children:aY.import_operation_id??"—"})]}),(0,b.jsxs)("div",{className:"flex justify-between gap-4 py-1 border-y cfg-line",children:[(0,b.jsx)("dt",{className:"cfg-faint",children:"Imported at"}),(0,b.jsx)("dd",{className:"text-right",children:aY.import_timestamp?v(aY.import_timestamp):"—"})]})]}),(0,b.jsx)(q,{phase:aB,onImport:()=>{aC()}})]})]}),(0,b.jsxs)("div",{className:"min-w-0 space-y-6","data-cfg-column":"secondary",children:[(0,b.jsxs)("section",{className:"cfg-card",children:[(0,b.jsx)("h2",{className:"cfg-title mb-3",children:"Launch snapshots"}),0===a_.length?(0,b.jsx)("p",{className:"text-sm cfg-muted",children:"No launches recorded yet."}):(0,b.jsx)("ul",{className:"space-y-3",children:a_.map(a=>{let c=a.hash===a$,d=!!aa[a.id];return(0,b.jsxs)("li",{className:"cfg-row",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("p",{className:"text-sm",children:[v(a.created_at)," · ",a.id.slice(0,4),a.transport?` \xb7 ${a.transport}`:null]}),(0,b.jsx)("button",{onClick:()=>ab(b=>({...b,[a.id]:!b[a.id]})),"aria-label":d?"Collapse snapshot detail":"Expand snapshot detail",className:"cfg-chevron px-1",children:d?"▾":"▸"})]}),(0,b.jsxs)("p",{className:"mt-1 text-sm",children:[(0,b.jsx)("code",{className:"cfg-code",children:a.hash.slice(0,12)})," ",(0,b.jsx)("button",{onClick:()=>aO(a.id,a.hash),className:"cfg-link text-sm",children:ac===a.id?"Copied":"Copy"})]}),(0,b.jsx)("p",{className:"mt-1 text-sm",children:c?(0,b.jsx)("span",{className:"cfg-ok",children:"● Matches current config"}):(0,b.jsx)("span",{className:"cfg-faint",children:"○ Config changed since"})}),d&&(0,b.jsxs)("div",{className:"mt-3 pt-3 border-t cfg-line text-sm",children:[(0,b.jsxs)("p",{className:"cfg-muted break-all",children:[(0,b.jsx)("span",{className:"font-medium",children:"Launch ID:"})," ",a.id]}),(0,b.jsxs)("p",{className:"mt-1 cfg-muted break-all",children:[(0,b.jsx)("span",{className:"font-medium",children:"Hash:"})," ",(0,b.jsx)("code",{className:"cfg-code",children:a.hash})]}),(0,b.jsx)("dl",{className:"mt-2",children:t.map(c=>{let d=a.snapshot[c.key];return(0,b.jsxs)("div",{className:"py-1 border-t cfg-line",children:[(0,b.jsx)("dt",{className:"cfg-faint",children:c.label}),(0,b.jsx)("dd",{className:"whitespace-pre-wrap break-words",children:null==d?(0,b.jsx)("span",{className:"cfg-faint",children:"null"}):Array.isArray(d)?0===d.length?(0,b.jsx)("span",{className:"cfg-faint",children:"(none)"}):(0,b.jsx)("span",{className:"block max-h-32 overflow-y-auto",children:d.map(a=>`- ${a}`).join("\n")}):"boolean"==typeof d?String(d):""===d?(0,b.jsx)("span",{className:"cfg-faint",children:"(empty)"}):(0,b.jsx)("span",{className:"block max-h-32 overflow-y-auto",children:d})})]},c.key)})})]})]},a.id)})})]}),(0,b.jsx)(h,{agentId:aY.id,agentName:aY.name}),(0,b.jsxs)("section",{className:"cfg-card",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("h2",{className:"cfg-title",children:"Avatar"}),a4]}),(0,b.jsxs)("div",{className:"flex items-center gap-4 mb-4",children:[(0,b.jsx)(n.default,{config:aL,size:96,title:"Avatar live preview"}),(0,b.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,b.jsx)(o,{attribute:"color",label:"Color",options:r.AVATAR_COLORS,current:aL,onPick:aT,className:"mb-3"}),(0,b.jsx)(o,{attribute:"eyes",label:"Eyes",options:r.AVATAR_EYES,current:aL,onPick:aT,className:"mb-3"}),(0,b.jsx)(o,{attribute:"hands",label:"Hands",options:r.AVATAR_HANDS,current:aL,onPick:aT,className:"mb-3"}),(0,b.jsx)(o,{attribute:"accessory",label:"Accessory",options:r.AVATAR_ACCESSORIES,current:aL,onPick:aT}),"error"===av&&(0,b.jsxs)("p",{className:"mt-2 text-sm cfg-error",children:["Couldn't save: ",ax,"."," ",(0,b.jsx)("button",{onClick:aU,className:"underline hover:no-underline",children:"Retry"})]}),(0,b.jsxs)("div",{className:"mt-3 flex gap-2",children:[(0,b.jsx)("button",{onClick:aU,disabled:!aM||"saving"===av,className:"flex-1 sm:flex-none cfg-btn-primary text-sm",children:"saving"===av?"Saving…":"Save"}),(0,b.jsx)("button",{onClick:function(){au(null),aw("clean"),ay("")},disabled:!aM||"saving"===av,className:"flex-1 sm:flex-none cfg-btn-ghost text-sm",children:"Discard"})]})]}),(0,b.jsxs)("section",{className:"cfg-card cfg-danger","aria-labelledby":"cfg-danger-title",children:[(0,b.jsx)("h2",{id:"cfg-danger-title",className:"cfg-title mb-3",children:"Danger zone"}),(0,b.jsx)("p",{className:"text-sm cfg-muted",children:i.DELETE_REMOVES_COPY}),(0,b.jsx)("p",{className:"text-sm cfg-faint mt-2",children:i.DELETE_KEEPS_COPY}),(0,b.jsx)("button",{type:"button",onClick:()=>z(!0),className:"mt-3 delete-btn text-sm w-full sm:w-auto",children:"Delete agent"})]})]})]})]}),y?(0,b.jsx)(f.default,{ids:[aY.id],onCancel:()=>z(!1),onDeleted:a=>u.push(`/?deleted=${Math.max(a.length,1)}`)}):null]})}],25209)}];
2
-
3
- //# sourceMappingURL=app_bots_%5Bid%5D_config_page_tsx_1e0uue9._.js.map