@rubytech/create-maxy-code 0.1.609 → 0.1.610

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 (183) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +4 -0
  3. package/payload/server/public/activity.html +6 -6
  4. package/payload/server/public/agents.html +5 -5
  5. package/payload/server/public/assets/{AdminLoginScreens-BBKEIEjY.js → AdminLoginScreens-uk2gBvI9.js} +1 -1
  6. package/payload/server/public/assets/AdminLoginScreens-uk2gBvI9.js.br +0 -0
  7. package/payload/server/public/assets/AdminLoginScreens-uk2gBvI9.js.gz +0 -0
  8. package/payload/server/public/assets/AdminShell-DyOPTLdb.js +3 -0
  9. package/payload/server/public/assets/AdminShell-DyOPTLdb.js.br +0 -0
  10. package/payload/server/public/assets/AdminShell-DyOPTLdb.js.gz +0 -0
  11. package/payload/server/public/assets/{activity-CbR3vaq1.js → activity-DfIud5UH.js} +1 -1
  12. package/payload/server/public/assets/activity-DfIud5UH.js.br +0 -0
  13. package/payload/server/public/assets/activity-DfIud5UH.js.gz +0 -0
  14. package/payload/server/public/assets/admin-Duy2d3ks.js +1 -0
  15. package/payload/server/public/assets/admin-Duy2d3ks.js.br +0 -0
  16. package/payload/server/public/assets/admin-Duy2d3ks.js.gz +0 -0
  17. package/payload/server/public/assets/{agents-8gAQjRqI.js → agents-Rcdk-pni.js} +1 -1
  18. package/payload/server/public/assets/agents-Rcdk-pni.js.br +0 -0
  19. package/payload/server/public/assets/agents-Rcdk-pni.js.gz +0 -0
  20. package/payload/server/public/assets/{browser-jAje5ILy.js → browser-Bt6h1Pjb.js} +1 -1
  21. package/payload/server/public/assets/browser-Bt6h1Pjb.js.br +0 -0
  22. package/payload/server/public/assets/browser-Bt6h1Pjb.js.gz +0 -0
  23. package/payload/server/public/assets/{calendar-xEmCJif9.js → calendar-Di0yArmc.js} +1 -1
  24. package/payload/server/public/assets/calendar-Di0yArmc.js.br +0 -0
  25. package/payload/server/public/assets/calendar-Di0yArmc.js.gz +0 -0
  26. package/payload/server/public/assets/chat-xJTrFY2U.js +1 -0
  27. package/payload/server/public/assets/chat-xJTrFY2U.js.br +1 -0
  28. package/payload/server/public/assets/chat-xJTrFY2U.js.gz +0 -0
  29. package/payload/server/public/assets/{chevron-left-DV8gIVC9.js → chevron-left-QGcFX-3R.js} +1 -1
  30. package/payload/server/public/assets/chevron-left-QGcFX-3R.js.br +0 -0
  31. package/payload/server/public/assets/clock-PkEm8y4i.js +1 -0
  32. package/payload/server/public/assets/clock-PkEm8y4i.js.br +0 -0
  33. package/payload/server/public/assets/clock-PkEm8y4i.js.gz +0 -0
  34. package/payload/server/public/assets/copy-RSaF-402.js +1 -0
  35. package/payload/server/public/assets/copy-RSaF-402.js.br +0 -0
  36. package/payload/server/public/assets/copy-RSaF-402.js.gz +0 -0
  37. package/payload/server/public/assets/data-CLmmCyzs.js +1 -0
  38. package/payload/server/public/assets/data-CLmmCyzs.js.br +1 -0
  39. package/payload/server/public/assets/data-CLmmCyzs.js.gz +0 -0
  40. package/payload/server/public/assets/{field-CiIsn-47.js → field-nfpVNHyk.js} +1 -1
  41. package/payload/server/public/assets/field-nfpVNHyk.js.br +0 -0
  42. package/payload/server/public/assets/field-nfpVNHyk.js.gz +0 -0
  43. package/payload/server/public/assets/{file-text-Cy-IjCf8.js → file-text-Cws2LExM.js} +1 -1
  44. package/payload/server/public/assets/file-text-Cws2LExM.js.br +0 -0
  45. package/payload/server/public/assets/file-text-Cws2LExM.js.gz +0 -0
  46. package/payload/server/public/assets/graph-56nTCvKa.js +51 -0
  47. package/payload/server/public/assets/graph-56nTCvKa.js.br +0 -0
  48. package/payload/server/public/assets/graph-56nTCvKa.js.gz +0 -0
  49. package/payload/server/public/assets/{graph-labels-3bstML8n.js → graph-labels-qHDVYalh.js} +1 -1
  50. package/payload/server/public/assets/graph-labels-qHDVYalh.js.br +0 -0
  51. package/payload/server/public/assets/graph-labels-qHDVYalh.js.gz +0 -0
  52. package/payload/server/public/assets/{jsx-runtime-JxxB_2S6.css → jsx-runtime-B5zQuMcr.css} +1 -1
  53. package/payload/server/public/assets/jsx-runtime-B5zQuMcr.css.br +0 -0
  54. package/payload/server/public/assets/{jsx-runtime-JxxB_2S6.css.gz → jsx-runtime-B5zQuMcr.css.gz} +0 -0
  55. package/payload/server/public/assets/{operator-D7L2SA16.js → operator-D-P6oemk.js} +1 -1
  56. package/payload/server/public/assets/operator-D-P6oemk.js.br +2 -0
  57. package/payload/server/public/assets/operator-D-P6oemk.js.gz +0 -0
  58. package/payload/server/public/assets/page-8goE0IWS.js +32 -0
  59. package/payload/server/public/assets/page-8goE0IWS.js.br +0 -0
  60. package/payload/server/public/assets/page-8goE0IWS.js.gz +0 -0
  61. package/payload/server/public/assets/page-iL446JAc.js +1 -0
  62. package/payload/server/public/assets/page-iL446JAc.js.br +0 -0
  63. package/payload/server/public/assets/page-iL446JAc.js.gz +0 -0
  64. package/payload/server/public/assets/play-B8bxRax6.js +1 -0
  65. package/payload/server/public/assets/play-B8bxRax6.js.br +0 -0
  66. package/payload/server/public/assets/play-B8bxRax6.js.gz +0 -0
  67. package/payload/server/public/assets/{public-CEXKl8wg.js → public-BwfIj7tM.js} +1 -1
  68. package/payload/server/public/assets/public-BwfIj7tM.js.br +0 -0
  69. package/payload/server/public/assets/public-BwfIj7tM.js.gz +0 -0
  70. package/payload/server/public/assets/{rotate-ccw-ckXDebK2.js → rotate-ccw-X7-7vE7t.js} +1 -1
  71. package/payload/server/public/assets/rotate-ccw-X7-7vE7t.js.br +0 -0
  72. package/payload/server/public/assets/rotate-ccw-X7-7vE7t.js.gz +0 -0
  73. package/payload/server/public/assets/{routines-Dwc2meN2.js → routines-sFud5tka.js} +2 -2
  74. package/payload/server/public/assets/routines-sFud5tka.js.br +0 -0
  75. package/payload/server/public/assets/routines-sFud5tka.js.gz +0 -0
  76. package/payload/server/public/assets/{skills-DdHKHl4Z.js → skills-_Dc3eG9T.js} +1 -1
  77. package/payload/server/public/assets/skills-_Dc3eG9T.js.br +0 -0
  78. package/payload/server/public/assets/skills-_Dc3eG9T.js.gz +0 -0
  79. package/payload/server/public/assets/tasks-C0u8AtqT.js +3 -0
  80. package/payload/server/public/assets/tasks-C0u8AtqT.js.br +0 -0
  81. package/payload/server/public/assets/tasks-C0u8AtqT.js.gz +0 -0
  82. package/payload/server/public/assets/{triangle-alert-C-7A00P0.js → triangle-alert-DD4kSK45.js} +1 -1
  83. package/payload/server/public/assets/triangle-alert-DD4kSK45.js.br +0 -0
  84. package/payload/server/public/assets/triangle-alert-DD4kSK45.js.gz +0 -0
  85. package/payload/server/public/assets/{useCopyFeedback-CWvSi-Qe.js → useCopyFeedback-Dq-Putj7.js} +1 -1
  86. package/payload/server/public/assets/useCopyFeedback-Dq-Putj7.js.br +0 -0
  87. package/payload/server/public/assets/useCopyFeedback-Dq-Putj7.js.gz +0 -0
  88. package/payload/server/public/assets/useMediaQuery-Cm_fvNIH.js +6 -0
  89. package/payload/server/public/assets/useMediaQuery-Cm_fvNIH.js.br +0 -0
  90. package/payload/server/public/assets/useMediaQuery-Cm_fvNIH.js.gz +0 -0
  91. package/payload/server/public/assets/useVoiceRecorder-C6xqnm7i.js +2 -0
  92. package/payload/server/public/assets/useVoiceRecorder-C6xqnm7i.js.br +0 -0
  93. package/payload/server/public/assets/useVoiceRecorder-C6xqnm7i.js.gz +0 -0
  94. package/payload/server/public/assets/{wrench-Cl6TUm2T.js → wrench-Bjw6eVl_.js} +1 -1
  95. package/payload/server/public/assets/wrench-Bjw6eVl_.js.br +0 -0
  96. package/payload/server/public/assets/wrench-Bjw6eVl_.js.gz +0 -0
  97. package/payload/server/public/browser.html +5 -5
  98. package/payload/server/public/calendar.html +8 -8
  99. package/payload/server/public/chat.html +14 -14
  100. package/payload/server/public/data.html +12 -12
  101. package/payload/server/public/field.html +3 -3
  102. package/payload/server/public/graph.html +10 -10
  103. package/payload/server/public/index.html +14 -14
  104. package/payload/server/public/operator.html +16 -16
  105. package/payload/server/public/public.html +14 -14
  106. package/payload/server/public/routines.html +8 -8
  107. package/payload/server/public/skills.html +6 -6
  108. package/payload/server/public/tasks.html +7 -7
  109. package/payload/server/public/assets/AdminLoginScreens-BBKEIEjY.js.br +0 -0
  110. package/payload/server/public/assets/AdminLoginScreens-BBKEIEjY.js.gz +0 -0
  111. package/payload/server/public/assets/AdminShell-CrCdEMNW.js +0 -3
  112. package/payload/server/public/assets/AdminShell-CrCdEMNW.js.br +0 -0
  113. package/payload/server/public/assets/AdminShell-CrCdEMNW.js.gz +0 -0
  114. package/payload/server/public/assets/activity-CbR3vaq1.js.br +0 -0
  115. package/payload/server/public/assets/activity-CbR3vaq1.js.gz +0 -0
  116. package/payload/server/public/assets/admin-D8qKnmhE.js +0 -1
  117. package/payload/server/public/assets/admin-D8qKnmhE.js.br +0 -0
  118. package/payload/server/public/assets/admin-D8qKnmhE.js.gz +0 -0
  119. package/payload/server/public/assets/agents-8gAQjRqI.js.br +0 -0
  120. package/payload/server/public/assets/agents-8gAQjRqI.js.gz +0 -0
  121. package/payload/server/public/assets/browser-jAje5ILy.js.br +0 -0
  122. package/payload/server/public/assets/browser-jAje5ILy.js.gz +0 -0
  123. package/payload/server/public/assets/calendar-xEmCJif9.js.br +0 -0
  124. package/payload/server/public/assets/calendar-xEmCJif9.js.gz +0 -0
  125. package/payload/server/public/assets/chat-Ct5RDmv6.js +0 -1
  126. package/payload/server/public/assets/chat-Ct5RDmv6.js.br +0 -0
  127. package/payload/server/public/assets/chat-Ct5RDmv6.js.gz +0 -0
  128. package/payload/server/public/assets/chevron-left-DV8gIVC9.js.br +0 -0
  129. package/payload/server/public/assets/clock-PnR4Tlg9.js +0 -1
  130. package/payload/server/public/assets/clock-PnR4Tlg9.js.br +0 -0
  131. package/payload/server/public/assets/copy-b6MpzRz9.js +0 -1
  132. package/payload/server/public/assets/copy-b6MpzRz9.js.br +0 -0
  133. package/payload/server/public/assets/copy-b6MpzRz9.js.gz +0 -0
  134. package/payload/server/public/assets/data-BxFc9wPl.js +0 -1
  135. package/payload/server/public/assets/data-BxFc9wPl.js.br +0 -2
  136. package/payload/server/public/assets/data-BxFc9wPl.js.gz +0 -0
  137. package/payload/server/public/assets/field-CiIsn-47.js.br +0 -0
  138. package/payload/server/public/assets/field-CiIsn-47.js.gz +0 -0
  139. package/payload/server/public/assets/file-text-Cy-IjCf8.js.br +0 -0
  140. package/payload/server/public/assets/file-text-Cy-IjCf8.js.gz +0 -0
  141. package/payload/server/public/assets/graph-BdC2IGOT.js +0 -51
  142. package/payload/server/public/assets/graph-BdC2IGOT.js.br +0 -0
  143. package/payload/server/public/assets/graph-BdC2IGOT.js.gz +0 -0
  144. package/payload/server/public/assets/graph-labels-3bstML8n.js.br +0 -0
  145. package/payload/server/public/assets/graph-labels-3bstML8n.js.gz +0 -0
  146. package/payload/server/public/assets/jsx-runtime-JxxB_2S6.css.br +0 -0
  147. package/payload/server/public/assets/operator-D7L2SA16.js.br +0 -0
  148. package/payload/server/public/assets/operator-D7L2SA16.js.gz +0 -0
  149. package/payload/server/public/assets/page-DspGbDgK.js +0 -32
  150. package/payload/server/public/assets/page-DspGbDgK.js.br +0 -0
  151. package/payload/server/public/assets/page-DspGbDgK.js.gz +0 -0
  152. package/payload/server/public/assets/page-ObXxk8ol.js +0 -1
  153. package/payload/server/public/assets/page-ObXxk8ol.js.br +0 -0
  154. package/payload/server/public/assets/page-ObXxk8ol.js.gz +0 -0
  155. package/payload/server/public/assets/play-BL4ztD3m.js +0 -1
  156. package/payload/server/public/assets/play-BL4ztD3m.js.br +0 -0
  157. package/payload/server/public/assets/play-BL4ztD3m.js.gz +0 -0
  158. package/payload/server/public/assets/public-CEXKl8wg.js.br +0 -0
  159. package/payload/server/public/assets/public-CEXKl8wg.js.gz +0 -0
  160. package/payload/server/public/assets/rotate-ccw-ckXDebK2.js.br +0 -0
  161. package/payload/server/public/assets/rotate-ccw-ckXDebK2.js.gz +0 -0
  162. package/payload/server/public/assets/routines-Dwc2meN2.js.br +0 -0
  163. package/payload/server/public/assets/routines-Dwc2meN2.js.gz +0 -0
  164. package/payload/server/public/assets/skills-DdHKHl4Z.js.br +0 -0
  165. package/payload/server/public/assets/skills-DdHKHl4Z.js.gz +0 -0
  166. package/payload/server/public/assets/tasks-C_yWRvOG.js +0 -3
  167. package/payload/server/public/assets/tasks-C_yWRvOG.js.br +0 -0
  168. package/payload/server/public/assets/tasks-C_yWRvOG.js.gz +0 -0
  169. package/payload/server/public/assets/triangle-alert-C-7A00P0.js.br +0 -0
  170. package/payload/server/public/assets/triangle-alert-C-7A00P0.js.gz +0 -0
  171. package/payload/server/public/assets/useCopyFeedback-CWvSi-Qe.js.br +0 -2
  172. package/payload/server/public/assets/useCopyFeedback-CWvSi-Qe.js.gz +0 -0
  173. package/payload/server/public/assets/useMediaQuery-CLVRXJMp.js +0 -6
  174. package/payload/server/public/assets/useMediaQuery-CLVRXJMp.js.br +0 -0
  175. package/payload/server/public/assets/useMediaQuery-CLVRXJMp.js.gz +0 -0
  176. package/payload/server/public/assets/useVoiceRecorder-BbJad9CQ.js +0 -2
  177. package/payload/server/public/assets/useVoiceRecorder-BbJad9CQ.js.br +0 -0
  178. package/payload/server/public/assets/useVoiceRecorder-BbJad9CQ.js.gz +0 -0
  179. package/payload/server/public/assets/wrench-Cl6TUm2T.js.br +0 -0
  180. package/payload/server/public/assets/wrench-Cl6TUm2T.js.gz +0 -0
  181. /package/payload/server/public/assets/{jsx-runtime-BCAZhYqz.js → jsx-runtime-DeRQuYlX.js} +0 -0
  182. /package/payload/server/public/assets/{jsx-runtime-BCAZhYqz.js.br → jsx-runtime-DeRQuYlX.js.br} +0 -0
  183. /package/payload/server/public/assets/{jsx-runtime-BCAZhYqz.js.gz → jsx-runtime-DeRQuYlX.js.gz} +0 -0
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-BycB0eMI.js";import{i as t,n,t as r}from"./jsx-runtime-BCAZhYqz.js";import{C as i,E as a,F as o,P as s,R as c,h as l,i as u,k as d,p as f,st as ee,y as te}from"./useMediaQuery-CLVRXJMp.js";import{n as p,t as m}from"./AdminLoginScreens-BBKEIEjY.js";import{C as h,c as g,p as ne}from"./useVoiceRecorder-BbJad9CQ.js";import{T as re,h as ie,i as _,t as v,x as y}from"./AdminShell-CrCdEMNW.js";import{t as b}from"./chevron-left-DV8gIVC9.js";import{i as x,n as S,r as ae}from"./page-ObXxk8ol.js";import{t as oe}from"./file-text-Cy-IjCf8.js";import"./graph-labels-3bstML8n.js";import{n as se}from"./file-download-B7zwa78w.js";var C=n(),w=e(t(),1),T=r();function E({onOpen:e}){return(0,T.jsx)(`footer`,{className:`admin-footer`,children:(0,T.jsxs)(`div`,{className:`powered-by`,role:`button`,tabIndex:0,onClick:e,onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e())},"aria-label":`Powered by Claude Code — show details`,children:[(0,T.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`powered-by-icon`}),(0,T.jsx)(`span`,{children:`Powered by Claude Code`})]})})}function D({sessionId:e,projectDir:t,sessionKey:n,contactName:r,onBack:i}){return(0,T.jsxs)(`div`,{className:`wa-web`,children:[(0,T.jsxs)(`header`,{className:`wa-web-header`,children:[i&&(0,T.jsx)(`button`,{type:`button`,className:`wa-web-back`,onClick:i,"aria-label":`Back`,children:(0,T.jsx)(b,{size:20})}),(0,T.jsx)(`span`,{className:`wa-web-avatar`,"aria-hidden":!0,children:(0,T.jsx)(h,{size:20})}),(0,T.jsx)(`div`,{className:`wa-web-titles`,children:(0,T.jsx)(`span`,{className:`wa-web-name`,children:r})})]}),(0,T.jsx)(`div`,{className:`wa-web-body`,children:(0,T.jsx)(g,{sessionId:e,projectDir:t,sessionKey:n,forceDeliveredOnly:!0})})]})}var O=6e4,k=60*O,A=24*k,j=O,M=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],N=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function P(e){return e<10?`0${e}`:String(e)}function F(e,t){let n=d(e,t);return Date.UTC(n.y,n.m-1,n.d)}function I(e,t,n){if(!Number.isFinite(e)||e<=0||!Number.isFinite(t))return`—`;let r=t-e;if(r<-j)return`—`;let i=r<0?0:r;if(i<O)return`just now`;if(i<k)return`${Math.floor(i/O)}m`;if(i<A)return`${Math.floor(i/k)}h`;let a=F(new Date(t),n),o=F(new Date(e),n),s=Math.round((a-o)/A);if(s===1)return`yesterday`;let c=d(new Date(e),n);if(s>=2&&s<=6)return N[new Date(o).getUTCDay()];let l=P(c.d),u=M[c.m-1],f=d(new Date(t),n).y;return c.y===f?`${l} ${u}`:`${l} ${u} ${c.y}`}function L({variant:e=`row`,count:t=1}){return(0,T.jsx)(T.Fragment,{children:Array.from({length:t},(t,n)=>(0,T.jsx)(`span`,{className:`dashboard-skeleton dashboard-skeleton--${e}`,"data-testid":`dashboard-skeleton`,"aria-hidden":`true`},n))})}var ce=6e4;function le(e){return e<12?`morning`:e<18?`afternoon`:`evening`}function R(e){return e&&e.trim().split(/\s+/)[0]||`there`}function ue(e){if(!e)return`everything is running normally.`;let t=e.cpuPct,n=e.memUsedPct;return t!==null&&t>=.98||n!==null&&n>=.98?`system load is critical.`:t!==null&&t>=.9||n!==null&&n>=.9?`system load is high.`:`everything is running normally.`}function z(e){return e==null?`—`:`${Math.round(e*100)}%`}function B(e){let t=Date.parse(e.lastMessageAt??``);return Number.isFinite(t)?t:-1/0}function de(e,t,n){if(!e)return!1;let r=Date.parse(e);return Number.isFinite(r)?a(new Date(r),n)===a(new Date(t),n):!1}function fe(e){return e?e.replace(/^claude-/,``):null}function pe(e,t,n,r,i){let a=0;for(let e=1;e<n.length;e+=1)B(n[e-1])<B(n[e])&&(a+=1);let o=!1;for(let e=1;e<t.length;e+=1)if(t[e-1].channel!==t[e].channel){o=!0;break}let s=new Map;for(let t of e)s.set(t.channel,(s.get(t.channel)??0)+1);return{feedRows:e.length,renderedRows:n.length,cap:r,hidden:e.length-n.length,expanded:i,outOfOrder:a,undated:e.filter(e=>B(e)===-1/0).length,channels:[...s.entries()].map(([e,t])=>`${e}:${t}`).join(`,`),interleaved:o}}var V=new Set([`sessions`,`conversations`,`tasks`,`artefacts`,`skills`,`stats`]),H=!1;function me(e,t,n,r){let i=e=>t.get(e)??null,a=r?r.getEntriesByType(`navigation`)[0]:void 0,o=r?r.getEntriesByType(`resource`).filter(e=>new URL(e.name,`http://x`).pathname.startsWith(`/assets/`)):[],s=e=>e===void 0||!Number.isFinite(e)?null:Math.round(e),c=e=>e?s(e):null;return{batchMs:e,sessionsMs:i(`sessions`),conversationsMs:i(`conversations`),tasksMs:i(`tasks`),artefactsMs:i(`artefacts`),skillsMs:i(`skills`),statsMs:i(`stats`),failed:[...V].filter(e=>n.has(e)).join(`,`)||`none`,ttfbMs:s(a?.responseStart),domContentLoadedMs:c(a?.domContentLoadedEventEnd),loadMs:c(a?.loadEventEnd),assetCount:o.length,assetBytes:o.reduce((e,t)=>e+(t.transferSize||0),0),assetMs:o.length?s(Math.max(...o.map(e=>e.responseEnd))):null}}function U({cacheKey:e,userName:t,onSelectWhatsappConversation:n}){let{zone:r}=i(),a=o(e),[s,d]=(0,w.useState)(null),[p,m]=(0,w.useState)(null),[h,g]=(0,w.useState)(null),[_,v]=(0,w.useState)(null),[b,x]=(0,w.useState)(null),[S,ae]=(0,w.useState)(null),[C,E]=(0,w.useState)(null),[D,O]=(0,w.useState)(null),[k,A]=(0,w.useState)(null),[j,M]=(0,w.useState)(new Set),[N,P]=(0,w.useState)(()=>new Set),F=(0,w.useCallback)(e=>{P(t=>t.has(e)?t:new Set(t).add(e))},[]),V=Date.now(),U=(0,w.useRef)(!1),W=(0,w.useRef)(new Map),G=(0,w.useRef)(new Set),K=(0,w.useRef)(null);(0,w.useEffect)(()=>{if(!e)return;let t=!1;async function n(e,n,r,i){let o=Date.now(),s=typeof n==`string`?n:`unresolved`;try{typeof n!=`string`&&(s=await n());let e=await a(s);if(!e.ok)throw Error(`status ${e.status}`);let o=await e.json();t||i(r(o))}catch(t){G.current.add(e),console.error(`[admin-ui] dashboard-fetch-failed slice=${e} url=${s} ms=${Date.now()-o} reason=${t instanceof Error?t.message:String(t)}`)}finally{W.current.set(e,Date.now()-o),F(e)}}async function r(){if(!K.current){let e=await a(`/api/admin/accounts`);if(!e.ok)throw Error(`accounts status ${e.status}`);let t=await e.json(),n=t.accounts??[],r=t.activeAccountId??null,i=n.find(e=>e.accountId===r);if(!i)throw Error(`accounts: active ${r??`none`} absent from list of ${n.length}`);let o=i.isHouse||n.length===1;K.current={accountId:i.accountId,isHouse:o}}let{accountId:e,isHouse:t}=K.current;return t?`/api/operator-conversations/conversations-all`:`/api/operator-conversations/conversations`}let i={"sidebar-sessions":()=>n(`sessions`,`/api/admin/sidebar-sessions`,e=>e.sessions??[],d),"conversations-all":()=>n(`conversations`,r,e=>e.conversations??[],m),"tasks-list":()=>n(`tasks`,`/api/admin/tasks-list`,e=>e,v),"sidebar-artefacts":()=>n(`artefacts`,`/api/admin/sidebar-artefacts`,e=>e.artefacts??[],x),skills:()=>n(`skills`,`/api/admin/skills`,e=>e.skills??[],ae)};async function o(){if(U.current)return;U.current=!0;let e=Date.now();try{await Promise.all([...Object.values(i).map(e=>e()),n(`stats`,`/api/admin/system-stats`,e=>e,g),n(`bookingLink`,`/api/admin/calendar/booking-link`,e=>e.bookingDomain??null,E),n(`portalLink`,`/api/admin/data-portal/portal-link`,e=>e.portalDomain??null,O),n(`plannerLink`,`/api/admin/dispatch-planner/planner-link`,e=>e.plannerUrl??null,A)])}finally{U.current=!1;let t=Date.now()-e;if(!H){H=!0;try{let e=me(t,W.current,G.current,typeof performance>`u`?null:performance);fetch(`/api/_client-error`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({kind:`event`,source:`dashboard-load`,...e}),keepalive:!0}).catch(()=>{})}catch{}}}}o();let s=null;try{s=new EventSource(ee(`/api/admin/events`,e)),s.onmessage=e=>{if(document.visibilityState===`visible`)try{let{resource:t}=JSON.parse(e.data),n=t?i[t]:void 0;n&&n()}catch{}},s.onerror=()=>{console.error(`[admin-ui] dashboard-events stream error`)}}catch(e){console.error(`[admin-ui] dashboard-events unavailable reason=${e instanceof Error?e.message:String(e)}`)}let c=setInterval(()=>{document.visibilityState===`visible`&&o()},ce),l=()=>{document.visibilityState===`visible`&&o()};return document.addEventListener(`visibilitychange`,l),()=>{t=!0,U.current=!1,clearInterval(c),s?.close(),document.removeEventListener(`visibilitychange`,l)}},[e,a]);let q=(0,w.useMemo)(()=>(s??[]).filter(e=>!e.isSubagent),[s]),J=(0,w.useMemo)(()=>q.filter(e=>e.live),[q]),he=(0,w.useMemo)(()=>(p??[]).filter(e=>de(e.lastMessageAt,V,r)).length,[p,V]),ge=_?.open.length??0,Y=(0,w.useMemo)(()=>[...p??[]].sort((e,t)=>{let n=B(e),r=B(t);return n===r?0:r>n?1:-1}),[p]),[X,_e]=(0,w.useState)(!1),Z=X?Y:Y.slice(0,8),ve=Y.length-Z.length,ye=(0,w.useRef)(null),Q=(0,w.useRef)(null);(0,w.useEffect)(()=>{if(!N.has(`conversations`))return;let e=pe(p??[],Y,Z,8,X),t=JSON.stringify(e);ye.current!==t&&(ye.current=t,Q.current===null&&(Q.current=u()),fetch(`/api/_client-error`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({kind:`event`,source:`channels-card`,renderId:Q.current,...e})}).catch(()=>{}))},[N,p,Y,Z,X]);let be=(0,w.useRef)(!1);(0,w.useEffect)(()=>{be.current||!N.has(`bookingLink`)||!N.has(`portalLink`)||!N.has(`plannerLink`)||(be.current=!0)},[N,C,D,k]);let xe=(0,w.useCallback)(async e=>{if(!j.has(e)){M(t=>new Set(t).add(e));try{let t=await a(`/api/admin/session-stop`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({sessionId:e})});if(!t.ok){console.error(`[admin-ui] dashboard-session-stop-failed sessionId=${e} status=${t.status}`);return}d(t=>(t??[]).map(t=>t.sessionId===e?{...t,live:!1}:t))}catch(t){console.error(`[admin-ui] dashboard-session-stop-failed sessionId=${e} reason=${t instanceof Error?t.message:String(t)}`)}finally{M(t=>{let n=new Set(t);return n.delete(e),n})}}},[a,j]),Se=(0,w.useCallback)(t=>{if(!e||!t.downloadPath){console.error(`[admin-ui] dashboard-artefact-download-blocked id=${t.id} reason=${e?`not-downloadable`:`no-cache-key`}`);return}se(e,t.downloadPath,t.downloadRoot??`data`)},[e]),$=le(new Date(V).getHours());return(0,T.jsxs)(`div`,{className:`ui-page ui-page--full dashboard-home`,children:[(0,T.jsx)(`p`,{className:`dashboard-greeting`,children:N.has(`stats`)?`Good ${$}, ${R(t)} — ${ue(h)}`:`Good ${$}, ${R(t)}`}),(0,T.jsxs)(`div`,{className:`dashboard-stats`,children:[(0,T.jsxs)(`div`,{className:`admin-stat-card dashboard-stat-card`,children:[(0,T.jsx)(`span`,{className:`dashboard-stat-label`,children:`Live sessions`}),N.has(`sessions`)?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{className:`dashboard-stat-value`,children:J.length}),(0,T.jsxs)(`span`,{className:`dashboard-stat-delta`,children:[`of `,q.length,` total`]})]}):(0,T.jsx)(L,{variant:`value`})]}),(0,T.jsxs)(`div`,{className:`admin-stat-card dashboard-stat-card`,children:[(0,T.jsx)(`span`,{className:`dashboard-stat-label`,children:`Messages today`}),N.has(`conversations`)?(0,T.jsx)(`span`,{className:`dashboard-stat-value`,children:he}):(0,T.jsx)(L,{variant:`value`})]}),(0,T.jsxs)(`a`,{className:`admin-stat-card dashboard-stat-card dashboard-stat-card--link`,href:`/tasks`,children:[(0,T.jsx)(`span`,{className:`dashboard-stat-label`,children:`Open tasks`}),N.has(`tasks`)?(0,T.jsx)(`span`,{className:`dashboard-stat-value`,children:ge}):(0,T.jsx)(L,{variant:`value`})]}),(0,T.jsxs)(`div`,{className:`admin-stat-card dashboard-stat-card`,children:[(0,T.jsx)(`span`,{className:`dashboard-stat-label`,children:`Host CPU`}),N.has(`stats`)?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{className:`dashboard-stat-value`,children:z(h?.cpuPct??null)}),(0,T.jsxs)(`span`,{className:`dashboard-stat-delta`,children:[`RAM `,z(h?.memUsedPct??null)]})]}):(0,T.jsx)(L,{variant:`value`})]})]}),(0,T.jsxs)(`div`,{className:`dashboard-columns`,children:[(0,T.jsxs)(`div`,{className:`dashboard-col`,children:[(C||D||k)&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{className:`admin-section-label dashboard-col-label`,children:`Public pages`}),(0,T.jsxs)(`div`,{className:`admin-card dashboard-public-pages`,children:[C&&(0,T.jsxs)(`a`,{className:`admin-row dashboard-public-row`,href:`https://${C}`,target:`_blank`,rel:`noopener noreferrer`,children:[(0,T.jsx)(`span`,{className:`dashboard-public-icon`,children:(0,T.jsx)(y,{size:16})}),(0,T.jsx)(`span`,{className:`dashboard-public-name`,children:`Booking page`})]}),D&&(0,T.jsxs)(`a`,{className:`admin-row dashboard-public-row`,href:`https://${D}`,target:`_blank`,rel:`noopener noreferrer`,children:[(0,T.jsx)(`span`,{className:`dashboard-public-icon`,children:(0,T.jsx)(y,{size:16})}),(0,T.jsx)(`span`,{className:`dashboard-public-name`,children:`File drop`})]}),k&&(0,T.jsxs)(`a`,{className:`admin-row dashboard-public-row`,href:k,target:`_blank`,rel:`noopener noreferrer`,children:[(0,T.jsx)(`span`,{className:`dashboard-public-icon`,children:(0,T.jsx)(y,{size:16})}),(0,T.jsx)(`span`,{className:`dashboard-public-name`,children:`Planner`})]})]})]}),(0,T.jsx)(`span`,{className:`admin-section-label dashboard-col-label`,children:`Live now`}),N.has(`sessions`)?J.length===0?(0,T.jsx)(`div`,{className:`admin-card dashboard-empty`,children:`No live sessions right now.`}):J.map(e=>{let t=[e.sessionId.slice(0,8),fe(e.model),I(Date.parse(e.startedAt),V,r)].filter(Boolean).join(` · `);return(0,T.jsxs)(`div`,{className:`admin-card dashboard-live-card`,children:[(0,T.jsx)(`span`,{className:`admin-status-dot is-live`}),(0,T.jsxs)(`div`,{className:`dashboard-live-main`,children:[(0,T.jsx)(`span`,{className:`dashboard-live-name`,children:e.title}),(0,T.jsx)(`span`,{className:`dashboard-live-meta`,children:t})]}),(0,T.jsx)(`a`,{className:`admin-btn-cta dashboard-open-btn`,href:`/chat?session=${encodeURIComponent(e.sessionId)}`,children:`Open`}),(0,T.jsx)(`button`,{type:`button`,className:`dashboard-stop-btn`,"aria-label":`Stop ${e.title}`,disabled:j.has(e.sessionId),onClick:()=>void xe(e.sessionId),children:(0,T.jsx)(c,{size:12})})]},e.sessionId)}):(0,T.jsx)(L,{variant:`card`,count:2}),(0,T.jsx)(`span`,{className:`admin-section-label dashboard-col-label`,children:`Recent artefacts`}),(0,T.jsx)(`div`,{className:`admin-card dashboard-artefacts`,children:N.has(`artefacts`)?(b??[]).length===0?(0,T.jsx)(`div`,{className:`dashboard-empty`,children:`No recent artefacts.`}):(b??[]).slice(0,6).map(e=>(0,T.jsxs)(`button`,{type:`button`,className:`admin-row dashboard-artefact-row`,onClick:()=>Se(e),children:[(0,T.jsx)(`span`,{className:`dashboard-artefact-icon`,children:e.kind===`agent-template`?(0,T.jsx)(re,{size:16}):(0,T.jsx)(oe,{size:16})}),(0,T.jsx)(`div`,{className:`dashboard-artefact-body`,children:(0,T.jsx)(`span`,{className:`dashboard-artefact-name`,children:e.name})}),(0,T.jsx)(`span`,{className:`dashboard-artefact-time`,children:I(Date.parse(e.updatedAt),V,r)})]},e.id)):(0,T.jsx)(L,{count:3})}),(0,T.jsx)(`a`,{className:`admin-section-label dashboard-col-label dashboard-skills-label`,href:`/skills`,children:`Skills`}),(0,T.jsx)(`div`,{className:`admin-card dashboard-skills`,children:N.has(`skills`)?(S??[]).length===0?(0,T.jsx)(`div`,{className:`dashboard-empty`,children:`No skills yet.`}):(S??[]).map(e=>(0,T.jsxs)(`a`,{className:`admin-row dashboard-skill-row`,href:`/skills`,children:[(0,T.jsx)(`span`,{className:`dashboard-skill-icon`,children:(0,T.jsx)(ie,{size:16})}),(0,T.jsxs)(`div`,{className:`dashboard-skill-body`,children:[(0,T.jsx)(`span`,{className:`dashboard-skill-name`,children:e.skill}),(0,T.jsx)(`span`,{className:`dashboard-skill-plugin`,children:e.plugin})]})]},`${e.plugin}/${e.skill}`)):(0,T.jsx)(L,{count:2})})]}),(0,T.jsxs)(`div`,{className:`dashboard-col`,children:[(0,T.jsx)(`span`,{className:`admin-section-label dashboard-col-label`,children:`Channels`}),N.has(`conversations`)?Y.length===0?(0,T.jsx)(`div`,{className:`admin-card dashboard-empty`,children:`No channel activity.`}):(0,T.jsxs)(`div`,{className:`admin-card dashboard-channel-card`,children:[(0,T.jsx)(`div`,{className:`dashboard-channel-convs`,children:Z.map(t=>(0,T.jsxs)(`button`,{type:`button`,className:`admin-row dashboard-channel-conv-row`,onClick:()=>n(t),title:t.title,children:[(0,T.jsxs)(`span`,{className:`dashboard-channel-conv-line`,children:[(0,T.jsx)(`span`,{className:`dashboard-channel-conv-glyph`,children:(0,T.jsx)(te,{channel:t.channel,size:13})}),(0,T.jsx)(ne,{accountId:t.accountId??``,jid:t.remoteJid,sessionKey:e??``,className:`dashboard-channel-conv-avatar`,size:16}),(0,T.jsx)(`span`,{className:`dashboard-channel-conv-name`,children:f(t)}),t.isGroup===!0&&(0,T.jsx)(`span`,{className:`dashboard-channel-conv-tag is-group`,children:`Group`}),t.role===`public`&&(0,T.jsx)(`span`,{className:`dashboard-channel-conv-tag is-public`,children:`Public`}),(0,T.jsx)(`span`,{className:`dashboard-channel-conv-tag`,children:t.isHouse?`House`:`Client`}),!t.preview&&t.lastMessageAt&&(0,T.jsx)(`span`,{className:`dashboard-channel-conv-time`,children:I(Date.parse(t.lastMessageAt),V,r)})]}),t.preview?(0,T.jsxs)(`span`,{className:`dashboard-channel-conv-sub`,children:[(0,T.jsx)(`span`,{className:`dashboard-channel-conv-preview`,children:t.preview}),t.lastMessageAt&&(0,T.jsx)(`span`,{className:`dashboard-channel-conv-time`,children:I(Date.parse(t.lastMessageAt),V,r)})]}):null]},l(t)))}),ve>0&&(0,T.jsxs)(`button`,{type:`button`,className:`dashboard-channel-more`,onClick:()=>_e(!0),children:[`Show `,ve,` more`]})]}):(0,T.jsx)(L,{variant:`card`,count:2})]})]})]})}function W(){let e=p(),[t,n]=(0,w.useState)(!1);(0,w.useEffect)(()=>{if(!t)return;let e=e=>{e.key===`Escape`&&n(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t]);let r=(0,w.useCallback)(async()=>{let t=e.claudeInfo!=null;if(n(!0),t)return;let r=Date.now();if(!e.cacheKey){console.error(`[admin-ui] claude-info-fetch-skipped reason=no-session-key`);return}try{let t=await fetch(`/api/admin/claude-info?session_key=${encodeURIComponent(e.cacheKey)}`);if(t.ok){let n=await t.json();e.setClaudeInfo(n)}}catch(e){console.error(`[admin-ui] claude-info-fetch-failed ms=${Date.now()-r} error="${e instanceof Error?e.message:String(e)}"`)}},[e]),i=(0,w.useCallback)(({code:t,path:n})=>{console.warn(`[admin-auth] outcome=chat-tab-logout-on-401 code=${t} path=${n}`),e.handleLogout()},[e]);return e.appState===`chat`?(0,T.jsx)(s,{cacheKey:e.cacheKey,onSessionExpired:i,surface:`chat`,children:(0,T.jsx)(v,{cacheKey:e.cacheKey,businessName:e.businessName,sessionId:e.sessionId,onLogout:e.handleLogout,onDisconnect:e.handleDisconnect,disconnecting:e.disconnecting,claudeConnected:e.claudeConnected,onConnectClaude:()=>e.setAppState(`connect-claude`),userName:e.userName,userAvatar:e.userAvatar,role:e.role,footer:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(E,{onOpen:r}),(0,T.jsx)(_,{show:t,onClose:()=>n(!1),claudeInfo:e.claudeInfo,messages:[],sessionElapsed:0,sessionId:e.sessionId,cacheKey:e.cacheKey})]}),children:t=>(0,T.jsx)(T.Fragment,{children:t.dataOpen&&e.cacheKey?(0,T.jsx)(S,{cacheKey:e.cacheKey}):t.selectedWhatsapp&&e.cacheKey?t.selectedWhatsapp.source===`store`&&t.selectedWhatsapp.channel===`telegram`&&t.selectedWhatsapp.channelKey&&t.selectedWhatsapp.accountId?(0,T.jsx)(x,{accountId:t.selectedWhatsapp.accountId,channelKey:t.selectedWhatsapp.channelKey,contactName:f(t.selectedWhatsapp),sessionKey:e.cacheKey,onBack:t.onClearWhatsapp},l(t.selectedWhatsapp)):t.selectedWhatsapp.source===`store`&&t.selectedWhatsapp.remoteJid&&t.selectedWhatsapp.accountId?(0,T.jsx)(ae,{accountId:t.selectedWhatsapp.accountId,remoteJid:t.selectedWhatsapp.remoteJid,contactName:f(t.selectedWhatsapp),sessionKey:e.cacheKey,onBack:t.onClearWhatsapp},l(t.selectedWhatsapp)):(0,T.jsx)(D,{sessionId:t.selectedWhatsapp.sessionId,projectDir:t.selectedWhatsapp.projectDir,sessionKey:e.cacheKey,contactName:f(t.selectedWhatsapp),onBack:t.onClearWhatsapp},l(t.selectedWhatsapp)):(0,T.jsx)(U,{cacheKey:e.cacheKey,userName:e.userName,onSelectWhatsappConversation:t.onSelectWhatsappConversation})})})}):(0,T.jsx)(m,{auth:e})}(0,C.createRoot)(document.getElementById(`root`)).render((0,T.jsx)(W,{}));
@@ -1 +0,0 @@
1
- import{n as e,t}from"./jsx-runtime-BCAZhYqz.js";import"./useMediaQuery-CLVRXJMp.js";import"./useVoiceRecorder-BbJad9CQ.js";import"./AdminShell-CrCdEMNW.js";import{n}from"./page-DspGbDgK.js";import"./useCopyFeedback-CWvSi-Qe.js";var r=e(),i=t();(0,r.createRoot)(document.getElementById(`root`)).render((0,i.jsx)(n,{}));
@@ -1 +0,0 @@
1
- import{nt as e}from"./useMediaQuery-CLVRXJMp.js";var t=e(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]);export{t};
@@ -1 +0,0 @@
1
- import{nt as e}from"./useMediaQuery-CLVRXJMp.js";var t=e(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]);export{t};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./jsx-runtime-BCAZhYqz.js";import"./useMediaQuery-CLVRXJMp.js";import"./useVoiceRecorder-BbJad9CQ.js";import{t as n}from"./page-ObXxk8ol.js";import"./graph-labels-3bstML8n.js";var r=e(),i=t();(0,r.createRoot)(document.getElementById(`root`)).render((0,i.jsx)(n,{}));
@@ -1,2 +0,0 @@
1
- @d��i�>X�6� ���my��uIw�2�4
2
- ��k:C�������7�4�,���WJ>�伈�<�M��-�(>�=c�@�B$&��<[����*Mq8��2��T�kfg�+ '�8�uE���W�N�~�2��|P��H�e;���|`1��1豲�+R<�' ;��IB*���`��_�=���